Caching the string value of extensions is not necessary. It
was a nice textbook exercise in getter/setter methods but it
is cause for confusion and prone to mistakes in maintenance.
Also, extension_list_ doesn't need to be mutable.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39714 a592a061-630c-0410-9148-cb99ea01b6c8
They were implementation-specific and do not impact on the interface anyway.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39709 a592a061-630c-0410-9148-cb99ea01b6c8
(e.g., compressed dia, odg, sxd, ...). These need to be marked via the "zipped=native" flag in the RC file.
The old 'dia' configuration is automatically updated (it used to be hardcoded in the code, now it is handled
via the flag).
See also http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg170974.html
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39705 a592a061-630c-0410-9148-cb99ea01b6c8
text which is not explicitly marked in a different language, irrespective
of the multilingual status, except for LTR<=>RTL changes.
See discussion in this thread:
http://thread.gmane.org/gmane.editors.lyx.devel/138380
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39702 a592a061-630c-0410-9148-cb99ea01b6c8
The patch fixes a case that I had forgotten. Namely, the case that when the height of a row was larger than the height of the screen and that the cursor is already visible. That's why I added a new if case to catch all situations in which the row height is larger than the height of the screen. If we then need scrolling we scroll to height/4 and 3*height/4. In the end, the height_/4 and 3*height_/4 should be replaced by the rowheights in the inset, but we need some extra infrastructure for that.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39697 a592a061-630c-0410-9148-cb99ea01b6c8
This will disable the layout box if no document is open, and it will set the correct state of the toolbar toggling buttons.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39694 a592a061-630c-0410-9148-cb99ea01b6c8
- Remove hack with $$AbsOrRelPath substitution in the guiName.
Instead, let LyX display the filename automatically in the gui,
consistent with InsetInclude.
- Use the guiName in the drop-down menu in the dialog instead of the
internal lyxName. These guiNames ought to be more descriptive.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39675 a592a061-630c-0410-9148-cb99ea01b6c8
Add an empty filter for listings and verbatim includes. This will
display as the standard string "All files (*)".
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39673 a592a061-630c-0410-9148-cb99ea01b6c8
- Correctly interpret whether a file description is available.
This description is later displayed in the file filters in the
import dialog (and other dialogs using this qt helper).
- Fix the regex so that "LaTeX (plain) (*.tex)" is correctly parsed
into a description "LaTeX (plain) " and its corresponding filter.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39672 a592a061-630c-0410-9148-cb99ea01b6c8
- Add "htm" as a known extension for HTML.
- Use all the extensions of a format as file filter,
instead of using only the default extension.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39671 a592a061-630c-0410-9148-cb99ea01b6c8
Additionnal extensions are separated by commas (,) in lyxrc
preference files, while spaces are ignored, e.g. "jpg, jpeg".
Preference lyxrc file format incremented to 2.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39670 a592a061-630c-0410-9148-cb99ea01b6c8
Set a validator on QLineEdit widgets. The validator removes any
\n and \r characters, thus preventing users from copy-pasting
newline characters into these fields, and subsequently saving
them, inadvertantly, to the preference file.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39664 a592a061-630c-0410-9148-cb99ea01b6c8
- Japanese is now handled by passing the option --latex=platex
to the standard lyxpreview script. This is done in PreviewLoader.
- Remove obsoleted file lyxpreview-platex2bitmap.py and the
corresponding lines in the configure script.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39659 a592a061-630c-0410-9148-cb99ea01b6c8
- Handle the preprocessing in the main lyxpreview script with the
command-line arguments --lilypond and --lilypond-book=exe.
- Remove the obsoleted file lyxpreview-lytex2bitmap.py and the
corresponding lines in configure.py.
Fix for the japanese preview still to come.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39658 a592a061-630c-0410-9148-cb99ea01b6c8
Add command-line arguments in a standard unix fashion, using getopt.
Usage: ./lyxpreview2bitmap.py <options> <input file>
Options:
-h, --help: Show this help screen and exit
--dpi=<res>: Resolution per inch (default: 128)
--png, --ppm: Select the output format (default: png)
--fg=<color>: Foreground color (default: black, ie '000000')
--bg=<color>: Background color (default: white, ie 'ffffff')
--latex=<exe>: Specify the executable for latex (default: latex)
The colors are hexadecimal strings, eg 'faf0e6'.
The changes to PreviewLoader.cpp break the preview of lilypond-book
and japanese files, but they will be handled in the next commits.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39657 a592a061-630c-0410-9148-cb99ea01b6c8
ability to take the symbol from an explicit or implicit selection.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39651 a592a061-630c-0410-9148-cb99ea01b6c8
../../src/support/mythes/mythes.hxx:25:9: error: ‘FILE’ does not name a type
../../src/support/mythes/mythes.hxx:55:22: error: ‘FILE’ has not been declared
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39580 a592a061-630c-0410-9148-cb99ea01b6c8
- \negmedspace and \negthickspace outside of math
- \enspace, \hspace*, \hspace*{\fill} and \hfill inside math
(fileformat change)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39557 a592a061-630c-0410-9148-cb99ea01b6c8
Corresponding test-case needed a fix as well and now it is passed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39518 a592a061-630c-0410-9148-cb99ea01b6c8
When a document is not multi-lingual the text contents is changed
to the new language. This should be recorded for Undo.
Because Undo wants a cursor the implemantation has to be
moved to the BufferView class.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39508 a592a061-630c-0410-9148-cb99ea01b6c8
The fix also allows to execute again batch files when using runCommand.
Unfortunately, this is still not possible with QProcess as that code is not
under our control.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39504 a592a061-630c-0410-9148-cb99ea01b6c8
- After introducing the displayed vertical alignment for tables, we met for the first time situations in which row.ascent is very large. To make sure the scrolling still works, we have to do the same as we did for rows with a large descent.
- change row.ascent into defaultRowHeight. Before the above mentioned change, row.ascent usually was approximately the same as defaultRowHeight (by chance). However, it is now clear we don't really want row.ascent here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39486 a592a061-630c-0410-9148-cb99ea01b6c8
and invoke the previewer with only its filename without the path.
This solves the problem about forward search on Windows reported here:
http://thread.gmane.org/gmane.editors.lyx.general/71130
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39410 a592a061-630c-0410-9148-cb99ea01b6c8
The PreviewLoader is created directly by Buffer on demand. The PreviewLoader cache was complex and unneeded because there is one and only one PreviewLoader per Buffer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39276 a592a061-630c-0410-9148-cb99ea01b6c8
I don't think we need to record anything yet, since we are not changing
anything here. The dialog will call a new LFUN to do the change.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39253 a592a061-630c-0410-9148-cb99ea01b6c8
* uniqueLabel(docstring & label) to enforce label unicity
* updateLabel() to update only the label.
* InsetLabel::updateLabelAndRefs() to update label & refs
* InsetLabel::updateReferences() to update the references
This fixes bug #7655
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39250 a592a061-630c-0410-9148-cb99ea01b6c8
Added corresponding regression tests findadv-re-01 and -02 for finding these special characters.
Unfortunately, braces {} are a little bit special and don't work yet. Added findadv-re-03 regression test to not forget about this case.
This goes along the line of fixing issues reported by Andrew Parsloe and summarised as #7638.
Last note: Still there will be cases when the Advanced F&R won't work, especially if the text to be found and/or the search pattern is preceded by backslashes or others.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39135 a592a061-630c-0410-9148-cb99ea01b6c8
(hunspell 1.3 is not correctly recognized otherwise).
Patch from Rex Dieter, posted by Jose.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39040 a592a061-630c-0410-9148-cb99ea01b6c8
This is needed when instant preview is on,
so we avoid the empty preview due to latex compilation error.
Fixing issue 1. reported at: http://permalink.gmane.org/gmane.editors.lyx.devel/136992.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39015 a592a061-630c-0410-9148-cb99ea01b6c8
the moc invocation to add the proper define for QT_VERSION.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38995 a592a061-630c-0410-9148-cb99ea01b6c8
It's amazing we haven't seen problems with this before. The basic problem is that buf.errorList("whatever") would always return the same global, static error list, if it did not already exist. So, to a significant extent, there was only one global error list!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38980 a592a061-630c-0410-9148-cb99ea01b6c8
It's amazing we haven't seen problems with this before. The basic problem is that buf.errorList("whatever") would always return the same global, static error list, if it did not already exist. So, to a significant extent, there was only one global error list!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38978 a592a061-630c-0410-9148-cb99ea01b6c8
that is the language we use elsewhere.
Also took the opportunity to fix some shortcuts.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38930 a592a061-630c-0410-9148-cb99ea01b6c8
Basically, patch adds routine that calcuates relative paths to parent
rather than child directories.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38915 a592a061-630c-0410-9148-cb99ea01b6c8
For example, this wasn't allowing to match '\beta\alpha' in the sequence '\alpha\beta\alpha', as
in the accompanying regression test-case (added case for ignore-format off).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38888 a592a061-630c-0410-9148-cb99ea01b6c8
For example, this wasn't allowing to match '\beta\alpha' in the sequence '\alpha\beta\alpha', as
in the accompanying regression test-case.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38883 a592a061-630c-0410-9148-cb99ea01b6c8
defined there, also while using the dialog from the Adv F&R WAs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38866 a592a061-630c-0410-9148-cb99ea01b6c8
Added accompanying regression tests for displayed math and numbered equations.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38860 a592a061-630c-0410-9148-cb99ea01b6c8
viewer to give us sensible information, but that information may be out-
generated. So we need to check and make sure the values we get are
valid.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38859 a592a061-630c-0410-9148-cb99ea01b6c8
This allows to pick and search for citations present in the main document.
This was started to be discussed in a relatively unrelated bug #7581, then the patch
was proposed here: http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg169277.html
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38847 a592a061-630c-0410-9148-cb99ea01b6c8
For example, before this footnotes were not correctly found.
Added also accompanying regression test.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38846 a592a061-630c-0410-9148-cb99ea01b6c8
the same document could not be rendered.
Problem was that we were using children_positions to deal with the
included documents. That structure only includes each child once.
We need to use position_to_children, instead.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38842 a592a061-630c-0410-9148-cb99ea01b6c8
the macros declared in the parent do not work. This is because we were
cloning only the child, which then didn't have a parent.
The solution is to clone the whole structure, starting with the master
document. As a side effect, we only clone each child once.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38837 a592a061-630c-0410-9148-cb99ea01b6c8
Thus, we can't rely on the returned timestamp being -1 if a pdf doesn't exist.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38835 a592a061-630c-0410-9148-cb99ea01b6c8
from the main document WA to the find/replace WAs (in addition
to the language, as required for addressing #6560).
I'm not cloning the whole BufferParams because we learned
from
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg168175.html
that, for example, if we inherit the default master by mistake,
then we may run into problems.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38819 a592a061-630c-0410-9148-cb99ea01b6c8
2.) Read the PATCH_VERSION from configure.ac too
3.) Ident-text in script
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38804 a592a061-630c-0410-9148-cb99ea01b6c8
BufferView::dispatch(), and the screen update is done properly there.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38779 a592a061-630c-0410-9148-cb99ea01b6c8
in LyXRC::write(), i.e., by listing RC_LAST as the first item in the switch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38738 a592a061-630c-0410-9148-cb99ea01b6c8
Always wondered why I had to restart LyX after changing the PATH prefix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38736 a592a061-630c-0410-9148-cb99ea01b6c8
by Jan Paul Imhoff. The problem was that we were assuming (as we still
do in some places) that there are always at least two cells.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38717 a592a061-630c-0410-9148-cb99ea01b6c8
multicell inset, where we now export all of the cells
separated by "\t", instead of only the first cell.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38712 a592a061-630c-0410-9148-cb99ea01b6c8
Otherwise, we were asking to construct strings of random size at a
certain point, e.g., two 2GB strings, in one case I saw.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38704 a592a061-630c-0410-9148-cb99ea01b6c8
This was an attempt to fix#2743 without re-working the InsetBibitem
mess. It didn't work, so we have to do that.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38702 a592a061-630c-0410-9148-cb99ea01b6c8
variable. This is done in the preferences, much like as the PATH prefix.
A single '.' in the paths will get replaced with the current document dir
and also non-absolute paths will be prefixed with that dir.
The default semantics of TEXINPUTS apply, such that, for example, if a
path is terminated with a double slash, all subdirectories will be also
searched by both the TeX engine and ancillary programs such as dvi
previewers or dvips. As an example, if the prefix is set to ".:figs", the
TEXINPUTS variable will be set as ".:<docdir>:<docdir>/figs:$ORIGTEXINPUTS",
where <docdir> is the document directory.
The initial '.' is necessary to address the actual current dir (this will
be the temp dir at preview time), while if TEXINPUTS was initially unset,
such that $ORIGTEXINPUTS is empty, a colon (or semicolon on Windows) will
end the path list. This is very important, because we don't want to replace
the system directories but to complement them and, in order to do that, an
empty element has to be present in the list. Indeed, according to the
TEXINPUTS semantics, an empty element means the standard search path.
This works whether TEXINPUTS is originally set or not, because if the
original TEXINPUTS starts with a colon (meaning that the standard search
path is wanted there) we will have an empty element at that point,
otherwise the final colon will simply serve as a path separator.
Of course, on Windows a ';' has to be used as a path separator. LyX will
take care of transforming the platform path list into one understandable
by the TeX engine. For example, this will be the case for a Cygwin version
of LyX using a native Windows TeX engine or viceversa. I tested all of
this and it works for me.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38681 a592a061-630c-0410-9148-cb99ea01b6c8
We clear the refernce cache so that we won't get conflicts with labels
that get pasted into the buffer. We should update this before its being
empty matters. If not (i.e., if we encounter bugs), then this should
instead be:
cur.buffer().updateBuffer();
But we'll try the cheaper solution in trunk.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38680 a592a061-630c-0410-9148-cb99ea01b6c8
It must have been wrong before the updateBuffer() refactoring, too.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38676 a592a061-630c-0410-9148-cb99ea01b6c8
We are missing the updateBuffer() call when we go through
mouseEventDispatch(). A consequence of the massive updateBuffer()
refactoring. Wish it had been caught before...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38667 a592a061-630c-0410-9148-cb99ea01b6c8
a number of unforeseen issues (like the inheritance of the default master, as
pointed out in http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg168225.html),
now we simply set the language into the search & replace buffers.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38647 a592a061-630c-0410-9148-cb99ea01b6c8
layout to the current format.
This probably isn't needed for branch, since local layout was a
"hidden feature" prior to 2.0, and one can update local layout by:
(a) copying to a file
(b) running layout2layout on that file
(c) pasting back into LyX
So we should probably just leave this in trunk.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38622 a592a061-630c-0410-9148-cb99ea01b6c8
inset to know that the BibTeX data had changed. So we introduce a
Buffer-wide variable that we can query for that information.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38619 a592a061-630c-0410-9148-cb99ea01b6c8
calls into the file writing routines and out of doExport(). They were in
both places before: Called once in doExport, and then again in the e.g.
writeLaTeXSource()---and then again, actually, in validate().
It is possible this will reveal some missing updateBuffer() calls
somewhere. But it should somewhat speed up View>Source, since we now do
not do an extra set of such calls in that routine. Rather, we rely upon
the Buffer's having been made up to date first, by the updateBuffer()
call after dispatch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38596 a592a061-630c-0410-9148-cb99ea01b6c8
Now it is no longer needed to use a tree that was never used for building
for remerging .po files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38585 a592a061-630c-0410-9148-cb99ea01b6c8
assure to switch to math mode if needed. This helps avoiding latex
errors (see http://thread.gmane.org/gmane.editors.lyx.general/69580)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38579 a592a061-630c-0410-9148-cb99ea01b6c8
Something went wrong with a script while previewing a document and now
I have to wait for 30 minutes for quitting LyX without killing it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38578 a592a061-630c-0410-9148-cb99ea01b6c8
As the bug report notes, you do NOT get this crash if you move up or
down in the table a bit before you do the rest. The reason is that
moving up and down sets the cursor's x_target_, and it is because that
is not set that we enter the other code at all and eventually crash.
That is, in InsetTabular's dispatch, we have:
(*) cur.pos() = tm.x2pos(cur.pit(), pm.rows().size()-1, cur.targetX());
You can see the potential for trouble here already. cur.pit() is in the
NEW cell, i.e., the one to which we are moving; it was changed a few
lines previously, and cur.idx() points to the new cell, too. But we are
trying to calculate cur.pos(), which means that cur.pos() is currently
the one from the OLD cell. So the cursor is in an inconsistent state.
Calling cur.targetX() leads us to call Cursor::getPos(), and that is
what causes the crash.
We fix the problem by making sure we call targetX() on the original
cursor. The same problem clearly exists in the DOWN stuff, so we fix
that, too.
By the way, should we be setting x_target_ here once we have calculated
it?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38530 a592a061-630c-0410-9148-cb99ea01b6c8
http://www.mail-archive.com/lyx-
for the reason it needs to be here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38497 a592a061-630c-0410-9148-cb99ea01b6c8
If a class has already loaded hyperref (i.e., if \hypersetup is already defined),
immediately issue \hypersetup to prevent a LaTeX error (bug #7459).
This still assures that \hypersetup is called \AtBeginDocument if hyperref is loaded by
a class \AtBeginDocument (such as modernCV, see #7048).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38438 a592a061-630c-0410-9148-cb99ea01b6c8
use it to translate the message. (Note that this is presently used only
for XHTML output.)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38405 a592a061-630c-0410-9148-cb99ea01b6c8
The one remaining question is whether we should also call resetAnchor()
at the end of setCursor().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38388 a592a061-630c-0410-9148-cb99ea01b6c8