Commit Graph

95 Commits

Author SHA1 Message Date
Jürgen Spitzmüller
0b721a0b8c * lib/configure.py:
- add checks for pdf2ps and pdftops (bug 3968).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23353 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 10:34:43 +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
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
Uwe Stöhr
93c7c89beb configure.py: fix detection of LaTeX (bug 4397)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21982 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-05 22:26:48 +00:00
André Pönitz
b716ccd1a0 Patch from Sven Hoexter. Use 'xdg-open' and 'sensible-editor' when
available


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21957 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-04 21:25:46 +00:00
Uwe Stöhr
5d2108ae33 configure.py: revert accident commit (http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg132477.html is still the case)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21733 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-23 02:19:49 +00:00
Uwe Stöhr
97aa558cac support for \pagebreak:
- rename former "pagebreak" to "newpage" since it produces a \newpage
- new LFUN
- menu entry
- tex2lyx support
- fileformat change


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21732 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-23 02:10:00 +00:00
Bo Peng
360be11fcc Use latex instead of pplatex to check latex configurations, and exit from configure.py with proper error code
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21691 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-21 16:24:26 +00:00
Enrico Forestieri
eab1d98ab4 When searching for programs, also take into account all possible
extensions for executables (only Windows is affected by this).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21201 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-25 13:40:28 +00:00
Uwe Stöhr
5d102dad68 configure.py: correct previous commit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21137 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-22 23:59:00 +00:00
Uwe Stöhr
1c55d1fc77 configure.py, legacy_lyxpreview2ppm.py, lyxpreview2bitmap.py: check also for "platex" (Japanese variant of "latex"); patch by Koji
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21136 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-22 23:55:13 +00:00
Enrico Forestieri
727a421a1f Fix DraftDVI entry
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20977 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-15 23:32:07 +00:00
Bo Peng
34058aed9b Check and show proper error message if configure.py fails (part of buf 2829)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20967 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-14 14:51:05 +00:00
Bo Peng
8d9893ad50 InsetInfo: Move LaTeXConfig.lyx.in to LaTeXConfig.lyx and stop processing this file in configure.py (and chkconfig.ltx.
* development/scons/scons_manifest.py: build system changes
	* lib/doc/Makefile.am
	* lib/doc/LaTeXConfig.lyx.in: rename to
	* lib/doc/LaTeXConfig.lyx: this one.
	* lib/chkconfig.ltx: stop processing sed file and LaTeXConfig.lyx.in
	* lib/configure.py


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20910 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-11 15:43:44 +00:00
Bo Peng
7329719bec Make sure a textclass.lst will exist even when configure.py fails. Part of Bug 2829, port from branch to trunk
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20519 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-26 16:26:49 +00:00
Richard Heck
efec6dde3d Add export to 1.5.x to trunk.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19966 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-01 04:09:03 +00:00
Richard Heck
7f17f13bfc Get package things working with modules prior to UI patch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19900 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-29 22:59:25 +00:00
Richard Heck
8a947f63da This is one of a series of patches that will merge the layout modules development in personal/branches/rgheck back into the tree.
Design goal: Allow the use of layout "modules", which are to LaTeX packages as layout files are to LaTeX document classes. Thus, one could have a module that defined certain character styles, environments, commands, or what have you, and include it in various documents, each of which uses a different document class, without having to modify the layout files themselves. For example, a theorems.module could be used with article.layout to provide support for theorem-type environments, without having to modify article.layout itself, and the same module could be used with book.layout, etc.

This patch adds the backend. The ModuleList class holds a list of the available modules, which are retrieved from lyxmodules.lst, itself generated by configure.py. There are two LFUNs available: modules-clear and module-add, which do the obvious thing; you can test by typing these into the minibuffer, along with the name of one of the available modules: URL (a CharStyle), Endnote (a Custom Inset), and---with the spaces---End To Foot (View>LaTeX and look at the user preamble), which are themselves in lib/layouts. There are some others, too, that allow theorems to be added to classes like article and book.

The GUI will come next.

Issues: (i) The configure.py script could be improved. It'd be nice, for example, if it tested for the presence of the LaTeX packages a particular module needs. But this would mean re-working the LaTeX script, and I don't know how to do that. Note that at present, the packages are ignored. This will change shortly. (ii) I've used std::string in LyXModule, following what seemed to be a precedent in TextClass. If some of these should be docstrings, please let me know, and I'll change them. (iii) There is at present no distinction between LaTeX and DocBook modules. Should there be? That is: Should there be modules that are available when the document class is a LaTeX class and others that are available only when it is DocBook? Or should there just be one set of modules? Each module can of course indicate for what it is suitable in its description.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19893 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-29 17:59:49 +00:00
Georg Baum
022bcb105c fix tex4ht detection on older SuSE and current Debian
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19663 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-20 17:31:42 +00:00
Enrico Forestieri
cbc5b72004 On Windows, remove log file generated by miktex and copy chkconfig.ltx
obeying the umask value as on cygwin access is controlled through ACLs
and the python port knows nothing about them.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19308 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-04 23:31:52 +00:00
Jean-Marc Lasgouttes
8151f74f21 revert r19291 (mk4ht returns the wrong error code))
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19296 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-03 21:19:29 +00:00
Richard Heck
1885fe5398 Use mk4ht oolatex' instead of htlatex etc etc etc', per Jean-Pierre's advice.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19291 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-03 14:45:43 +00:00
Richard Heck
364f49d04b [2085] Get OpenDocument export working when htlatex is available but oolatex
is not. Also check for oowriter as an ODT viewer.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19260 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-31 17:18:02 +00:00
Joost Verburg
b3ace671d2 configure.py: add support for the EMF file format and the metafile2eps conversion utility for WMF/EMF to EPS conversion
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19196 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-24 21:08:25 +00:00
Michael Schmitt
c4d2b66aca fix white space
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18834 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-19 21:20:09 +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
8559f2fd0e Reorder checks for PDF and PS converters.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18691 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-06 15:47:41 +00:00
Richard Heck
4fb4c517fd Add a check for the evince viewer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18679 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-05 17:23:09 +00:00
Richard Heck
3edbc20f79 Remove originaldir flag from HTML converters so that View-HTML works. Export still does not work.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18492 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-24 16:45:38 +00:00
Richard Heck
e7149f4dd9 Change converter and format definitons for OpenDocument format.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18396 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-18 04:12:58 +00:00
Richard Heck
119400e4b3 Add originaldir,needaux flags to default Latex to HTML(Word) conversion.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18383 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-17 15:33:47 +00:00
Richard Heck
c640f9613f Fix for bug 3423: Add check for gimp-remote before check for gimp.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17843 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-17 17:52:02 +00:00
Enrico Forestieri
b343446bd4 Fix bug 3400
* lib/scripts/convertDefault.py: Use the cropbox option when the
	source format is pdf and convert supports it.

	* lib/configure.py: Don't define a PDF->PNG converter in order to
	avoid the EPS->PDF->PNG route when converting EPS to a loadable
	format.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17668 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-31 18:21:54 +00:00
