Commit Graph

197 Commits

Author SHA1 Message Date
Pavel Sanda
9d82588e3e Create new Module panel in document settings and decrease vertical
size of the dialog.

http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg145035.html


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26953 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-19 01:21:59 +00:00
Richard Heck
5e505119fa OK, I lied. A little more. Just trying to keep the cleanup separate from
the real stuff.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26925 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-16 17:29:01 +00:00
Richard Heck
a940cc3f6b The last bit of cleanup: Make checking for exclusions a bit easier.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26924 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-16 17:21:13 +00:00
Richard Heck
28047741c2 Fix a bug involving module conflicts. We need to check not only that we
do not exclude some used module, but also that no used module excludes us.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26920 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-16 15:04:48 +00:00
Richard Heck
3e41704579 More cleanup prior to real patch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26919 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-16 13:41:25 +00:00
Richard Heck
d4136cb652 Correct the order of the tests here. Messed this up in previous commit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26906 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-14 18:06:08 +00:00
Richard Heck
6a5a7d7e20 The last little bit of comment, etc, cleanup here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26905 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-14 17:35:49 +00:00
Richard Heck
b73d5450b7 More cleanup for forthcoming patch. Also fix a copy-paste error.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26904 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-14 17:14:25 +00:00
Richard Heck
9c95358b85 Check for changes to modules before switching text classes. See the removed
FIXME for more.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26903 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-14 17:03:57 +00:00
Richard Heck
c83ae83ebf Remove unnecessary argument to paramsToDialog(). This is again
cleanup prior to a forthcoming patch.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26902 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-14 16:59:28 +00:00
Richard Heck
a707ac75ac Change some vectors to lists. This is preparatory for a real patch later.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26899 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-14 14:04:21 +00:00
Richard Heck
a34c0a8742 Just whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26895 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-14 12:49:05 +00:00
Pavel Sanda
308e2d9df3 Sanitize backreferences in hyperref.
http://bugzilla.lyx.org/show_bug.cgi?id=5340
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg144958.html



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26882 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-13 16:01:02 +00:00
Richard Heck
de01bc54ff All comments and formatting.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26876 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-12 22:21:56 +00:00
Richard Heck
50e5a3b796 Remove old and out of date comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26875 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-12 22:07:47 +00:00
Richard Heck
9c2fa02d4a Add a comment, per Pavel's suggestion.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26874 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-12 22:02:31 +00:00
Richard Heck
a9226314d1 Don't access this directly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26867 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-12 15:34:08 +00:00
Richard Heck
4ececaf03d Update the modules after we make the document class. This will ensure
that we get any new default modules on board.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26866 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-12 15:29:54 +00:00
Jürgen Spitzmüller
d45ca67d1d ** fix bug 2114. Fileformat change.
** fix bug 5343 (patch from Richard, prerequisite for the other fix)

* Buffer.cpp:
	- increment format to 343
* src/BufferParams.{cpp,h}:
	- new param \use_default_options that allows to select/deselect
	  the "Other" class options defined in the layout file.
* src/frontends/qt4/GuiDocument.cpp:
* src/frontends/qt4/ui/LaTeXUi.ui:
	- add GUI to set \use_default_options, display predefined options in the dialog
	- update dialog correctly on class change.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26860 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-12 09:36:00 +00:00
