Commit Graph

8881 Commits

Author SHA1 Message Date
Juergen Spitzmueller
f87218bbb5 Check for hidden dirty child on close
Fixes: #11405
2018-12-17 09:11:34 +01:00
Juergen Spitzmueller
ab5c08b3f0 Amend 9705b88251 2018-12-17 09:03:46 +01:00
Juergen Spitzmueller
9705b88251 Use current_font, not real_current_font, in character dialog
The latter has the workarea font settings, which are not of interest
here.

Fixes: #11385
2018-12-16 12:29:15 +01:00
Jean-Marc Lasgouttes
57feb0fed0 Fix undo after breaking a nested paragraph
We have to take into account that Buffer::updateBuffer can modify the document.

Fix bug #11292.
2018-11-23 16:53:53 +01:00
Enrico Forestieri
7822d11361 Fix reloading of local layout file (bug #11120) 2018-11-16 21:47:24 +01:00
Jean-Marc Lasgouttes
7db99672e6 Avoid extra space in tooltips
When using QTextDocument to check the natutal size of a text, one has
to remove the text margin, which is not useful here.

Fixes bug #11353.
2018-11-04 14:02:42 -10:00
Jean-Marc Lasgouttes
1bed76e2a1 Fix selection of unmarked RtL text
With Qt 5.11 at least, RtL text will be drawn RtL even when the
(undocumented) flag Qt::TextForceLeftToRight is applied to the
QTextLayout object. This creates selection issues for Hebrew text
marked as English.

The solution is to do the same as in breakAt_helper, that is prepend
the string with a direction override unicode character.

Doing this requires to introduce a TEXTLAYOUT_OFFSET constant that has
to be used wisely to account for this extra character.

Fixes bug #11284.
2018-11-04 08:23:49 +00:00
Juergen Spitzmueller
b8932afed5 Dispay pre- and posttext widgets if non-empty also if unapplied
Fixes: #11352
2018-10-30 17:23:08 +01:00
Scott Kostyshak
73b1c658a2 Use underline in (+ bold) for char match in layout
When showing the match characters in, e.g., the layout box, we now
underline (in addition to bold) the matched characters. This makes
the matched characters stand out even more.

See 4b716dd6 and the following ML thread:

  https://www.mail-archive.com/search?l=mid&q=20181019155649.dqqk6u25wdcdimrj%40barna
2018-10-22 21:16:56 -04:00
Richard Kimberly Heck
4b716dd63d Use bold instead of underlining to mark the characters we're matching. 2018-10-18 21:49:31 -04:00
Richard Kimberly Heck
1410eeb10e Simplify the code that adds underlining to the layout combo. 2018-10-18 21:49:31 -04:00
Richard Kimberly Heck
1cc859d713 Refactor 2018-10-18 21:49:31 -04:00
Richard Kimberly Heck
35fac4ab51 Re-organize and simplify now. 2018-10-18 21:49:31 -04:00
Richard Kimberly Heck
ae65fb2c98 Whitespace. 2018-10-18 21:49:31 -04:00
Richard Kimberly Heck
d7f4346a19 Fix bug #6096.
We used to need a hack to set the size of the layout combo, but
the code was changed in Qt 4.5 or so. Hence the appearance of this
bug in 2009. We can now just remove this hack, and all seems to
work correctly.
2018-10-18 21:49:31 -04:00
Richard Kimberly Heck
938ef60258 Filter on consecutive sequences of characters.
The filters for the layout combo and document class combo share a
problem: If you type "beam", e.g, in the latter case, then we will
show any document class that contains those letters, in that order,
but not necessarily consecutively. This is extremely confusing and,
as José put it, just weird. So let's fix it.

I'd call this a bug so would be happy to see this in stable, too.
2018-10-18 21:49:31 -04:00
Jean-Marc Lasgouttes
17e2ad927e Followup to 9fe101e8: remove unused method. 2018-10-08 16:04:32 +02:00
Jean-Marc Lasgouttes
9fe101e890 Remove support for pixmap cache
This code has issues and there is no evidence that it improves performance.

Remove LyXRC variable \use_pixmap_cache and update rc format to 29.

Now the global pixmap cache is only used by GuiCompleter. Therefore
there is no need to reset it when fonts change.
2018-10-07 14:56:55 +02:00
Richard Kimberly Heck
4f0ccae399 Fix bug #9004.
I'm not entirely happy with this way of doing it. It seems messy.
But there is not another clear option right now.
2018-10-04 20:37:03 -04:00
Richard Kimberly Heck
944b0ae55d Update the Advanced F&R document class when switching buffers. 2018-10-04 20:30:01 -04:00
Richard Kimberly Heck
5064c09e9f Copy modules into the Advanced F&R pane as well. 2018-10-04 20:30:01 -04:00
Guillaume Munch
1979496399 Make tab movement visible (#10733)
The nice hand-made solution for moving tabs has made its time. Use Qt's feature
instead from now on.
2018-10-04 19:52:21 -04:00
Richard Heck
5f6332bf46 Fix bug 9798.
Nameref support for math references.
2018-10-04 14:04:48 -04:00
Richard Kimberly Heck
2553b0073f Fix bug #11275.
Show module name with description.
2018-10-04 14:02:01 -04:00
Jean-Marc Lasgouttes
2617a4dd50 Fixup 38f09c177b: limit to paint rectangle 2018-10-04 14:27:43 +02:00
Jean-Marc Lasgouttes
38f09c177b When ignoring an update, request one for later
If we were not ready to paint the screen, this does not mean that we
should give up on repainting, just potpone it.

I thought that it was bad to call update() in the paint event, but I
cannot find reference to this anymore and everything seems to work as
intended.
2018-10-03 15:57:11 +02:00
Juergen Spitzmueller
f973855bde Amend cab46ff9d1 2018-09-29 10:29:02 +02:00
Juergen Spitzmueller
cab46ff9d1 GuiCitation: Add some tooltips for the sake of keyboard users
Addresses #11317
2018-09-29 09:18:26 +02:00
Juergen Spitzmueller
90b1345203 Do not store empty posttext for qualified citations
Fixes: #11308
2018-09-25 13:13:56 +02:00
Juergen Spitzmueller
33d6499bbc GuiCitation: don't reset filter on show
Addresses #11291
2018-09-22 10:37:22 +02:00
Jean-Marc Lasgouttes
2cfbc5ecf6 Ignore horizontal wheel scrolling in workarea
We do not know what to do with horizontal scrolling events, so we ignore them.

Note that the code has to be different between Qt4 and Qt5.

Fixes bug #11257.
2018-09-20 23:25:42 +02:00
Jean-Marc Lasgouttes
819cf53c22 Handle branches with space in their name
1/ Handle space in color name in set-color (with quoting)

2/ read properly branch inset when name has a space

Fixes bug #11108.
2018-09-08 13:07:07 +02:00
Jean-Marc Lasgouttes
dd8fd3d90a Get rid of monolithic build support for autoconf
It is not useful anymore on modern machines with several cores.
2018-08-30 11:35:37 +02:00
Juergen Spitzmueller
ed61ce74b7 So long, date-insert!
This function is superseded by info-insert date, which is much mightier
and more flexible.
2018-08-20 09:25:22 +02:00
Juergen Spitzmueller
e9b187af08 New info-inset type l7n
This returns a localized version of a string (in the GUI language)
if available, removing trailing colons and accelerator marks.

This can be used to refer to dialog items in the docs in a portable way.
2018-08-13 17:18:44 +02:00
Juergen Spitzmueller
c12fe77c94 Remove inclusion of obsolete header 2018-08-12 08:29:16 +02:00
Juergen Spitzmueller
07d760ef30 Rework BibTeX dialog
Fixes concerns reported in #11239
2018-08-11 12:17:42 +02:00
Juergen Spitzmueller
7c5d243e71 Revert that part
We don't want to lose the shortcuts.
2018-08-08 15:14:26 +02:00
Juergen Spitzmueller
91a5263d68 Extend list of accessible menu info
When searching for and item in the menu, also try to consider those that
require a BufferView (such as View/Update formats).

Also, be explicit for the default format in order to find it.

Fixes: #9851
2018-08-08 15:05:58 +02:00
Juergen Spitzmueller
d1fbbb78a8 Disable Immediate Apply if no inset is modified. 2018-08-08 10:34:57 +02:00
Juergen Spitzmueller
44718e0e8c GuiInfo: Show "Unknown" only if issued from an unknown info. 2018-08-08 09:52:03 +02:00
Richard Kimberly Heck
2896441dbb Update buffer after preferences change.
Fixes missing update after new InsetInfo stuff.
2018-08-07 23:38:55 -04:00
Juergen Spitzmueller
2315bdad41 Fix small UI glitch 2018-08-07 14:48:51 +02:00
Juergen Spitzmueller
2cd7aab7cf Validate (fix) date vs. time specifier 2018-08-07 12:56:43 +02:00
Juergen Spitzmueller
37279f6681 Typos 2018-08-07 12:41:00 +02:00
Juergen Spitzmueller
7efdf98fc8 Further extend Info insets:
* Add time type (time, modtime, fixtime)
* Add "name-noext" buffer type (file name w/o extension)
2018-08-07 12:14:45 +02:00
Juergen Spitzmueller
307319e95e Introduce InsetInfoParams
This allows to open the dialog without having an inset already.
2018-08-06 20:07:15 +02:00
Juergen Spitzmueller
b75f716b73 Capitalization fixes
Fixes: #11237
2018-08-05 10:11:38 +02:00
Juergen Spitzmueller
e730234e57 Add date-related info insets
With this commit, info insets leave the dark backstage room of an opaque
and quite hidden dev-only feature and come frontstage.

In the UI, they present themselves as "Fields" since this is what people
know from word processors. Other user-related fields that could be
implemented next: time, user name (I plan to do that for 2.4).

Since this supersedes date-insert, I removed Insert > Date from
the menu and propose to ditch date-insert and the corresponding rc.

The lyx2lyx reversion routine has lots of room for improvement and
attractive tasks for pythons (file timestamp, switch of localization).
Please feel invited!

This is a file format change.
2018-08-05 10:01:36 +02:00
Juergen Spitzmueller
b286c6d235 Change size policy of buffer combo in refs dialog
Fixes: #9316
2018-08-02 09:08:11 +02:00
Juergen Spitzmueller
87a7f728ca reorder entries 2018-08-01 16:51:38 +02:00
Juergen Spitzmueller
8d45179403 More GuiInfo usability work 2018-08-01 09:28:03 +02:00
Juergen Spitzmueller
358436ea1e Split vcs Info inset from buffer Info inset
This should go separately in the GUI, and thus in the inset.
2018-07-29 19:41:34 +02:00
Juergen Spitzmueller
b6eacd8d4f Make the InsetInfo dialog a bit less esoteric. 2018-07-26 16:02:03 +02:00
Juergen Spitzmueller
99aefa5fd2 Implement tri-state in GuiSetBorder
A new UNDECIDED state is used if multiple cells with differing border
settings are selected.

This prevents additional borders to be set without being asked.

Fixes: #10010
2018-07-24 13:49:27 +02:00
Jean-Marc Lasgouttes
ad954a32a5 Aesthetics: off-by-one in line drawing
It is a general problem when doing graphics to know where a line
begins and where it ends pixel-wise. At the instigation of Scott, and
with the use of the kmag magnifier, this commit corrects 3 areas:

* foreign marks were larger than the row element they were supposed to
  mark. This could lead to moving lines, depending on paint ordering.

* visible spaces were drawn outside of their box (select a single
  space to see this).

* the `L' blinking caret would leave a cursor dropping because the
  horizontal part was too wide.
2018-07-23 17:16:03 +02:00
Enrico Forestieri
16ca5290c0 Fix bug #11203
Minted does not have a language option but it is possible to enter
this option in the LyX interface for compatibility with the listings
package, and also for letting to enter a language not present in the
gui. So, this option is only used for properly specifying a language
in a listing, unless it is entered in the document settings dialog.
This case was not foreseen and thus the option was being passed to
the package as is, causing havoc. With this commit the option is
still available but is used to set a default language for a new
listing in place of the default "tex" language used so far.
2018-07-22 22:22:13 +02:00
Stephan Witt
b0371107ff Amend change b5c5083c6c.
Remove superfluous and broken code.
2018-07-20 07:33:09 +02:00
Jean-Marc Lasgouttes
9b3fede789 Introduce FontMetrics::xHeight
Use it instead of measuring the height of character 'x'.
2018-07-19 22:16:40 +02:00
Jean-Marc Lasgouttes
30c6d4fafe Fixup 30ec879d and 41ebc3fc
Remove the #if 0 area, which does not seem really useful. Some tweaks
to the code.
2018-07-19 21:05:15 +02:00
Kornel Benko
41ebc3fcfc Amend 30ec879, Add a translator as a fallback to Qt inner one
Add the needed strings to GuiApplication.cpp
2018-07-18 22:02:50 +02:00
Jean-Marc Lasgouttes
30ec879d3a Add a translator as a fallback to Qt inner one
This reuses code intended only for mac manus and generalizes it. The
list of strings to add to po files is found in
GuiTranslator::translate.

This is useful now that LyX relies on QDialogButtonBox class for its
dialogs. Indeed many languages are not covered natively by Qt.

It is possible to enable the "locace" debug channel to see what
strings are not covered and should be added to our own translation
tables.

In order to make things easier, a new method getIfFound() has been
added to the Messages class, which returns an empty string when no
translation has been found, as Qt's translate() does.
2018-07-18 10:13:05 +02:00
Juergen Spitzmueller
0148ef7e6c Use QMessageBox for toggleWarning if possible
Qt 5.2 introduces the possibility to place a checkbox on a QMessageBox,
so we need no longer to use our own crude dialog.
2018-07-10 15:00:25 +02:00
Juergen Spitzmueller
b21c512e14 QDialogButtonBox for the remaining dialogs. 2018-07-10 13:04:02 +02:00
Juergen Spitzmueller
d2afa67da9 Fix creationCode() of GuiPrintNomencl
This fixes "New Inset" in that dialog.

Candidate for stable
2018-07-10 11:01:49 +02:00
Juergen Spitzmueller
b5c5083c6c More QDialogButtonBox
Listings through Prefs.
2018-07-10 09:04:42 +02:00
Juergen Spitzmueller
1f5186b2a7 More QDialogButtonBox transformation
GuiDelimiter through GuiIndex

See #11003
2018-07-09 09:46:39 +02:00
Juergen Spitzmueller
4d9fa8a0d7 Amend 0570d16a3b
When slot[Ok|Apply|Cancel]() from GuiDialog are re-implemented, we also
need to re-implement slotButtonBox()
2018-07-08 16:48:58 +02:00
Juergen Spitzmueller
0570d16a3b Start using QDialogButtonGroup rather than manual OK etc. buttons
This assures the OK/Apply/Cancel/Restore buttons use the layout/style
of the OS (button order, icons).

The goal is to move all dialogs to this for 2.4.

See #11003
2018-07-08 16:35:38 +02:00
Juergen Spitzmueller
01a74e8e95 Polish Bib(la)TeX dialog 2018-07-08 12:13:47 +02:00
Juergen Spitzmueller
e6e3777363 Add support for bib files encoding
File format change.

Fixes: #6223
2018-07-07 15:25:35 +02:00
Jean-Marc Lasgouttes
ad5548cfe3 Fixes to input method handling
The goal of this patch is to make "self-insert <string>" act as a
sequence of individual self-insert calls. Once it is done, the
insertion of the commit string in GuiWorkArea can use that, which
fixes the issues described in bug 11183.

1/ in InsetMathNest, SELF_INSERT is rewritten to be a proper loop of
   interpretChar, instead of inserting the string as characters. This
   solves the issue of interpreting ^ properly.

2/ the text version does not need to be changed (the loop is rewritten
   using a range, though).

3/ Then {{{GuiWorkArea::inputMethodEvent}}} is changed to invoke
   directly self-insert. This removes the update issues.

Fixes bug 11183.
2018-07-05 14:32:37 +02:00
Juergen Spitzmueller
fc9d47f7f4 Handle correctly zero table special arguments.
Fixes: #10247
2018-06-26 10:51:16 +02:00
Juergen Spitzmueller
8db5ff18cf With xltabular, multi-page tables can have a fixed width 2018-06-25 10:53:40 +02:00
Juergen Spitzmueller
4d80cd60ea GuiTabular: set focus on column width LE if custom is selected 2018-06-25 10:34:57 +02:00
Juergen Spitzmueller
f38816bf16 Add support for tabularx/xltabular
I.e., variable width columns in single and multiple page tables

Files format change.

Fixes: #4154, #4155
2018-06-24 10:05:15 +02:00
Jean-Marc Lasgouttes
f1ea7fee5c Unbreak completion in text mode
Completion uses a complicated async scheme based on timers to update
itself. This is probably not necessary anymore and is fragile to
event order changes.

This is what happens with the new painting scheme. Therefore the
asyncHideXXX() methods have to be made more robust and detect whether
completion state has changed by the time they are triggered.
2018-06-08 10:32:47 +02:00
Richard Kimberly Heck
51f8ba9d35 Fix up 3847e0ef7. 2018-06-06 13:55:59 -04:00
Richard Heck
3847e0ef77 Fix bug #991.
Patch adapts Georg's work on #7404 to this case.
2018-06-05 22:26:16 -04:00
Jean-Marc Lasgouttes
c7496a11b2 Skip paint event when in the middle of a buffer operation
This is detected when an undo group is open and contains at east one
element. This means indeed that changes are in progress. Note that the
group is in general opened in GuiApplication::dispatch. The code there
is changed to ensure that the group is closed before updating the
screen.

This patch is experimental. It is expected to be replaced in master by
a more complete solution. It could in the meantime be backported to 2.3.x.

Fixes bug #11159.
2018-05-31 23:26:17 +02:00
Jean-Marc Lasgouttes
b54fcc0b7f Fixup 7900e995: avoid null dereference
Spotted by Coverity.
2018-05-29 15:23:28 +02:00
Jean-Marc Lasgouttes
d1d3f75548 Fixup dd79338c: avoid hypothetical division by zero
Spotted by Coverity.
2018-05-29 15:18:01 +02:00
Jean-Marc Lasgouttes
c76b8b3a25 Fixup 57dc8175: initialize GuiCharacter::nospellcheck_
Spotted by coverity.
2018-05-29 15:08:38 +02:00
Jean-Marc Lasgouttes
947527084b Remove trailing _ to local variable
We reserve these to private members.
2018-05-28 11:43:24 +02:00
Juergen Spitzmueller
0aeeb78f3c Simplify cite engines code
As opposed to modules (from which the framework was initially borrowed),
we only allow one cite engine per document. Thus, we don't need to fiddle
with lists.
2018-05-20 12:27:03 +02:00
Juergen Spitzmueller
e077255aea Do not start from a non-reveant parent in Buffer cloning. 2018-05-16 08:35:21 +02:00
Jean-Marc Lasgouttes
d03deeca0c Avoid black screen on macOS
When paintEvent is triggered on macOS, the least we can do is to copy
our backing store to the screen.
2018-05-15 10:22:03 +02:00
Juergen Spitzmueller
a78dad7487 Align some strings 2018-05-11 12:59:26 +02:00
Juergen Spitzmueller
aa9543fa2b Add support for global float alignment
It is now possible in the float settings (doc dialog) to specify a global
(inner) alignment for floats, and in the float settings, this can be
overridden (just as with float placement)

Fixes: #8665

File format change.
2018-05-10 20:15:11 +02:00
Juergen Spitzmueller
3313e7d0ab Separate Text Styles and Text Properties 2018-05-08 07:46:53 +02:00
Juergen Spitzmueller
3825b25aed GuiCharacter: Reset > Default 2018-05-07 09:03:45 +02:00
Juergen Spitzmueller
57dc817581 Add \nospellcheck font property
This revives a ten year old idea (and patch) by Dov.

You can now mark in the character dialog text and exclude it from spell
checking.

Fixes: #1042

File format change

Remaining issue: The instant spell checking marks are not immediately
removed, but only after some editing.
2018-05-06 19:48:21 +02:00
Juergen Spitzmueller
16918f9706 More UI tuning following Scott's suggestions 2018-05-05 18:48:43 +02:00
Juergen Spitzmueller
9c0bea33b6 Fine-tune character dialog UI 2018-05-05 17:45:17 +02:00
Juergen Spitzmueller
7be3805a65 Further BC fixes to GuiCharacter 2018-05-05 17:24:09 +02:00
Juergen Spitzmueller
01ca601877 Fix BC issue with autoapply 2018-05-05 12:35:07 +02:00
Juergen Spitzmueller
fe18bea3d0 Have OK/Apply buttons initially disabled. 2018-05-05 11:33:45 +02:00
Juergen Spitzmueller
164e8d1dc8 Add missing transition to button controller
(needed by GuiCharacter, the only user of that specific policy)
2018-05-05 11:32:56 +02:00
Juergen Spitzmueller
d4598bab62 Remove unused code 2018-05-05 11:28:54 +02:00
Juergen Spitzmueller
6c35d5cb5b Fix signals 2018-05-05 10:29:26 +02:00