Michael Schmitt
7bd29ec955 add firefox as HTML previewer
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17408 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-04 15:43:16 +00:00
Georg Baum
fed67a2d50 fix the fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17291 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-21 13:01:34 +00:00
Michael Schmitt
933173db26 * lib/configure.py: fix typo in comment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17286 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 20:56:54 +00:00
Georg Baum
022a719d0d explain why we don't have an agr -> grace converter
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17283 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 20:20:19 +00:00
Georg Baum
3ccb9d8af9 * src/exporter.C
(Exporter::Export): Remove hardcoded check for lyx backend.
	Use the shortest converter path instead, that is more flexible and
	always correct.

	* lib/configure.py: Add new formats and converters for importing and
	exporting files from CJK LyX.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17202 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-15 20:14:12 +00:00
Enrico Forestieri
1b21743511 Fix bug 3220
* src/insets/ExternalSupport.C
	(updateExternal): Avoid computing crc of a directory as this leads
	to a crash on Cygwin.

	* lib/configure.py:
	Use a python script to get the current date in order to avoid
	a stalling condition with the date command on Win32.

	* lib/scripts/date.py:
	New python script.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17168 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-13 19:09:54 +00:00
Enrico Forestieri
de42495b90 Fix to the fix for bug 2418. The commands python module is a *nix only
thing and it worked on Win32 only by chance.

	* lib/configure.py:
	Correctly collect stderr also on Win32.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17095 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-07 20:15:41 +00:00
Michael Schmitt
a02431057e * lib/configure.py: fix unwanted script abort (identify LinuxDoc layout file)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17090 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-07 17:38:11 +00:00
Enrico Forestieri
61b4f87330 Fix bug 2418 (hopefully)
* lib/configure.py:
	Check whether convert understands the -define option, and, if so,
	define a new converter PDF->PNG such that the CropBox rather than
	the MediaBox is used in the conversion.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17078 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-06 23:44:43 +00:00
Uwe Stöhr
aba891d408 Add Ignacio García to the credits
step 2/3

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17076 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-06 22:03:14 +00:00
Bo Peng
afc9bac8d3 lib/configure.py: remove comments, this file is no longer experimental
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17041 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-04 16:49:57 +00:00
Georg Baum
bbc3a0f0c4 * src/MenuBackend.C
(expandFormats): Document hack

	* lib/configure.py
	(checkFormatEntries): s/Plain text (paragraphs)/Plain Text, Join Lines/
	since this is the term we use elsewhere and it shows up in the file
	filter.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17039 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-04 15:16:44 +00:00
Michael Schmitt
1f7a1257f1 * change LFUN file-insert-ascii to file-insert-plaintext
* change LFUN file-insert-ascii-para to file-insert-plaintext-para
* change LyXRC::RC_ASCIIROFF_COMMAND to LyXRC::RC_PLAINTEXT_ROFF_COMMAND
* change LyXRC::RC_ASCII_LINELEN to LyXRC::RC_PLAINTEXT_LINELEN
* replace "ascii" by "plaintext" in method names


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16697 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-15 22:49:14 +00:00
Georg Baum
47e8e30eb1 Fix bug 144: Support for noteedit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16574 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-07 15:56:41 +00:00
Michael Schmitt
53e186297e * lib/configure.py: change "MS Word (HTML)" to "HTML (MS Word)" as suggested by H. Haase; fix a few typos ("a" => "an")
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16552 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-06 15:03:38 +00:00
Georg Baum
c7490b191e Add LyX 1.4.x format for export
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16417 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-28 16:23:12 +00:00
Michael Schmitt
88a6d1a918 * lib/configure.py: fix typos ("Declear" => "Declare")
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16415 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-28 15:30:12 +00:00