Commit Graph

8112 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
f9caebd29f Fix compilation warnings on windows. 2014-07-28 09:46:13 +02:00
Kornel Benko
5acc6b3791 Make it compilable under cmake again after the merge from str-metrics 2014-07-25 22:03:59 +02:00
Jean-Marc
41740ea915 Merge remote-tracking branch 'features/str-metrics'
This branch implements string-wise metrics computation. The goal is to
have both good metrics computation (and font with proper kerning and
ligatures) and better performance than what we have with
force_paint_single_char. Moreover there has been some code
factorization in TextMetrics, where the same row-breaking algorithm
was basically implemented 3 times.

Globally, the new code is a bit shorter than the existing one, and it
is much cleaner.  There is still a lot of potential for code removal,
especially in the RowPainter, which should be rewritten to use the new
Row information.

The bugs fixed and caused by this branch are tracked at ticket #9003:
http://www.lyx.org/trac/ticket/9003

What is done:

* Make TextMetrics methods operate on Row objects: breakRow and
  setRowHeight instead of rowBreakPoint and rowHeight.

* Change breakRow operation to operate at strings level to compute
  metrics The list of elements is stored in the row object in visual
  ordering, not logical. This will eventually allow to get rid of the
  Bidi class.

* rename getColumnNearX to getPosNearX (and change code accordingly).
  It does not make sense to return a position relative to the start of
  row, since nobody needs this.

* Re-implement cursorX and getPosNearX using row elements.

* Get rid of lyxrc.force_paint_single_char. This was a workaround that
  is not necessary anymore.

* Implement proper string metrics computation (with cache). Remove
  useless workarounds which disable kerning and ligatures.

* Draw also RtL text string-wise. This speeds-up drawing.

* Do not cut strings at selection boundary in RowPainter. This avoids
  ligature/kerning breaking in latin text, and bad rendering problems
  in Arabic.

* Remove homebrew Arabic and Hebrew support from Encoding.cpp. We now
  rely on Qt to do handle complex scripts.

* Get rid of LyXRC::rtl_support, which does not have a real use case.

* Fix display of [] and {} delimiters in Arabic scripts.
2014-07-25 20:10:55 +02:00
Jean-Marc
f4fc035cf6 Better algorithm for forcing bidi drawing
The use of RLO/LRO overrides to force text orientation was really hackish and the way it was done caused dropped letters in Mac OS X (for some unknown reasons).

This new approach is much cleaner, except that it relies on features not advertised in documentation
but present at least from Qt 4.5 to Qt 5.3:
* TextFlag enum values TextForceLeftToRight and TextForceRightToLeft, which are strong versions
  of QPainter::setLayoutDirection; they are passed as a parameter of QPainter::drawText.

* QTextLayout::setFlags method, which is required to pass the above flags to QTextLayout.

The unicode override method is still used to draw strings Mac OS X because, for some reason, the direction was not really enforced in this case.
2014-07-25 19:56:51 +02:00
Kornel Benko
63976066ad avoid qt4 variable names in cmake build 2014-07-21 08:49:05 +02:00
Jean-Marc Lasgouttes
bbe6e9f593 Revert optimization where several words are drawn at the same time
This can only be done where splitting of string is identical in row breaking and display. It will be possible to reintroduce this when row painting uses the tokenized row information.
2014-07-20 18:54:31 +02:00
Enrico Forestieri
4bdeae2733 Update autotools for building with Qt5.
The option --enable-qt5 allows configuring for Qt5. The default is Qt4.
Nothing special is done with respect to Qt4, apart from pulling in the
correct libraries. Indeed, other than the core and gui libraries, now
also the concurrent and widgets libraries are needed.
2014-07-19 03:34:28 +02:00
Enrico Forestieri
294d08b1bf Add forward search command for qpdfview.
Also update docs explaining how to activate reverse search in qpdfview.
2014-07-13 20:08:43 +02:00
Jean-Marc Lasgouttes
45eb314a86 Get rid of rtl_support preference
This variable was introduced to guard against any bad consequence of the then-new right-to-left
languages support. Let's be bold and get rid of it altogether!

Now right to left support is always enabled.
2014-07-09 21:11:08 +02:00
Jean-Marc Lasgouttes
ec42b2e4c9 Do not split words at selection boundary
The display of partially-selected word is now done in a new Painter::text method
which displays the string twice with different clip settings. This allows to
catter for the case where Color_selectiontext is not black.

Morover, the code that uses unicode override characters to force the
direction of a string is moved to lstrings.h.

Fixes: #9116
2014-07-08 21:30:06 +02:00
Jean-Marc Lasgouttes
2ff639a0e6 Fix positionning of cursor
The old implementation of Row::Element::pos2x and x2pos did not work
correctly with Arabic text, because characters can have shapes that
depend on context.

This new implementation leverages QTextLayout in a simplified way,
since only one word is added to the layout.

This allows to make Row::Element::x2pos more readable.

Fixes: #9115.
2014-07-08 21:30:05 +02:00
Jean-Marc Lasgouttes
4176795e72 Remove support for LyXRC::force_paint_single_char
This workaround is not necessary anymore, and it complicates the code.

The variable itself will be removed after the landing of the branch on
master.
2014-07-08 21:30:05 +02:00
Jean-Marc Lasgouttes
b0543270a9 Remove debug code from TextMetrics
After this, it is possible to remove one parameter to getPosNearX.
2014-07-08 21:29:52 +02:00
Jean-Marc Lasgouttes
f686375eec Change getColumnNearX to getPosNearX
The semantics was bad: the old implementation would return pos - row.pos(), and then all user of the function had to re-add row.pos().
2014-07-08 21:10:47 +02:00
Jean-Marc
93a43742a5 Fix a bunch of small performance issues spotted by cppcheck
Most of these are about passing const strings parameters as references.
2014-07-05 19:13:10 +02:00
Georg Baum
922d48da27 Make BufferList::fileNames() threadsafe
Using a static variable here was premature optimization: fileNames() is only
called from GuiRef (directly or indirectly), and since this is a dialog the
copying of a FileNameList is not noticeable at all.
2014-07-05 12:51:40 +02:00
Jean-Marc Lasgouttes
01c9bcb432 Get rid of ugly font metrics workarounds.
Now we have proper ligatures and kerning on screen...
2014-06-25 17:55:16 +02:00
Jean-Marc Lasgouttes
8539f756ed Implement real string width computation
Important features:
* widths are cached in a map
* old behavior is still used when lyxrc.force_paint_single_char is true.
2014-06-25 17:54:15 +02:00
Peter Kümmel
2f17858115 On Linux show in crash message box the backtrace 2014-06-14 11:25:25 +02:00
Georg Baum
f09a9fe2e6 Remove unsafe method FileName::tempName()
FileName::tempName() created a new temp file name by using qt to create a
temporary file with a unique name, and then deleting that file and returning
the name. This was unsafe, since other processes or even other threads of the
running LyX could create files with the same name between deletion and then
using the temp name.
This is fixed by using the TempFile class instead. As a side effect, a few
cases where the temp files were not deleted after usage were fixed as well.
The only place that is still unsafe is createTmpDir().
2014-06-09 13:05:50 +02:00
Georg Baum
c1ac09e11f Fix bug #7954 (now really)
Thanks to maciejr we know now what the remaining problem was with bug 7954:
My unicode symbol fallback works fine, the problem was that a font named
"Symbol" is available on OS X, but it does not use the font-specific encoding
we expect: Almost all glyphs are at their unicode code point.
Therefore the bug is fixed by re-enabling the unicode workaround and blocking
the Symbol font on OS X.
2014-06-07 10:54:17 +02:00
Peter Kümmel
080fca85a8 build with mingw on Windows and Linux 2014-06-07 08:06:13 +02:00
Scott Kostyshak
de091e6ceb Expand module names instead of buttons in settings
Maximizing the document settings window when on the modules pane,
the horizontal space is now given to the module names and so no
scrollbar is needed. Before, even when maximized, a scrollbar was
sometimes needed because the horizontal space was given to the
buttons in the middle, which did not provide an extra benefit.

