Commit Graph

73 Commits

Author SHA1 Message Date
Guillaume Munch
059ca0f691 Line breaks in tooltips
* New function formatToolTip(QString):

Format text for display as a ToolTip, breaking at lines of a certain
width. Note: this function is expensive. Better call it in a delayed manner,
i.e. not to fill in a model (see for instance the function
ToolTipFormatter::eventFilter).

* Install a global event filter that formats tooltips on-the-fly

Inspired from
3793fa09ff
but much improved.

When is formatToolTip called automatically? Whenever the tooltip is not already
rich text beginning with <html>, and is defined by the following functions:
 * QWidget::setToolTip(),
 * QAbstractItemModel::setData(..., Qt::ToolTipRole),
 * Inset::toolTip() (added in one of the subsequent patches)

In other words, tooltips can use Qt html and the tooltip will still be correctly
broken. Moreover, it is possible to specify an entirely custom tooltip (not
subject to automatic formatting) by giving it in its entirety, i.e. starting
with <html>.
2016-07-03 17:28:45 +02:00
Guillaume Munch
6144bbfbf8 Replace foreach with for
C++11 allows foreach-style iterations with the following syntax:

for (auto & element : container) {
 ...
}
2016-06-12 19:17:33 +01:00
Jean-Marc Lasgouttes
68a1f9a44e Do not use of boost::tokenizer
It is easier to use instead getVectorFromString for the use we have of this tokenizer. The two places are environment.cpp (path stuff) and qt_helpers (file fileters). The new code is much shorter.