Richard Heck
2078e09e67 The default modules should be kept in order.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26801 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-07 15:53:05 +00:00
Uwe Stöhr
ce09194e43 GuiDocument.cpp, BufferParams.cpp: fix http://bugzilla.lyx.org/show_bug.cgi?id=5294
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26628 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-29 19:33:37 +00:00
Abdelrazak Younes
53acfb8351 Dialogs: discourage non const access to buffer() and bufferview().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26620 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-29 10:52:17 +00:00
André Pönitz
e5ae1a4b75 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26481 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-21 19:27:20 +00:00
André Pönitz
fc86915b0c cosmetics. remoe strange dependency of GuiDocument.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26467 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-20 13:44:51 +00:00
André Pönitz
0f6b4e902f save a few cycles
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26466 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-20 12:57:12 +00:00
André Pönitz
e7812d3e26 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26465 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-20 12:17:15 +00:00
André Pönitz
739f890e74 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26464 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-20 12:07:18 +00:00
André Pönitz
ae62ef20f8 cosmetics;
also use QT_NO_CAST_TO_ASCII and QT_NO_STL for better checks on type
conversions


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26463 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-20 11:47:38 +00:00
Pavel Sanda
c1173eb11c Coding style
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26335 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-08 01:18:33 +00:00
Jürgen Spitzmüller
2179c671cf better naming for encoding default, as discussed in bug 4971.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26281 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-01 08:39:19 +00:00
Uwe Stöhr
1b03dfa0b5 GuiDocument.cpp: revert r26041
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26046 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-04 00:04:09 +00:00
Uwe Stöhr
78bb4feba1 GuiDocument.cpp: fix two cases of bug 5112
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26041 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-03 21:31:25 +00:00
Richard Heck
163d827729 Support for removing "default" modules.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25917 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-27 17:46:27 +00:00
Richard Heck
a28c584064 Move the default module loading from makeDocumentClass() to setBaseClass().
This makes the Document>Settings dialog behave better.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25882 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-25 16:48:48 +00:00
Jürgen Spitzmüller
dcc4d58b66 *** Implement GUI names for encodings (part of bug 4971) ***
* lib/encodings:
	- add new column "GUI names"

* src/Encoding.{cpp,h}:
	- read in and handle GUI names

* src/frontends/qt4/GuiDocument.cpp:
	- display GUI names instead of LaTeX names

* po/lyx_pot.py:
* po/Rules-lyx:
* development/scons/SConstruct:
	- add encoding GUI names to the po files.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25558 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-11 08:56:17 +00:00
Bo Peng
763ef015ce Improve the local layout feature by better handling of unknown textclass, unknown layouts, and switch between textclasses.
* src/TextClass.h[.cpp]: add addLayoutIfNeeded() and createDefaultLayout()
	* src/Layout.h[.cpp]: add unknown_ to mark if a layout is a default layout for an unknown one.
	* src/LayoutFile.cpp: add addDefaultClass and change addLayoutFile to addLocalLayout.
	* src/Text.cpp: add unknown layouts that are not recognizable by a new textclass.
	* src/frontends/qt4/GuiToolbar.cpp: display (unknown) for unknown layouts.
	* src/frontends/qt4/GuiDocument.cpp: restore 'browse layout' button.
	* src/frontends/qt4/ui/LaTeXUi.ui: restore 'browse layout' button.
	* src/CutAndPaste.cpp: do not convert unknown layouts from pasted text
	* src/BufferParams.cpp: add a default textclass when a document with unknown textclass is loaded.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25555 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-11 02:43:02 +00:00
Jürgen Spitzmüller
2c5d1e9ebe * src/frontends/qt4/GuiDocument.cpp:
* src/frontends/qt4/ui/LaTeXUi.ui:
	- hide the "browse local layout" button as discussed on
	  http://bugzilla.lyx.org/show_bug.cgi?id=4812
	  because the local layout feature can result in dataloss.

	  Whether the feature itself should be removed for 1.6.0 has
	  to be discussed.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25452 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-05 08:54:48 +00:00
Jürgen Spitzmüller
15676a062f proper fix for bug 4936.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25215 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-09 15:20:38 +00:00
Jürgen Spitzmüller
3b00c86b9d brute fix weird bug 4936.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25203 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-09 10:41:58 +00:00
Jürgen Spitzmüller
d7eaaba900 ** support for CJK font argument. File Format change **
* src/BufferParams.{cpp,h}:
	- new param fontsCJK (font_cjk).

* src/output_latex.cpp:
	- use fontsCJK param.

* src/Buffer.cpp:
	- increase file format

* src/frontends/qt4/GuiDocument.cpp:
* src/frontends/qt4/ui/FontUi.ui:
	- GUI for the CJK font param

* lib/lyx2lyx/lyx_1_6.py:
	- remove font_cjk param on reversion.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25135 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-05 06:18:34 +00:00
Abdelrazak Younes
3dc6a5f43c rework a bit the document dialog so that it works more or less fine without any open document.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24783 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-15 08:41:17 +00:00
Abdelrazak Younes
09a3be216e Hopefully fix locale aware language sorting in document and prefs dialogs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24758 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-14 10:34:19 +00:00
Stefan Schimanski
e0edc21111 * no .h for Qt headers
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24687 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-08 15:08:46 +00:00
Stefan Schimanski
419c7ed481 * For gcc to know about QStandardItemModel < QAbstractItemModel we need this header.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24686 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-08 14:40:01 +00:00
Abdelrazak Younes
59124528ac use GuiApplication::languageModel() in GuiDocument.cpp
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24680 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-08 09:18:45 +00:00
Abdelrazak Younes
fbb8c063ec move languageData() out of qt_helpers.cpp
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24670 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-07 22:42:44 +00:00
Abdelrazak Younes
9d23d76c8e Revamp of the character dialog:
- many simplification all over the place.
- improvement to the "Immediate apply" feature.

