Commit Graph

122 Commits

Author SHA1 Message Date
Guillaume Munch
f0959cc292 explicit operator bool 2016-09-23 23:39:48 +02:00
Enrico Forestieri
f56ee1875c Make oultliner icons same size as the toolbar icons
Part of bug #10125
2016-06-26 16:53:00 +02:00
Guillaume Munch
1cc14a31ca TocWidget: fix an erroneous collapse and optimise updates based on profiling
TocModels::reset() in GuiView::structureChanged() collapses the TocWidget, and
therefore requires an update right after, which was missing.

In fact, profiling TocWidget::updateView() shows that delaying the update is
good only for fast keypresses (essentially movement). It costs 5% of a
char-forward operation in a document with approx. 100 table of contents
items. The update optimisation has been rewritten to take this data into
account.
2016-05-31 00:14:13 +01:00
Guillaume Munch
78a5c87781 TocWidget: fix part of #9825 2016-05-31 00:14:13 +01:00
Guillaume Munch
4002c6af72 fix #9826: Outline disclosure of subsection content disappears one second after
doubleclicking content item.

This is only meant as a workaround. See #6675 for more general issues regarding
unwanted collapse of the tree view.
2016-05-29 17:55:44 -04:00
Guillaume Munch
27607b76f5 TocWidget: clean-up the timer logic
The timer logic introduced to solve bug #7138 was not entirely reliable; in
particular it resulted in spurious updates (noticeable by the treeview
collapsing just after one opens a branch, in particular).