The default sizeType was "Expanding" and is now changed to "Minimum"
for the horizontal spacer above the middle buttons.
2014-06-07 00:43:07 -04:00
Enrico Forestieri
ba603db942 Fix bug #9153 (Using mathpanel to insert matrix creates extra space on top)
The code was setting the current index before filling the
combo box items.
2014-06-06 16:14:24 +02:00
Juergen Spitzmueller
20bcaec061 Add layout tag that determines if/when a paragraph can be indented.
Fixes: #7327, #7458, #8670
2014-05-29 14:10:32 +02:00
Richard Heck
b992968a15 Fix bug #9131 for development branch. There are two parts to the fix.
The firs tinvolves a thinko in BibTeXInfo::expandFormat. We were previously
counting passes through this routine, which means: one for every character,
more or less. So long strings would hit the "recursion limit". But what
we are worried about is an infinite loop caused by misues of macros, so that
is what we need to count.

This prevents the error we were previously getting, but it reveals a huge
slowdown when one tries to open a citation inset with a large nubmer of keys.
So we also limit the number of keys we try to process, and the length of the
string we try to display, when we are generating citation information.

I'm convinced that there is a deeper problem in how citation information is
generated (see the bug tracker for more info), but that will require major
surgery and a file format change
2014-05-23 11:26:45 -04:00
Georg Baum
85db1005b6 Fix another crash similar to #9030
This one occured after the fix for bug #9030 if the cursor is in a math inset
and the edit menu is opened.
2014-05-22 22:02:46 +02:00
Georg Baum
2acd00fc17 Remove unneeded slash
addPath() always adds a slash at the end, os got a double one before.
Qt and the OS are clever enough to understand that, but a single slash
looks more nice.
2014-05-19 22:09:12 +02:00
Juergen Spitzmueller
c5753af50d Fix crash when right-clicking into an inset with more paragraphs than the main text.
Fixes: #9123.
2014-05-18 18:03:06 +02:00
Jean-Marc Lasgouttes
015333d987 Rely on Qt to handle small caps text
This has the advantage of simplifying our code and to produce the
correct output: the small capitals should have the exact same width as
the lower case letters.

The slanted fonts are also translated to oblique on Qt side, but this
does not seems to have an effect in my testing. It may be that proper
oblique fonts need to be installed.
2014-05-07 12:13:27 +02:00
Kornel Benko
fdd5a1bd5f make build: Versioning of lyx.svg (missed in previous commit) 2014-05-06 17:24:00 +02:00
Juergen Spitzmueller
2730f9e2b5 Fix View Source size
Fixes: #9084.
2014-05-01 18:00:37 +02:00
Vincent van Ravesteijn
2552c737be GuiLog: Use GuiClipboard to put the log on the clipboard
All direct interaction with the Qt clipboard is now done in either GuiClipboard or GuiSelection.
2014-04-29 15:38:35 +02:00
Vincent van Ravesteijn
847d1fb2f5 Use the cached value GuiSelection::selection_supported_
That's where it is for.
2014-04-29 15:17:15 +02:00
Jean-Marc Lasgouttes
5c32dc85d5 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
2014-04-22 00:04:04 +02:00
Richard Heck
065db68067 Fix a bunch of minor issues discovered by the cppcheck script. 2014-04-21 11:52:00 -04:00
Uwe Stöhr
658aa3f026 PrefLanguageUi.ui: change a string
to have uniform uppercases in this dialog
2014-04-21 11:51:59 -04:00
Uwe Stöhr
9776519cc5 PrefCompletionUi.ui: port commit 1a137950 2014-04-21 11:51:58 -04:00
Juergen Spitzmueller
df1dbe28ce Do not allow the manual insertion of a directory (without filename) into the import dialog and thus prevent an assertion.
Fixes: #7437
2014-04-21 11:51:58 -04:00
Juergen Spitzmueller
da196ed5b2 Fix corrupted PrefCompletionUI.ui 2014-04-21 11:51:58 -04:00
Richard Heck
f00104d222 Revert "Tooltip for completion word length."
This reverts commit 2aadcec1fc9ae784e6029b56790753ce82b9f055.

Conflicts:
	src/frontends/qt4/ui/PrefCompletionUi.ui
2014-04-21 11:51:58 -04:00
Juergen Spitzmueller
a70571258d Fix assertion when ChkTeX hit math.
The problem here was that we used texted-only methods (via paragraph()), which triggered the assertion as soon as we were inside math.

Fixes: #8798
2014-04-21 11:51:57 -04:00
Scott Kostyshak
abc4c663ca Focus on buffer after section select in Outliner 2014-04-21 11:51:57 -04:00
Richard Heck
d53cf7f575 Typo. 2014-04-21 11:51:57 -04:00
Richard Heck
fdbe775b9f This is the result of an audit of all static variables, looking
for possible thread conflicts, of the sort Georg resolved at
6a30211f. I have made static variables const where possible,
and marked cases that looked potentially problematic with the
comment:
	// FIXME THREAD
Many of these definitely are vulnerable to concurrent access, such
as the static variables declared at the start of output_latex.cpp.
Suppose, e.g., we were outputting latex and also displaying the
source of a different document.

I'd appreciate it if others could grep for "FIXME THREAD" and see
if some of these are harmless, or what.
2014-04-21 11:51:57 -04:00
Richard Heck
3d6790607e Tooltip for completion word length. 2014-04-21 11:51:57 -04:00
Benjamin Piwowarski
54a534c81f Really use qstr to convert a string in a QString 2014-04-21 11:51:57 -04:00
Benjamin Piwowarski
91980ebfc5 Use qstr to convert string to a QString 2014-04-21 11:51:56 -04:00
Juergen Spitzmueller
8913031faf Fix section-select when issued from outliner
Fixes: #8936
2014-04-21 11:51:56 -04:00
Benjamin Piwowarski
382b42d6c2 OS X: Title bar can be clicked to access file path 2014-04-21 11:51:28 -04:00
Benjamin Piwowarski
2da0d32771 CMake: specific modules for Qt5 2014-04-21 11:51:04 -04:00
Richard Heck
130c375174 Remove obsolete formats from file dialog
It is confusing for the users to see the formats 1.3--1.6 in the file-open
dialog and not the 2.0 format. The exotic extensions were only used when
e.g., LyX 1.6.x exported to LyX 1.5.x format.
2014-04-01 21:53:50 +02:00
Richard Heck
717d19d3c3 Fix for bug #8939: Don't just close if the user enters a shortcut
that is already assigned.

From new contributor Roy Xia.
2014-03-15 23:05:48 -04:00
Vincent van Ravesteijn
3dec25e5a7 Revert "Return an error if file-open is called with a non-absolute path"
Reverted because of
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg181795.html.

This reverts commit 9c4461deea.
2014-03-10 20:05:28 +01:00
Vincent van Ravesteijn
2db3f50186 Revert "Return an error on file-open only when a filename is given"
Reverted because of
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg181795.html.

This reverts commit a4d881c58e.
2014-03-10 20:05:18 +01:00
Juergen Spitzmueller
656586d9fc Unblock some more internal qt events while doing advanced f&r. This fixes #9009 and some remaining drawing problems for me. 2014-03-10 09:07:36 +01:00
Tommaso Cucinotta
eef602cc9e Prevent LyX from freezing in additional common cases where it would
try to show dialogs or ask for user input while doing advanced find
and replace. In many of these cases we should simply find a way for
avoiding lyx to show a dialog, however an extra info/warning dialog
is better than the GUI freezing and having to kill the process.
2014-03-09 15:43:58 +00:00
Richard Heck
80b058cb18 Fix some shortcut conflicts (bug 9008). 2014-03-08 17:25:57 -05:00
Stephan Witt
d39eae0a88 #6902: Enable About and similar menu items without view and create a new view if needed 2014-03-08 12:51:02 +01:00
Stephan Witt
0e7eaef349 * fix bug 8925: create a temporary action to avoid a menu with any action. Otherwise it will not shown on Mac OS X 10.9 with Cocoa 2014-03-08 12:49:40 +01:00
Georg Baum
be0cd47559 Work around broken math symbol display (bug 7954)
This extends the already existing math symbol fallback mechanism in two ways:
1) When considering the availability of the math font, also take broken
   code points into account. These are currently 0x0009 and 0x00ad, depending
   on the platform.