This allow to remove boost/tokenizer.hpp and friends from our boost tree.
2016-05-29 17:55:45 -04:00
Juergen Spitzmueller
b423c59d3c Factor out multiply used ColorSorter.
This cures one problem of monolithic build (where the function was
ambiguous)
2015-11-16 08:19:16 +01:00
Georg Baum
d3b5260f45 Remove unused variables
Found by cppcheck: (style) Unused variable: x
2015-10-10 21:28:28 +02:00
Guillaume Munch
68be651e89 Add TOC of external materials. (#7790, partial)
Known issues (non-regressions):

* The TOC is not updated immediately after an external material inset is
  inserted. See TocBackend::updateItem().
2015-10-05 21:16:16 +01: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
Guillaume Munch
94e992c5ed Better construction of the TOC for floats and captions
We introduce TocBuilder for building TOCs that take into account both float
insets and their captions.

* Floats without caption are shown with their content.

* Floats with a caption are shown with their caption, but clicking the entry now
  correctly moves to the float and not to the caption.

* Subsequent captions produce additional entries in the TOC.

* Figures and subfigures are correctly ordered in the outliner.

* New TOC "senseless" for captions appearing alone (a bit like broken references
are still displayed in the menu and outliner).

* Disable LFUN_CAPTION_INSERT if there is already a caption in a listing

Known issues:

* Inconsistent output for includes located inside floats

* We should record the end of the float in addition of the beginning for a more
  accurate cursor -> outliner entry conversion
2015-09-15 15:25:33 +01:00
Juergen Spitzmueller
8b86af7298 Fix LaTeX length export of big numbers, part 2 (bug #9416)
LaTeX lengths must not use scientific notation, since the + sign has a
different meaning (glue lengths). This is the GUI part of bug 9416,
on top of part 1 [59e4d16ab/lyxgit].
2015-05-20 09:35:57 +02:00
Juergen Spitzmueller
4ed8caaf1c Split different indices in the outliner
Fixes: #7012.
2015-05-09 15:30:10 +02:00
Stephan Witt
e7163a0999 #9130 Text in main work area isn't rendered with high resolution
Add search mode check_hidpi to ease the lookup for images with double size to use for displays with high resolution.
2014-10-18 15:19:47 +02:00
Stephan Witt
3aa428fdea #9245 replace Q_WS_MACX with Q_OS_MAC - the Q_OS_MAC macro is usable with Qt4 and Qt5. 2014-08-25 20:08:59 +02:00
Enrico Forestieri
4521fc757b Replace Q_WS_WIN with appropriate guards to account for Qt5.
This commit replaces almost all occurrences of Q_WS_WIN to comply
with Qt5. The remaining occurrences should *not* be replaced,
because the guarded code won't compile on Qt5.
2014-08-25 19:27:45 +02:00
Richard Heck
065db68067 Fix a bunch of minor issues discovered by the cppcheck script. 2014-04-21 11:52:00 -04:00
Juergen Spitzmueller
138bb4d14f Fix the fix to the decimal separator problem with Qt5 2013-07-27 11:18:16 +02:00
Enrico Forestieri
92863de517 Fix Qt5 decimal separator bug
Always use '.' as the decimal separator in the GUI, because we
call setlocale(LC_NUMERIC, "C") in setLocale() (GuiApplication.cpp).
2013-07-26 20:52:44 +02:00
Jean-Marc Lasgouttes
f04c7711b0 Fix empty width support for Box inset
* InsetBox and GuiBox: Use proper empty length instead of the broken -9.99col% trick
* some slight changes to the logic of GuiBox to make sure that values are set as needed.
* lengthToWidget(): handle properly the empty length case. All the other related Qt helpers did it already, it was probably an oversight. Also set the default_unit parameter as optional (not needed in this patch actually, but I got carried away :)
* allow generating LaTeX code for an empty length, since some broken code does that.
2013-05-24 15:44:59 +02:00
Vincent van Ravesteijn
3e65edd729 Add a function to translate QStrings 2013-05-13 10:00:49 +02:00
Richard Heck
5fbbd863db Remove "List of" from outliner dropdown. 2013-03-28 08:33:21 -04:00
Richard Heck
410c716bf7 Add Nomenclature to the TOC. 2013-03-27 20:03:32 -04:00
Jean-Marc Lasgouttes
14e01a92a4 Rename Path.h to PathChanger.h (actual name of the class) 2013-02-06 11:51:06 +01:00
Stephan Witt
141fbb6f8c Prepare LyX code to compile and link with Qt5:
* 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
2013-02-03 19:26:21 +01:00
Richard Heck
d2acacedf9 We don't need to rescan everything from the BibTeX dialog, just
the bib and bst files.
2012-05-01 12:54:17 -04:00
Richard Heck
dcf7d30b4d Better label for index list.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39682 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-15 21:48:45 +00:00
Julien Rioux
78c80996cd Fix the display of file filters in the import file dialog.
- 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
2011-09-13 20:42:55 +00:00
Julien Rioux
a55ef8346a Allow to assign several extension to a given file format (#4798).
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
2011-09-13 20:42:23 +00:00
Enrico Forestieri
a99340cd10 Infrastructure for choosing different icon sets. This currently works
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
2011-03-25 01:59:34 +00:00
Peter Kümmel
615d42d357 TR1: use std::tr1 regex with msvc10
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34725 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-29 17:09:40 +00:00
Pavel Sanda
72a6c77a51 support:
frontends:
onlyFilename -> onlyFileName

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34240 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:28 +00:00
Pavel Sanda
62ca7f3ae5 Proper camel case for FileName.absFilename
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34234 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:09 +00:00
Vincent van Ravesteijn
67c59b8f49 Fix a bunch of assertions.
The first thing that bformat does is to check whether the string contains "%1$s". Otherwise it asserts.

Why didn't we see this happen before ? This was revealed by the emergency saves that Richard introduced in the Buffer dtor.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31062 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-15 20:47:46 +00:00
Jürgen Spitzmüller
ad0f2a7dff * qt_helpers.cpp:
- omit group separators for numbers.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30922 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-08 11:48:04 +00:00
Jürgen Spitzmüller
52d9b45b0c Add support for number localization in the GUI (using Qt's locale facilities).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30511 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-12 15:44:26 +00:00
Jean-Marc Lasgouttes
3030a279ac fix two compiler warnings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28978 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-30 10:36:05 +00:00
Jürgen Spitzmüller
94442d8b30 * qt_helpers.{cpp,h}:
- get rid of function lengthAutoToWidgets, which was only used by GuiGraphics
	- new variant of lengthToWidgets that takes a docstring

* Validator.{cpp,h}:
	- the auto text in the Auto validators are customizable

* GuiGraphics.cpp:
	- make the "auto" string translatable

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28165 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-14 17:53:31 +00:00
Jürgen Spitzmüller
9fba7d7759 * qt_helpers.cpp:
- fix function Length lengthFromWidgets.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28112 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-12 06:48:12 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Jean-Marc Lasgouttes
15b49036ed X dependency cleanup (2/3)
(inernal|external)LineEnding are only used by the clipboard code. Therefore
move them to the Qt helpers, where the current environment is known.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26824 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-09 07:21:48 +00:00
Abdelrazak Younes
5ce39aa8b5 Add a "List of Changes" in the Navigator. The list is updated only when the document structure is reset or when the update button is clicked. Some work is needed to track more finely individual changes as we do for sections.
Changes::addToToc(): New method to insert changes sorted by authors. The symbols 0x2702 and 0x270d are used to represent deletion and insertion.

TocBackend::item(): new method to lookup for a given item.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26639 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-30 11:06:34 +00:00
Abdelrazak Younes
c8a0b97d2e move LyXerr QString specialisation to support/qstring_helpers
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25829 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-23 09:21:22 +00:00
Abdelrazak Younes
ebcc4db6de Add list of branches.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25011 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-30 13:59:29 +00:00
Jean-Marc Lasgouttes
e3fb29a66c remove annoying debug information
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24911 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-23 13:34:16 +00:00
Abdelrazak Younes
fb212b9112 Factorize out some code between TocModel.cpp and Menus.cpp.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24801 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-16 13:49:49 +00:00
Abdelrazak Younes
fbb8c063ec move languageData() out of qt_helpers.cpp
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24670 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-07 22:42:44 +00:00
Abdelrazak Younes
9d23d76c8e Revamp of the character dialog:
- many simplification all over the place.
- improvement to the "Immediate apply" feature.

AFAICS all functionality is restored but please test and report.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24661 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-07 18:53:48 +00:00
Abdelrazak Younes
7c8a7ef67c cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24590 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-02 22:07:51 +00:00
Pavel Sanda
5cbf181f1e Compilation fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24427 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-21 22:42:26 +00:00
André Pönitz
1e4f4fcd91 move the string conversion functions out-of-line to minimize #includes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24396 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-20 20:32:00 +00:00
André Pönitz
aff97fe9b5 move the filefilter stuff closer to the only place where it is used
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24395 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-20 19:56:01 +00:00
Edwin Leuven
d1aff33dd5 more fixes (correct filename, and repair view file)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23555 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-08 09:54:48 +00:00