AFAICS all functionality is restored but please test and report.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24661 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-07 18:53:48 +00:00
Abdelrazak Younes
fc12716a97 We don't want the document dialog to be reset for each new paragraph.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24597 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-04 07:50:00 +00:00
Jürgen Spitzmüller
764b5cf859 support for default master document.
file format change.

This is the last feature for today. Promised.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24540 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-28 16:38:56 +00:00
André Pönitz
b271b9f0f6 compile fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24406 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-21 06:36:06 +00:00
André Pönitz
a657380659 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24397 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-20 21:05:35 +00:00
André Pönitz
aff97fe9b5 move the filefilter stuff closer to the only place where it is used
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24395 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-20 19:56:01 +00:00
André Pönitz
b35b731fbf move citation enums into header of their own
remove biblio:: namespace


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24385 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-20 15:00:11 +00:00
Richard Heck
8a69ffd3bf Complete the removal of the embedding stuff. Maybe. It's hard to be sure we got everything, but this does compile, and it seems to work at least reasonably well. Any problems should of course be reported to the list.
For the record, this developer is sorry that the problems with this code were not noticed much earlier. It's not fun to do so much work and then have it all reverted.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24373 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-20 03:08:11 +00:00
Richard Heck
2208b5c264 Remove embedding stuff from Document>Settings.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24358 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-19 15:57:17 +00:00
Richard Heck
ffa42cb236 Give us some useful tooltips for modules.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24312 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-17 03:27:20 +00:00
Peter Kümmel
ca1d4445b1 cleanup namespace
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24296 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-16 16:48:12 +00:00
Richard Heck
700af7e701 Add support for document-local layout information. GUI is to follow.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23913 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-24 12:31:07 +00:00
André Pönitz
a98f82c292 s/kb_action/FuncCode/g
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23749 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-15 01:20:36 +00:00
André Pönitz
f2c9b56fb4 cosmetics/#include cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23747 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-15 00:22:54 +00:00
Bo Peng
48f9225e27 Embed: allow the use of embedded layout and class (.cls, .sty) files.
* src/EmbeddedFiles.h|cpp: add validate() function to validate loaded .lyx file.
	* src/LayoutFile.h|cpp: add Layout_Type parameter to addLayoutFile to load an embedded layout.
	* src/BufferParams.h|cpp: read layout from temp directory, then local directory.
	* src/frontends/qt4/GuiDocument.cpp: handle embedded layout type
	* src/LyXFunc.cpp: handle embedded layout when a layout is re-read.
	* src/Buffer.cpp: validate after a buffer is read. handle exceptions properly.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23667 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-11 18:31:38 +00:00