2) If the fallback symbol in the standard "Symbol" font is not given, or if
   the "Symbol" font is not available, or the fallback symbol is one of the
   broken ones, try to use a generic unicode symbol as second fallback instead.
   If this is available, we rely on Qt to find a font which has it. Only if
   this is not available, display the symbol as ERT.
This ensures that we do never get a symbol which is not displayed: Either
it can be displayed, with or without fallback, or it will be shown as ERT.
2014-03-08 11:13:39 +01:00
Juergen Spitzmueller
0c447db0ca Adjust FIXME 2014-03-05 12:16:57 +01:00
Jean-Marc Lasgouttes
ad56bded03 Bug #9005: various things that do not work as intended in passthru paragraphs
* disable branch-add-insert in pass thru paragraphs

* when it is not possible to input a quote inset, insert a single
  ascii quote when argument to quote-insert is "single"

* handle "mathspace" dialog in Text::getStatus

* disable insertion of newline inset in pass thru paragraphs

* handle "mathdelimiter" and "mathmatrix" dialogs in GuiView::getStatus.
2014-03-04 11:56:03 +01:00
Jean-Marc Lasgouttes
8f8e8ed43c Fix bug #8998: changed document setting is recoded twice as undo
The general trick to avoid this kind of problems is to use undo groups.
2014-03-03 18:28:23 +01:00
Juergen Spitzmueller
5c4acd6bc0 Add FIXME 2014-03-03 10:45:40 +01:00
Prannoy Pilligundla
214f7ed262 Allow statusbar to be set on or off in full screen mode as a
preference.
2014-02-25 20:48:56 -05:00
Richard Heck
e5ea535952 If the selection is some sort of URL, then make it the target, not
the name, in the hyperlink. Fixes bug #8792.

