Commit Graph

220 Commits

Author SHA1 Message Date
José Matos
9a0d70a45f First step to make lyx2lyx code support both python 2 and python 3 (3.3+)
Most of the changes are related with dictionaries returning views instead of
lists.

xrange -> range (since xrange is gone in python 3)

The code that is special to support both python 2 and 3 is enclosed in a comment
 \# Provide support for both python 2 and 3
and
 \# End of code to support for both python 2 and 3

And so later it can be removed safely when python 2 is no longer supported.
2015-03-11 12:09:18 +00:00
Georg Baum
3e9e6e344a Replace automatic logofication with insets
Previously, LyX did replace some words with typeset logos, and there was no
way to prvent this except putting them, in ERT (bug #4752). Now we have
special insets for these words, and standard text is left alone.
2015-03-01 11:16:57 +01:00
Georg Baum
8aa37c43a1 Fix plaintext output of dashes (bug #3647)
Previously, consecutive dashes in .lyx files were combined to endash and emdash
in some cases, and in other cases they were output as is. This made the code
complicated, and resulted in inconsitencies ((bug #3647).
Now, a dash in a .lyx file is always a dash in the output, for all flavours.
The special handling is moved to the input side, so that you still get an
endash if you type two hyphens. If needed, this can be changed or made
customizable without the need to update the file format again. Many thanks
for the fruitful mailing list dicsussion, which contributed significantly to
the final version.
2015-02-24 22:06:12 +01:00
Juergen Spitzmueller
706960eba4 Add Question and Question* theorem types (bug #9015)
File format change.
2015-01-09 11:24:45 +01:00
Juergen Spitzmueller
9a702f195d Add support for beamer lemma environment.
File fomat change.
2014-08-31 12:30:14 +02:00
Uwe Stöhr
94a9c127e3 support for the LaTeX commands \x***arrow
- this patch supports the \x***arrow commands provided by the mathtool package
- fileformat change
2014-08-25 00:44:09 +02:00
Juergen Spitzmueller
0c3b88e3cb Support for Swiss German (old spelling) 2014-07-05 13:38:55 +02:00
Georg Baum
22dcdd6d8f Fix bug #9162: Missing \use_indices
The lyx2lyx conversion for format 352 was incomplete: It should have been
added the \use_indices setting, but it relied on the fact that the default in
LyX for missing \use_indices is the same as the old format without that
setting used. However, the default might change in the future, and later
lyx2lyx conversions rely on that setting as well.
2014-07-04 19:55:44 +02:00
Georg Baum
55af9cb006 Fix the fix
MAC-style (pre-OS X) line ends were not recognized anymore
2014-05-29 14:44:38 +02:00
Georg Baum
c75c6e446a Do not corrupt documents without newline at EOF
trim_eol() assumes that a line always ends either with \n, \r, or \r\n.
This assumption is always valid except for the last line of a document, since it
may miss the trailing newline. LyX does not create such documents, bu they may
result from automatic creation tools, and LyX can read them, so lyx2lyx should
be able to read them as well.
2014-05-29 13:15:07 +02:00
Georg Baum
5dc9568f8d Native support for \smash[t] and \smash[b]
This is a follow-up of bug #8967. The implementation is self-explaining, the
only part which needs a comment is lyx2lyx: Since a 100% correct solution is
not possible, it has been decided not to switch amsmath off in the forward
conversion if no other ams command than \smash[t] and \smash[b] is used, but
to consider it a bug that older versions do not load amsmath automatically for
these commands. In the backward direction it is easy to keep the document
compilable, so just do that.
2014-05-27 22:13:58 +02:00
Georg Baum
ced24dea55 Fix lyx2lyx warning for tex2lyx files
I would not have thought that reLyX was considered, but not tex2lyx!
2014-05-12 22:06:24 +02:00
Enrico Forestieri
c668ebf611 Fix bugs #8546 and #9055, and introduce new separator inset.
The algorithm used for breaking a paragraph in LaTeX export is changed
for avoiding spurious blank lines causing too much vertical space.
This change is tied to the introduction of a new inset (with two
different specializations) helping in either outputing LaTeX paragraph
breaks or separating environments in LyX. Both of the above goals were
previously achieved by the ---Separator--- layout and can now be
accomplished by the new inset in a more natural way. As an example,
after leaving an environment by hitting the Return key for two times,
a third return automatically inserts a parbreak inset, which is
equivalent to the old separator layout, i.e., it also introduces a
blank line in the output. If this blank line is not wanted, the
parbreak separator can be changed to a plain separator by a right
click of the mouse. Of course, an environment can still be separated
by the following one by using the Alt+P+Return shortcut (or the
corresponding menu key), but now the plain separator inset is used
instead of the old separator layout, such that no blank line occurs in
the LaTeX output.

Old documents are converted such that the LaTeX output remains unchanged.
As a result of this conversion, the old separator layout is replaced by
the new parbreak inset, which may also appear in places where the old
algorithm was introducing blank lines while the new one is not.
Note that not all blank lines were actually affecting the LaTeX output,
because a blank line is simply ignored by the TeX engine when it occurs
in the so called "vertical mode" (e.g., after an alignment environment).
The old ---Separator--- layout is now gone and old layout files using it
are also automatically converted.

Round trip conversions between old and new format should leave a document
unchanged. This means that the new behavior about paragraph breaking is
not "carried back" to the old format. Indeed, this would need introducing
special LaTeX commands in ERT that would accumulate in roundtrip
conversions, horribly cluttering the document. So, when converting a
modified document to old formats, the LaTeX output may slightly differ in
vertical spacing if the document is processed by an old version of LyX.
In other words, forward compatibility is guaranteed, but not backwards.
2014-05-10 23:25:11 +02:00
Vincent van Ravesteijn
b0629c79ac lyx2lyx: Update the emergency value
Actually, this should not be hardcoded.
2014-04-29 15:50:41 +02:00
Vincent van Ravesteijn
03a73a40d8 lyx2lyx: Add the 2.2 entry 2014-04-18 14:06:33 +02:00
Vincent van Ravesteijn
84827c8705 lyx2lyx: Set last minor version of the 2.0.x series 2014-03-23 17:48:07 +01:00
Vincent van Ravesteijn
6eba310ef7 lyx2lyx: Set conversion table for LyX 2.1 2014-03-23 17:48:06 +01:00
Vincent van Ravesteijn
5d15807954 lyx2lyx: Fix conversion table for LyX 2.0 2014-03-23 17:48:02 +01:00
Georg Baum
d2d0f1964d Fix lyx2lyx for layout files with umlauts
lyx2lyx died with UnicodeDecodeError: 'ascii' codec can't decode byte if a
layout with a non-ASCII character in the file name was used, since the
textclass member of the LyX class was of type str, and not unicode.
2013-02-23 12:23:29 +01:00
Uwe Stöhr
cf29d21d7a lyx2lyx files: update GPL organization address and claim copyright also for the LyX team where it is necessary
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40524 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-18 22:56:49 +00:00
Pavel Sanda
aef6b16811 Update FSF address, patch from cornelisbb, #7735.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39523 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-25 23:10:36 +00:00
Richard Heck
90e8e2e537 Let lyx2lyx work when we don't yet have a format change in 2.1.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38947 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-04 13:08:22 +00:00
Richard Heck
96e86c8113 Fix thinko in lyx2lyx.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38595 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-05 19:51:10 +00:00
Richard Heck
c322afe346 We no longer write such detailed information to the header.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38489 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-25 01:58:25 +00:00
Richard Heck
e3c3c18f27 A couple more comments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36144 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 21:14:49 +00:00
Richard Heck
c0c780d719 Comment out some unused code to save a little load time. It also helps
readers of the class to know what's used and what's not.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36143 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 21:13:33 +00:00
Richard Heck
d11ef5b5f6 Typos.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35424 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-17 12:26:55 +00:00
Jean-Marc Lasgouttes
3e83e10ffe typo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33448 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-12 13:32:38 +00:00
Jürgen Spitzmüller
9b39fbf557 Add support for Swiss German (bug 5450). File format change.
Babel doesn't support this variant (yet), so we use ngerman. However, for spell checking and thesaurus, this makes
a difference.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27725 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-28 13:44:03 +00:00
José Matox
32f469b851 If it is not broken then break it:
* Fix lyx2lyx default debug level
* Fix lyx2lyx verbose mode
* Use stderr consistently
* Update default version when running from src directory
* Output prettier and more useful information
* Allow to specify the target version, the format will be accordingly
* Have a more reliable chain of dependencies (fixes corner cases < 2.15)
* Add placeholder for future file format changes



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27506 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-15 22:55:53 +00:00
José Matox
bd64e75489 Fix bug 5411
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27329 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-07 19:17:35 +00:00
José Matox
999889716a No need to change LyX.py everytime there is a file format change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24684 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-08 10:01:38 +00:00
Pavel Sanda
13e42a8c73 Introduce groups for graphics insets. That includes:
- GuiGraphics dialog field for setup new groups.
- Graphics context menu for assigning to certain group.
- Fileformat change for groupId field in Graphics inset.
- Undo mechanism added to inset-apply, for catching changes
  in preference dialog.
- Qt designer 4.4 used now.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24644 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-06 21:13:09 +00:00
Edwin Leuven
832bbc4329 fix: http://bugzilla.lyx.org/show_bug.cgi?id=4688
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24598 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-04 07:51:50 +00:00
Jürgen Spitzmüller
95767b840b support for rightarrowfill, leftarrowfill, upbracefill, downbracefill, by Helge Hafting.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24567 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-30 20:11:57 +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
Bo Peng
76d272da30 Embedding: revert embedding options and extra_embedded_files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24328 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-18 17:06:03 +00:00
Uwe Stöhr
7fa7e2a9d9 languages: support for Mexican Spanish as discussed in http://bugzilla.lyx.org/show_bug.cgi?id=4736
fileformat change

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24288 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-16 00:25:08 +00:00
Jürgen Spitzmüller
5997d41b38 ** support pdfpages via external inset **
* development/FORMAT:
* src/Buffer.cpp:
	- format incremented to 326

* src/LaTeXFeatures.cpp:
* lib/chkconfig.ltx:
* lib/doc/LaTeXConfig.lyx:
	- support pdfpages

* lib/external_templates:
	- add template for pdfpages

* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_6.py:
	- add reversion routine.

* lib/configure.py:
	- fix call to "pdftops --eps"

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24237 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-11 14:07:25 +00:00
Uwe Stöhr
30663a8019 Fileformat change.
Provide only one Japanese language that is encoding independent, patch partly by Koji Yokata.
This fixes http://bugzilla.lyx.org/show_bug.cgi?id=4597

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24053 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-29 23:25:40 +00:00
Jürgen Spitzmüller
c876a2e7c7 Merge the two linebreak insets into one.
* src/Buffer.cpp:
	- file format change to 324
* development/FORMAT:
	- document file format change

* src/insets/InsetNewline.{cpp,h}:
	- the former two separate derivates are now merged into one inset
	  with proper Params and Mailer. This simplifies the structure and allows for
	  switching between the two kinds.

* src/Text3.cpp:
	- The newline insets are now being generated with 
	   newline-insert [newline|linebreak]

* src/factory.cpp:
* src/Text.cpp:
	- Newline inset is now a proper inset with opening and closing tag.

* src/FuncCode.h:
* src/LyXAction.cpp:
* src/Text3.cpp:
* src/insets/InsetCollapsable.cpp:
* src/insets/InsetTabular.cpp:
* src/mathed/InsetMathGrid.cpp:
* src/mathed/InsetMathHull.cpp:
	- remove LFUN_NEW_LINE, LFUN_LINE_BREAK,
	  add LFUN_NEWLINE_INSERT

* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_6.py:
	- conversion and reversion routines for newline insets.

* lib/ui/stdmenus.inc:
* lib/ui/stdcontext.inc
	- adapt menu and add context menu to switch between newpage variants.

* lib/bind/*.bind:
	- adapt to new lfuns.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23966 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-26 08:10:01 +00:00
Jürgen Spitzmüller
d2a4c97ab8 Merge the diverse newpage insets into one.
* src/Buffer.cpp:
	- file format change to 323
* development/FORMAT:
	- document file format change

* src/insets/InsetNewpage.cpp:
	- the former four separate derivates are now merged into one inset
	  with proper Params and Mailer. This simplifies the structure and allows for
	  switching between the various kinds.

* factory.cpp:
	- The newpage insets are now being generated with 
	   newpage-insert [newpage|pagebreak|clearpage|cleardoublepage]

* src/Text.cpp:
	- Newpage inset is now a proper inset with opening and closing tag.

* src/FuncCode.h:
* src/LyXAction.cpp:
* src/Text3.cpp:
* src/insets/InsetCollapsable.cpp:
	- remove LFUN_PAGEBREAK_INSERT, LFUN_CLEARPAGE_INSERT
	  and LFUN_CLEARDOUBLEPAGE_INSERT

* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_6.py:
	- conversion and reversion routines for newpage insets.

* lib/ui/stdmenus.inc:
	- adapt menu and add context menu to switch between newpage variants.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23942 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-25 09:26:03 +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
José Matox
6c57005797 fix bug 4639
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23813 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-18 19:41:50 +00:00
Edwin Leuven
e01e14872d Free line setting in tabulars. FILE FORMAT CHANGE.
- gets rid of the M_TOGGLE_LINE_... functions
- allows arbitrary clines without multicol
- sets arbitrary vertical lines through multicol 
- drop row/col line properties, everything is now stored at the cell level

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23812 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-18 18:08:32 +00:00
Jürgen Spitzmüller
18101eea7b ** add support for protected horizontal fill. FILE FORMAT CHANGE. **
* src/Buffer.cpp:
	- increment file format to 320.

* src/insets(InsetSpace.{cpp, h}:
	- add HFILL_PROTECTED, a protected horizontal fill
	  (LaTeX: \hspace*{\fill})

* src/factory.cpp:
* src/frontends/qt4/GuiHSpace.{cpp, h}:
	- handle the new space type.

* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_6.py:
	- reversion routine for protected hfill.

* development/FORMAT:
	- document file format change

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23805 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-18 12:11:28 +00:00
Jürgen Spitzmüller
f2e8cd3cd9 *** File Format Change: UI and enhancement for InsetSpace ***
* src/insets/InsetSpace.{cpp,h}:
	- merge in HFill inset, add support for dotfill, hrulefill,
	  hspace and hspace*
* src/insets/InsetHFill.{cpp,h}:
	- remove

* src/frontends/qt4/GuiHSpace.{cpp,h}:
* src/frontends/qt4/ui/HSpaceUi.ui:
* src/frontends/qt4/GuiView:
	- new GUI for Space insets.

* src/insets/Inset.{cpp,h}:
* src/insets/InsetCode.h:
* src/insets/InsetCollapsable.cpp:
* src/insets/InsetCommandParams.cpp:
	- remove HFILL_CODE and LFUN_HFILL_INSERT, add SPACE_CODE where necessary,
	  new Inset member isStretchableSpace() to indicate HFill and friends.

* Buffer.cpp: 
	- increase format to 319
* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_6.py:
	- conversion/reversion routines
* development/FORMAT:
	- document file format change

* src/Makefile.am:
* src/frontends/qt4/Makefile.am:
* development/scons/scons_manifest.py:
	- deal with UI changes.

* src/LyXAction.cpp:
	- remove LFUN_HFILL_INSERT

* src/LyXFunc.cpp:
	- handle space dialog.

* src/factory.cpp:
* src/Paragraph.cpp (isHFill):
* src/Text.cpp:
* src/Text3.cpp:
* src/TextMetrics.cpp:
	- adapt to changes

* lib/ui/classic.ui:
* lib/ui/stdmenus.ui:
	- add HSpace dialog, remove HFill.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23787 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-17 09:23:43 +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
3db3b9930a fileformat incremented to 317:
support for floating placement settings for wrap floats

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23394 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-02 17:12:22 +00:00
Jürgen Spitzmüller
ac1977018b ** subfig support **
* src/Buffer.cpp:
* development/FORMAT:
	- bump format to 316.

* src/insets/InsetFloat.{cpp, h}:
	- let nested floats be subfloats
	  NOTE: docbook support is missing.
* src/insets/InsetCaption.{cpp, h}:
	- handle subfigure captions
* src/insets/InsetGraphics.cpp:
* src/insets/InsetGraphicsParams.{cpp, h}:
	- remove old subfigure support

* lib/chkconfig.ltx:
* lib/doc/LaTeXConfig.lyx:
	- check for subfig instead of subfigure.

* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_6.py:
	- conversion/reversion routines for subfig -> subfloats
	  NOTE: the reversion routine still has bugs.

* src/Counters.{cpp, h}: 
	- add identifiers for subfloats

* src/LaTeXFeatures.{cpp, h}:
	- support for subfig

* src/TextClass.cpp:
	- set up subfloat counter for all custom floats.

* src/frontends/qt4/GuiGraphics.cpp:
* src/frontends/qt4/ui/GrahicsUi.ui:
	- remove subfigure UI.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23381 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-02 11:30:50 +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
Jürgen Spitzmüller
0c6c52943b * lib/lyx2lyx/LyX.py (get_encoding):
- handle the "utf8x" inputenc option (part of bug 4503).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22884 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-09 07:52:26 +00:00
Uwe Stöhr
886db92f82 enable the scrlttr 2 class for serial letters:
- file format change
- new example files and an example address database
- remove ugly hack from scrlttr2.layout and fix bug 4529

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22764 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-03 11:56:44 +00:00
Richard Heck
df4634968a Fix bugs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22506 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-12 06:43:44 +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
Jürgen Spitzmüller
4b799833e7 *** Support for generic sideways floats ***
* src/Buffer.cpp:
	- format is up to 312.
* src/LaTeXFeatures.cpp:
	- add rotfloat.
* src/Insets/InsetFloat.cpp:
	- handle starred and generic sideways floats.
* src/frontends/qt4/FloatPlacement.{cpp,h}:
	- adjust GUI to the new features.
* lib/chkconfig.ltx:
	- add rotfloat
* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_6.py:
	- add reversion methods for new floats
* lib/lyx2lyx/lyx_1_4.py:
	- add proper reversion method for sideways floats (this was missing).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22495 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-11 18:56:53 +00:00
Richard Heck
9f8bf4c9da Dummy format change for AMS modularization.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22470 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 07:22:43 +00:00
Jürgen Spitzmüller
a229a78dff Support for \nocite* from Berhard Reiter. Increments file format to 210.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22327 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-28 16:56:57 +00:00
Richard Heck
e285d2a7d8 Support for nocite, provided by Bernhard Reiter.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22217 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-20 15:46:14 +00:00
Uwe Stöhr
90c14f8c12 support for Serbian with Latin letters
- fileformat change

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22143 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-13 23:29:56 +00:00
Jürgen Spitzmüller
61e1643821 Support for \slash and \nobreakdash-
* src/lfuns.h:
* src/Text3.cpp:
* src/insets/InsetMathNest.cpp:
* src/insets/insetCollapsable:
	- new LFUN_SPECIALCHAR_INSERT
	- nuke LFUN_HYPHENATION_POINT_INSERT, 
	  LFUN_LIGATURE_BREAK_INSERT,
	  LFUN_DOTS_INSERT,
               LFUN_END_OF_SENTENCE_PERIOD_INSERT,
	  LFUN_MENU_SEPARATOR_INSERT
	  (functions now handled as arguments of the above)

* src/insets/InsetSpecialChar.{cpp,h}:
	- implement \slash and \nobreakdash-

* src/Buffer.cpp:
	- increment format to 307.
* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_6.py:
	- reversion methods for SpecialChar \slash{} and
	  SpecialChar \nobreakdash-
* development/FORMAT:
	- document file format change

* lib/ui/stdmenus.inc:
* lib/ui/classic.ui:
	- add new SpecialChars to the menus, adapt lfuns to new scheme

* lib/bind/aqua.bind:
* lib/bind/cua.bind:
* lib/bind/emacs.bind:
* lib/bind/fi/menus.bind:
* lib/bind/mac.bind:
* lib/bind/menus.bind:
* lib/bind/sciword.bind:
* lib/bind/xemacs.bind:
	- add shortcuts for new SpecialChars, adapt lfuns to new scheme

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21989 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-06 11:04:56 +00:00
Uwe Stöhr
d21c9a2c07 support for the language Interlingua
- fileformat change

(Interlingua was the last missing language supported by babel)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21976 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-05 22:04:33 +00:00
Uwe Stöhr
fa37b1c4b1 support for the language Bahasa Malaysia
- fileformat change
- rename "Bahasa" to "Bahasa Indonesia"


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21974 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-05 21:42:57 +00:00
Jürgen Spitzmüller
3582be1441 framed.sty goes InsetBox:
* src/insets/InsetBox.{cpp,h}:
* src/frontends/qt4/GuiBox.{cpp,h}:
* src/frontends/qt4/ui/BoxUi.ui:
	- add and handle Framed and Shaded boxes
	- use more descriptive label names
	- implement name() function for Box:Shaded's sake

* src/insets/InsetNote.{cpp,h}:
* src/frontends/qt4/GuiNote.cpp:
* src/frontends/qt4/ui/NoteUi.ui:
	- remove Framed and Shaded.

* lib/layouts/stdinsets.inc:
	- remove Note:Framed and Note:Shaded
	- add Box:Shaded

* Buffer.cpp:
	- bump format to 304.

* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_6.py:
	- add conversion/reversion of framed/shaded notes to boxes.

* development/FORMAT:
	- document file format change.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21945 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-04 09:25:50 +00:00
Uwe Stöhr
0ef6b7c5fe - remove Serbocroatian from the language list because this was a fake. Croatian was used under the hood but we already have Croatian separately.
- implement Serbian

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21786 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-25 22:39:04 +00:00
Uwe Stöhr
9608e4971b support for the languages Latin and North Sami
- fileformat change

(I wonder why support for them was removed (must be before LyX 1.3), because the old reLyX script listed them as supported)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21783 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-25 21:09:01 +00:00
Uwe Stöhr
12f7869ac0 support for \linebreak:
- fileformat change
- tex2lyx support
- rename LFUN_BREAK_LINE to LFUN_NEW_LINE because this is what the lfun does and to avoid confusions
- new menu entry
- new shortcut C-S-Return

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21778 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-25 18:34:37 +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
Uwe Stöhr
0a7567ce3b - add entry to FORMATS file for Stefan's format change (Richards to 296 change is still not correctly listed)
- add support for hyerlink targets - fileformat changed
  (For Hyperlink.cpp I still need help to get rid of the strings and chars and use docstrings and char_type instead!)

Can anyone please open the changed Hyperlink.ui with a Qt 4.2 designer or below, save it and commit? Thanks. (Otherwise you cannot compile it.)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21347 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 17:37:43 +00:00
Stefan Schimanski
9d9c5959f3 * file format 298 to convert macro definitions with optional parameters into ERT. This is still just an empty convertion, waiting for Uwe to find time to implement it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21326 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 11:03:51 +00:00
Uwe Stöhr
bb46fe5f0e fileformat change for my previous commit: Albanian and lower Sorbian support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21273 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-29 22:38:36 +00:00
Richard Heck
4064d2c468 InsetInclude becomes an InsetCommand.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21149 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-23 15:02:15 +00:00
Bo Peng
7063b33b1b Remove the manifest section of the .lyx file
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21104 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-21 18:06:00 +00:00
Uwe Stöhr
7075eaadef The huge URL patch:
- rename the lfun to href-insert.png
- rename the files to Hyperlink...
- the former URLUi produces now \href commands (hyperref)

Only missing thing is the lyx2lyx conversion routine - this will be done by Richard

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20950 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-13 19:06:09 +00:00
Uwe Stöhr
ed43dea031 fileformat change to 294 for Pavel's PDFOptions cleanup in r20881
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20933 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-12 23:51:56 +00:00
Bo Peng
353aacab4b InsetInfo: lyx2lyx support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20905 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-11 14:56:34 +00:00
Uwe Stöhr
a9b5b1ff9a Fileformat incremented to 293 due to yesterdays' support for japanese-plain (r20831)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20859 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-08 23:40:23 +00:00
Uwe Stöhr
ae0f514870 support for the Vietnamese languages
fileformat increased to 291

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20738 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-04 23:20:39 +00:00
Uwe Stöhr
2492def7da provide wrap tables based on the current wrap float implementation
file format increased to 290


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20713 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-03 21:07:01 +00:00
Martin Vermeer
d21a3bb445 Index as collapsible, preserving existing feature set
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20699 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-03 13:38:19 +00:00
Richard Heck
0787ade6c0 This is the first part of a cleanup of how we handle the InsetCommand hierarchy. This part starts to disentangle the type of the inset from the command that a single instance of the inset represents. This involves two sorts of changes:
(i) The file format is changed, so that command insets are represented as:
    \begin_inset CommandInset insetype
    LatexCommand command
    ...
    \end_inset
This involves some lyx2lyx and changes to the readInset() routine in factory.cpp
(ii) The InsetCommand and InsetCommandParams classes also have to be changed, as the command name was used in these classes for various purposes for which the inset type ought really to be used.
Further clean-up to come.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20544 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-27 18:24:18 +00:00
Uwe Stöhr
b7d0510502 Fileformat increased to 287: support for optional arguments of package wrapfig that is used for wrap floats
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20462 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-24 13:43:58 +00:00
Richard Heck
a1a395d4e7 Missing things in lyx2lyx from PDFOptions commit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20393 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-20 22:57:23 +00:00
José Matox
dbe7b13f65 lyx2lyx: use parseopt instead of getopt (the documentation of options
is kept in sync with its usage)

LyX.py:  make source more readable, place whitespaces, break long
         lines, add documentation strings, etc.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20279 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-14 14:37:14 +00:00
Bo Peng
e2d5893eab Embedding: move manifest to .lyx file, as a separate section between header and body
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20212 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-11 14:23:12 +00:00
Uwe Stöhr
17112f655d Helge's wrapfig patch:
- Format incremented to 284
- LaTeX-package wrapfig is now used instead of flotflt for wrap floats (this allows us to implement now also a table wrap float)

(the optional overhang argument of wrapfig will be implemented later)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20185 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-09 23:47:22 +00:00
Uwe Stöhr
ff9143b226 LyX.py: fix for previous commit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20175 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-09 18:37:50 +00:00
Uwe Stöhr
350dad6f65 doc_toc.py: remove non-ascii character since LyX.py can't encode it at the moment
LyX.py: fix thinko that lead to out of range list

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20173 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-09 17:02:48 +00:00
Martin Vermeer
2e5355e4c2 Convert CharStyle to Flex also in file format
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20138 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-08 13:01:29 +00:00
José Matox
b3d5000a64 Increment file format due to the embedded feature
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19938 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-31 09:46:14 +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
Martin Vermeer
3c504502bf Further inset configurability, moving charstyle stuff to collapsable
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19640 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-18 23:26:07 +00:00
Martin Vermeer
ff682ec3e4 partial merge of charstyle and insetlayout stuff, part 2 (lyx2lyx)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19622 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-17 15:48:41 +00:00
José Matox
f130c13c7b Increase the file format, now every \\begin_deeper has a corresponding \\end_deeper.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19461 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-12 14:56:49 +00:00
José Matox
ca81b43f03 Fix bug 518 (thanks to Jean Marc and Martin for the help)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19455 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-12 13:25:36 +00:00
José Matox
a8dcedb3b1 Prepare for lyx 1.4.5
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19182 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-24 14:29:21 +00:00
José Matox
95cf1d65f3 Old lyx files (from 1.0 era) can start with a begin deeper
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19097 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-17 11:53:46 +00:00
Uwe Stöhr
d8993d2d6c - Fileformat change: rename "arabic" to "arabic_arabtex"
- Split the language Arabic into "arabic_arabi" that uses the arabi-package and "arabic-arabtex" that uses the arabTeX-package to typeset Arabic. This is needed because both packages have some advantages over the other people need.
(This change is a consequence of a long and fruitful discussion with Mostafa, Dov, and me.)

Patch by Dov and me.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18887 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-26 00:11:03 +00:00
Jürgen Spitzmüller
bcf64dd11c Fix bug 1749. CAUTION: lyx2lyx not fully working yet (see FIXMEs).
* development/FORMAT: 
	- document file format change

* src/Buffer.cpp: bump format to 275.

* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_5.py:
	- conversion and reversion of scaleBeforeRotation param (doesn't work yet!)

* src/insets/InsetGraphicsParams.{cpp,h}: 
	- new param scaleBeforeRotation
* src/insets/InsetGraphics.cpp:
	- swap order of scale and rotate (if scaleBeforeRotation is false)

* src/frontends/qt4/QGraphics.C:
* src/frontends/qt4/QGraphicsDialog.{cpp,h}:
* src/frontends/qt4/ui/GraphicsUi.ui:
	- add checkbox to toggle scaleBeforeRotation.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18885 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-25 13:49:51 +00:00
Dov Feldstern
a529b7e6e7 lyx2lyx to convert the language of spaces surrounding text in a foriegn
language to be in the paragraph's language. This is necessary due to format
change 259, but the language was forgotten in lyx2lyx back then. It's important
for Bidi documents.

(fixes bug http://bugzilla.lyx.org/show_bug.cgi?id=3789)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18766 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-13 19:12:38 +00:00