Commit Graph

25109 Commits

Author SHA1 Message Date
Juergen Spitzmueller
a368439bcc If a master is being created at loading the child, un-hide it.
Fixes: #11162
2018-06-01 10:17:18 +02: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
Richard Kimberly Heck
efc9720b0d Revert "Remove test for files when using batch mode."
We are not really ready for this case.

This reverts commit e143f0b9e9.
2018-05-30 23:13:07 -04:00
Richard Kimberly Heck
e143f0b9e9 Remove test for files when using batch mode.
As Kornel pointed out, it's possible to give a command sequence, or
multiple "-x" arguments, and carry out an operation without actually
giving LyX a filename argument. This will lead to cases like:
    lyx -batch -x buffer-export
which don't do anything, but it's not catastrophic.
2018-05-29 15:48:56 -04: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
6bcc7d6e42 Fixup 4e9084b3e4
The reordering of the code was incorrect. The code calling Change::paintCue()
has to come last, since it depends on the change_drawn value.

Spotted by coverity.
2018-05-29 15:00:04 +02:00
Jean-Marc Lasgouttes
5c3900344a Fixup a8fd12d1
Remove unused variables.
2018-05-28 18:02:54 +02:00
Jean-Marc Lasgouttes
a8fd12d18c Cosmetics
Use range-for in TextMetrics.cpp.

Rename InsetList::InsetTable to InsetList::Element.
2018-05-28 12:33:17 +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
Jean-Marc Lasgouttes
4e9084b3e4 Draw frame last when drawing text insets
This avoid cases where the blinking cursor erases the frame.
2018-05-28 10:33:55 +02:00
Juergen Spitzmueller
8bd65041f2 Fix encoding problems in \input@path
As of LaTeX2e 2018, characters are made active earlier, which results
in new expansion problems.

Following a suggestion of Markus Kohm (pc) and the TL mailing list [1],
we embrace non-ASCII input paths in \detokenize. This relies on e-tex,
but I think we can assume this is nowadays available everywhere.

[1] http://tug.org/pipermail/tex-live/2018-May/041691.html

Fixes: #11146
2018-05-27 11:54:07 +02:00
Juergen Spitzmueller
5996b2e373 Unbreak bibitem citations
ENGINE_TYPE_DEFAULT includes the other two types. Thus we need to check
for multiple engines in parallel (and reintroduce the binary operators)
2018-05-27 11:49:10 +02:00
Juergen Spitzmueller
a4c416a03d disambiguate function name 2018-05-27 09:57:22 +02:00
Kornel Benko
1a36fee79d Added testcase for ticket #11156
The test is named "AMS-import", with defined test-labels 'tex2lyx' and 'batch'
2018-05-24 20:49:11 +02:00
Juergen Spitzmueller
8b4c76fb24 Consider required modules when checking for layout definitions in modules
Fixes: #11156.
2018-05-24 17:38:10 +02:00
Jean-Marc Lasgouttes
a3868e40a4 Set caret height correctly for cells inside math rows
The code in 90cfe4ec3 only handled the cells which metrics are
computed directly, and missed those who were linearized inside a MathRow.

To fix this, we use the fact that all the positions in a math row have
the same height and make MathRow::metrics return a boolean indicating
whether it contains a caret for a given bufferview.

Fixes bug #11153.
2018-05-24 14:47:08 +02:00
Juergen Spitzmueller
429edc0a59 tex2lyx: extend titling support
Rather than checking for hardcoded title commands such as \maketitle,
use the titlename and titletype as defined in the layout.

This now also includes title environments.

Fixes part of #6461
2018-05-23 12:34:41 +02:00
Juergen Spitzmueller
da4e51a6c2 Fix wrong warning. 2018-05-21 13:46:05 +02:00
Juergen Spitzmueller
4f33b7d1d1 Update tex2lyx tests 2018-05-21 13:46:04 +02:00
Juergen Spitzmueller
98621be1ba Support \cite command in tufte classes
This is an extra command used for sidenote citations. Since we do not
provide \cite with natbib (which tufte uses) as a choice, we use the
new AddToCiteEngine feature to add it.

File format change.

Fixes: #11150
2018-05-21 13:46:04 +02:00
Jean-Marc Lasgouttes
c58b914c80 Reset dim width when computing MathRow metrics
This was dropped by mistake in 7bcb78a77.

