DispatchResult to store a flag that tells us whether we need a buffer
update or not.
So: If you find a missing one, go to an appropriate place in the
dispatch and call cur.forceBufferUpdate() or, if you don't have a cursor
but do have a DispatchResult, call dr.forceBufferUpdate().
There is one remaining call I could not move, in
TextMetrics::redoParagraph. But this looks like an emergency call when
the macro context has not been set. There are also a couple calls that
are connected with buffer creation that I commented out, since the same
call is done again almost immediately. But I'm not positive about those.
Now the nice thing would be to do the same for updateMacros().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34826 a592a061-630c-0410-9148-cb99ea01b6c8
- use proper combo box data instead of the current int mumbo jumbo.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34708 a592a061-630c-0410-9148-cb99ea01b6c8
It's not very fast, but I guess that's a general problem with our scrolling. At least it works now, but it's not perfect.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34659 a592a061-630c-0410-9148-cb99ea01b6c8
- buffer-switch does open tabs even when open in tabs is disabled;
- buffer-switch open the document in a new tab even if it is already opened in another view.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34618 a592a061-630c-0410-9148-cb99ea01b6c8
If the document class is not available, we now issue a warning for the user. This triggers a focusInEvent of the WorkArea and the cursor is issued to start blinking. However, when reverting a document the cursor is probably invalid and there has been no chance yet to fix it as we are still reading the file.
The solution is to not show the cursor when the view is still busy.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34590 a592a061-630c-0410-9148-cb99ea01b6c8
- fix another bug: shaded boxes can have a specified width when there is an inner box
- code optimizations according to http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg160048.html
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34532 a592a061-630c-0410-9148-cb99ea01b6c8
- fix#6699; use_geometry now only means that the user don't want to have custom margins; that geometry also needs to be loaded for some paper formats is already done in BufferParams.cpp
- remove portraitChanged() because this was useless - A4 landscape is still A4 and still uses the default margins
* BufferParams.cpp: only output the margins if the option "Default margins" is not checked - this was a bug in the margins UI
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34429 a592a061-630c-0410-9148-cb99ea01b6c8
The dialog only offers symbols defined in the unicodesymbols file
and they will be wrapped in \text{} when inserted in math mode,
so there is no risk that an untypesettable symbol gets inserted.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34344 a592a061-630c-0410-9148-cb99ea01b6c8
due to a missing buffer and because the "dialog is only useful in texted".
The problem with the buffer member has been solved since then, and while
it is true that the character dialog is not much useful in mathed, it
is the only way for coloring only parts of equations. Given that this
would also be a regression with respect to 1.6, I am re-enabling it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34327 a592a061-630c-0410-9148-cb99ea01b6c8
getStatus() returns false for LFUN_BUFFER_VIEW when a previewing process is running. So, if this process has finished we should free the menu item.
P.S. on windows, the item does not get disabled anyway.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34324 a592a061-630c-0410-9148-cb99ea01b6c8
M-o now switches to the TOC pane, and Esc always returns from any DockView to the main window.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34293 a592a061-630c-0410-9148-cb99ea01b6c8
- First, the comment for isBufferDependent is corrected. It seems that the actual use of this function differs from the comment. As the comment said, I decided to close all dialogs that were buffer dependent, but this didn't seem to be correct for the view source pan, the outliner, and find-and-replace.
- Second, the dialogs that are buffer dependent are now closed, but dockviews are not, except for the spellchecker pane, which really depends on an open buffer, but I can't test that.
So, please test whether the spellchecker dockviewed window behaves as one expects.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34291 a592a061-630c-0410-9148-cb99ea01b6c8
At some point we should implement that the tooltips are only shown when they are not completely shown in the outliner. However, this requires extending the QTreeView class.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34287 a592a061-630c-0410-9148-cb99ea01b6c8
Solution: don't use boost::shared_ptr for msvc10 (could also be extended to several GCC versions)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34259 a592a061-630c-0410-9148-cb99ea01b6c8
Solution: don't use boost::bind for msvc10 (could also be extended to several GCC versions)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34257 a592a061-630c-0410-9148-cb99ea01b6c8
exporting, the extra dialog appearing when choosing to overwrite a
file is not necessary anymore.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34222 a592a061-630c-0410-9148-cb99ea01b6c8
both dvi and pdf, let's allow switching forward search from one format
to the other through a timestamp check, such that the most recent
generated format will be used.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34200 a592a061-630c-0410-9148-cb99ea01b6c8
To sum it up forward search support:
Okular and Skim can be supported directly if somebody comes with correct syntax.
Evince can be solved in the same way as xpdf, again syntax has to be reported.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34167 a592a061-630c-0410-9148-cb99ea01b6c8
* I didn't like the fact that the heart of the dispatch/status machinery is in the default clause of a long switch statement. Now, it is clear that we enter the app in getStatus, which then asks the GuiApplication itself, the GuiView, the current BufferView, the current Buffer, the document BufferView, the document Buffer,
* Shouldn't we let BufferView call the Buffer getStatus() functions ?,
* This also makes sure that if a command is not handled, it is turned off. Before r34164 this was caused by the default clause in BufferView,
* Now it is prevented that if the document BufferView is the same as the current BufferView, that the getStatus() functions are called twice,
* A warning can be outputted if the LFUN is not handled.
PS I want to do the same for the dispatch function.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34165 a592a061-630c-0410-9148-cb99ea01b6c8
No viewer set by default, which keeps context menu clean for uninterested users.
Settings are hinted at combobox.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34149 a592a061-630c-0410-9148-cb99ea01b6c8
If a dvi file exists in the temp dir, the command specified by the
\forward_search_dvi rc setting is used to initiate the search.
Otherwise, if a pdf file exists, the forward search is performed by
using the command specified by the \forward_search_pdf rc setting.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34148 a592a061-630c-0410-9148-cb99ea01b6c8
Change inset-forall so that screen is not repainted at each iteration, since this lead to very slow opeartion on large files. This is not a problem for current uses, but can potentially lead to crashes.
See ticket #6641 for more thoughts and possible solutions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34092 a592a061-630c-0410-9148-cb99ea01b6c8
- new buffer parameter \boxbgcolor
(I'm still working on the remaining issue #6626 as this affect not only this feature.)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34083 a592a061-630c-0410-9148-cb99ea01b6c8
easy access to the current view. So we don't need it. Moreover, it seems
to me that using lv in some of these places could cause bugs. What if
the current_view_ has changed? Then we could be updating completion on
the wrong thing?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34072 a592a061-630c-0410-9148-cb99ea01b6c8
Abdel's moving the LyXFunc code to GuiApplication. This restores some of
the structure of that code: The early returns bypassed the code that
marked the buffer dirty.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34071 a592a061-630c-0410-9148-cb99ea01b6c8
(The default color is still internally white because we have to set a color but the color is only used when the user explicitly specified it.)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34058 a592a061-630c-0410-9148-cb99ea01b6c8
- new buffer parameter \fontcolor
- the default color is internally black because we have to set a color
- the font color is only used when the user explicitly specified a color
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34042 a592a061-630c-0410-9148-cb99ea01b6c8
- move the background color settings from PageLayoutUi.ui to ColorUi.ui
- move the greyed-out font color from FontUi.ui to ColorUi.ui
- some sorting and whitespace unification
- the group boxes will get the next days each a further entry
(one for the document-wide text color and one for the shaded box background)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34040 a592a061-630c-0410-9148-cb99ea01b6c8
(it turned out that Qt's designer uses by default HTML when there are linebreaks)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34015 a592a061-630c-0410-9148-cb99ea01b6c8
- support to change the greyed-out note font color (fixes#3865)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33962 a592a061-630c-0410-9148-cb99ea01b6c8
allows for layout- or module-level customization of the display in the
citation dialog and of the XHTML bibliography output.
There is more of this to come, by the way. The next step is to allow
macros. That will make it easier to deal with translation issues, which
ought to be the final step.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33920 a592a061-630c-0410-9148-cb99ea01b6c8
Solution is to search backwards for the last '|' in the string, and to add a '|' to the ones without a shortcut.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33918 a592a061-630c-0410-9148-cb99ea01b6c8
This could be seen by adding a shortcut "Ctrl-R" to accent-acute. Then changing this to "Ctrl-R Ctrl-R". And then changing this back to "Ctrl-R". Now the oldBinding is NOACTION and a warning is issued that "Ctrl-R" was already bound.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33906 a592a061-630c-0410-9148-cb99ea01b6c8
(Apparently the signal-slot construction does not work when there is also a on_**_pressed() slot?)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33903 a592a061-630c-0410-9148-cb99ea01b6c8
seen in branch, too, is that if you change the style combo and then do
anything else, such as click on an entry, the combo reverts.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33858 a592a061-630c-0410-9148-cb99ea01b6c8
Now, when scope includes multiple documents, the switch_buffer LFUN is only issues if buffer actually changes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33812 a592a061-630c-0410-9148-cb99ea01b6c8
QThreadPool::maxThreadCount() defaults in general to 2 on single or
dual-processor. This is clearly not enough in a time where we use
threads for document preview and/or export. 20 should be OK.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33790 a592a061-630c-0410-9148-cb99ea01b6c8
Cache the buffer and errorList in the GuiErrorList dialog. Now, we can check whether the active buffer is also the buffer for which the errors are shown. We switch back to the correct buffer, when one clicks on an item or clicks "View complete log".
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33726 a592a061-630c-0410-9148-cb99ea01b6c8
- No more Drawers,
- ProgressView and SourceView are docked at the bottom,
- SpellChecker, FindAndReplace and Outline are floating by default, but dockable.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33716 a592a061-630c-0410-9148-cb99ea01b6c8
- Trim the saved lfun because there is a space added in the textfield,
- check whether the action has changed before signaling that the shortcut already exists.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33713 a592a061-630c-0410-9148-cb99ea01b6c8
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
Text from Tommaso (adjusted to my own taste) from the devel-list.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33311 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