effects that I can see. That said, I believe there is still a crash you
could get. I'll explain in a moment.
Since we may run into this kind of thing again, let me explain why this
is necessary. The problem was that resetting the model was causing a
signal to be emitted that the current index had changed, which was
triggering an update of the Buffer, eventually. I'm not sure why this
did not happen in Qt 4.5, but in Qt 4.6, you have to call
beginResetModel() before doing anything, so that the combo box will
remember its previous setting. Then you can change the data; then you
can call endResetModel(). This will attempt to restore the previous
setting. Only if it cannot do so will currentIndexChanged() be emitted.
You can see, therefore, that if whatever the user did caused the current
setting to become invalid---e.g., she deleted the only footnote---then
the signal will be emitted and LyX will still crash. Still, that is a
fair bit better than presently.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33702 a592a061-630c-0410-9148-cb99ea01b6c8
the included insets and make sure that the files they reference are
still where they are supposed to be.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33686 a592a061-630c-0410-9148-cb99ea01b6c8
I don't think this fixes the underlying problem, but I think that
problem is very extensive. Fixing it would involve a re-thinking of
where and how we call updateBuffer()---the old updateLabels().
This fix also reveals another problem with the TOC, again due to the
early call of on_typeCO_currentIndexChanged(). But that problem is a
slightly different one, I think.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33680 a592a061-630c-0410-9148-cb99ea01b6c8
PrefSpellchecker disables the "Spellchecker Engine:" selector if
theSpellChecker() reports that no spell checking engine is selected.
This means that if we have not already selected a spell checking
engine we cannot select one now. I think this problem can be
reproduced by first compiling and running LyX without spellchecking
support and then compiling and running LyX with spellchecking support.
In any case it is clear that we should be able to select a
spellchecking engine if one is available, so I propose the attached
patch. This patch fixed the problem on my machine.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33669 a592a061-630c-0410-9148-cb99ea01b6c8
Fix crash when MathMatrix has more than 80 columns
Patch from John McCabe-Dansted, approved from Andre.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33641 a592a061-630c-0410-9148-cb99ea01b6c8
is right, though. Someone please check.
The problem, in branch, was that (in Qt 4.6.x, anyway) the call to
reset() eventually triggers the on_typeCO_currentIndexChanged() method,
which eventually leads to GuiView::setFocus(), which leads to
GuiWorkArea::focusInEvent(), which tries to start the cursor, whose
position hasn't been updated yet, from what I can see.
The problem in trunk is similar. The crash happens, I think, because,
while we are in the middle of resetting the model, the same method is
triggered, which leads us to try to access the model while we are in the
middle of resetting it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33630 a592a061-630c-0410-9148-cb99ea01b6c8
that we weren't re-enabling if we returned early.
Someone tell me if this is wrong.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33585 a592a061-630c-0410-9148-cb99ea01b6c8
Avoid an assertion when accessing the CoordCache while the Inset is in a paragraph which is not visible on screen.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33582 a592a061-630c-0410-9148-cb99ea01b6c8
which is supposedly like a QChar... except that some methods like isUpper
were forgotten in the process.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33580 a592a061-630c-0410-9148-cb99ea01b6c8
- add accelerators to the language selector submenu (bug 6558)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33555 a592a061-630c-0410-9148-cb99ea01b6c8
- [New Inset] button even in non synchronous mode
- Get rid of the horizontal spacer for improved layout under Windows.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33520 a592a061-630c-0410-9148-cb99ea01b6c8
- proper message passing for all tabular features
- properly define which feature needs an argument
* replace LFUN_TABULAR_FEATURE with LFUN_INSET_MODIFY
- The math tables are also affected. In the future a common base class
between math and text table will solve this inconsistency.
- There is a hack in GuiApplication in order to not rename the toolbar
icons. This will have to be cleaned up with a general icon naming for
LFUN_INSET_MODIFY... to be discussed.
* Tabular Dialog:
- big cleanup, lots and lots of bug fixing here
- migrated to InsetParamsWidget
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33495 a592a061-630c-0410-9148-cb99ea01b6c8
* OK button now creates an inset if none is present
* Fix some enabling/disabling of buttons.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33484 a592a061-630c-0410-9148-cb99ea01b6c8
This new attempt replace the previous attempt with InsetDialog which was still too tight with the older framework.
Status:
float, ert, box, info: migrated
vspace: migrated but buggy. To be fixed later.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33480 a592a061-630c-0410-9148-cb99ea01b6c8
We probably need to enhance comparison API for external calls.
Closing the party for today.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33449 a592a061-630c-0410-9148-cb99ea01b6c8
Use the dispatch machinery when replacing a word in the spellchecker. Note that this implies a slight hack with lyxrc.auto_region_delete setting.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33445 a592a061-630c-0410-9148-cb99ea01b6c8
- fileformat change (lyx2lyx code follows the next days)
- the patch is a joint work of Edwin and me
The patch is huge but the major parts work already. I put it in now as the minor known issues can be solved step by step the next days. I think this is the best solution because collaborating with such large patches already lead to copy/paste bugs.
The known issues are listed here:
http://wiki.lyx.org/Devel/Multirow
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33414 a592a061-630c-0410-9148-cb99ea01b6c8
- now accept a full parameter string at construction
- LFUN_INSET_MODIFY now also interprets float type.
* FloatPlacement:
- The float type label is replace with a combo that can be used to
change the type.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33412 a592a061-630c-0410-9148-cb99ea01b6c8
You cannot use params.type for that, because that's not flagged for
translation. Have a look at InsetCollapsable::floatName().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33411 a592a061-630c-0410-9148-cb99ea01b6c8
- mark languages that can be spell checked.
* Thesaurus dialog:
- mark languages that have a thesaurus dictionary.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33405 a592a061-630c-0410-9148-cb99ea01b6c8
- clear selection when ignore is clicked. Otherwise, LyX hangs
at the last word of an inset, if this word was misspelled.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33396 a592a061-630c-0410-9148-cb99ea01b6c8
a lot of simplification is possible. Except some instability period...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33389 a592a061-630c-0410-9148-cb99ea01b6c8
dialog is open, the menu entries that are buffer or view-related are not
going to be disabled. I'll try to solve that last issue later.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33380 a592a061-630c-0410-9148-cb99ea01b6c8
* Bug fix and clean up InsetFloat parameter handling: this is still not very clean as the float type is not really a parameter still... The solution is to defer the float type reading to the actual inset reading, not its creation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33370 a592a061-630c-0410-9148-cb99ea01b6c8
- transfer ans simplify a bit the CheckedLineEdit class from ButtonController.
* InsetDialog:
- Pimpl private data
- applyView(): now a slot, check widget before applying.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33350 a592a061-630c-0410-9148-cb99ea01b6c8
- fix#6509: All Progressview levels should be set
after selecting 'All' radio button
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33340 a592a061-630c-0410-9148-cb99ea01b6c8
(Pavel, what was "FuncRequest fr(LFUN_INSET_INSERT, "fullscreen")" supposed to mean ?).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33279 a592a061-630c-0410-9148-cb99ea01b6c8
This fixes problems where Mac users can modify the documentation
by mistake. Note that it is still possible to open those document by
explicit path or to toggle off the read-only status (but this is only
useful to documentors anyway).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33260 a592a061-630c-0410-9148-cb99ea01b6c8
- use tabbed dock area for multiple docks (such as "source" and "messages")
by default (requires Qt 4.3).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33254 a592a061-630c-0410-9148-cb99ea01b6c8
CitationUi.ui:
- fix the casing
- replace some informal expressions by some proper sentences (I don't like things like "Delete key works, too"
BiblioUi.ui:
- "man bibtex" has no value in the non-linux world
- stick to the BibTeX convention compared to bibtex
FindAndReplaceUi.ui:
- fix the casing
- remove the "current file" annotations
- some other fixes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33208 a592a061-630c-0410-9148-cb99ea01b6c8
- de-modularize message. It's impossible to properly translate such LEGO-strings.
Also mark the scopes, due to their syntactic case.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33172 a592a061-630c-0410-9148-cb99ea01b6c8
- implement event filter and allow selection of suggestions with the keyboard
(second part of bug 6460).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33069 a592a061-630c-0410-9148-cb99ea01b6c8
It seems to be a good idea to close all buffer-dependent dialogs when there are no more buffers open. This gives the user no opportunity to call buffer-related functions and cause a crash.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33015 a592a061-630c-0410-9148-cb99ea01b6c8
Under massive load of lyxerr<< messages we lose synchronization in ui
and messages get garbled into each other.
This patch helps a lot, note however that the problem is generally hard to
solve in multithreaded environment because from inside lyxerr there is no
way how to know that t1b should be bound to t1a when thread is switched in
unfortunated time and thread thread2 goes for his bussiness.
thread1 out<<t1a<<t1b<<"\n";
thread2 out<<t2a<<t2b<<"\n";
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33013 a592a061-630c-0410-9148-cb99ea01b6c8
How to add some default size to be used in case no previous settings were saved?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32987 a592a061-630c-0410-9148-cb99ea01b6c8
- I18n the window title,
- it's unnecessary for a window to have window in its title,
- adjust casing,
- do not use show in the view menu,
- sync window title and menu entry.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32984 a592a061-630c-0410-9148-cb99ea01b6c8
P.S. Why is this message shown twice when switching between tabs ?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32973 a592a061-630c-0410-9148-cb99ea01b6c8
prevents weirdness that might happen if the .bib file were to change
during updateLabels(), (b) prevents even further weirdness that might
happen if it changed during the output routines, and (c) ought to avoid
slowness caused by the repeated calls to QFileInfo::refresh() needed to
check the cache status.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32972 a592a061-630c-0410-9148-cb99ea01b6c8
The GuiCompleter has to have a parent, otherwise it is not destroyed when a GuiWorkArea is destroyed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32952 a592a061-630c-0410-9148-cb99ea01b6c8
- new members showPanel, isCurrentPanel
* GuiDocument.cpp:
- hide Child Documents panel if there are no children.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32940 a592a061-630c-0410-9148-cb99ea01b6c8
page numbering and the references of the master file are maintained in the included children (bug 1005).
I made this optional since some people use \includeonly to save compilation time, but a proper aux file update
needs a full compilation of the complete master prior to the compilation of the \includeonly master.
Hence, a new buffer param is introduced (file format change).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32936 a592a061-630c-0410-9148-cb99ea01b6c8
This fixes bug #6314: reloading master document makes emergencies of modified children.
Now also the version control handling could be moved to Buffer as well, and the hack in ensureBufferClean is removed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32875 a592a061-630c-0410-9148-cb99ea01b6c8
(e.g., while entering text to find in the F&R WA, window title keeps
showing the filename of the document where matches are searched for).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32858 a592a061-630c-0410-9148-cb99ea01b6c8