Bo Peng
99a5b638c3 refine browseRelFile in function addExtraEmbeddedFile
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23655 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-11 02:26:20 +00:00
Bo Peng
14eeac2e1c Allow selection of a local layout file from the document->settings dialog.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23652 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-10 21:31:22 +00:00
Abdelrazak Younes
ac5c584bc2 MSVC warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23629 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-10 13:38:37 +00:00
Bo Peng
932998494b Embedding: add option \extra_embedded_files to buffer params. This increase
LyX file format to 318. The Embedded files panel of document settings has
been simplied, with working add and remove buttons. Note that bease BufferParams
lacks buffer path information, extraEmbeddedFiles are vector<string>, instead
of EmbeddedFileList (as previously planned).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23606 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-09 23:04:14 +00:00
Uwe Stöhr
43d576447d GuiDocument.cpp: fix linebreak
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23596 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-09 16:29:01 +00:00
André Pönitz
be624b3de0 less string conversions as long as we stay in the frontend
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23552 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-08 07:59:47 +00:00
Richard Heck
6edb3984bf BaseClassList --> LayoutFileList
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23532 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-07 03:53:21 +00:00
Richard Heck
f401ce5d29 Changes LayoutList from a vector<LayoutPtr> to a vector<Layout>.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23519 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-06 20:01:30 +00:00
Richard Heck
592f951ba0 Kill indexing into the list of layouts.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23505 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-06 05:59:21 +00:00
André Pönitz
2b7ad27227 extend the idea of the previous patch a bit...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23490 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-05 20:48:19 +00:00
Pavel Sanda
110090e435 * hyperref: add check for newline chars in user input.
http://bugzilla.lyx.org/show_bug.cgi?id=4611


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23469 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-05 01:14:15 +00:00
Uwe Stöhr
28fb5e3d81 GuiDocument.cpp: add linebreaks to error messages
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23384 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-02 12:36:30 +00:00
Richard Heck
ea2c38bbcc Fix bug 4594.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23376 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-01 22:08:16 +00:00
Richard Heck
9dfbadcb2c Improve handling of local layout files. There are two bugs here that still need fixing, though: 4593 and 4594.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23372 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-01 16:32:16 +00:00
Richard Heck
2b3bd7b5f4 This is the last of the commits that hopes to enforce the distinction between "layout files" and "document classes" that was introduced by the modules code. For the most part, these changes just refactor code from TextClass between: (a) a TextClass base class; (b) a LayoutFile subclass, which represents the information in a .layout file; and (c) a DocumentClass subclass, which represents the layout information associated with a Buffer---a LayoutFile plus Modules. Methods from TextClass have been apportioned between the three classes depending upon what is needed where, and signatures have been changed where necessary so that the right kind of class is required.
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.

There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 02:45:33 +00:00
Richard Heck
2c382f2f47 More work towards type safety regarding TextClass's. A couple bugs have been fixed here, too, discovered along the way.
Note that we no longer rely upon BaseClassList to be sorted. This would allow layout descriptions---such as "article (AMS)"---to be translated, and the ordering of the list in Document>Settings will then follow the translations.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23334 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 21:04:55 +00:00
Richard Heck
224e6ad0a3 baseclasslist --> BaseClassList singleton. Prep for further type safety.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23322 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 14:49:01 +00:00
Richard Heck
d8a6b5bfd0 Remove TextClassPtr without losing the type safety it provided.
See these threads:
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg136112.html
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg136062.html
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg135997.html
for some background.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23299 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 01:42:02 +00:00
Richard Heck
4c6180d209 Try to make the distinction between base classes and text classes clearer in the code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23198 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 16:59:49 +00:00
Richard Heck
69de04feac Restore Andre's TextClassIndex, but now in the form of BaseClassIndex. It seems worth distinguishing more clearly than we do at the moment between TextClass's and BaseClass's. The latter correspond to *.layout files; the former are based upon *.layout files but may be modified by modules.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23197 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 16:29:40 +00:00
Richard Heck
c7afa2d658 More cleanup from Andre.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23194 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 15:44:11 +00:00
Richard Heck
ebd4f002af Andre's s/getBaseClass/baseClass/ cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23191 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 15:12:41 +00:00
Richard Heck
0362c6aae7 Andre's s/getTextClass/textClass/ cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23190 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 15:06:35 +00:00
Richard Heck
2e7d1199df Revert 23154.
Sorry, Andre, but this broke not only the modules stuff but the general handling of TextClasses. I'm not opposed to doing this sort of thing, but it's going to be a little more complicated. I'll do it when I get a bit of time, or I can explain what the issue is here if you want to do it.

I'll separately re-commit some of the cleanup here.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23189 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 14:59:23 +00:00
André Pönitz
0fb8f3fba1 mostly s/Paragraph::layout(...)/Paragraph::setLayout(...)/
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23159 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-23 16:45:38 +00:00
André Pönitz
b306e9a2e1 Replace the text class shared ptr by good old index-into-global-list.
Also a few cosmetical changes where I xould not resist.

Would be nice if the 'modules people' could verify that their baby 
is strill alive... 



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23154 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-23 11:36:15 +00:00
Richard Heck
bfe96fb61e Disable colsep box when single column.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23060 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-19 05:39:36 +00:00
Richard Heck
4ab6f265e9 Add support for column separation in page margins. Fixes bug 3337.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23059 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-19 05:24:48 +00:00
Abdelrazak Younes
2bf1c09376 header cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23049 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-18 07:14:42 +00:00
Abdelrazak Younes
9f3c7cf1ea Factorize closeEvent() for GuiDialog based dialogs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23045 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-17 20:16:14 +00:00
Jürgen Spitzmüller
ebc4649508 Fix a crash following the input of an invalid paragraph separation value in the document settings dialog (bug 4556).
* src/frontends/qt4/GuiDocument.cpp:
	- disallow input of defskip length without actual length value.