This commit cleans up the timer logic. I followed the original design decision
of having an immediate update followed by a delayed update. Now the updates are
appropriately compressed and done after a delay of 2s (as can be noticed with
the treeview still collapsing, unfortunately, but after a more predictable
delay...).
2016-05-29 17:55:42 -04:00
Guillaume Munch
2f9d323396 TocWidget: Fix perf regression
4d1ad336 fixed #9754 but caused perf issues by cancelling the gains of having a
timer (introduced after #7138). This introduces in GuiToc::enableView() a
lightweight check of whether the widget should be updated. The logic is inspired
from GuiViewSource::enableView().
2016-05-29 17:55:42 -04:00
Guillaume Munch
0e740018ff Whitespace 2016-05-29 17:55:42 -04:00
Guillaume Munch
d5a5fbb8ee Enhancements and bugfixes to the TOCs
* New TOC "math-macro". This means that math macros can now be accessed in the
  outline pane in their order of appearance or in alphabetical order, and can be
  searched using the filter.

* Lists of floats now show subfloats deeper in the navigation menu

* The arbitrary 30 element cut-off after which nothing is shown except "Open
  Navigator..." is removed. Menus now have no limit in size, so Qt may display
  them scrollable. In exchange, we always show "Open outliner..." at the
  beginning. I tested for performance issues with a rather complex document and
  it is fine; but this does not exclude corner cases with lots of TOC entries of
  a certain kind. If necessary, populating the navigation sub-menu should be
  delayed like the main menu.

* Elements that do not contribute to the output (e.g. in a note, a disabled
  branch) are now preceded with a symbol indicating this status. (The machinery
  was already there; I wonder why it was not implemented already.) I have chosen
  U+274E NEGATIVE SQUARED CROSS MARK.

* Fix the contextual menus in the outliner (bug introduced at 94e992c5).

* Toc item now move to the caption when present, but first center on the float,
  to prevent the situation where the caption is at the top of the screen and the
  contents of the float is off-screen above the caption.
  (Internally, the action of the toc items can now be customised)

* Fix the LyXHTML output. Disabled captions no longer appear in the list of
  figures.
2015-10-01 21:44:22 +01:00
Jean-Marc
915066f068 Add missing break statement
Coverity issue 23338
2015-09-12 20:02:32 +02:00
Enrico Forestieri
cb899b3fa2 Provide icons for the outline-* lfuns.
- Accordingly rename "promote" and "demote" icons.
- Add "outline-down" and "outline-up" icons.
2015-03-28 23:22:21 +01:00
Enrico Forestieri
7be2a5d815 Prefer svg icons.
If a compressed svg icon is present, load it instead of a png one.
Also introduce two more sizes (huge and giant icons) that should be
useful when using hires displays, as svg icons automatically scale
to the desired size without loss of quality.
2015-03-13 00:47:21 +01:00
Scott Kostyshak
abc4c663ca Focus on buffer after section select in Outliner 2014-04-21 11:51:57 -04:00
Juergen Spitzmueller
8913031faf Fix section-select when issued from outliner
Fixes: #8936
2014-04-21 11:51:56 -04:00
Jean-Marc Lasgouttes
e7a1cce551 Rename some LFUN names to match their text name
Also, rename copy-label-as-reference to label-copy-as-reference and update LFUNs.lyx accordingly.
2014-02-13 13:50:33 +01:00
Juergen Spitzmueller
ce8ec78783 Fix crash when using context menu in empty outliner
Fixes: #8885
2013-11-10 15:31:27 +01:00
Jean-Marc Lasgouttes
bd2e7480b1 A first batch of potential bugs spotted by llvm/clang
There are more warnings left, but these are the easiest to fix. And some of them are real bugs (assignments with == instead of =).
2013-05-02 16:38:25 +02:00
Pavel Sanda
38c836f65d Leftover. 2012-11-04 01:29:08 +01:00
Georg Baum
27733452f7 Native support for \lstlistoflistings 2012-04-16 21:40:59 +02:00
Richard Heck
799cf1a913 Fix bug #7708. When we reload the outliner, we have to make sure the Buffer is up to date. So we have to do a complete updateBuffer() here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39443 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-08 18:29:52 +00:00
Pavel Sanda
705ba90d7b Make outliner delays again more invisible in some cases.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36997 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-26 23:23:48 +00:00
Pavel Sanda
121fdba366 Attempt to workaround movement and editation slowness.
If it turns out to be too annoying for other we can disable it again.
Hopefully fix #7138.

http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg164385.html



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36951 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-19 22:27:21 +00:00
Vincent van Ravesteijn
f27853ad41 Cosmetics, typos and comments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36492 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-25 16:53:56 +00:00
Vincent van Ravesteijn
f642e45a39 Fix the warning message "TocModel.cpp: type not found" when (re-)loading a file.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34571 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-01 09:56:07 +00:00
Vincent van Ravesteijn
b24862e754 Correctly enable/disable the filter label and textfield in the TocWidget. Also, shorten the code a bit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34350 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-30 15:56:54 +00:00
Vincent van Ravesteijn
f8d64b4799 Fix bug #3871: Shortcut to switch from TOC to text pane.
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
2010-04-26 10:03:09 +00:00
Vincent van Ravesteijn
12a6a0774e Fix bug #6661: Outliner filter bar should not be case sensitive.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34219 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-19 16:05:40 +00:00
Richard Heck
b79d8e5e2d Make members of FuncRequest private, per the FIXME there. Again, this is
basically a massive renaming, with no real changes.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34106 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-09 19:00:42 +00:00
Richard Heck
4c7a5d0024 This is just a giant renaming of member variables in FuncRequest,
preparatory to making them private.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34105 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-09 18:15:17 +00:00
Richard Heck
56d89dbff9 This is worth having here anyway.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33703 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-10 18:43:10 +00:00
Richard Heck
d70f91a380 Line length, again.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33683 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-08 20:48:48 +00:00
Richard Heck
c653974e9d Revert r33630 and do something more sensible.
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
2010-03-08 19:52:48 +00:00
Richard Heck
60034997d9 Make sure the model exists before we access it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33668 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-08 12:42:18 +00:00
Richard Heck
3906792378 We were doing this twice, and I think there's also a bug here, namely,
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
2010-02-26 19:56:08 +00:00
Richard Heck
805231ccbe This can just take a FuncCode.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33584 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-26 19:51:06 +00:00
Richard Heck
c127d83b66 A little cleanup while perusing TocWidget....
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33583 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-26 19:48:20 +00:00
Jürgen Spitzmüller
23a58c0214 * TocWidget.{cpp,h}:
* TocWidgetUi.ui:
	- add filter bar.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33457 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-13 08:30:16 +00:00
Abdelrazak Younes
377cdd5f6c Transfer LyXfunc code to GuiApplication::dispatch() and getStatus(). Now
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
2010-02-09 16:11:13 +00:00
Abdelrazak Younes
d38ca04ff7 Move Undo::beginUndoGroup() and Undo::endUndoGroup() calls to where they are used and necessary, hopefully.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31492 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-03 19:12:21 +00:00
Vincent van Ravesteijn
067e770bfe Disable the TOC when no document is open.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31308 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-06 13:07:24 +00:00
Abdelrazak Younes
184345e4e7 * GuiView: get rid of Buffer() and documentBuffer() access.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31290 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-05 15:09:45 +00:00
Abdelrazak Younes
722d8c757b * LyXView:
- view() -> currentBufferView()
  - add const access to bufferViews.
* GuiView.h: cleanups


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31286 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-05 14:29:11 +00:00
Jürgen Spitzmüller
3ec9ac5ff5 * TocWidget.cpp: disable sort option for TOC (bug 5983).
* TocModel.cpp: whitespace

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30760 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-24 13:58:02 +00:00
Richard Heck
cde33577df Whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30051 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-11 21:13:41 +00:00
Vincent van Ravesteijn
60b26d1aac Fix the copy label as ref for equations from the context menu.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29754 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-20 23:58:29 +00:00
Vincent van Ravesteijn
7bf0d804e7 Add "Select Section" to outliner context menu.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29520 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-03 19:16:00 +00:00
Vincent van Ravesteijn
f4c0f80857 Add outline-in/out/up/down to the outline context menu.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29516 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-03 16:06:00 +00:00
Vincent van Ravesteijn
69d2e076dc Add accept/reject change to the context menu of the toc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29480 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-01 17:55:26 +00:00
Vincent van Ravesteijn
61e32e1c25 Fix some toc ui glitches:
- revert r26360, because this causes irritating flickering, and reset the slider in updateView instead,

- disable also the sort checkbox and the slider when the list and combobox are disabled,

- disable the keep checkbox when the type is not navigatable, as it doesn't make sense to keep something that won't change.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29477 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-01 16:03:06 +00:00
Vincent van Ravesteijn
ee4e7db35e Add context menus to the toc for child-documents, listings and indices.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29319 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-18 18:53:39 +00:00