21847 Commits

Author SHA1 Message Date
Scott Kostyshak
6ac04e21f4 Update previews after pasting (#6211)
The reason we want to do this is for if there is pasting across buffers.
For within buffer, the previews should already be updated. Calling the
buffer-wide updatePreviews() might seem like overkill, but actually it
should be quick because only the previews that need updating are updated
(and this check feels quick to me, although I did not profile).

If we were to loop through the pasted text and update each preview
individually, this might take more time. When updating previews
together, only one .tex file is compiled.

(cherry picked from commit 73460423ad684b8728fe7bdf51f27dbc5cae5ea9)
2015-05-31 05:03:29 -04:00
Enrico Forestieri
0e2ea9d48c Fix bug #8258 (Zoom of editor doesn't zoom instant preview) 2015-05-30 18:09:28 +02:00
Enrico Forestieri
908ed2128d Fix bug #9371 (Math Preview doesn’t work in LuaTeX and XeTeX output modes by default) 2015-05-30 15:29:56 +02:00
Enrico Forestieri
043cf5a700 Fix bug #7850 (Preview of inline math misaligned) 2015-05-30 13:51:13 +02:00
Jean-Marc Lasgouttes
6e285a6e52 Create proper undo groups for advanced find and replace
Create new helper class UndoGroupHelper, which simplifies a lot the
handling of undo groups in cases like this one. The class tracks open
undo buffers and allows to switch buffers transparently.

Using the class for advanced search and replace is trivial. The class
may be useful in some other classes.

Also fix the status.21x file that had DOS end of lines and reorder a few undo-related entries.

Fixes ticket #8658
2015-05-29 19:24:36 +02:00
Jean-Marc Lasgouttes
0e64c8ab7a Fix bad font toggling after the layout has been changed.
When changing the paragraph layout, it is a good idea to call
{{{Cursor::setCurrentFont()}}} to make sure that all is in order.

Fixes bug #4394.
2015-05-28 17:01:46 +02:00
Jean-Marc Lasgouttes
ac271336dd Avoid crash with undo in a closed collapsable inset
The recipe for reproducing this crash is to do a search and replace
that changes a string present in a collapsed inset, and then undo.

This is a followup to d5eeabcf, which used editable() instead of
isActive(); this commit was amended at a6bc4a2a, since editable() is
not set properly in mathed.

Truth is, editable() is not the right property to test against, since
it is false for a collapsed inset, which does not prevent a cursor
from pointing inside. Therefore sanitize should not change the cursor
in this case.

Hopefuly, this is the last word on the subject. Alternative would be
to drop this if()-clause completely.
2015-05-27 10:55:18 +02:00
Uwe Stöhr
d9d3bda4b4 InsetTabular.cpp: fix bug #9570 also for branch 2015-05-25 16:57:04 +02:00
Juergen Spitzmueller
183204ffba Use trimmed string in [Inset]Layout Requires.
Fixes: #9518
2015-05-19 16:55:49 +02:00
Juergen Spitzmueller
f0bb9b32d1 Provide optional trimmed version of Lexer::getString and getDocString
Prerequisite to fix #9518
2015-05-19 16:52:32 +02:00
Richard Heck
2f80c1ca33 Fix bug #9544: Mark file clean after we write it.
(cherry picked from commit 61448d8cb2e922a9a891817a114c76c687be4811)

Conflicts:
	src/Buffer.cpp
2015-05-17 16:20:32 -04:00
Enrico Forestieri
a6843078af Also take into account bibtex bst files when saving-as.
No status line needed as this is an addition to [4543bf28/lyxgit].
2015-05-17 01:10:48 +02:00
Juergen Spitzmueller
05dafa205d Fix tooltip line breaks. 2015-05-16 17:37:17 +02:00
Juergen Spitzmueller
97e9c7d78c Clarify "Save compressed by default" feature (bug 7822) 2015-05-16 17:34:53 +02:00
Georg Baum
be41e2d16f Fix build with GNU libstdc++ C++11 ABI
The GNU libstdc++ that ships witch gcc 5 can be used with the same ABI as
older versions, or with a new ABI which is conformant to the C++11 standard.
LyX did not build if the latter was used:
https://kojipkgs.fedoraproject.org//work/tasks/1267/9651267/build.log

This is now fixed by detecting the ABI version and disabling the wrong forward
declarations. At the same time, STD_STRING_USES_COW is switched off for the
C++11 ABI version, because the std::basic_string implementation is now C++11
conformant. Since the GNU libstdc++ can also used by other compilers such as
clang, we must not test for the compiler version.
2015-05-12 21:24:05 +02:00
Uwe Stöhr
c391d599d9 GuiBox.cpp: fix button logic (fixes bug #9543) 2015-05-10 21:59:35 +02:00
Juergen Spitzmueller
14618dc0f5 Split different indices in the outliner
Fixes: #7012.

Conflicts:
	src/insets/InsetIndex.cpp
2015-05-09 17:52:47 +02:00
Georg Baum
b59e1bd79b Make static variable non-static
This is still a hack, but a less dangerous one. The old code had a problem
if it was called from different threads, or if for some reason it would get
called recursively.
2015-05-08 21:52:55 +02:00
Jean-Marc Lasgouttes
02dcf8ce10 Revert correctly cursor font after undo a font toggle
The recordUndoSelection call was done after the modification of cursor font. This is bad.

Fixes: #9537
2015-05-07 17:25:11 +02:00
Enrico Forestieri
8a015fce2f Don't update paths of non-existing files
No status line needed as this is an amendment to [4543bf28/lyxgit].
2015-05-05 22:47:46 +02:00
Enrico Forestieri
4543bf288d Update paths of included files when saving to a different folder.
Fixes #9528 and #5115.
2015-05-04 03:11:30 +02:00
Scott Kostyshak
73ad885a43 Update previews after doing a find/replace (#7242)
This commit addresses #7242 for normal Find/Replace. That issue was
fixed for Advanced Find at 29948eec.

(cherry picked from commit 66f527e417de916105680696bd44d7ad91ff60cb)

Added status.
2015-04-21 03:03:06 -04:00
Jean-Marc Lasgouttes
839f37317f Avoid requiring messages with empty language.
This is a follow-up to commit 8aa2d6b1.
2015-04-17 15:48:22 +02:00
Juergen Spitzmueller
7fbfc72e9a Remove problematic accelerator (#9495)
Seems there is no free accelerator left for the source view pane.
2015-04-11 16:47:30 +02:00
Juergen Spitzmueller
87a57902ca Prevent crash when attempting to restore a file multiple times.
We currently cannot restore multiple views of the same buffer properly.
On the mac, we even crash.
So do not try it, record each file only once in the last opened list.

Fixes: #9483.
2015-04-06 15:30:43 +02:00
Georg Baum
ccde90b440 Fix math macro crash (bug 9418)
In the test case the crash occured in mathml export of the temporary buffer,
because the macro was updated, and because one of the used other macros was
not copied, the macro argument was detached. However, the underlying problem
of the crash was a broken ArgumentProxy::mathMacro_ reference which became
invalid each time the ownng MathMacro was copied. In the bug test case the
copying happened due to resizing a std::vector, but any other copy would have
created the same problem. The crash did not always happen, because sometimes
the old freed memory was not immediately reused, so the invalid reference did
still point to usable data.

The fix is easy: Convert ArgumentProxy::mathMacro_ to a pointer and update it
always after creating a copy of the owner.
2015-04-05 18:38:08 +02:00
Juergen Spitzmueller
9f3f99dfef Use local babel language switch in fixed width cells in order to prevent unwanted whitespace
Fixes: #9455
2015-04-05 10:40:39 +02:00
Scott Kostyshak
cecd327755 Fix selection at borders of insets (#9487)
When at the last position in an inset, selecting to the right
should select the entire inset. This only worked if there was
already a selection (i.e. the selection was started not at the
boundary).

The behavior of this bug was changed by commit 73a7bf9d.  Before
that commit, if at the last position of an inset you select to
the right, nothing is selected but the selection is set. If you
select once more to the right, because the selection is set the
needsUpdate condition is satisfied so the whole inset is selected.

Note that everything here applies also to "first position of an
inset" and selecting to the left. By "selecting", I am referring
to LFUN_{CHAR,WORD}_{FORWARD,BACKWARD}_SELECT.

(cherry picked from commit 032da815fabf5478b447cc5b093ca2a44d72ae2f)
(added status entry)
2015-04-03 14:38:32 -04:00
Jean-Marc Lasgouttes
3cf887f08e Fix various warnings issued by clang++.
* remove unused class TexStream.

* remove unused virtual method Inset::cellXOffset

* remove second argument of FileDialog constructor, which was actually
  not used

* remove some dead local code

* remove some unused private members of classes

* in InsetMathNest::updateBuffer, fix the logic of a test
2015-04-03 15:20:54 +02:00
Alfredo Braunstein
273893a38a Text2.cpp (checkAndActivateInset, checkAndActivateInsetVisual): activate insets on selection if the anchor is inside the inset.
insets/InsetText.cpp (InsetText::edit): do not reset the selection
Fixes #2346.

(cherry picked from commit 25cf12d650f4da51b69e001f59803913d0cdb5be)
2015-04-01 18:41:46 -04:00
Alfredo Braunstein
e627e562a7 mathed/InsetMathHull.cpp (InsetMathHull::doDispatch): do not declare LFUN_FINISHED_* lfuns as undispatched after handling them
Fixes #9289, and an unreported cousin of #3900

(cherry picked from commit 866fc2afcc23a719919b600e10357152441a7d94)
2015-04-01 18:40:07 -04:00
Alfredo Braunstein
10b0fab02d insets/InsetTabular.cpp (doDispatch): fix to #9291. The problem was simply that the default status for the cursor in the call to *::doDispatch is "dispatched".
insets/InsetTabular.cpp (edit): do not reset the selection

(cherry picked from commit b2246c4ea295bb93923a9a9c47faba73f69b8a9f)
2015-03-30 20:42:30 -04:00
Alfredo Braunstein
d91035d89f Rewrite of change-related helpers
lyxfind.cpp(findNextChange, findPreviousChange, findChange, selectChange): factor the change-selection part out of the change-finding part
Text.cpp (acceptOrRejectChanges): call only selectChange

(cherry picked from commit 8f821dba70647b1547473aa44926eb1e6819b7a0)

Conflicts:
	src/Text.cpp
2015-03-30 20:41:25 -04:00
Jean-Marc Lasgouttes
c966875ece Call DEPM properly when going somewhere with outliner.
LFUN_PARAGRAPH_GOTO used to do a plain setCursor, whereas the more elaborate mouseSetCursor is a much better version.

Fixes bug #9479.
2015-03-30 10:50:24 +02:00
Jean-Marc Lasgouttes
22a9e27895 Fix setting Interlingua as GUI language
The problem came from the fact that Qt associates Interlingua to locale C.
Now, we do not rely anymore on the Qt locale to set the language. I suspect that the problem will still exist if the system locale is ia_IA.

Fixes bug #9267.
2015-03-30 10:30:56 +02:00
Enrico Forestieri
5f3bb073bb Allow using icon names in InsetInfo
Currently, only lfun names are accepeted but there are cases in which
the lfun name does not map directly to an icon. For example, in the
outliner, the icon named "promote" is used for the lfun outline-out.
As a result, a graphics inset is used in the documentation for describing
the corresponding icon. Now one can also use an icon name. The argument
of "info-isert icon" is first looked up as an lfun. If no corresponding
icon is found, the argument is taken as the name of the icon. If no such
icon exists, the "unknown" icon is used.
2015-03-28 20:36:05 +01:00
Stephan Witt
2622c99dd5 #9477 improved argument handling for LFUN_SPELLING_ADD,LFUN_SPELLING_IGNORE and LFUN_SPELLING_REMOVE (backport) 2015-03-28 11:07:56 +01:00
Jean-Marc Lasgouttes
c271973b85 Fix consecutive merging of tabular cells
This is a bug reported and fixed by Edwin Leuven.

Here is how Edwin described it in his inimitable minimalist style:
  first i merge the top-left two cells in a small, say 3x3, table

  if i then merge this multicolumn cell with the remaining cell in the first row
  my table ends up all bonkers
2015-03-25 09:49:43 +01:00
Jean-Marc Lasgouttes
a6bc4a2a34 Use isActive() instead of editable() in mathed.
Fixes crash introduced in [d5eeabcf/lyxgit].

editable() is more related to Texted. It is false for closed collapsable insets
Eventually the two methods should be merged.
2015-03-23 21:46:15 +01:00
Juergen Spitzmueller
4a83c642f9 Load amsthm after amsmath.
This follows a strong advice in the amsthm manual and fixes #7233.
2015-03-22 15:34:55 +01:00
Georg Baum
20c15f45d9 Fix stmaryrd operators with limits (bug 9458)
LyX did not display the limits of the big math operators defined by
stmaryrd.sty correctly. The reason for this was a missing check in
InsetMathSymbol::metrics(), where it is hardcoded which symbols use display
style limits and which symbols use inline limits. In an ideal world this
information would be contained explicitly in lib/symbols.
2015-03-22 09:31:04 +01:00
Jean-Marc Lasgouttes
713d83bf34 Toggle properly toolbar icons that set layout of a paragraph.
Fixes bug #9463.
2015-03-19 18:24:39 +01:00
Juergen Spitzmueller
d67e1789a3 Properly handle the bicaption package (bug #9449) 2015-03-18 08:42:49 +01:00
Juergen Spitzmueller
c549f11b83 Make the missing class warning opt-out 2015-03-17 14:21:32 +01:00
Juergen Spitzmueller
c4ed79bba6 fixltx2e must be loaded as early as possible
Fixes: #9452, #9361

This reverts the 'fix' to #7233, which must be solved differently.
2015-03-17 14:16:50 +01:00
Enrico Forestieri
1fb3f8b4e0 Fix bug #9453
This was due to a problem with the QProcess parser.
See #9453 for details.
2015-03-16 20:21:49 +01:00
Juergen Spitzmueller
b7d2169413 Phantom is fragile (#9456) 2015-03-16 17:25:15 +01:00
Juergen Spitzmueller
95e41332da Properly escape backslash in string
Richard, I took the liberty to just backport without further ado. This string is commented out anyway, but it constantly pops up as untranslated in the po files, which is a bit annoying
2015-03-16 14:33:11 +01:00
Juergen Spitzmueller
e715055373 Set the logic straight 2015-03-16 10:57:31 +01:00
Juergen Spitzmueller
69d10bd4c8 Allow to disable inputenc loading via 'Provides inputenc 1' 2015-03-16 10:55:47 +01:00