* src/BufferParams.cpp (readToken):
	- there might be documents with the invalif "\defskip defskip" param. Reset this to "\defskip medskip".

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23022 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-15 14:13:05 +00:00
Abdelrazak Younes
6bb94129d8 Factorize out the way window titles are handled.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22784 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-05 12:43:19 +00:00
Jürgen Spitzmüller
1acedf11da * src/frontends/GuiDocument.{cpp,h}:
- do not update dialog when clicking in the main window without buffer change
	  (bug 4302).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22583 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-15 10:38:19 +00:00
Richard Heck
f03329a19c I18n for modules. This would seem to complete the module implementation. Test away.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22558 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-14 21:44:06 +00:00
Peter Kümmel
421fa672a7 remove duplicated code, (fix cmake merge)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22557 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-14 19:52:16 +00:00
Richard Heck
d5d665482e This commit changes the way individual LyXModule's are represented, both internally and in the .lyx files. The earlier version represented them by their `descriptive name', e.g., "Endnote" or "Theorems (AMS)", these being the same names used in the UI. This was a mistake, as becomes readily apparent when one starts to think about translating these strings. The modules ought to be represented by their filename, without the extension, just as TextClass's are.
The changes that accomplish this part are in ModuleList.{h,cpp}, configure.py, and the *.module files themselves. This is a format change, and the lyx2lyx is in those files.

By itself, that change would not be major, except for the fact that we do not want the module to be represented in the UI by its filename---e.g., theorems-std---but rather by a descriptive name, such as "Theorems". But that change turns out to be wholly non-trivial. The mechanism for choosing modules was the same as---indeed, was borrowed from---that in GuiCitation: You get a list of modules, and choosing them involves moving strings from one QListView to another. The models underlying these views are just QStringListModels, which means that, when you want to know what modules have been selected, you see what strings are in the "selected" QListView. But these are just the descriptive names, and we can't look up a module by its descriptive name if it's been translated. That, indeed, was the whole point of the change to the new representation.

So, we need a more complicated model underlying the QListView, one that will pair an identifying string---the filename minus the extension, in this case---with each item. This turns out not to be terribly difficult, though it took rather a while for me to understand why it's not difficult. There are two parts:
(i)  GuiSelectionManger gets re-written to use any QAbstractListModel, not just a QStringListModel. This actually seems to improve the code, independently.
(ii) We then subclass QAbstractListModel to get the associated ID string, using the Qt::UserRole slot associated with each item to store its ID. This would be almost completely trivial if QAbstractListItem::itemData() included the QVariant associated with this role, but it doesn't, so there are some additional hoops through which to jump.

The new model, a GuiIdListModel, is defined in the files by that name. The changes in GuiSelectionManger.{h,cpp} make it more abstract; the changes in GuiDocument.{h,cpp} adapt it to the new framework. 

I've also updated the module documenation to accord with this change.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22501 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-12 04:28:12 +00:00
Richard Heck
5f91f39309 We do not need to update just because the class has been changed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22466 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 06:22:42 +00:00
Richard Heck
5faad9ca68 Additional UI logic related to module requires and excludes.
The logic here is really kind of a mess. If anyone can make it
simpler, I'd be thrilled.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22458 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 01:33:24 +00:00
Richard Heck
7c28905b17 This commit adds some new functionality to the modules stuff. In particular, it introduces the concept of "required" and "excluded" modules: A given module may require one of some list of modules, or it may be incompatible with some other modules. (Complex Boolean combinations are not supported!!) These facts can be noted in the module file, and the UI responds appropriately: Required and excluded modules are noted in the description, and the "Add" button is enabled only if at least one of the required modules has already been selected and no excluded module is selected. Getting this to work involved a fair bit of cleanup of the existing code---including ways Angus, I think, had already pointed out were required---and also involved changing the syntax of the headers of the module files, but in ways that are probably best anyway.
None of the extant modules require any other modules, but the Theorem modules all exclude one another. (See the screenshot.) When I modularize the AMS classes---that is the next task---we'll have requires.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22456 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-09 18:51:02 +00:00