Fixes bug #11152.
2018-05-21 13:26:48 +02:00
Juergen Spitzmueller
bbf287a3c6 Allow for cite engine and format definitions/modifications in layouts
Now layout files and modules can extend the cite engines or completely
overwrite them, and modify the cite formats.

Any CiteEngine definition in a layout/module will completely overwrite
those by cite engine files.

AddToCiteEngine will extend them (add if they do not exist yet).

Any CiteFormat definition in a layout will be preferred to those in cite
engines. CiteFormat definitions that are not touched by the former are
still active, though (so, as opposed to CiteEngine, a CiteFormat does
not completely overwrite those by the engine files).

Layout format change.
2018-05-21 12:46:53 +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
Enrico Forestieri
17ea71b31c Fix bug #11151 2018-05-19 21:33:29 +02:00
Juergen Spitzmueller
e077255aea Do not start from a non-reveant parent in Buffer cloning. 2018-05-16 08:35:21 +02:00
Pavel Sanda
d0cd06e191 cosmetics 2018-05-15 11:01:22 +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
Jean-Marc Lasgouttes
3591aa833f Implement layout-toggle lfun
This is like `layout', except that the layout is reset to default if
it was already correct. In the case of a selection, the layout is set
normally if some layouts in the selection are not at the required
layout; it is reset only if all the layouts of the selection already
have the required layout.

Part of ticket #9864.
2018-05-15 00:03:55 +02:00
Jean-Marc Lasgouttes
c4075367fa Removed unused private variable
Spotted by clang++ 6.
2018-05-14 23:03:50 +02:00
Jean-Marc Lasgouttes
255a5cf401 Clean up code of LFUN_LAYOUT
Factor out some code in helper functions. Improve getStatus so that
icon is selected only when the whole selection has the correct layout.

This work towards ticket #9864.
2018-05-14 16:45:46 +02:00
Juergen Spitzmueller
3e24f0da98 Implement InsetFloat::contentAlignment() 2018-05-11 15:31:04 +02:00
Juergen Spitzmueller
de67b68b1d Fix InsetBox::contentAlignment()
Some cases where alignment is possible were missing.

Candidate for 2.3.x.
2018-05-11 15:11:06 +02:00
Juergen Spitzmueller
5dde4b1b3e Merge paragraphs when pasted into an inset that forbids multipars
Fixes: #8281
2018-05-11 13:17:39 +02:00
Juergen Spitzmueller
a78dad7487 Align some strings 2018-05-11 12:59:26 +02:00
Jean-Marc Lasgouttes
7f83d26934 Avoid crash when trying to handle FitCursor
It is better to handle SinglePar before FitCursor, since the later
requires correct metrics at cursor position.

Fixes bug #11139 and probably #11125.
2018-05-11 11:27:26 +02:00
Juergen Spitzmueller
db9e50bdcf update tex2lyx tests after file format change 2018-05-10 20:16:56 +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
Scott Kostyshak
23de5e5e19 Only show Accept/Reject Change options if relevant
In the context menu for a selection, we now only show the options
"Accept Change" and "Reject Change" if there is actually a change in
the selection. Similarly, in the toolbar, the buttons are only
enabled when there is a change in the selection.

This fixes #10338.
2018-05-10 12:58:44 -04:00
José Matos
37c9480656 Simplify the backup names when using an older file format.
Currently if we have a 2.3 file and we open it with a more recent version
we get:

original file: file.lyx
backup file:   file-lyxformat-544.lyx~

After this commit the backup file becomes

file-lyx23.lyx~

If the file is from a development version then we get the same result as before.
2018-05-09 08:53:28 +01:00
Scott Kostyshak
bde1834f7e Center longtable explicitly (#10690)
"Center" is the default of longtable, but some situations require it
to be centered explicitly, such as when using floatrow:

https://tex.stackexchange.com/questions/320592/floatrow-package-conflicting-with-centering-longtable
2018-05-08 11:18:07 -04:00
Richard Kimberly Heck
81abfdc13d Fix problem noted by Scott in bug #11125.
Need to set the Buffers for math insets, too.
2018-05-08 02:11:49 -04:00
Juergen Spitzmueller
3313e7d0ab Separate Text Styles and Text Properties 2018-05-08 07:46:53 +02:00
Juergen Spitzmueller
5b352e6e8e Fix cutnpaste error 2018-05-07 10:15:23 +02:00
Juergen Spitzmueller
3825b25aed GuiCharacter: Reset > Default 2018-05-07 09:03:45 +02:00
Juergen Spitzmueller
2f2102d0ba Paint nospell mark lower than foeign mark, since these can appear both
Also, assure that misspelled mark is not shown when nospellcheck()
2018-05-07 08:41:28 +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
Richard Kimberly Heck
c7a2011adf Remove unused function. 2018-05-05 12:02:10 -04: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
c62055458e Use a copy of BufferParams 2018-05-05 15:26:58 +02:00
Juergen Spitzmueller
a853dab61f Check script char fontenc from main language. 2018-05-05 15:26:37 +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
Juergen Spitzmueller
a320403590 Remove hack that's no longer needed 2018-05-05 10:28:43 +02:00
Juergen Spitzmueller
fe6b0e2670 Add and correct tooltips 2018-05-05 10:05:01 +02:00
Juergen Spitzmueller
01ffcd5f67 Add translator hints 2018-05-05 10:04:46 +02:00
Juergen Spitzmueller
0a8ec32a3b Remove connections
We have on_emphCB_clicked() and on_nounCB_cklicked() that call
change_adaptor at the end (after doing other things)
2018-05-05 10:00:20 +02:00
Richard Kimberly Heck
a2030abab9 Constify. 2018-05-04 15:42:01 -04:00
Richard Kimberly Heck
7f4f14786d Add missing connection after fb393b45. 2018-05-04 15:11:53 -04:00
Juergen Spitzmueller
f888afeb9e Small cosmetic addon to the character dialog redesign 2018-05-04 19:50:41 +02:00
Juergen Spitzmueller
fb393b450d Towards a sane character dialog
This is a proposal, but I think you should try it out in order to comment

What this does, is:

1. Remove the toggle madness. This is really not something anyone
understands without knowing the code, and its very unusual UI
(fixes #4836)

2. Separate and group things that were put all into the "Misc" trashcan
combo

3. Let the dialog reflect the font settings at cursor (selection)

Now the dialog looks more like character dialogs from other applications,
and I think it is more in line with what users expect.

Comments very welcome (and of course I will revert if you want to have
the old idiosyncratic thing back).
2018-05-04 19:34:09 +02:00
Juergen Spitzmueller
9fd94a2dd0 Fixes for nested ulem commands
1. \uuline must be on top of \sout
2. \uwave in \xout needs a hack to compile
2018-05-04 19:32:38 +02:00
Richard Kimberly Heck
ea9fe52336 Note. 2018-05-04 12:39:07 -04:00
Juergen Spitzmueller
df74be4cea Set main_fontenc runparam also for paragraph-only source preview. 2018-05-04 16:37:21 +02:00
Juergen Spitzmueller
f479c5e8c7 cprotect include inset
We \cprotect them in fragile context. This allows \input, \include as
well as \verbatiminput and \lstinputlisting in sections etc.

They still don't work in titling (#2528)
2018-05-04 11:56:42 +02:00
Richard Kimberly Heck
df5805917b Do not step equation numbers in deleted equations. 2018-05-03 00:05:21 -04:00
Richard Kimberly Heck
200064e9a4 Do not step counters in deleted material.
Also, display the counter as "#" if the inset is deleted.
2018-05-02 23:56:41 -04:00
Richard Heck
cc4bfc7f04 Add toolbar menus for custom insets and character styles.
I'm open to putting this elsewhere on the toolbar, or even on a
different toolbar. Also, we need decent icons. These ones are not
intended seriously but were just borrowed for testing purposes.
Anyone have good ideas about icons?
2018-05-02 20:31:24 -04:00
Richard Kimberly Heck
e91245362f Fix indentation. 2018-05-02 19:57:37 -04:00
Pavel Sanda
641ae5c7ad Enable graphics-unify only for selections containing graphics insets.
Follow-up of
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg204907.html
2018-05-02 22:38:42 +02:00
Jean-Marc Lasgouttes
22de5c972a Move code around 2018-05-02 12:43:10 +02:00
Jean-Marc Lasgouttes
7f035b51a0 Revert "Update documentation"
This update was wrong.

This reverts commit 969540be59.
2018-05-02 12:38:40 +02:00
Jean-Marc Lasgouttes
969540be59 Update documentation 2018-05-02 12:21:29 +02:00
Juergen Spitzmueller
a756299c50 revert accidental commit 2018-05-01 21:47:41 +02:00
Juergen Spitzmueller
2009469219 Group the switch of encoding for listings in utf8 documents
Else, \cprotect'ed documents fail.
2018-05-01 14:21:05 +02:00
Richard Kimberly Heck
2777b51c58 Request buffer update rather than do it. 2018-04-30 22:31:50 -04:00
Richard Heck
35afcfb6dd Fix bug 11070.
Allows plural, caps, no prefix to be set via context menu.
2018-04-30 21:29:21 -04:00
Juergen Spitzmueller
9644916d32 Fake CJK quotes also for utf8 inputenc
The glyphs are not covered yet.
2018-04-30 15:22:50 +02:00
Juergen Spitzmueller
dd79338cff Try to make an educated guess about the logo extension on the banner 2018-04-30 12:59:54 +02:00
Juergen Spitzmueller
00e00b32fd cprotect: don't consider content in Notes, deactivated branches etc. 2018-04-30 09:53:14 +02:00
Juergen Spitzmueller
16dc796a47 Fix comment 2018-04-30 09:41:12 +02:00
Juergen Spitzmueller
768c9a552e cprotect allows to place environments in fragile contexts.
use that possibility.

Fixes parts of #5128.
2018-04-30 09:06:15 +02:00
Juergen Spitzmueller
15df033bce PassThru paragraphs have latex_language; consider this when checking
previous language

Fixes: #10793.
2018-04-29 13:19:27 +02:00
Juergen Spitzmueller
54aa0addee Allow adjustment of banner slogan size to localized slogan 2018-04-29 11:56:17 +02:00
Juergen Spitzmueller
0423d381e6 Localize slogan on LyX banner
Fixes: #11107
2018-04-29 11:26:25 +02:00
Juergen Spitzmueller
58d7bad447 Language::fontenc(): Don't check for LaTeX font with nonTeX fonts. 2018-04-29 09:21:35 +02:00
Scott Kostyshak
4f7a5f8c3e Fix duplicate, disabled "Separated Frame Below"
This commit fixes an issue where the menu option "Insert Separated
Frame Below" would show up twice, with one instance disabled. This
occurred when there was a "Standard" environment nested in a
"Frame". With this commit, the duplicate instance is removed.
2018-04-28 11:45:17 -04:00
Juergen Spitzmueller
0b2fae66e3 unicodesymbols: add general way to require a feature only for specific encodings
A feature can now be required only for specific input or font encodings:
- <feature>=enc1;enc2...  Require the feature <feature> only if the
                          character is used in one if the specified font
                          or input encodings.
- <feature>!=enc1;enc2... Require the feature <feature> only if the
                          character is used in a font or input encoding
                          that is not among the specified.
2018-04-28 13:31:29 +02:00
Juergen Spitzmueller
c7bdb3b342 Rework OK/Apply/Cancel UI of prefs dialog
Instead of "Save" (permanently) and "Apply" (temporarily), OK and Apply
now always save permanently, unless the new checkbox "Apply to current
session only" is checked.

Addresses: #10016
2018-04-28 11:19:26 +02:00
Scott Kostyshak
e49a10729e Initialize toolbarsMovable_
Valgrind detected a conditional jump because this member was not
initialized.
2018-04-27 21:20:56 -04:00
Juergen Spitzmueller
7018d3641f Don't add localswitch if no language changes 2018-04-27 18:27:21 +02:00
Kornel Benko
cf7c31b559 Amend 26ea1e1 for roundtrip tests 2018-04-27 12:49:13 +02:00
Juergen Spitzmueller
f778870338 Close/reopen local language switches at each par
Fixes: #11128
2018-04-27 09:48:14 +02:00
Jean-Marc Lasgouttes
90cfe4ec3b Adapt caret height to context in mathed.
Compute a height from current font and current cell vertical
dimensions in MathData::metrics(), because this is where current font
is known.

Introduce BufferView::setCaretAscentDescent to remember this value.

This mechanism is not used for text because Cursor::current_font is
restored by undo, and the caret height would not be changed then. But
in principle it is doable.
2018-04-27 00:03:48 +02:00