We only need to sort the formats when it is really necessary, i.e. for GUI
purposes.
This also prevents 11000 requests for translation everytime the toolbars
are updated.
- fileformat change
- it was a pity that LyX did not yet support a simple rectangular frame without a defined width but LyX did this for e.g. oval frames
- \fbox and \mbox often occur in TeX files and can now be imported
Before, it was done on editingFinished(). The new behavior is more
intuitive because it is easier for the user to see how editing the box
is connected with enabling/disabling the other widgets. Before, the user
would not get instant feedback and would have to click away before the
connection is revealed. This new behavior is less efficient, however,
because checkEnabled() is called after every keystroke.
- Use the LyX name of encodings instead of the LaTeX names.
The LyX name must be unique, while the name used by LaTeX
not necessarily, e.g. different packages might implement
support for the same encoding.
- Rename koi8 to koi8-r, so that the LyX and LaTeX names match.
- Rename euc-jp-plain to euc-jp-platex, jis-plain to jis-platex
and shift-jis-plain to shift-jis-platex.
- Add utf8-platex encoding (fixes#8408).
LyX file format incremented to 463.
At this moment we do not allow comparison between arbitrary hashes,
but except GUI the code is ready.
Thanks to the powerful way of git addressing we could even ask
for comparisons like '-2 weeks back' if someone wants to play
with GuiCompareHistory.
The advantage of having this in LyX is the intelligent file name handling
of included files. Implementation as discussed on the list, but ensure also
that an attempt to use locked files fails.
It is not possible to transport the different error/abort/success conditions
of a VCS checkin through a simple empty or nonempty string. Therefore it was
no wonder that the return values were used inconsistently for different VCS.
Now the log and return status are decoupled, and all VCS are handled
consistently. This is a prerequisite for proper locking detection of the
upcoming rename command.
* some functionality is in new modules now
new header locations and library names: QtConcurrent and QtWidgets
* method setResizeMode is renamed to setSectionResizeMode
* deprecated QAbstractItemModel::reset() is dropped now
* platform specific code like QApplication::syncX() is not common anymore
* QString::fromAscii() is dropped now
* some QDesktopServices methods has been moved to QStandardPaths
Most images are generated by development/tools/generate_symbols_images.py, but
some were drawn manually. Now there is no image missing from the ones the
script can generate.
These encodings were not defined, since they must not be used as document
encodings (the characters {, } and \ may appear in high bytes, and latex
would be confused). However, they are supported by CJK.sty (which uses a
preprocessor to circumvent the limitations of the latex executable). These
encodings are now defined, but used for import in tex2lyx only.
The test case CJK.tex contained fake tests for shift-jis and big5 (the
japanese and chinese characters were entered using the utf8 encoding), and
therefore the wrong interpretation of these encoding looked as if it worked.
The comments about missing iconv support of shift-jis and big5 were wrong as
well (otherwise shift-jis-plain would not work either).
The fix is basically mechanical, the additional code for fraction like insets
with three arguments was stolen from \unitfrac. As any math package,
stackrel.sty needs a buffer parameter to switch it off.
I also added the two stackrel flavours to the toolbar.
These are all generated by development/tools/generate_symbols_images.py, the
only manual adjustments were renamings due to case sensitive file systems on
windows.
stmaryrd.sty sets these symbols up as variable size math delimiters (i.e.
they may be used with \left and \right). Now LyX knows about that and offers
them in the delimiter dialog as well as single symbols.
The stmaryrd package adds support for lots of math symbols, using a font
designed to accompany the computer modern fonts. The changes in detail:
- Fix generate_symbols_list.py to work with stmaryrd.sty. It loooks like it
was automatically translated from a perl version and never used.
- Generate the new symbols in lib/symbols using generate_symbols_list.py and
add some manual adjustments
- Generate stmary10.ttf by a simple ttf export from stmary10.sfd with fontforge
- Add license info for stmary10.ttf
- Create a test file with all symbols from stmaryrd.sty. Actually it would be
nice to have this for the other fonts as well.
- The mechanics: lyx2lyx, tex2lyx, font machinery etc.
This patch puts all projects into subfolders (at least for MSVS). In this
way, there is a better overview (especially if the number of test projects
will be increasing).
Both cvs and svn are able to retrieve non-existing files from repository,
but this was only implemented for rcs. This is a prerequisite for the
planned move and copy VCV operations. I also improved error schecking and
used extractFromVC() also for files specified on the command line if they
do not exist (in GUI mode, it was already the case in non-GUI mode).
buffer-forall only takes one parameter now, which is the LFUN to
dispatch on all non-hidden buffers. A hidden buffer is defined as being
internally open in LyX, but not visible in any window (view).
Thanks, JMarc.
The obnoxious messages in Private::setFilter cover any message set by lyx::dispatch. The solution I chose is to return early when the filter is not changed.
If this makes sense, then the same optimization should be added to CategorizedCombo, IMO.
This adds an optional 'set' argument to the language lfun and reintroduces toggling.
Additions by me reintroduce the possibility to reset to the document language via 'language reset' or just 'language'
This might encourage users to post this information when reporting bugs
and sometimes it's useful to be able to copy the paths of the Library
and User directories.
If the WA is the last one showing a buffer, then the buffer may either be
closed or kept hidden, or the user is asked. The behaviour is controlled
by a new preference option.
For discussion, see http://comments.gmane.org/gmane.editors.lyx.devel/142638
With non-TeX fonts, you can select a 'Non-TeX Font Default' math font, which simply loads unicode-math without actually selecting a math font, this then uses the default math otf font, currently Latin Modern. Other fonts still need to be set manually in the preamble, via \setmathfont.
The implementation suppresses unneeded package requests from unicodesymbols, but the output still uses macros instead of full unicode (both is possible with unicode-math).
The whole thing is a proof of concept, and it needs to be tested. I have tested it with the math manual, which compiles and seems to display correctly if I remove some hardcoded package loadings. OTOH I have not much experience with math.
This addresses #7449 partly.
In 0aead96461 it was introduced that the toolbar popup menu buttons are not
initialized until they are being used (i.e. pressed at for the first
time). As a consequence, these buttons are always enabled on start. Now
that we have the sticky button for view and update, I'm now annoyed by
this every time I start LyX.
This addresses #6543 by adding an option to prevent fonts such as Palatino and Times to automatically adapt the math font (IOW it lets you load the text font only for a bunch of fonts where this is easily possible).
Furthermore it adds an interface to select a specific math font, which is defined in latexfonts. Currently, this is only euler (the only one I know), but if there are other math-only tex fonts, they can be added easily (but note that this changes the file format).
Non-TeX math fonts are not yet supported. Eventually, unicode-math support can use the existing UI, but this is not on my agenda.
The LaTeX font now do not specify simply alternative packages or packages for OT1 encoding etc., but they refer to complete AltFonts (which are not directly accessible via the GUI). This way, alternative fonts can also have options (osf, sc etc.), and they can use all sorts of initializing methods (\usepackage, \setrmfamily etc.).
GuiTabular.cpp: a cell can either be a multicolumn or multirow, not both the same time, this is already respected by the toolbar and context menu, only the dialog allowed to set this although this was correctly never applied
should also go to branch
The stderr message "Object::disconnect: Unexpected null parameter"
often appeared when closing and opening buffers.
GuiView::on_currentWorkAreaChanged should not pass a null pointer
to Object::disconnect.
Fixes 2 issues:
1. LyX uses for a decimal alignment a multicolumn and having for a cell a multicolumn _and_ a multirow is invalid LaTeX.
2. It was impossible to unset a decimal alignment via the context menu or toolbar button.
The previous scheme of loading all possible translations and checking
whether the work is a bit too much "brute force" and causes problems
on Mac OS X (documents loaded with the wrong language).
Now there is an helper static method in Messages class that checks
whether a readable .mo file exist for the language. There should be an
API in gettext for doing that, but alas it is not possible.
As a consequence the method Language::translated() has been removed,
along with its cache.
In order to interact with native osx applications, AppleScript support is a plus.
Here is a patch that makes LyX respond to a simple command (run) and that allows to communicate with LyX as with the LyX client.
Example of use:
tell application "LyX" to run "server-get-filename" with argument ""'
returns
message:/Users/bpiwowar/newfile1.lyx, code:0
with a message and the error code
The LaTeX font information are now centralized and outsourced. This removes a lot of hardcoding and duplication and makes it easier to support new LaTeX fonts.
The code does a reload on the buffer to avoid loose pointers if the
file changes directory. This commit adds a bool parameter to
Buffer::reload to allow for keeping the undo stack intact. This is of
couse only wanted in this case, not when reloading an earlier version
of the file.
The goal here is to get rid of the old code that modified variables
LANGUAGE and LC_ALL, therefore creating the problems mentionned
in the ticket.
In the new system, there is no explicit "GUI" message handler, that
needs to be reset at each language change. Instead, getGuiMessages
calls getMessages with the correct parameter. This allows to simplify
greatly the code and to remove a lot of old cruft.
The idea is to record undo at the place where the document is modified:
1/ in Buffer::updateBuffer, add a recordUndo, with the caveat that a
const_cast has to be used (because updateBuffer is const but
modifies the document, go figure).
2/ in GuiApplication::dispatch, add an extra undo group that
encompasses the updateBuffer call. Some other undo groups may be
redundant now, but it is not a problem since they do not cost
anything.
This allows to workaround the problem in #8198 - on some systems
we get dead caron as a single character instead of whole combined
character. I suppose this has rather something to do with X settings
than LyX per se.
In this version, the idea is to record undo at the place where the document is modified, which is definitely cleaner.
1/ in Buffer::updateBuffer, add a recordUndo, with the caveat that a
const_cast has to be used
2/ in GuiApplication::dispatch, add an extra undo group that
encompasses the updateBuffer call. Some other undo groups may be
redundant now, but it is not a problem since they do not cost
anything.
http://marc.info/?l=lyx-devel&m=133876924408431&w=2
The problem here is that the copy_params() routine in FindAndReplace.cpp
created a new DocumentClass, but it never updated its Buffer to reflect
that new DocumentClass. So its Paragraphs still contained points to the
Layouts in the old DocumentClass which, since ead697d4b6, gets garbage
collected once it is no longer needed. So the Layout doesn't exist, and
we crash.
While cppcheck did not turn out any suspicious error messages, using
the "performance" flag highlighted several nitpicks in three categories
* do not use it++ for iterators, ++it is better
* do not use size() to test for emptyness, empty() is here
* do not use "const T" as a function parameter, "const & T" is better
I doubt that any of these is a real performance problem, but the code is cleaner anyway.
When there is a single document open, the tabbar gets hidden. The only and selected tab is still visible though as a break in the line delining the tabwidget. To fix this we paint the tabwidget ourselves and remove the presence of the hidden tab.
The check whether fname != oldname does not work for unnamed buffers.
Therefore, we check explicitly whether the Buffer that already exists with
the same name isn't really the buffer we are trying to save.
If no mask is supplied or the mask is attached to the end of the filename, we end up with unexpected names like
<system-temp-dir>\lyx_tmpdir.qHp780.vcr780_<mask>
instead of a temporary file in the lyx temporary directory like
<system-temp-dir>\lyx_tmpdir.qHp780\<mask>.vcr780.
The signature of the character in cache should take into account the
change tracking baseColor (author) and mergeColor (added/deleted). If not,
we will mixup different cached pixmaps.
Both bugs above were due to a missing screen update. This patch
updates the current view after dispatching a lyxserver command
and thus solves both.
The patch is quite strightforward and the only difficulty was due
to the fact that the lyxserver needs the result of the dispatched
command. Now, GuiApplication::dispatch(FuncRequest const &) does
right this, but does not return the result, while
GuiApplication::dispatch(FuncRequest const &, DispatchResult &)
is called by the former but does not return the result. So, I
split the first one, isolating the code performing the update,
such that the second one can also update the current view when
the caller is the lyx server. When the action is initiated by
anything different from the lyx server, the behavior is unchanged.
The listings inset and include inset of type listings use two english terms
that are not localized yet: "Listing" for the caption and "Listings" for the
list of listings (not supported natively by LyX yet). The existing layout
translation mechanism has been extended to translate these terms as well:
1) Support [[stuff]] context in lib/layouttranslations
2) Support BabelPreamble and LangPreamble in InsetLayout
3) Use a InsetLayout for InsetInclude of type listings
4) Define BabelPreamble and LangPreamble in the layouts for InsetInclude
and InsetListings
Setting up .gitignore or .git/info/excludes is something that should
be done. Not doing it makes it a lot harder to see actual new files
that should be added.
Signed-off-by: Lars Gullik Bjønnes <larsbj@gullik.org>
- Enter in the textfield adds the branch,
- Make sure the dialog is not closed when pressing enter,
- Pressing Ctrl+Enter or the Enter on the numpad closes the dialog.
Patch based on a patch from Scott Kostyshak.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40839 a592a061-630c-0410-9148-cb99ea01b6c8
Add a new layout syntax CiteEngine to define the citation commands
available for a given citation engine.
Also extend the CiteFormat syntax to allow more customization. This
mechanism, previously used to produce bibliography entries in the
citation GUI based on the BibTeX entrytype, is now also used to
produce the textual labels for citation insets in the buffer view.
Thus citation styles are almost completely customizable by modules.
Modules for the basic, jurabib and natbib engines are implemented.
Layout format incremented to 37.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40820 a592a061-630c-0410-9148-cb99ea01b6c8
After the timeout elapses, the user is notified that a command is taking
a long time to complete and is given the choice to stop it. If the user
decides to let the command run, the timeout is increased, otherwise the
command is killed. One is prompted a first time after 3 mins, a second
time after 9 mins, a third time after 27 mins, and so on, i.e., the n-th
prompt occurs after 3^n minutes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40775 a592a061-630c-0410-9148-cb99ea01b6c8
then trying to compile.
There are really two problems here. One is that the renamed
buffer needs to be reloaded. All kinds of files, etc, may not
exist any more, if we've been saved to a new directory; our
children e.g. may not be in the right place. And, in this case,
we may no longer be a child of our old parent. Reloading will
fix all of that.
On reload, though, we need to clear our parent, since we may
not have one any more. It will get reset if need be.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40609 a592a061-630c-0410-9148-cb99ea01b6c8
To avoid duplicity, remove natbib_authoryear and natbib_numerical
and replace them by natbib, and keep track of the engine `type'
in the new \cite_engine_type document setting. This will make it
easier to add more citation engines.
LyX format incremented to 424.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40592 a592a061-630c-0410-9148-cb99ea01b6c8
Gcc 4.7 warns that this kind of narrowing is illegal in C++11, so
we can just as well fix that right now.
In GuiFontMetrics this is fixed by chaning the types in the AscendDescend struct
from short int to int.
In ParagraphMetrics it is fixed by addint explicit casts.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40586 a592a061-630c-0410-9148-cb99ea01b6c8
Gcc 4.7 warns rightly about the questionalble practise of having different types in
the ?: operator. This patch fixes that.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40585 a592a061-630c-0410-9148-cb99ea01b6c8
also when switching from an editable buffer to a read-only buffer,
without waiting for the moment in which the dialog is focused.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40582 a592a061-630c-0410-9148-cb99ea01b6c8
Internal machinery, no file format change and no UI change yet
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40562 a592a061-630c-0410-9148-cb99ea01b6c8
This option is set to true by default as this is the most widespread use case.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40515 a592a061-630c-0410-9148-cb99ea01b6c8
the name we are trying to write in the BufferList, since the file
gets a name when it is created.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40489 a592a061-630c-0410-9148-cb99ea01b6c8
Previous commit did not distinguish whether the changes were applied or cancelled.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40487 a592a061-630c-0410-9148-cb99ea01b6c8
iff bibliography settings are changed in the document settings.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40486 a592a061-630c-0410-9148-cb99ea01b6c8
a new paragraph, which is very annoying. This commit fixes this bug.
If anyone has a better idea, please let me know. I posted to devel
about it but got no response.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40456 a592a061-630c-0410-9148-cb99ea01b6c8
tells LyX not to show BLOCK text as justified, but still keeps
the usual paragraph indentation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40427 a592a061-630c-0410-9148-cb99ea01b6c8
over-writing a file that is already open. So we issue a warning and
ask if they'd like to try a different name.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40420 a592a061-630c-0410-9148-cb99ea01b6c8
- let icons install into proper locations
- use theme routines to load proper icon
(using this for loading toolbar icons would be another
step how to synchronize LyX with its environment.)
Patch from Timo Kluck.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40418 a592a061-630c-0410-9148-cb99ea01b6c8
LFUN_INSERT_PLAINTEXT is handled in GuiView because it might need to ask for a filename. But if the filename is given as a paramater we can handle it in BufferView immediately. Also, when we've asked for the filename in GuiView we should dispatch the LFUN to BufferView in order to properly use the Undo mechanism.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40377 a592a061-630c-0410-9148-cb99ea01b6c8
We split Buffer::clone() into various routines that know whether
to clone the children.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40357 a592a061-630c-0410-9148-cb99ea01b6c8
Of course this will only work if output_changes was true when creating the
.tex file.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40139 a592a061-630c-0410-9148-cb99ea01b6c8
We need to have a special callback for when the autosave thread is finished
such that we can process the return values properly (and different as in
case of export or preview).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40103 a592a061-630c-0410-9148-cb99ea01b6c8
under Document>Settings>Output.
It turns out that we always want this list to be sorted when we get it,
so we can sort it in BufferParams rather than in three different places.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40101 a592a061-630c-0410-9148-cb99ea01b6c8
All calls to doExport from outside of Buffer have the same algorithm to
determine whether the included children parameter should be true. Moreover,
this decision is only based on information from the Buffer itself.
Now, Buffer only has 1 public function doExport and preview.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40041 a592a061-630c-0410-9148-cb99ea01b6c8
- This preference was used for specifying the papersize to xdvi, dvipdfm,
dvips. However, I can't seem to see any effect on the result.
- The papersize should instead be defined in the document settings.
- The global papersize default was misused to also change the tex
output by specifying the papersize as if it was specified in the
document settings. This caused the same lyx document to be outputted
differently on different pcs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40028 a592a061-630c-0410-9148-cb99ea01b6c8
I also added 2 FIXME where we should not call GuiView directly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39948 a592a061-630c-0410-9148-cb99ea01b6c8
- Interpret argument of LFUN_SPACE_INSERT correctly
- Use InsetMathSpace instead of InsetMathSpecialChar for "\ " (bug # 7728)
- Use InsetMathSpace instead of InsetMathChar for ~ (bug # 7728).
This fixes also the display in LyX (previously a literal ~ was displayed).
Using InsetMathSpace enables also the "Insert Formatting" menu entries.
No file format change is needed, since the LaTeX export is unchanged.
Note that there are still some bugs related to spaces in math:
#7746, #7747, #7749, #7842
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39947 a592a061-630c-0410-9148-cb99ea01b6c8
This reverts commit r39809. Some LFUNs require newline characters,
and while at the moment we don't have a proper interface for such
LFUNs, copy-pasting newlines has been a long-time workaround.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39893 a592a061-630c-0410-9148-cb99ea01b6c8
issue, but brings less noise about memory leaks when using valgrind).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39864 a592a061-630c-0410-9148-cb99ea01b6c8
avoids a useless object creation, as Qt tolerates the
pointer to be null as well.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39863 a592a061-630c-0410-9148-cb99ea01b6c8
I actually got it by this bug while copy-pasting LFUNs into the toolbar.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39809 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 their lyx file.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39745 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
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
- \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
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
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
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
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
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
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
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
(Sorry for not waiting for you, I wanted to enter freeze ASAP.)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38317 a592a061-630c-0410-9148-cb99ea01b6c8
- unify font handling between TeX and non-TeX fonts
- show unavailable fonts as 'The Font (not installed)' in the Fonts dialog
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38316 a592a061-630c-0410-9148-cb99ea01b6c8
* updateView() should start a spell check only on first call after init
* at the end of document the dialog should hide itself when user said "no" to continue spell check
* when the last word of a note inset is misspelled forward() wrongly think it's the end of doc
* when the user clicks the buttons fast, recursive calls are possible
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38307 a592a061-630c-0410-9148-cb99ea01b6c8
New icon sets declare the normal size through an iconsize.png file.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38135 a592a061-630c-0410-9148-cb99ea01b6c8
the size of icons may be wrong when switching between sets with different
normal icon size. One needs to save the preferences, restart LyX and choose
"Normal-sized icons" from the toolbar menu to have the real normal size.
A minor glitch is that the name of the icon sets is translatable, but
currently only the translation for "Default" works. The problem is that I
don't know how to ask gettext for an inverse translation when saving the
preferences. Another possibility would be hardcoding the order of the names
in the combo box (such that to not rely on their names), but that is ugly
and prone to errors if/when other sets are added.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38041 a592a061-630c-0410-9148-cb99ea01b6c8
through the rc setting \icon_set. Preferences dialog will follow shortly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38038 a592a061-630c-0410-9148-cb99ea01b6c8
* Transform Spellchecker.ui into a simple QWidget
* Pimpl all we can
* Remove progress bar
* Remove Close button (as for all other dock widgets)
* Allow the dialog to stay even for empty document
* Disable the dialog when closing all documents
* always work against the current document Bufferview (as opposed to embedded bufferview).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38018 a592a061-630c-0410-9148-cb99ea01b6c8
Two things have been fixed here:
1) the selection should not be cleared when the user right clicks a math inset that is part of the selection,
2) the type of context menu should be determined at mouse-press, because that is the moment when the cursor is set. However, we should do it after setting the cursor, because setting the cursor might change the selection status and this influences the choice for the type of context menu.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37961 a592a061-630c-0410-9148-cb99ea01b6c8
Reset to the default greyed out text color, not to the note background color
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37956 a592a061-630c-0410-9148-cb99ea01b6c8
of a lyx document. What par.id() is associated to the line depends on the
last call of TexRow::start() before a newline is actually issued.
If the par.id() of an ert is the one associated to the exported line,
when an error occurs, that ert is always returned by Buffer::getParFromID()
(and thus would be highlighted) whether the error actually occurred there
or elsewhere in the same paragraph.
So, better highlighting the whole paragraph when the error seems to have
occurred in ert.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37870 a592a061-630c-0410-9148-cb99ea01b6c8
With this patch, the bug is fixed when export-in-thread is disabled.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37842 a592a061-630c-0410-9148-cb99ea01b6c8
At document prefs there was undeleted first empty line.
This was due to the spacer which has no visibility property.
However, removing spacer breaks alignment in float dialog
so we need to set up stretch of combo box to full width.
I have no better idea.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37838 a592a061-630c-0410-9148-cb99ea01b6c8
This makes it little bit more narrow, bit it still remains ugly.
Hopefully other dialogs are not worse (tried some;)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37836 a592a061-630c-0410-9148-cb99ea01b6c8
be little bit shocked what are all these buttons and checkboxes about...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37835 a592a061-630c-0410-9148-cb99ea01b6c8
descriptive text in alerts. Thus, doing it by ourselves is both unnecessary
and counterproductive.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37825 a592a061-630c-0410-9148-cb99ea01b6c8
the last thing in the paragraph (an inset, generally), as the end of
paragraph cannot be highlighted.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37749 a592a061-630c-0410-9148-cb99ea01b6c8
This should have been done by qt, but we can override qt by adapting the style on the windows platform.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37678 a592a061-630c-0410-9148-cb99ea01b6c8
This was a similar problem as for bug #5796 in r30807. There I made sure that the position that is used for the context menu is set at mousepress. That was because also the cursor was set at mousepress and we want to get the context menu at the place where the mousebutton was pressed, and not where the mousebutton was released.
However, in this case, the position of the context menu is stored on mousepress, but we don't take into account that the cursor might move afterwards due to the DEPM.
So, the solution is not to save the position of the mouseclick, but to save the name of the context menu we requested.
PS. Perhaps we could save the cursor position, but this seems to work too.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37669 a592a061-630c-0410-9148-cb99ea01b6c8
err.pos_start > err.pos_end such that range == 0 and nothing
gets highlighted, even if the paragraph id is correct.
In this case, it is better to highlight everything.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37586 a592a061-630c-0410-9148-cb99ea01b6c8
If fontspec is not found, the "Use non-TeX fonts" checkbox is disabled, and the tooltip hints at installing the package.
Also add fontspec to LaTeXConfig.lyx, documenting that v2 of the package is needed for LuaTeX support.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37567 a592a061-630c-0410-9148-cb99ea01b6c8
just by their file-name, and directly accessed there.
All string/latex exporting of those buffers is handled on the Model
side (lyxfind.cpp) according to the selected options.
Fixed bugs when searching with ignore-format disabled material
in the middle of a paragraph, and when using regular expressions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37549 a592a061-630c-0410-9148-cb99ea01b6c8
This was no oversight but a security concern. We do not want the LyX document to define arbitrary index and bibtex converters.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37478 a592a061-630c-0410-9148-cb99ea01b6c8
* GuiIndices.cpp:
- allow custom processor setting per document. The missing UI was an oversight.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37459 a592a061-630c-0410-9148-cb99ea01b6c8
ListCommand without our writing it to the menu twice. There's a minor
annoyance, which is that we always take the list name from the first
declaration of the Float, but it's not clear whether this is a real
issue.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37424 a592a061-630c-0410-9148-cb99ea01b6c8
and added selection of entire find/replace WAs when switching
among them on Tab/Alt+Tab.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37413 a592a061-630c-0410-9148-cb99ea01b6c8
blank lines may be inadvertently output. This is achieved by using two
special iomanip-like variables (breakln and safebreakln) in the lyx::
namespace. When they are inserted in the stream, a newline is output
only if not already at the beginning of a line. The difference between
breakln and safebreakln is that, if needed, the former outputs '\n'
and the latter "%\n".
In future, the new class will also be used for counting the number of
newlines issued. Even if the infractrure for doing that is already in
place, the counting is essentially still done the old way.
There are still places in the code where the functionality of the
class could be used, most probably. ATM, it is used for InsetTabular,
InsetListings, InsetFloat, and InsetText.
The Comment and GreyedOut insets required a special treatment and a
new InsetLayout parameter (Display) has been introduced. The default
for Display is "true", meaning that the corresponding latex
environment is of "display" type, i.e., it stands on its own, whereas
"false" means that the contents appear inline with the text. The
latter is the case for both Comment and GreyedOut insets.
Mostly, the only visible effects on latex exports should be the
disappearing of some redundant % chars and the appearing/disappearing
of null {} latex groups after a comment or lyxgreyedout environments
(they are related to the presence or absence of a space immediately
after those environments), as well as the fact that math environments
are now started on their own lines.
As a last thing, only the latex code between \begin{document} and
\end{document} goes through the new class, the preamble being directly
output through odocstream, as usual.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37360 a592a061-630c-0410-9148-cb99ea01b6c8
This paves the way for having a shortcut for buffer-view and buffer-update
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37338 a592a061-630c-0410-9148-cb99ea01b6c8
with this sequence:
-) C-N (new doc)
-) C-S-f (open advanced find dialog)
-) Alt-Tab (switch to other application)
-) Alt-Tab (switch back to LyX)
the focus now is on the main document WA. I think it should be back on the Find WA where I was before the Alt-Tab.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37334 a592a061-630c-0410-9148-cb99ea01b6c8
Actually, this was an oversight in r33226. There is no need to touch the physical cursor in this method.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37310 a592a061-630c-0410-9148-cb99ea01b6c8
rc2rc project. (Was there a bug number for that? I can't find it, if
there was.)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37247 a592a061-630c-0410-9148-cb99ea01b6c8
preparatory to prefs2prefs conversion here, which will be the last piece
of that work.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37235 a592a061-630c-0410-9148-cb99ea01b6c8
something else has been provided. (This is only an issue when no spell
checkers are detected.)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37234 a592a061-630c-0410-9148-cb99ea01b6c8
Unfortunately the commandline export of InsetInfo is still broken for MENU_INFO.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37134 a592a061-630c-0410-9148-cb99ea01b6c8
Now, when hovering the tabs, the full paths are shown as a tooltip.
see r37084.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37101 a592a061-630c-0410-9148-cb99ea01b6c8
When a document with a InsetTOC was closed, the outline was closed. But this shouldn't happen because editedInset("toc") does never return something.
The reason that this happened was that if currentBufferView() is 0, we don't even care wehther inset was specified. If inset is specified, it should match the editedInset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37094 a592a061-630c-0410-9148-cb99ea01b6c8
Now, when hovering the tabs, the longer name is shown as a tooltip.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37084 a592a061-630c-0410-9148-cb99ea01b6c8
Now, when hovering the lastfiles menu, the full file names are shown in the statusbar.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37083 a592a061-630c-0410-9148-cb99ea01b6c8
When applying the preference we need to save the full session information, because when this information is not yet saved, we will lose it forever. We can enter the preferences without a saved state when we start LyX with a modified default.ui.
see also: r37075 and r37076.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37077 a592a061-630c-0410-9148-cb99ea01b6c8
However, it cannot hurt to warn the user and fall back to the defaults in case.
The real cause of bug #7099 is something else (which I will fix soon).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37076 a592a061-630c-0410-9148-cb99ea01b6c8
In GuiApplication::readUIFile() the settings for views gets removed if the ui file is newer than the saved timestamp in the settings. Later the non existing settings will be used to initialize the visibility. The default value for a non existing setting is 0. The visibility_ variable does never get changed afterwards. And therefore
we will again write 0 to the registry.
We should have read the ui file instead when we can't find the registry value.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37075 a592a061-630c-0410-9148-cb99ea01b6c8
Now, there is the bug that autoallow is incorrectly set to true when visibility_ has the Visibility::SAMEROW flag. One shouldn't use >= on an enum (GuiToolbar::setVisibility), as newly added items will exhibit unexpected behaviour.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37068 a592a061-630c-0410-9148-cb99ea01b6c8
This hopefully fixes#6171, i.e., when copying from main document with non-English language to find/replace WAs,
the pasted text is not underlined anymore.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37057 a592a061-630c-0410-9148-cb99ea01b6c8
- update screen font sizes in dialog after prefs change, since the localization of float values might have changed.
(fixes bug 6771).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37035 a592a061-630c-0410-9148-cb99ea01b6c8
When creating the QFontMetrics object, we should specify a QPaintDevice. 0 is a paint device which is screen-compatible or pixmap-compatible. This makes sure that the correct DPI is used in font metrics calculations.
see also:
http://bugreports.qt.nokia.com/browse/QTBUG-16331.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37030 a592a061-630c-0410-9148-cb99ea01b6c8
- In GuiApplication::dispatch, do not call markDirty() for lfuns that are not ReadOnly
- In Undo::Private::recordUndo, call markDirty(). The indicator of dirtyness is now the existence of an undo element.
- In lyxfind, remove several markDirty calls that are not needed anymore.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36772 a592a061-630c-0410-9148-cb99ea01b6c8
The problem was that the child buffers were closed,
and therefore the TOC contained dangling pointers.
The fix is simple: Reopen all child docs and create a new TOC.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36766 a592a061-630c-0410-9148-cb99ea01b6c8
The execution order bv -> doc_bv -> buffer -> doc_buffer was artificial and not important AFAIU.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36734 a592a061-630c-0410-9148-cb99ea01b6c8
* create math inset
* enter macro name \ww
* press left arrow to re-enter the macro name inset, add a third 'w'.
* when leaving the inset is is updated through notifyCursorLeaves, but no undo group is active
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36596 a592a061-630c-0410-9148-cb99ea01b6c8
- disable column alignment and width if there is a LaTeX argument
- use also for the LaTeX argument the editingFinished method (as for all other edit fields in the dialog)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36566 a592a061-630c-0410-9148-cb99ea01b6c8
you have no clue about the context for the proper grammatical case.
I'm not particularly happy about the fix, but didn't see much better alternatives.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36532 a592a061-630c-0410-9148-cb99ea01b6c8
Hide the tree decoration from users now, visually we are back at QListView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36462 a592a061-630c-0410-9148-cb99ea01b6c8
- one link type must be the default (type Web) (as in LyX 1.6.x)
- add spacer as link type radiobox was too wide
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36412 a592a061-630c-0410-9148-cb99ea01b6c8
- rename \language_package to \language_custom_package
- the bool \language_use_babel is replaced by a more fine-grained selection:
* chose language package automatically (later: babel or polyglossia)
* always use babel (also with XeTeX)
* custom (i.e. use \language_custom_package)
* none (equivalent to former \language_use_babel false)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36407 a592a061-630c-0410-9148-cb99ea01b6c8
- if column of multirow has no width, the alignment is that of the column
- otherwise multirows are fix left-aligned
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36403 a592a061-630c-0410-9148-cb99ea01b6c8
By default, if the lyxpipe is set up and working, loading of documents
is deferred to an already running instance. Note that an already running
instance is only used for loading, such that export from command line
still works as usual.
The default behavior can be changed through a preference setting, and,
whatever the default is, it can be overridden by command line options.
Unticking the "Single instance" check box in the preferences, LyX behaves
exactly as before the introduction of this feature.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36278 a592a061-630c-0410-9148-cb99ea01b6c8
The 100% cpu problem is still there and the culprit turns out to be r35795.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36231 a592a061-630c-0410-9148-cb99ea01b6c8
- apply our naming scheme to unit comboboxes
- set default units
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36180 a592a061-630c-0410-9148-cb99ea01b6c8
Before, LyX could crash when calling setBusy(false) while LyX is still in a busy state due to a surrounding setBusy(true)/setBusy(false) construction.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36140 a592a061-630c-0410-9148-cb99ea01b6c8
Actually, it still fails to link with anything less than Qt 4.4.0
due to the xxxAndDestroy() business in GuiView.cpp ...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36009 a592a061-630c-0410-9148-cb99ea01b6c8
#6884.
1. Open LyX. File>New. Document>Outline, to make sure the TOC is open.
That isn't necessary, but it helps you to see what is happening.
2. Create a section heading (alt-P, 2) with an x in it.
3. Split the screen.
4. File>New. You should now still see the TOC for the OLD buffer.
5. Click in the top screen. You now see an empty TOC (the one for the
empty buffer).
6. Click in the empty buffer. Other TOC!
7. Back to the "x" buffer. Empty TOC. Type something. Boom!
The problem is that teh setCurrentWorkArea() call eventually gets us to
structureChanged(), which accesses documentBufferView(). But that
doesn't get reset until later, and hence everything is out of sync.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35999 a592a061-630c-0410-9148-cb99ea01b6c8
This is why it was worth doing the updateBuffer() rewrite.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35975 a592a061-630c-0410-9148-cb99ea01b6c8
VSpace, that use InsetParamsWidget, so we cannot have code that requires
InsetCommandParams there.
Stephen Witt reported a similar crash with the info dialog.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35952 a592a061-630c-0410-9148-cb99ea01b6c8
- fix console warning about unknown feature.
Not sure if SET_SPECIAL_MULTIROW is supposed to do something eventually, but if not, specialAlignmentED should probably be disabled in multirows.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35928 a592a061-630c-0410-9148-cb99ea01b6c8
GuiView::loadDocument also already calls setBuffer(), so this is not needed everytime too.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35917 a592a061-630c-0410-9148-cb99ea01b6c8
Besides, now we can always call GuiView::reloadBuffer instead of calling Buffer::reload directly. This means we don't have to do the error handling each time over and over again.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35916 a592a061-630c-0410-9148-cb99ea01b6c8
Buffer::errors("Parse") is called 7 times in the whole project. 4 times from GuiView and three times from functions in other classes, but which are (almost) only called from the GuiView.
Buffer::errors is used to signal the GUI that there might be an error occuring, but what sense does it make if it is only called from the Gui ?
Isn't it better to let the function return wether it succeeded or not and let the GuiView take action in doing something with the possible errors.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35911 a592a061-630c-0410-9148-cb99ea01b6c8
use translateIfPossible here, since the module names might be non-ASCII
(thanks rgh).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35898 a592a061-630c-0410-9148-cb99ea01b6c8
argument from that function. We are always saving the checksum for the
Buffer's file. The argument is a left-over from a time when we did the
wrong thing and saved it for e.g. the emergency file.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35890 a592a061-630c-0410-9148-cb99ea01b6c8
don't know if there are similar issues with other dialogs based on it,
but this seems to fix it for GuiLabel.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35886 a592a061-630c-0410-9148-cb99ea01b6c8
A hidden document does not have an associated Cursor. So, each time we create a new workArea, we should restore the cursor position.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35811 a592a061-630c-0410-9148-cb99ea01b6c8
Implements CacheMimeData type so that we only need to query the
clipboard once on startup and once each time the contents of the
clipboard change. This is important as Qt takes 5 seconds to time-out when the clipboard is non-responsive.
Patch by John McCabe-Dansted.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35790 a592a061-630c-0410-9148-cb99ea01b6c8
bound object survives the existance of the arguments, but it also breaks
"change by non-const reference" parameter passing, like in
Alert::askForString. Here the arguments exists the whole bound function
call so we could pass by refernce.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35789 a592a061-630c-0410-9148-cb99ea01b6c8
- move a comment back from to GuiApplication to GuiView.cpp, so we have the comment in the place where we decide to process the func request asynchronously;
- rename dispatchDelayed to processFuncRequestAsync to have the same terminology as in the other processFuncRequest* methods;
- introduce a new function processFuncRequest to complete the set of processFuncRequest* methods. It is strange that for the normal processFuncRequest one should suddenly use lyx::dispatch. Besides, I think it is good that the whole GUI will dispatch funcRequests through GuiApplication::processFuncRequest from now on;
- use the slotProcessFuncRequestQueue to relay to processFuncRequestQueue;
- properly camelBump addToFuncRequestQueue;
- group the implementation of the processFuncRequest* functions;
- document the side-effect of processFuncRequestAsync.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35784 a592a061-630c-0410-9148-cb99ea01b6c8
- reorder some function declarations,
- remove some declarations from the list of functions that inherit from Application,
- add and clarify some comments,
- whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35781 a592a061-630c-0410-9148-cb99ea01b6c8