This also fixes a bug discovered while working on this code: The
params passed to GuiHyperlink were never used.
2014-02-23 11:36:54 -05:00
Juergen Spitzmueller
5c1731b060 Fix #8657 on Linux.
On windows, there is apparently some more work to do.
2014-02-23 13:33:04 +01:00
Pavel Sanda
02bde93d2a Allow statusbar toggling in fullscreen (part of #8816). 2014-02-22 00:21:17 -08:00
Richard Heck
7220f1459e Fix bug #8540 by not resetting the GUI if the request came from
the minibuffer. As the comments explain, this leaves a different
bug, but (a) it isn't a crash and (b) it probably won't affect
many users, if *any* users.
2014-02-18 10:42:52 -05:00
Richard Heck
0a5b33bcad Rename a routine. 2014-02-18 10:42:52 -05: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
fa6b388cb3 Do not issue module warnings when just cloning a buffer (#8864) 2014-02-09 11:16:20 +01:00
Juergen Spitzmueller
6837345209 Fix crash 2014-02-06 13:07:00 +01:00
Juergen Spitzmueller
b13f5dee53 Fix assertion in editing math (bug #8946) 2014-02-06 11:09:02 +01:00
Juergen Spitzmueller
5a669fa62b Style 2014-02-04 10:37:29 +01:00
Vincent van Ravesteijn
cda585baf5 CMake: Move biblio test projects into tests group 2014-02-03 20:07:09 +01:00
Juergen Spitzmueller
ef5d702325 Harmonize naming 2014-01-27 12:04:58 +01:00
Juergen Spitzmueller
e6c5f9a17c Whitespace 2014-01-27 11:14:24 +01:00
Juergen Spitzmueller
5a3f1a731f Extend environment-split to an 'outer' split function
This fixes a major beamer UI flaw reported by several users.
2014-01-27 08:01:24 +01:00
Scott Kostyshak
27131e655a Shortcut box now stays open if bad input (#8703)
This allows the user to correct the bad input without
having to enter the other fields again in a new dialog.

Patch from Martin Hoffmann.
2014-01-14 08:04:05 -05:00
Stephan Witt
358e9ab31b fix Symbols dialog box grid size in case of broken QFontMetrics::maxWidth() 2014-01-04 20:14:06 +01:00
Enrico Forestieri
581400937d Fix file dialogs with Qt 5.2.0 and later.
See https://bugreports.qt-project.org/browse/QTBUG-34132

   * [QTBUG-34132] QFileDialog does no longer instantiate widgets if a
     native dialog will be used instead.  Therefore some accessors
     which previously returned unused objects will now return null.
     As before, you can set the DontUseNativeDialog option to ensure
     that widgets will be created and used instead.

Seemingly, Qt uses native dialogs by default starting from version 5.2.0.
When trying to open a file dialog, LyX segfaults in release mode, whereas
Qt asserts in debug mode:
ASSERT failure in QList<T>::at: "index out of range",
file /usr/local/qt/5.2.0/include/QtCore/qlist.h, line 472

This is avoided by explicitly setting the DontUseNativeDialog option
in the code path selected by *not* setting USE_NATIVE_FILEDIALOG.
This option was introduced in Qt 4.5, which is the minimum required
for compiling LyX. So, it is not protected by a preprocessor macro.
2013-12-24 17:21:56 +01:00
Juergen Spitzmueller
49d3557d0c Correct \file statement 2013-12-21 12:58:23 +01:00
Vincent van Ravesteijn
a4d881c58e Return an error on file-open only when a filename is given
Fixes: 9c4461de
2013-12-03 06:37:27 +01:00
Vincent van Ravesteijn
9c4461deea Return an error if file-open is called with a non-absolute path 2013-12-02 21:04:46 +01:00
Juergen Spitzmueller
44df37ab2a Check if string holds absolute file name before passing to FileName
See http://comments.gmane.org/gmane.editors.lyx.cvs/38213http://comments.gmane.org/gmane.editors.lyx.cvs/38213
2013-12-02 09:50:21 +01:00
Juergen Spitzmueller
766e8b1e33 Also when not using tabs, do not open a file twice if already opened (part of #8787) 2013-11-26 16:12:52 +01:00
Pavel Sanda
105f9bb5d9 Get rid of one useless translation.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg181106.html
2013-11-17 10:41:18 -08:00
Juergen Spitzmueller
c89ae3b517 Add missing widget update 2013-11-15 19:29:15 +01:00
Juergen Spitzmueller
e014f3fabf Some fixes to the SaveAs dialog
LFUN_BUFFER_SAVE_AS has an optional argument where an initial format can be preset

This fixes:

* The remainder of bug #3402: Open Export As dialog when attempting to export to read-only directories
* Bug #8886: 'export as' should default to the default document output format
2013-11-15 09:20:07 +01:00
Juergen Spitzmueller
ed268ac9f7 Clarify description 2013-11-15 08:57:11 +01:00
Juergen Spitzmueller
ab96df492a List all exportable document formats in the Save As dialog, not only the selection from the export menu 2013-11-15 08:56:13 +01:00
Scott Kostyshak
1e365fe315 Focus on custom line edit when custom is selected
Do so for the horizontal and vertical space dialogs.
2013-11-15 01:03:14 -05:00
Juergen Spitzmueller
68a4a53b36 Do not try to validate custom value in VSpace dialog if it is disabled 2013-11-14 10:42:24 +01:00
Juergen Spitzmueller
70b0298fe2 Fix shortcut clash (bug #8878)
Patch by charley
2013-11-12 16:27:32 +01:00
Juergen Spitzmueller
7e22abec5d Fix bug 8880: do not try to validate custom value if it is disabled 2013-11-12 15:48:34 +01:00
Juergen Spitzmueller
ce8ec78783 Fix crash when using context menu in empty outliner
Fixes: #8885
2013-11-10 15:31:27 +01:00
Tommaso Cucinotta
275f269cb7 Advanced F&R dialog does not need to be restored at start-up. 2013-10-26 18:37:25 +01:00
Vincent van Ravesteijn
514aef937a Revert "Fix make distcheck for monolithic build"
This was committed by accident.

This reverts commit 9734ab7e34.
2013-10-12 02:41:36 +02:00
Vincent van Ravesteijn
9734ab7e34 Fix make distcheck for monolithic build 2013-10-12 02:38:15 +02:00
Tommaso Cucinotta
acbba50a65 Added tooltip to new math-only checkbox in advanced options of advanced find & replace. 2013-10-13 11:36:38 +01:00
Tommaso Cucinotta
b93f2c20d3 Added restrict-search-to-maths-only checkbox to advanced pane of Advanced F&R. 2013-10-13 00:59:46 +01:00
Jean-Marc Lasgouttes
b89ef8a5b3 Revert "Do not kill the undo stack when doing a Save As..."
This commit was causing bug #8821.

This reverts commit 467422f9df.
2013-10-04 15:01:42 +02:00
Juergen Spitzmueller
5686ad11f3 Fix loop when trying to export a read-only document 2013-09-16 10:13:16 +02:00
Juergen Spitzmueller
b7c1bbfb0b Export as: Further cleanup 2013-09-14 17:53:57 +02:00
Juergen Spitzmueller
2535f2f271 Further localization fixes 2013-09-14 15:40:57 +02:00
Juergen Spitzmueller
e100536d59 Fix 'Export As...' in non-English localizations
It is always a bad idea to compare a localized string. I think the whole method Formats::getFormatFromPrettyName (which is now unused) should be ditched. This is bound to fail.
2013-09-14 13:11:47 +02:00
Juergen Spitzmueller
53445f7b99 Localize 'Export As...' dialog 2013-09-14 12:36:58 +02:00
Juergen Spitzmueller
151158f191 Fix string (patch by Jean-Pierre Chretien) 2013-09-14 11:39:33 +02:00
Jean-Marc Lasgouttes
78780e7b38 Allow master view/update when current buffer is the master 2013-09-01 20:14:44 +02:00
Tommaso Cucinotta
cd84a3024d Now an attempt to export into a folder without write permission causes LyX to automatically pop-up the "Export As" dialog (addressing #3402). 2013-08-26 11:28:07 +01:00
Kornel Benko
bbe183b087 Cmake testing: Added test_biblio 2013-08-07 15:00:03 +02: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
Tommaso Cucinotta
b32ce2cf08 When agreeing to wrap-around, but nothing is found, keep the cursor where it originally was.
Now this is coherent with Advanced F&R.
2013-07-22 23:55:43 +01:00
Juergen Spitzmueller
2f2841a016 Establish missing connections to change_adaptor 2013-07-21 19:27:57 +02:00
Tommaso Cucinotta
2a86379ea7 Adding wrap-around pop-up question to simple find and replace dialog (fixing enhancement request #1262). 2013-07-21 17:51:53 +01:00
Juergen Spitzmueller
6445cd9df4 Bug in 'Use non-tex fonts' checkbox auto-toggling (#8717) 2013-07-20 16:15:47 +02:00
Juergen Spitzmueller
d788d497aa Trivial fix: escape ampersands in file names before pushing to tab header (#8757) 2013-07-19 15:55:56 +02:00
Juergen Spitzmueller
6f9a272ca3 Fix toggling of 'misc' font options (bug #8764) 2013-07-17 08:30:42 +02:00
Jean-Marc Lasgouttes
deb6e16e79 Move a Qt workaround to the Qt frontend. 2013-06-04 12:08:36 +02:00
Vincent van Ravesteijn
9a6c402a82 Make sure numeric conversions are not locale dependent
In [19024f72\lyxgit] this line was removed. Later this caused that floats were converted to strings using ','s instead of '.'s. Readding this line fixes this.
2013-06-03 17:58:06 +02:00
Vincent van Ravesteijn
83399dcb7a PrefsUi: Remove unneeded widths 2013-06-02 23:30:06 +02:00
Juergen Spitzmueller
8f287f5ffa Implement option to set a global default output format for dics with non-tex fonts (#8706) 2013-06-01 16:58:34 +02:00
Juergen Spitzmueller
1e42af6c44 Windows compilation fix 2013-05-31 14:27:39 +02:00
Juergen Spitzmueller
a2b34f66ea revert unintended commit 2013-05-31 11:07:48 +02:00
Juergen Spitzmueller
2c1679e958 Small UI polishment 2013-05-31 10:45:21 +02:00
Jean-Marc Lasgouttes
19024f7255 Implement native reading of mo files.
Get the default language by a mix of QLocale and LyXRC::gui_language

Known limitations:
   * encoding is supposed to be UTF-8 (the charset parameter is checked);
   * context is not handled (implemented differently in LyX);
   * plural forms not implemented (not used for now in LyX);.
   * tThe byte endianness of the machine on which the .mo file have been
     built is expected to be the same as the one of the machine where this
     code is run.
2013-05-30 22:10:01 +02:00
Juergen Spitzmueller
bfaa84d97f Attempt to fix #8702 2013-05-28 11:45:42 +02:00
Juergen Spitzmueller
9992348223 Add FIXME 2013-05-27 18:48:46 +02:00
Juergen Spitzmueller
83a6107392 Recognize biber warnings/errors/info messages 2013-05-26 16:06:13 +02:00
Stephan Witt
75c631df7f On Mac, moving down a paragraph should place the cursor at the end of the current paragraph
(unless it's already there, in which case it should move to the end of the next paragraph).
Change the preference setting name (mac_like_word_movement to mac_like_cursor_movement)
to better reflect its function.

Patch and description from Bennett Helm
2013-05-25 18:02:21 +02:00
Uwe Stöhr
427aeff90f GuiBox.cpp, InsetBox.cpp: fix some wrong logic
- InsetBox.cpp:
 a framebox without inner box and without a width is \fbox
 a framebox with inner box is also \fbox
 a framebox without inner box and with width is \framebox

- GuiBox.cpp: the width checkbox must be checked if there is width
2013-05-25 15:07:17 +02:00
Uwe Stöhr
472732f92d GuiBox.cpp: addendum to [f04c7711/lyxgit]
- this was forgotten to commit;
(without this we would get invalid LaTeX code when changing in the box dialog a makebox without a width to a minipage and press apply - a makebox required to specify a width, at least an invisible one like "0cm")
2013-05-25 13:52:09 +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
Pavel Sanda
84c5e67e07 Header cleanup cont. 2013-05-23 22:12:29 -07:00
Pavel Sanda
de9d8cc0ba Header cleanup cont. 2013-05-22 19:58:58 -07:00
Pavel Sanda
707b099102 Header cleanup cont. 2013-05-20 18:47:16 -07:00
Pavel Sanda
4c0ef38200 Header cleanup cont. 2013-05-19 18:07:53 -07:00
Vincent van Ravesteijn
c8d685c665 Fix zombie toolbars (bug 8520)
If there is a new toolbar, it will not be restored by Qt and we need to
initialize it ourselves. However, it is not so easy to find out which
toolbars are restored by Qt and which are not. For this, the setVisible
function of GuiToolbar is 'misused'. If the visibility is set, the toolbar
must have been restored by Qt and we should leave it alone.
2013-05-19 22:17:16 +02:00
Vincent van Ravesteijn
327f7ed90d Seed Qt's random generator
LyX uses QTemporaryFile to create a unique temporary directory. This
temporary directory will consist of two random characters and the process
identifier (PID).

Currently, the two random characters are often the same because Qt's
random generator was not seeded. If there are a lot of lyx temporary
directories accumulated, the chance of failing to find a unique temporary
directory is (N/100)%.

The temporary directories can be left behind if either LyX crashes, or
when a file in the temporary directory is opened in another viewer when
LyX closes. This can be a pdf that is viewed in a reader that disallows
the file to be removed while viewing it.
2013-05-19 13:59:45 +02:00
Julien Rioux
cde541d785 New \cite_engine_type default.
The default citation capability of LaTeX is not a true numerical
citation engine, rather it uses a mixture of labels/numbers. Thus
we now distinguish them: "numerical" always increments the bibitem
counter and uses its value as a numerical citation label, while
"default" only uses the bibitem counter when no label is provided.

LyX file format incremented to 471.
2013-05-16 20:39:23 +02:00
Vincent van Ravesteijn
483e0f61e7 GuiAbout: Add missing include 2013-05-15 07:47:02 +02:00
Georg Baum
7bdc34a987 Implement forced local layouts
These should be used if any new style needs to be introduced in the stable
2.1 series: If the ForceLocal flag of the style is set, it will always be
written to the document header, so that even older 2.1 versions can read
and correctly output the document.
2013-05-15 07:19:49 +02:00
Vincent van Ravesteijn
db32d1b155 Only show the configuration of theme icons on X11
Also hide the ui items in the constructor to prevent flickering.
2013-05-14 18:04:17 +02:00
Vincent van Ravesteijn
147dcb4cb9 Make the use of system's theme icons configurable
A lyxrc variable is added and a checkbox is added to the LyX->preferences
dialog.
2013-05-14 17:26:06 +02:00
Vincent van Ravesteijn
b1f6ab69f2 Use system's theme icons
On X11 Qt offers the possibility to use the system's icons. To this end,
we must link the "lyx command" to a standard action icon as specified in:

http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
2013-05-14 17:26:06 +02:00
Vincent van Ravesteijn
62d6dcde6e qt5: Only include a single header to fix compilation 2013-05-14 14:19:38 +02:00
Uwe Stöhr
ef94c42383 GuiMathMatrix.cpp: remove an unused header
- sorry, I accidentally added it in the last commit
2013-05-14 02:26:22 +02:00
Uwe Stöhr
4b7fd9fea2 GuiMathMatrix.cpp: fix bug #7049
- we should not fill the dialog comboBoxes in the .ui-files
2013-05-14 02:19:43 +02:00
Vincent van Ravesteijn
813c00a21f Use [[Context]] for the msgid of some strings 2013-05-13 22:22:04 +02:00
Vincent van Ravesteijn
cba5060e74 Translate build version strings 2013-05-13 12:57:21 +02:00
Vincent van Ravesteijn
ed5585966b Remove the 'running' booleans quit and optional
Reason for this 'cleanup' is the strange "optional = false" lines at the
end of the "case md_item" and "case md_subitem". Then, it is nicer to
directly use the value of the switch to be the running variable and to use
this to determine whether an item is optional and whether we should quit.
2013-05-13 11:37:26 +02:00
Vincent van Ravesteijn
a033b88a37 Fix assert: Do not use translated names as keys
The panels in GuiDocument and GuiPrefs are stored in a map. The keys are
the translated descriptions of these panels. Whenever someone changes the
gui language and reopens the Document Settings pane, LyX asserted because
it could not find the "Child Documents" pane.
2013-05-13 10:00:57 +02:00
Vincent van Ravesteijn
3e65edd729 Add a function to translate QStrings 2013-05-13 10:00:49 +02:00
Vincent van Ravesteijn
03f98402f4 Fix crash with FindAndReplaceUi
In commit bd9e8fecd the currentIndex of the FindAndReplaceAdv Pane was
changed from 0 to 1. Since then LyX crashed when requesting the pane or
when changing LyX preferences.

This patch reverts this, although it is not clear why it would crash
otherwise. It is still committed like this, because LyX is unusable
without.
2013-05-12 16:14:27 +02:00
Lars Gullik Bjønnes
704328d348 Remove ; from end of function definitions 2013-05-12 13:04:18 +02:00
Uwe Stöhr
6cfa7feb6d PageLayoutUi.ui: use a more sensible option name 2013-05-10 18:34:05 +02:00
Uwe Stöhr
1112a17372 GuiMathMatrix.cpp: fix a compiler warning 2013-05-10 13:13:20 +02:00
Jean-Marc Lasgouttes
151960440e Another try at making the source view dock arrange itself.
The idea is to minimize the size of the form that contains the buttons.

Since I do not really know what I am doing, I will revert if problems occur.
2013-05-07 11:30:46 +02:00
Uwe Stöhr
72b2c54fae GuiBox.cpp: fix a dialog initialization issue
thanks Jean-Marc for the hint
2013-05-06 01:31:04 +02:00
Tommaso Cucinotta
bd9e8fecd3 Automatic horiz/vert switch also for Advanced Tab (completing e3677975). 2013-05-05 15:09:53 +01:00
Tommaso Cucinotta
e36779755e Automatic horiz/vert switch of layout when docking Advanced F&R pane top-bottom/left-right (copying 49c2450f). 2013-05-05 14:08:40 +01:00
Pavel Sanda
49c2450f3f Add layout intelligence to View Source pane (bug #8653).
View Source pane layout now automatically switches between horizontal
and vertical design when docked in vertical or horizontal way.

Original idea and patch from Edwin.

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

Note: the long standing-fight with too bulky minimal QTextEdit size
is now solved via ViewSourceUi.sizePolicy=Ignored.
2013-05-04 23:05:51 -07:00
Pavel Sanda
dae6ca73df ViewSourceUi.ui layout was broken 2013-05-04 01:09:07 -07:00
Jean-Marc Lasgouttes
ea6240b785 Even more llvm/clang warnings
Remove lyxview_ member of lyx::Action, fix a prototype in TexStream and comment out a Cursor function.
2013-05-02 19:22:10 +02:00
Jean-Marc Lasgouttes
623d2f9530 More llvm/clang warnings
This is mostly unused private class members.

There are also a few unused functions that got #if'ed out. I never know in this case whether the code should be nuked.
2013-05-02 18:27:32 +02: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
154319d063 Remove some header leftovers based on Scott's script hints.
False positive rate of hints is quite high. Although the includes can be
technically removed (due to other includes) they logically belong to the
header.
2013-05-02 00:30:16 -07:00
Richard Heck
76c96c22ac Another assertion that got changed wrongly.
I've read back through that patch, and everything else looks good.
2013-04-27 18:12:27 -04:00
Richard Heck
d79225ae98 Remove all messages to user related to assertions. We'll just use
a basic message which is defined in lassert.cpp now.
2013-04-27 17:52:55 -04:00
Richard Heck
1b1f8dd235 Audit all the LASSERT calls, and try to do something sensible at
each failure.

There are several places I was not sure what to do. These are marked
by comments beginning "LASSERT:" so they can be found easily. At the
moment, they are at:

Author.cpp:105: // LASSERT: What should we do here?
Author.cpp:121: // LASSERT: What should we do here?
Buffer.cpp:4525:        // LASSERT: Is it safe to continue here, or should we just return?
Cursor.cpp:345:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:403:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:1143:                // LASSERT: There have been several bugs around this code, that seem
CursorSlice.cpp:83:     // LASSERT: This should only ever be called from an InsetMath.
CursorSlice.cpp:92:     // LASSERT: This should only ever be called from an InsetMath.
LayoutFile.cpp:303:                     // LASSERT: Why would this fail?
Text.cpp:995:           // LASSERT: Is it safe to continue here?
2013-04-25 17:27:10 -04:00
Vincent van Ravesteijn
262f58ddc3 Fix the size of the hAlign combobox in GuiTabular
The default sizeAdjustPolicy is AdjustToContentsOnFirstShow. As the
combobox is initially filled with all items, it will not change size if we
later remove the 'At Decimal Separator' item.
2013-04-25 22:35:56 +02:00
Vincent van Ravesteijn
6f8a74791b Adjust CMake for Qt5 2013-04-23 21:45:49 +02:00
Scott Kostyshak
b75ecdfaf0 GuiRef: only enable "Group" CB if non-empty refs 2013-04-22 15:39:16 -04:00
Scott Kostyshak
21d1f97cad GuiRef: do not insert a category as a ref
Before, if a user had "Group" checked in GuiRef and double-clicked
on a category, that category would be inserted as a (broken)
reference. Now, when a category is double-clicked, nothing happens.
2013-04-22 15:39:16 -04:00
Scott Kostyshak
647ae51a46 GuiRef: do not hide labels that start with ':'
If a label starts with ':' and 'Group' is checked,
the label is now shown under "<No prefix>" instead of
not shown.

Note that labels starting with ':' can be valid in LaTeX.
2013-04-22 15:39:16 -04:00
Scott Kostyshak
9887dd48ca GuiRef: only show "<No prefix>" if non-empty
If "Group" is checked, "<No prefix>" is shown only if there exists a
label with no prefix. Before, it was shown even when it was empty and
even when there were no labels at all.
2013-04-22 15:39:16 -04:00
Uwe Stöhr
0050245151 PrefInputUi.ui: change 2 strings
because all over the docs we refer to the keyboard maps as primary and secondary
2013-04-21 20:20:08 +02:00
Juergen Spitzmueller
be0610362d Revert "Fix the zombie toolbar problem (bug #8520)"
This reverts commit d00ec4dece.
2013-04-20 11:42:21 +02:00
Juergen Spitzmueller
f3bb757f97 Revert "avoid redundant toolbar initialization"
This reverts commit 0f26aabeee.

It turned out this breaks session.
2013-04-20 11:40:40 +02:00
Georg Baum
60448bf681 Whitespace 2013-04-19 21:34:05 +02:00
Georg Baum
c14b9e67bc Implement paste from LaTeX and HTML (bug #3096)
As discussed on the list. No automatic contents detection is done, the user
needs to use the special paste menu instead. I used the new TempFile class
for safe temporary file handling.
The documentation would go into section 2.2 of UserGuide.lyx, but I am not
allowed to edit that document.
2013-04-14 19:45:36 +02:00
Georg Baum
0613a218aa Also put HTML on the clipboard when copying
The HTML export is now mature enough so that it can be used to transfer
formatted text to the clipboard. This enhances interoperability e.g. with
office applications.
2013-04-12 22:12:47 +02:00
Vincent van Ravesteijn
ea7d36912b Use setSectionResizeMode from qt_helpers
This is needed to compile with Qt5.
2013-03-30 12:41:08 +01: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
Vincent van Ravesteijn
cb93f034d4 Add an LFUN for continuous spell checking
This fixes the first part of #8589.
2013-03-24 20:28:37 +01:00
Vincent van Ravesteijn
a31df78133 Do not sort formats in BufferParams::exportableFormats
We only need to sort the formats when it is really necessary, i.e. for GUI
purposes.

This also prevents 11000 requests for translation everytime the toolbars
are updated.
2013-03-24 18:06:32 +01:00
Vincent van Ravesteijn
2662386077 Small simplification 2013-03-24 16:47:03 +01:00
Richard Heck
cca2d4c927 Crush warning. 2013-03-23 09:14:44 -04:00
Georg Baum
c61ef8b205 Support \caption* (bug #3209)
This was a low hanging fruit which would have to wait for a long time because
of a file format change if it was not implemented before 2.1.
2013-03-22 22:23:38 +01:00
Uwe Stöhr
22ad7e4369 support for \mbox and \fbox
- fileformat change
- it was a pity that LyX did not yet support a simple rectangular frame without a defined width but LyX did this for e.g. oval frames
- \fbox and \mbox often occur in TeX files and can now be imported
2013-03-22 01:33:58 +01:00
Juergen Spitzmueller
0f26aabeee avoid redundant toolbar initialization 2013-03-20 13:59:25 +01:00
Juergen Spitzmueller
d00ec4dece Fix the zombie toolbar problem (bug #8520) 2013-03-20 13:01:48 +01:00
Scott Kostyshak
ccd46cbe8e GuiTabular: disabling is now done on textChanged()
Before, it was done on editingFinished(). The new behavior is more
intuitive because it is easier for the user to see how editing the box
is connected with enabling/disabling the other widgets. Before, the user
would not get instant feedback and would have to click away before the
connection is revealed. This new behavior is less efficient, however,
because checkEnabled() is called after every keystroke.
2013-03-19 14:48:20 -04:00
Scott Kostyshak
429b39bc0c GuiTabular: LC and ED should both be disabled
Previously, only columnWidthED was disabled.
2013-03-19 12:25:38 -04:00
Richard Heck
6dac777dbc Don't try to show the status message if we are busy.
Intended to fix #8523.
2013-03-18 19:49:33 -04:00
Vincent van Ravesteijn
41843646b7 Fix monolithic build 2013-03-18 20:42:28 +01:00
Richard Heck
bb36296275 Remove unused code. 2013-03-08 16:22:01 -05:00
Juergen Spitzmueller
9b0f907871 Minor UI polishment 2013-03-02 16:23:51 +01:00
Juergen Spitzmueller
0f48953a7d Re-Introduce translatable line breaks in tool tips
Real line breaks in (recent?) designer are not recognized by lyx_pot.py
2013-03-02 14:30:56 +01:00
Juergen Spitzmueller
dc7029dbf7 Small tweaks to the new pref pane(s) 2013-03-02 14:15:11 +01:00
Juergen Spitzmueller
a4a610221a Split the overcrowded and chaotic UI pref pane into two (#7524) 2013-03-02 12:24:32 +01:00
Juergen Spitzmueller
3861fa1cb4 Maths packages: Further GUI improvements 2013-03-02 10:03:08 +01:00
Juergen Spitzmueller
e53b5972c3 Improve math packages GUI 2013-03-01 15:59:37 +01:00
Kornel Benko
8f36aef17a Added "cancel" to the GUI handled list of LaTeX packages.
Generalized convert_use_???() and revert_use_???() routines in lyx2lyx.
2013-02-27 13:12:03 +01:00
Julien Rioux
9dd1b7c578 Use the LyX name of encodings instead of the LaTeX names.
- Use the LyX name of encodings instead of the LaTeX names.
  The LyX name must be unique, while the name used by LaTeX
  not necessarily, e.g. different packages might implement
  support for the same encoding.

- Rename koi8 to koi8-r, so that the LyX and LaTeX names match.

- Rename euc-jp-plain to euc-jp-platex, jis-plain to jis-platex
  and shift-jis-plain to shift-jis-platex.

- Add utf8-platex encoding (fixes #8408).

LyX file format incremented to 463.
2013-02-18 23:52:42 +01:00
Juergen Spitzmueller
a063defd9f If a LaTeX font has a monolithic option for all expert sets (Osf, SC), honor this in the GUI (#8547) 2013-02-11 15:02:24 +01:00
Pavel Sanda
75090250d4 Add very simple revision comparison for git.
At this moment we do not allow comparison between arbitrary hashes,
but except GUI the code is ready.
Thanks to the powerful way of git addressing we could even ask
for comparisons like '-2 weeks back' if someone wants to play
with GuiCompareHistory.
2013-02-09 19:35:22 -08:00
Richard Heck
57d8b059e0 Remove references to Counter LabelType from source code. The
intention is to use Static in its place, and we now expand the
label for these, as well.
2013-02-09 13:44:05 -05:00
Georg Baum
0526eb9d47 Implement VCS copy and rename
The advantage of having this in LyX is the intelligent file name handling
of included files. Implementation as discussed on the list, but ensure also
that an attempt to use locked files fails.
2013-02-06 20:38:54 +01:00
Jean-Marc Lasgouttes
14e01a92a4 Rename Path.h to PathChanger.h (actual name of the class) 2013-02-06 11:51:06 +01:00
Georg Baum
d33450a592 Fix inconsistent VCS checkin return values
It is not possible to transport the different error/abort/success conditions
of a VCS checkin through a simple empty or nonempty string. Therefore it was
no wonder that the return values were used inconsistently for different VCS.
Now the log and return status are decoupled, and all VCS are handled
consistently. This is a prerequisite for proper locking detection of the
upcoming rename command.
2013-02-04 22:01:59 +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
Juergen Spitzmueller
0de23da9cd Tooltip change as suggested by Jean-Pierre 2013-02-02 09:08:42 +01:00
Jean-Marc Lasgouttes
652512a38c Clarify two strings in PDF properties
This is a patch from Martin Vermeer.
2013-02-01 15:00:41 +01:00
Juergen Spitzmueller
e199ec0310 Fix typo spotted by Jean-Pierre 2013-01-20 15:33:33 +01:00
Julien Rioux
6c58e3faa9 Highlight warning and errors in the BibTeX log. 2013-01-15 16:13:20 +01:00
Georg Baum
d2b49e54b9 Add remaining images for math symbol toolbar
Most images are generated by development/tools/generate_symbols_images.py, but
some were drawn manually. Now there is no image missing from the ones the
script can generate.
2013-01-10 21:22:55 +01:00
Juergen Spitzmueller
b57f585109 GuiSymbols: Use a grid with appropriat size 2013-01-10 13:19:14 +01:00
Juergen Spitzmueller
0dd91a1fd7 do not setUniformItemSizes since the symbols have different width (bug #5707) 2013-01-10 11:33:09 +01:00
Juergen Spitzmueller
f164ffd093 do not try to expand arguments in mathed (bug #8482) 2013-01-05 09:41:53 +01:00
Georg Baum
a98f7ad02d Fine tune image generation 2012-12-31 18:22:05 +01:00
Juergen Spitzmueller
2a273ce4c1 Remove redundant 'Caption' string 2012-12-31 10:18:05 +01:00
Georg Baum
ee3ce572a0 Fix import of shift-jis and big5 CJK texts.
These encodings were not defined, since they must not be used as document
encodings (the characters {, } and \ may appear in high bytes, and latex
would be confused). However, they are supported by CJK.sty (which uses a
preprocessor to circumvent the limitations of the latex executable). These
encodings are now defined, but used for import in tex2lyx only.
The test case CJK.tex contained fake tests for shift-jis and big5 (the
japanese and chinese characters were entered using the utf8 encoding), and
therefore the wrong interpretation of these encoding looked as if it worked.
The comments about missing iconv support of shift-jis and big5 were wrong as
well (otherwise shift-jis-plain would not work either).
2012-12-30 20:52:50 +01:00
Juergen Spitzmueller
c246076ed5 Fix the 'caption inset mess' (bug #4647) 2012-12-30 18:29:02 +01:00
Georg Baum
56ece75ad9 Fix bug #8464: stackrel with subscript.
The fix is basically mechanical, the additional code for fraction like insets
with three arguments was stolen from \unitfrac. As any math package,
stackrel.sty needs a buffer parameter to switch it off.
I also added the two stackrel flavours to the toolbar.
2012-12-28 20:08:43 +01:00
Vincent van Ravesteijn
a19a0edfc0 qt5: Use QStyleOptionTabWidgetFrame
QStyleOptionTabWidgetFrameV2 is identical to QStyleOptionTabWidgetFrame.
2012-12-28 14:07:43 +01:00
Georg Baum
23b74a9111 Add toolbar images for stmaryrd.sty symbols
These are all generated by development/tools/generate_symbols_images.py, the
only manual adjustments were renamings due to case sensitive file systems on
windows.
2012-12-28 13:25:41 +01:00
Juergen Spitzmueller
37f41fd4b5 Support for command argument placement after the workarea argument 2012-12-28 11:21:24 +01:00
Vincent van Ravesteijn
bec9c1325e Introduce Layout::args() and simplify code 2012-12-17 22:26:11 +01:00
Vincent van Ravesteijn
8db4faa160 Move LengthCombo into namespace lyx::frontend 2012-12-17 21:38:57 +01:00
Vincent van Ravesteijn
d87c43d1b9 The first include must be <config.h> 2012-12-17 21:38:53 +01:00
Georg Baum
01a6d4252b Full delimiter support for llbracket and rrbracket
stmaryrd.sty sets these symbols up as variable size math delimiters (i.e.
they may be used with \left and \right). Now LyX knows about that and offers
them in the delimiter dialog as well as single symbols.
2012-12-16 15:49:42 +01:00
Georg Baum
f67cf6f4bb Add support for stmaryrd.sty (bug #8434)
The stmaryrd package adds support for lots of math symbols, using a font
designed to accompany the computer modern fonts. The changes in detail:

- Fix generate_symbols_list.py to work with stmaryrd.sty. It loooks like it
  was automatically translated from a perl version and never used.
- Generate the new symbols in lib/symbols using generate_symbols_list.py and
  add some manual adjustments
- Generate stmary10.ttf by a simple ttf export from stmary10.sfd with fontforge
- Add license info for stmary10.ttf
- Create a test file with all symbols from stmaryrd.sty. Actually it would be
  nice to have this for the other fonts as well.
- The mechanics: lyx2lyx, tex2lyx, font machinery etc.
2012-12-15 13:10:31 +01:00
Vincent van Ravesteijn
3a96ef6dca qt5: add/remove some includes 2012-12-15 11:11:55 +01:00
Vincent van Ravesteijn
ce8d52f813 qt5: Use Qt::WindowFlags instead of Qt::WFlags 2012-12-15 11:07:35 +01:00
Vincent van Ravesteijn
0cd8c03d17 CMake: Put projects into subdirs
This patch puts all projects into subfolders (at least for MSVS). In this
way, there is a better overview (especially if the number of test projects
will be increasing).
2012-12-15 11:02:06 +01:00
Juergen Spitzmueller
625e25264b Consider filtering when selecting from categorized combo (#8452) 2012-12-10 12:52:23 +01:00
Juergen Spitzmueller
25ef8e7eef Allow to separate menu string from label string for arguments 2012-12-09 19:15:41 +01:00
Georg Baum
99ffb47cc3 Replace some hard coded numbers with names
And prevent a crash if LaTeX is accidentally output for a math font.
2012-12-09 13:05:19 +01:00
Jean-Marc Lasgouttes
0425500be5 Set window title correctly at start up 2012-12-05 22:46:29 +01:00
Richard Heck
ae7bc12ab6 Disentangle moduleCanBeAdded for ordinary layout modules and the
new (but not yet functioning, it seems) citation modules. This
fixes a bug reported on the list:
  http://marc.info/?l=lyx-users&m=135456590710371&w=2
2012-12-05 11:16:21 -05:00
Juergen Spitzmueller
1500e44cba Support for \item arguments 2012-11-29 15:34:20 +01:00
Pavel Sanda
ad42e885e6 Rescue monolithic build after 32fde61c8f. 2012-11-24 17:48:47 +01:00
Juergen Spitzmueller
182d13ee6a Do not separate the shortcut from the label string 2012-11-23 18:26:02 +01:00
Juergen Spitzmueller
9914f21bce Context menu for InsetArgument 2012-11-23 14:44:45 +01:00
Juergen Spitzmueller
2e69c66195 InsetArgument revision, first working version 2012-11-19 14:21:02 +01:00
Georg Baum
9d99d3dbea Implement extractFromVC() for CVS and SVN.
Both cvs and svn are able to retrieve non-existing files from repository,
but this was only implemented for rcs. This is a prerequisite for the
planned move and copy VCV operations. I also improved error schecking and
used extractFromVC() also for files specified on the command line if they
do not exist (in GUI mode, it was already the case in non-GUI mode).
2012-11-15 22:01:19 +01:00
Pavel Sanda
d7ed0ba7e4 Autosaving is now always threaded. 2012-11-04 16:51:18 +01:00
Pavel Sanda
4f24d123b2 Next leftover. 2012-11-04 01:38:34 +01:00
Pavel Sanda
eb9151c599 Close tab button started with 4.5. 2012-11-04 01:37:54 +01:00
Pavel Sanda
38c836f65d Leftover. 2012-11-04 01:29:08 +01:00
Pavel Sanda
4a0911f25e Header sorting. 2012-11-04 01:26:11 +01:00
Pavel Sanda
0a9735c5f7 LyX 2.1 will support only Qt>=4.5.
(http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg175737.html)

Now start with simple cases.
2012-11-04 01:22:32 +01:00
Kornel Benko
d91d6e3343 Cmake build:
Cleanup the use of path-variables
2012-11-02 13:33:22 +01:00
Lars Gullik Bjønnes
d52c9fda34 Use new T not new T() 2012-10-27 01:25:38 +02:00
Lars Gullik Bjønnes
43f6b1672b Use empty() to check empty and non-empty'ness not size()
Also add FormatList::empty().
2012-10-27 01:25:38 +02:00
Lars Gullik Bjønnes
dd2189656b More idiomatic way of checking if a shared_ptr has an associated managed object 2012-10-25 12:12:49 +02:00
Kornel Benko
1b65a03c13 Cmake build: cleanup 2012-10-25 11:19:09 +02:00
Kornel Benko
d1ca207e94 Cmake build:
Next try to create Resources.qrc on the fly.
This time using a cmake-script instead of trying to rebuild the cache
2012-10-25 10:45:28 +02:00
Scott Kostyshak
250f60f36b Simplify LFUN_BUFFER_FORALL
buffer-forall only takes one parameter now, which is the LFUN to
dispatch on all non-hidden buffers. A hidden buffer is defined as being
internally open in LyX, but not visible in any window (view).

Thanks, JMarc.
2012-10-15 10:05:20 -04:00
Stephan Witt
593276f87d MenuTranslator::translate() should be const 2012-10-14 14:36:18 +02:00
Vincent van Ravesteijn
9547725c38 Disambiguate std::bind, boost::bind, std::ref, boost::ref (2)
This fixes compilation with MSVC2012.

See also [2b0a7a5e/lyxgit].
2012-10-12 21:29:57 +02:00
Jean-Marc Lasgouttes
06f394a3d4 Show keyboard binding when a layout selection is done in LayoutBox
The obnoxious messages in Private::setFilter cover any message set by lyx::dispatch. The solution I chose is to return early when the filter is not changed.

If this makes sense, then the same optimization should be added to CategorizedCombo, IMO.
2012-10-11 00:21:38 +02:00
Kornel Benko
648e197021 Cmake build: Define for 'DEVEL_VERSION' already done in development/cmake/config.h.cmake 2012-10-09 22:45:12 +02:00
Juergen Spitzmueller
c85135090e Stick to bformat 2012-10-09 16:12:32 +02:00
Juergen Spitzmueller
81bc1c1ff4 Fix widget relation 2012-10-09 10:16:38 +02:00
Juergen Spitzmueller
006b50b222 Really put uncategorized items at the end if sortCats is true 2012-10-09 08:51:39 +02:00
Juergen Spitzmueller
be5965ae91 remove unneeded header and declaration 2012-10-09 07:36:17 +02:00
Juergen Spitzmueller
b4dd69ee83 GUI for categorized text classes 2012-10-09 07:22:48 +02:00
Juergen Spitzmueller
32fde61c8f Add new CategorizedCombo widget
This is a combo box that provides categorization and on-the fly filtering.

Heavily derived from LayoutBox (same look and feel).
2012-10-09 07:19:55 +02:00
Vincent van Ravesteijn
2b0a7a5e01 Disambiguate std::bind, boost::bind, std::ref, boost::ref
This fixes compilation with MSVC2012.
2012-10-08 21:29:40 +02:00
Juergen Spitzmueller
04d39dd5be Proper string translation 2012-10-08 17:04:02 +02:00
Scott Kostyshak
4ab8e4a009 Add tab with build information to Help > About LyX
The tab displays the same information as the 'lyx --version' command.
2012-10-07 11:30:58 -04:00
Juergen Spitzmueller
b6ecb3213b Add master's perspective in children's source preview 2012-10-05 14:30:20 +02:00
Juergen Spitzmueller
e3e6befc54 Ronen's patch for lfun language set
This adds an optional 'set' argument to the language lfun and reintroduces toggling.

Additions by me reintroduce the possibility to reset to the document language via 'language reset' or just 'language'
2012-10-03 07:27:36 +02:00
Scott Kostyshak
3b9c75ce27 Make text selectable in Help > About LyX > Version
This might encourage users to post this information when reporting bugs
and sometimes it's useful to be able to copy the paths of the Library
and User directories.
2012-10-02 05:39:57 -04:00
Enrico Forestieri
bb67e670ef Make some strings translatable again.
These strings were inadvertently broken in [4985015e/lyxgit].
2012-09-30 00:42:55 +02:00
Pavel Sanda
e9a28c8000 Correct naming for view-split. 2012-09-29 17:33:46 +02:00
Pavel Sanda
a72b75c50c Proper naming for tab-group-close. 2012-09-29 17:16:52 +02:00
Juergen Spitzmueller
c9f9107a7f Fix issues with xref dialog in read-only documents (#8177) 2012-09-29 16:12:31 +02:00
Tommaso Cucinotta
4985015e89 Now LyX closes the current document WA only by default (other WAs remain open).
If the WA is the last one showing a buffer, then the buffer may either be
closed or kept hidden, or the user is asked. The behaviour is controlled
by a new preference option.
For discussion, see http://comments.gmane.org/gmane.editors.lyx.devel/142638
2012-09-28 23:12:38 +01:00
Juergen Spitzmueller
8bf5d4b461 Very basic support for unicode-math
With non-TeX fonts, you can select a 'Non-TeX Font Default' math font, which simply loads unicode-math without actually selecting a math font, this then uses the default math otf font, currently Latin Modern. Other fonts still need to be set manually in the preamble, via \setmathfont.

The implementation suppresses unneeded package requests from unicodesymbols, but the output still uses macros instead of full unicode (both is possible with unicode-math).

The whole thing is a proof of concept, and it needs to be tested. I have tested it with the math manual, which compiles and seems to display correctly if I remove some hardcoded package loadings. OTOH I have not much experience with math.

This addresses #7449 partly.
2012-09-24 13:19:25 +02:00
Uwe Stöhr
237cb51fb1 GuiTabular.cpp: don't rely on a string but on the combobox data
It was not safe in changeset 9d05ac5c to search for a text because it can be translated, better search for the data, thanks Pavel for spotting
2012-09-24 02:10:21 +02:00
Stephan Witt
404ef2467c moving Reconfigure to LyX menu does not work 2012-09-23 16:06:55 +02:00
Vincent van Ravesteijn
6b8ed2fa1d Initialize toolbar pop menu button on start
In 0aead96461 it was introduced that the toolbar popup menu buttons are not
initialized until they are being used (i.e. pressed at for the first
time). As a consequence, these buttons are always enabled on start. Now
that we have the sticky button for view and update, I'm now annoyed by
this every time I start LyX.
2012-09-22 23:15:51 +02:00
Juergen Spitzmueller
8f9898994d Basic UI for math (TeX) fonts
This addresses #6543 by adding an option to prevent fonts such as Palatino and Times to automatically adapt the math font (IOW it lets you load the text font only for a bunch of fonts where this is easily possible).

Furthermore it adds an interface to select a specific math font, which is defined in latexfonts. Currently, this is only euler (the only one I know), but if there are other math-only tex fonts, they can be added easily (but note that this changes the file format).

Non-TeX math fonts are not yet supported. Eventually, unicode-math support can use the existing UI, but this is not on my agenda.
2012-09-22 17:44:00 +02:00
Juergen Spitzmueller
a5151c92a9 Much more flexible implementation of alternative (LaTeX) fonts
The LaTeX font now do not specify simply alternative packages or packages for OT1 encoding etc., but they refer to complete AltFonts (which are not directly accessible via the GUI). This way, alternative fonts can also have options (osf, sc etc.), and they can use all sorts of initializing methods (\usepackage, \setrmfamily etc.).
2012-09-22 10:59:53 +02:00
Juergen Spitzmueller
6bf00d9fed rc.preview and rc.display_graphics are completely unrelated (bug 7562) 2012-09-17 11:36:29 +02:00
Scott Kostyshak
51c380440b Constify some catches and others 2012-09-17 04:05:34 -04:00
Scott Kostyshak
80c126b092 Typos
Clean up some comments, LFUN documentation, an error message,
and lyx --help output.
2012-09-12 19:38:26 -04:00
Uwe Stöhr
b64d17e9dc GuiTabular.cpp: don't hardcode decimal align combobox item 2012-09-11 23:51:50 +02:00
Uwe Stöhr
6f157533a1 fix multirow/column logic in table dialog
GuiTabular.cpp: a cell can either be a multicolumn or multirow, not both the same time, this is already respected by the toolbar and context menu, only the dialog allowed to set this although this was correctly never applied

should also go to branch
2012-09-11 21:58:13 +02:00
Scott Kostyshak
1451c7cf66 Get rid of a Qt-generated stderr message
The stderr message "Object::disconnect: Unexpected null parameter"
often appeared when closing and opening buffers.
GuiView::on_currentWorkAreaChanged should not pass a null pointer
to Object::disconnect.
2012-09-10 23:18:22 -04:00
Uwe Stöhr
9d05ac5c91 Fix UI for decimal table alignment (bug #8285)
Fixes 2 issues:
1. LyX uses for a decimal alignment a multicolumn and having for a cell a multicolumn _and_ a multirow is invalid LaTeX.
2. It was impossible to unset a decimal alignment via the context menu or toolbar button.
2012-09-11 02:10:29 +02:00
Jean-Marc Lasgouttes
740c83637d Correctly initialize a member variable
This has be diagnosed by valgrind, I do not know how important it is.
2012-09-08 16:59:19 +02:00
Jean-Marc Lasgouttes
7a7b9abf1b Tracking correctly available translations (take 2)
The previous scheme of loading all possible translations and checking
whether the work is a bit too much "brute force" and causes problems
on Mac OS X (documents loaded with the wrong language).

Now there is an helper static method in Messages class that checks
whether a readable .mo file exist for the language. There should be an
API in gettext for doing that, but alas it is not possible.

As a consequence the method Language::translated() has been removed,
along with its cache.
2012-09-08 16:59:19 +02:00