Commit Graph

149 Commits

Author SHA1 Message Date
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
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
Richard Heck
40cb894ca6 Minor edit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22426 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-07 23:22:09 +00:00
Jürgen Spitzmüller
9e5eebc14c *** Requires tag for classes, layouts and custom insets ***
* src/TextClass{cpp,h}:
	- implement Requires tag for class and InsetLayout.
* src/Layout.{cpp,h}:
	- implement Requires tag for layouts.
	- increase layouts format to 6.
* src/Paragraph.cpp:
	- request required features for paragraph layouts.
* src/LaTeXFeatures.cpp:
	- add some packages needed by modules.
	- remove Preamble method for InsetLayout. This is now done
	  in InsetFlex::validate.
* src/BufferParams.cpp (validate):
	- request required features for the class.
* src/insets/InsetLayout.h:
	- new member "requires".
* src/insets/InsetFlex.{cpp,h}:
	- implement validate method and request required features and preamble snippets.

* lib/layouts/*.{layout,module,inc}:
	- increase layouts format to 6.
	- use Requires tags in some modules (more can be done later).

* lib/doc/Customization.lyx:
	- document Requires tag.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22414 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-07 16:59:10 +00:00
Richard Heck
a43667b5be Remove references to obsolete URL module and make some other minor changes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22401 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-06 17:00:59 +00:00
Richard Heck
ffbdd0e79a Remove obsolete URL module.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22399 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-06 16:54:17 +00:00
Bo Peng
3c66085625 remove the manifest section from two doc files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21342 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 16:50:51 +00:00
Richard Heck
7deaa64d7e Update the documentation on copiers a little bit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21039 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-18 16:57:59 +00:00
Uwe Stöhr
4f70d72a24 Customization.lyx: - add PDF-bookmarks
- small updates in German version

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20592 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-29 16:13:14 +00:00
Richard Heck
3841e65c85 Documentation for modules.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20499 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-25 18:24:36 +00:00
Uwe Stöhr
c5302d6e70 Customization.lyx: revise Converters, Copiers and Formats section
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20252 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-13 01:14:55 +00:00
Uwe Stöhr
7eec20e0e1 revert my last accidental Customization.lyx commit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20245 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-12 18:50:26 +00:00
Uwe Stöhr
a01887ecb4 UserGuide.lyx: more work on Appendix B
Customization.lyx: revise converters section

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20244 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-12 18:42:58 +00:00
Martin Vermeer
c143b34de8 update charstyle/flex docs a bit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20174 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-09 18:28:30 +00:00
Jean-Marc Lasgouttes
f86fc8d88c The counters labelstring patch. Part 3: adapt some layout files and documentation
* numarticle.inc:
	* numreport.inc: 
	* stdcounter.inc:
	* stdsections.inc:
	* stdstarsections.inc:
	* stdclass.inc:
	* scrbook.layout:
	* amsmath.inc: adapt: remove most of the LabelString in layouts,
	add the necessary stuff to counters.

	* lib/doc/Customization.lyx: document the new stuff.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19604 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-16 11:16:07 +00:00
José Matox
64e12293a0 Update documentation to latest file format (for 1.5.0 release)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19190 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-24 17:39:27 +00:00
Uwe Stöhr
82d2a827b5 documentation: remove linuxdoc descriptions (part1), fixes bug 2787 http://bugzilla.lyx.org/show_bug.cgi?id=2787
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19123 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-18 23:24:33 +00:00
Richard Heck
954be90e11 Make HTML export work.
The key is the new copier script lib/scripts/ext_copy.py. Usage:
 ext_copy.py [-e ext1,ext2,...] <from file> <to file>
Given a <from file> and <to file>, it will copy all files in the directory 
in which from_file is found that have the extensions given in the -e option, 
or all files in that directory if no such argument is given. So, for example, 
we can do:
  python ext_copy.py -e png,html,css /path/from/file.html /path/to/file.html
and all html, png, and css files in /path/from/ will be copied to the 
(possibly new) directory /path/to/file.html.LyXconv/. The -t option determines 
the extension added to the output filename passed to the script ($$o, in the
copier definition), the default being "LyXconv". If just . is given, then no 
extension is added.

Other changes:
* configure.py: added appropriate copier definitions for html and wordhtml
formats, as well as for the Program pseudo-format.
* lib/Makefile.am and development/scons/scons_manifest.py: add ext_copy.py.
* lib/doc/Customization.lyx: update documentation.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18791 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-15 17:02:35 +00:00
Richard Heck
9879a1a185 Update documentation regarding converters, etc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18491 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-24 16:42:40 +00:00
Jean-Marc Lasgouttes
37acb852fd Document Provides tag and changes to LabelString[Appendix]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17742 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-06 09:41:55 +00:00
Uwe Stöhr
8acae54241 Customization.lyx: add again a hint about bindings to avoid confusions
de_Userguide.lyx: small correction

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17632 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-29 20:31:01 +00:00
Uwe Stöhr
a5aeeb63b9 Coustomization.lyx: add a hint about bindings to avoid confusions, see bug 3378
http://bugzilla.lyx.org/show_bug.cgi?id=3378

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17624 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-28 23:00:52 +00:00
Uwe Stöhr
bc992d1421 Customization.lyx: reflect the latest EmbeddedObjects update
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17472 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-18 15:10:21 +00:00
Jean-Marc Lasgouttes
eb1eee2a52 * Customization.lyx:
* fr_Customization.lyx:
	* eu_Customization.lyx: there is no TitleLatexCommand layout tag,
	the right name is TitleLatexName.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17070 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-06 14:35:17 +00:00
Michael Schmitt
14fd412ff0 * lib/doc/*.lyx: replace "ascii" by "plain text"
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16712 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-16 22:15:33 +00:00
Michael Schmitt
13845ef861 replace 'ascii' by 'plain text' (more to come)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16702 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-16 07:05:07 +00:00
Michael Schmitt
79957d0f70 change LYX_USER_DIR_1[234]x to LYX_USER_DIR_15x
change LYX_DIR_1[234]x to LYX_DIR_15x

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16481 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-03 18:02:26 +00:00
Jean-Marc Lasgouttes
6146f2dad4 Fix description of LabelCounter
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16422 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-29 10:22:16 +00:00
Michael Schmitt
55249b6dbd * lib/tex/lyxchess.sty:
* lib/doc/Customization.lyx:
	* lib/doc/UserGuide.lyx:
	* lib/examples/multicol.lyx: fix typo "can not" => "cannot"


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15980 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-19 12:40:06 +00:00
Georg Baum
6008c8176e remove obsolete file lyxrc.example
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15832 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-09 17:40:44 +00:00
Georg Baum
2c72e0ecaa Fix bug 2868
* src/insets/insetgraphics.C
	(findTargetFormat): return pdf for vector graphics

	* src/format.h
	(Flags): new enum describing format flags
	(flags_): new member variable for format flags
	(vectorFormat): new, tell whether a format can contain vector graphics

	* src/format.C: adjust to flags changes

	* src/frontends/qt[34]/QPrefsDialog.C
	(QPrefsDialog::QPrefsDialog): handle new vector flag
	(QPrefsDialog::switch_format): ditto
	(QPrefsDialog::updateFormatsButtons): ditto
	(QPrefsDialog::new_format): ditto
	(QPrefsDialog::modify_format): ditto

	* src/frontends/qt3/ui/QPrefFileformatsModule.ui
	* src/frontends/qt4/ui/QPrefFileformatsUi.ui
	(vectorCB): new checkbox for vector flag

	* src/lyxrc.C
	(LyXRC::read): read vector flag
	(LyXRC::write): write vector flag

	* lib/doc/Customization.lyx: document format flags

	* lib/configure.py
	(checkFormatEntries): Add vector flag to some formats


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15205 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 08:34:59 +00:00
Jean-Marc Lasgouttes
8e836c60d8 * Customization.lyx:
* fr_Customization.lyx:
	* de_Customization.lyx: remove reference to reLyX.

	* Tutorial.lyx: rename sec:relyx label to sec:tex2lyx.
	* fr_Tutorial.lyx: ditto, and change references to reLyX




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14622 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-12 11:26:09 +00:00
Georg Baum
d544373734 Change the semantics of 'none' and 'auto' viewers/editors: 'none' means now
"Don't view/edit this format", and 'auto' means "Use the default viewer/editor".
	* src/format.C
	(fixCommand): Change semantics: "none" is equal to "", and "auto"
	is removed if canAutoOpenFile returns false.

	* src/frontends/xforms/FormPreferences.C
	(FormPreferences::SpellOptions::apply): "none" -> ""

	* src/lyxrc.C
	(LyXRC::read): "none" -> ""

	* lib/doc/Customization.lyx: Document the autoopen feature

	* lib/configure.py
	(checkProg): add optional not_found argument, defaulting to 'none'
	(checkViewer): new, equivalent to checkProg with not_found = 'auto'
	(checkFormatEntries): call checkViewer instead of checkProg for
	viewers and editors


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13929 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-25 11:57:22 +00:00
Georg Baum
5b83287abe * src/format.[Ch]
(document_): new flag, telling whether this is a document format and
	we want to show this format in the export and view menus
	(documentFormat): accessor for document_

	* src/format.h: Add some documentation

	* src/frontends/qt3/QPrefsDialog.C
	(QPrefsDialog::QPrefsDialog): handle new documentCB checkbox
	(QPrefsDialog::switch_format): ditto
	(QPrefsDialog::updateFormatsButtons): ditto
	(QPrefsDialog::new_format): ditto
	(QPrefsDialog::modify_format): ditto

	* src/frontends/qt3/ui/QPrefFileformatsModule.ui: Add documentCB checkbox

	* src/frontends/qt4/QPrefsDialog.C
	(QPrefsDialog::QPrefsDialog): handle new documentCB checkbox
	(QPrefsDialog::switch_format): ditto
	(QPrefsDialog::updateFormatsButtons): ditto
	(QPrefsDialog::new_format): ditto
	(QPrefsDialog::modify_format): ditto

	* src/frontends/qt4/ui/QPrefFileformatsUi.ui: Add documentCB checkbox

	* src/frontends/xforms/FormPreferences.C
	(FormPreferences::Formats::build): handle new check_document checkbox
	(FormPreferences::Formats::input): ditto
	(FormPreferences::Formats::Add): ditto
	(FormPreferences::Formats::Browser): ditto

	* src/frontends/xforms/forms/form_preferences.fd: Add check_document
	checkbox

	* src/lyxrc.C
	(LyXRC::read): Remove compatibility code for 1.3 \format entries.
	Read the new format flags (but don't require them for 1.4
	compatibility)
	(LyXRC::write): Write the new format flags

	* src/MenuBackend.C
	(expandFormats): Remove the hardcoded exception for image formats
	and use Format::isDocument() instead

	* lib/doc/Customization.lyx: Document auto viever/editor and the
	"document format" flag


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13887 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-20 12:03:40 +00:00
Georg Baum
479abc6efd Remove remaining OS/2 bits:
* src/lyx_cb.C
	(newFile): Remove OS/2 code

	* src/lyxserver.C
	(LyXComm::startPipe): ditto
	(LyXComm::endPipe): ditto
	(LyXComm::send): ditto

	* src/support/rename.C
	(lyx::support::rename): ditto

	* src/support/filetools.C
	(fileOpenSearch): ditto
	(createTmpDir): ditto
	(createLyXTmpDir): ditto
	(makeAbsPath): ditto

	* src/support/getcwd.C
	(l_getcwd): ditto

	* src/support/forkedcall.C
	(Forkedcall::generateChild): ditto

	* src/support/chdir.C
	(lyx::support::chdir): ditto

	* src/support/os.C: ditto
	* configure.ac: ditto
	* development/scons/scons_utils.py: ditto
	* development/Win32/config.h: ditto

	* lyx.man: Remove OS/2 related stuff
	* lib/doc/Customization.lyx: ditto
	* lib/doc/fr_Customization.lyx: ditto
	* lib/doc/it_Customization.lyx: ditto

	* src/support/os2_defines.h: Remove
	* src/support/os2_errortable.h: ditto
	* src/support/os_os2.C: ditto
	* INSTALL.OS2: ditto
	* README.OS2: ditto
	* development/OS2/quick_fix.patch: ditto
	* development/OS2/gnugettext.diff: ditto
	* development/OS2: ditto

	* src/support/Makefile.am: Remove deleted files
	* development/Makefile.am: Remove deleted OS2 directory


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13848 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-14 17:00:53 +00:00
Jean-Marc Lasgouttes
6aed703bef fix bogus keybinding (bug 1422)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13243 a592a061-630c-0410-9148-cb99ea01b6c8
2006-02-16 15:40:56 +00:00
Angus Leeming
718027f9a3 Update to format 245.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10699 a592a061-630c-0410-9148-cb99ea01b6c8
2006-01-02 02:29:55 +00:00
Jean-Marc Lasgouttes
0a9dcc6a13 update description of layout files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10600 a592a061-630c-0410-9148-cb99ea01b6c8
2005-11-10 14:17:53 +00:00
José Matox
d523271fb5 update all lyx documents to the latest file format
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10317 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-18 09:42:29 +00:00
Martin Vermeer
68cb2b602e Doc updates
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10310 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-18 07:33:24 +00:00
Martin Vermeer
68043dbb60 Fix documentation of $LANG and friends
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10186 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-14 15:40:33 +00:00
Georg Baum
7e41f0b392 s/reference-goto/label-goto/ by Michael
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9927 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-09 18:28:30 +00:00
Georg Baum
a890332c03 document external templates
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9589 a592a061-630c-0410-9148-cb99ea01b6c8
2005-02-04 12:44:22 +00:00
Jean-Marc Lasgouttes
6ae4dc23f4 allow more than one optional inset
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9272 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-19 16:17:52 +00:00
Georg Baum
e416d1aea7 enable translation of ambigous messages
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9097 a592a061-630c-0410-9148-cb99ea01b6c8
2004-10-19 09:11:02 +00:00
Martin Vermeer
345b7ced1e Added note on BibTeX, makeindex/xindy customization
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9076 a592a061-630c-0410-9148-cb99ea01b6c8
2004-10-11 10:17:09 +00:00
Angus Leeming
d03f76a482 Change '-dbg 4096' to 'dbg lyxserver' at Jean-Marc's behest.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8831 a592a061-630c-0410-9148-cb99ea01b6c8
2004-07-02 09:43:06 +00:00
Angus Leeming
e0c716f320 Correct the documented debug number for the lyxserver.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8830 a592a061-630c-0410-9148-cb99ea01b6c8
2004-07-02 08:54:44 +00:00
Lars Gullik Bjønnes
d97d081155 add missing doc files and update makefile
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8798 a592a061-630c-0410-9148-cb99ea01b6c8
2004-06-02 13:40:06 +00:00