Commit Graph

363 Commits

Author SHA1 Message Date
Guillaume Munch
ab41c1d1ac Fix bug #10119
This makes Qt 5.4 as usable as Qt 5.5.1 in my experience. Otherwise, fix again
INSTALL.
2016-06-11 05:42:43 +01:00
Georg Baum
8a047a4112 Add missing intializations
These were found by cppcheck:
Member variable 'x' is not initialized in the constructor.
The crash #9788 would not have happened if this had been done earlier.
2015-10-10 21:04:28 +02:00
Guillaume Munch
bb344452c8 Consistency of ellipses across the UI
Use the function support:truncateWithEllipsis() to shorten a docstring with
... at the end. Actually we use U+2026 HORIZONTAL ELLIPSIS instead of "..." when
automatically shortening strings. This is to be consistent with Qt's own
truncation and is much nicer on the screen.

This includes the bugs #9575 and #9572 regarding broken text elision in the
outliner.

Known issues (non-regressions):

* TocBackend::updateItem() should be rewritten to update all TOCs. (#8386)

* "..." should be replaced with … everywhere else on the interface (including
  translation strings).

* We should prefer to rely on QFontMetrics::elidedText() to truncate strings
  with an ellipsis whenever possible, or an equivalent for the buffer view
  dependent on the font metrics. See the warning in src/support/lstrings.h.
2015-10-05 21:16:16 +01:00
Jessica Hamilton
7cd2e55d1f Qt4: Prevent crash on Haiku when clicking in a document
Fixes bug #8595.
2015-06-11 18:12:35 +02:00
Juergen Spitzmueller
1d266c8cfa Indicate read-only status in tabs (#6783) 2015-05-22 10:41:12 +02:00
Enrico Forestieri
7be2a5d815 Prefer svg icons.
If a compressed svg icon is present, load it instead of a png one.
Also introduce two more sizes (huge and giant icons) that should be
useful when using hires displays, as svg icons automatically scale
to the desired size without loss of quality.
2015-03-13 00:47:21 +01:00
Enrico Forestieri
d4428ceb81 Adjust preprocessor guards for Qt5/X11.
This fixes the -geometry command line option and restores the
"Use icons from system's theme" checkbox in the preferences.

There is still code addressing Qt4 and xlib that has to be
audited. This code cannot be compiled with Qt5 because the
default backend is now xcb and not xlib. I have marked such
code with a "FIXME QT5" comment.
2015-01-11 19:44:35 +01:00
Jean-Marc Lasgouttes
9c55af4a22 Merge remote-tracking branch 'features/scroll-reloaded'
This implement horizontal scrolling of rows to allow editing insets
(math, tabular...) that are larger then the screen. The scrolling happens
as the cursor moves, in order to make sure that the cursor is always visible.
This effectively closes an 11 years old bug.

This feature is the result of the work of Hashini Senaratne as part of
Google Summer of Code 2013. The code has been cleaned-up for inclusion
and remaining bugs have been fixed.

Fixes bug: #1083.
2015-01-10 18:39:09 +01:00
Hashini Senaratne
5a361b35cf Keyboard based horizontal scrolling for wide insets
[This commit is the output of the "horizontal scrolling" GSoC 2013
 project, by Hashini Senaratne. The code has been cleaned up, some
 variables have been renamed and moved from the Cursor class to
 BufferView::Private. This is the base from which I (jmarc) will polish
 the feature for landing on master.

 Below is the original commit log of Hashini, updated to reflect the
 changes that have been done.]

This feature also applicable for other insets; graphics and labels.

This implementation is capable of scrolling a single row when reaching
its content which is beyond the screen limits, using left and right
arrow keys.

The attribute 'horiz_scroll_offset_' introduced in the
BufferView::Private class plays a main role in horizontal scrolling of
the wide rows that grow beyond the screen limits. This attribute
represents by how much pixels the current row that the text cursor
lies in should be get scrolled.

The main logic that is responsible for drawing the scrolled rows is
within the BufferView class, BufferView::checkCursorScrollOffset.

 * The main logic is called via BufferView::draw.

 * What this does is set the horiz_scroll_offset_ attribute in in order to
 show the position that the text cursor lies in.

 * To make sure that BufferView::draw gets involved when Update flag is
 FitCursor, necessary changes are made in BufferView::processUpdateFlags.

Basically what the logic that used to set the horiz_scroll_offset_
does is,

 * The row which the text cursor lies in is identified by a
 CursorSlice that points to the beginning of the row. This is the
 'rowSlice' variable used in BufferView::checkCursorScrollOffset. Acessors
 are added to obtain this variable. Here row objects were not used to
 identify the current row, because it appears that row objects can
 disappear when doing a decoration update for example. This means that
 comparing row pointers is not a good idea, because they can change
 without notice.

 * Stop calculations of horiz_scroll_offset_ variable, if metrics have not been
 computed yet. Otherwise the calls to TextMetrics::parMetrics, calls
 redoParagraph and may change the row heigths. Therefore vertical scrolling
 feature may get disturbed. This is avoided.

 * Using BufferView::::setCurrentRowSlice resets horiz_scroll_offset_
 when changing cursor row. This is done in order to prevent unwanted
 scrolling that happens when changing the selected row using up and
 down arrow keys.

 * Recompute inset positions before checking scoll offset of the row, by
 painting the row insets with drawing disabled. This is done because the
 position of insets is computed within the drawing procedure.

 * Current x position of the text cursor is compared with the
 horiz_scroll_offset_ value and the other variables like row.width(),
 bv.workWidth(). Compute the new horiz_scroll_offset_ value in order
 to show where the text cursor lies in. The basics conditions that we
 check before recomputing it are, if the text cursor lies rightward to
 the current right screen boundary, if the text cursor lies leftward
 to the current left screen boundary, if the text cursor lies within
 screen boundaries but the length of the row is less than the left
 boundary of the screen (this happens when we delete some content of
 the row using delete key or backspace key).

 * Change update strategy when scrooll offset has changed. This allows to
 redraw the row when no drawing was scheduled. By doing so, it was
 possible to redraw a wide row when moving to the leftmost position of the
 wide row, from the leftmost position of the row below, using the left
 arrow key.

In TextMetrics::drawParagraph it is checked whether the current row is
what is drawing now. If it is so, the value used to the x value of the row
for drawing is adapted according to BufferView::horizScrollOffset.

The method used to pass boundary() was fixed to get row when cursor was in
a nested inset. This matter is considered in Cursor::textRow and it is
modified accordingly.

GuiWorkArea::Private::showCursor() is modified to show the cursor position
in a scrolled row.
2015-01-07 22:55:11 +01:00
Stephan Witt
2dfb45f91b #9130 Text in main work area isn't rendered with high resolution
Assign the pixelRatio of the application to the buffer of the work area.
2014-10-18 15:52:43 +02:00
Stephan Witt
9135dcee07 #9130 Text in main work area isn't rendered with high resolution
Introduce the concept of pixel ratio: the ratio of physical and device independent pixels.
This is useful for rendering of content on Retina-displays of Mac hardware with high resolution.
Qt has real support for this starting with Qt5 - therefore it has to be compiled conditionally.
This change uses some work of Marcelo Galvão Póvoa, thank you.
2014-10-18 11:53:16 +02:00
Stephan Witt
3aa428fdea #9245 replace Q_WS_MACX with Q_OS_MAC - the Q_OS_MAC macro is usable with Qt4 and Qt5. 2014-08-25 20:08:59 +02:00
Stephan Witt
d1bfad86e5 Use QProxyStyle instead of QMacStyle. QMacStyle is not available anymore with At5 and QProxyStyle is present since Qt4.6 as an alternative 2014-08-22 11:17:34 +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
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
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
Juergen Spitzmueller
d788d497aa Trivial fix: escape ampersands in file names before pushing to tab header (#8757) 2013-07-19 15:55:56 +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
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
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
Vincent van Ravesteijn
a19a0edfc0 qt5: Use QStyleOptionTabWidgetFrame
QStyleOptionTabWidgetFrameV2 is identical to QStyleOptionTabWidgetFrame.
2012-12-28 14:07:43 +01:00
Vincent van Ravesteijn
3a96ef6dca qt5: add/remove some includes 2012-12-15 11:11:55 +01:00
Pavel Sanda
eb9151c599 Close tab button started with 4.5. 2012-11-04 01:37:54 +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
Pavel Sanda
1b1f9d05d9 compile fix 2012-05-26 10:16:20 +02:00
Vincent van Ravesteijn
655a4f5515 Fix painting of hidden tabbar on gtk
When there is a single document open, the tabbar gets hidden. The only and selected tab is still visible though as a break in the line delining the tabwidget. To fix this we paint the tabwidget ourselves and remove the presence of the hidden tab.
2012-05-25 19:17:48 +02:00
Vincent van Ravesteijn
6cf1847b31 New function BufferList::newInternalBuffer
This solves the problem that newBuffer() already use Buffer::isInternal
but there was no chance to set it yet.
2012-05-12 14:36:13 +02:00
Vincent van Ravesteijn
5279d5a8a5 Properly mark a buffer as internal
Checking the extension of the temporary filename doesn't work anymore
since the naming of temporary files was corrected.
2012-05-06 20:12:17 +02:00
Vincent van Ravesteijn
5e4e4b674c Always require a mask to get a temporary filename
If no mask is supplied or the mask is attached to the end of the filename, we end up with unexpected names like
  <system-temp-dir>\lyx_tmpdir.qHp780.vcr780_<mask>
instead of a temporary file in the lyx temporary directory like
  <system-temp-dir>\lyx_tmpdir.qHp780\<mask>.vcr780.
2012-05-03 16:14:37 +02:00
Richard Heck
4026c0dccd If we switch via the mouse, we need to update the Buffer
after we switch.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40610 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-13 03:31:48 +00:00
Pavel Sanda
9154bc99e3 Fix #7963, fullscreen corner case for tabbar visibility.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40560 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-03 14:21:48 +00:00
Abdelrazak Younes
c5c0c22f6b Introduce new RC option for QImage backend instead of macro. This can later be changed at runtime though a command line option or by auto detecting the X11 remote status.
This option is set to true by default as this is the most widespread use case.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40515 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-17 21:53:46 +00:00
Vincent van Ravesteijn
7287a259c5 Change the type of the context menu name to string
There is no need for GUI-elements to use docstring.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40058 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-29 14:48:55 +00:00
Abdelrazak Younes
5c5850e28f First step towards a little bit more independence of GuiWorkArea (WRT GuiView). Ideally, GuiWorkArea should not at all about GuiView. GuiWorkArea now uses a new signal busy() to inform its container (GuiView) about its status.
I also added 2 FIXME where we should not call GuiView directly.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39948 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-23 20:21:01 +00:00
Abdelrazak Younes
383b31a868 Introduce new USE_QIMAGE macro to optionally use a QImage drawing backend instead of a QPixmap. This may help when running locally under X11 with some graphics cards (there were some complain about that in the user list).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39932 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-23 06:52:03 +00:00
Abdelrazak Younes
e621339aae get rid of GuiWorkArea::Private::setReadOnly(). Calling updateWindowTitle() is cheap compared to redraw and GuiView::updateDialogs() will be called anyway (with restartCursor() among others).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39880 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-17 21:19:00 +00:00
Jean-Marc Lasgouttes
69a993312d compilation fix; a couple of warnings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39873 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-17 08:57:28 +00:00
Abdelrazak Younes
52ef90c2cf GuiWorkArea: Move private stuff to GuiWorkArea_Private.h.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39872 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-16 22:48:26 +00:00
Tommaso Cucinotta
1bc43396fe Fix recursive repaint problem.
See also: http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg170468.html


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39535 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-27 10:21:59 +00:00
Abdelrazak Younes
6056db3212 Header cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39300 a592a061-630c-0410-9148-cb99ea01b6c8
2011-07-14 17:00:35 +00:00
Pavel Sanda
325e2575e3 Fix #7598, do not buffer movement keys.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38890 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-29 14:49:58 +00:00
Pavel Sanda
16cfd2ba12 Fix #7438, patch from Stephan.
(Sorry for not waiting for you, I wanted to enter freeze ASAP.)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38317 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-08 22:22:52 +00:00
Vincent van Ravesteijn
49459f6fc4 Fix bug #7345: Crash when right clicking on displayed math with selection
Two things have been fixed here:
1) the selection should not be cleared when the user right clicks a math inset that is part of the selection,
2) the type of context menu should be determined at mouse-press, because that is the moment when the cursor is set. However, we should do it after setting the cursor, because setting the cursor might change the selection status and this influences the choice for the type of context menu.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37961 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-19 13:14:13 +00:00
Abdelrazak Younes
c9e4d86b4c Temporally fix #7321 until a better solution is found. The auto scrolling is very bad but at least it does not crash nor assert.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37916 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-13 16:41:47 +00:00
Abdelrazak Younes
00a10facd2 Trying to fix #7321: SyntheticMouseEvent() only works within text.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37913 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-13 16:26:03 +00:00
Stephan Witt
ad1dc2fd6b now the user has control over the width of the text cursor
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37901 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-11 06:11:55 +00:00
Stephan Witt
e9d943aeb8 #7292 make the modifiers Option and Control act on there own on mac - adjust the key bindings to apple standards where possible
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37770 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-23 14:30:41 +00:00
Vincent van Ravesteijn
b9e7a9b269 Fix bug #5414: Show context menu accelerators when the context menu is shown after pressing the keyboard context menu key.
This should have been done by qt, but we can override qt by adapting the style on the windows platform.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37678 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-15 16:53:37 +00:00
Vincent van Ravesteijn
fbaba7782a Fix bug #7209: Crash when clicking on unfinished command in math.
This was a similar problem as for bug #5796 in r30807. There I made sure that the position that is used for the context menu is set at mousepress. That was because also the cursor was set at mousepress and we want to get the context menu at the place where the mousebutton was pressed, and not where the mousebutton was released.

However, in this case, the position of the context menu is stored on mousepress, but we don't take into account that the cursor might move afterwards due to the DEPM.

So, the solution is not to save the position of the mouseclick, but to save the name of the context menu we requested.

PS. Perhaps we could save the cursor position, but this seems to work too.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37669 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-14 21:30:12 +00:00
Vincent van Ravesteijn
a5be70af87 GuiWorkArea: coding style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37625 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-13 09:58:31 +00:00
Vincent van Ravesteijn
8ba5c7f886 Better fix for part 3 of bug #7182: LyX truncates file names to about 25 chars.
Now, when hovering the tabs, the full paths are shown as a tooltip.

see r37084.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37101 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-04 09:41:27 +00:00
Vincent van Ravesteijn
a1f8d221c8 Fix part 3 of bug #7182: LyX truncates file names to about 25 chars.
Now, when hovering the tabs, the longer name is shown as a tooltip.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37084 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-03 18:50:37 +00:00
Pavel Sanda
5007ee4dad Let filenames to be longer in window title.
Fixes first part of #7182


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36950 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-19 22:05:48 +00:00
Georg Baum
d89bde0652 Load mhchem if it is requested unconditionally, fix some typos
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36425 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-21 18:07:04 +00:00
Enrico Forestieri
8590a51f9b Fix bug #6589 (Crash when reverting to saved while cursor is in mathed)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35880 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-28 12:32:32 +00:00
Vincent van Ravesteijn
1a9fe125f6 Update the cursor shape also when the cursor shape changes without a mouse move actions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35808 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-24 22:14:31 +00:00
Edwin Leuven
4e5d3469f6 have pointing cursor when hovering something clickable
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35806 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-24 21:41:47 +00:00
Peter Kümmel
d0feccc7ed switch mouse to busy symbol every 3 seconds and then back to show the
user something is done in the background


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35795 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-23 10:49:45 +00:00
Vincent van Ravesteijn
152491f916 Some cosmetics (from my local cosmetics branch).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35708 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-18 14:20:03 +00:00
Stephan Witt
d87cdfa5e1 #5970 more exact modifier check for Tab keys filter
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35571 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-08 05:23:59 +00:00
Stephan Witt
710bb42049 correct typo in RC_SCROLL_WHEEL_ZOOM text
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35004 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-22 14:51:35 +00:00
Stephan Witt
0498aa1dcb correct OR when checking modifiers
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34974 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-18 12:18:22 +00:00
Richard Heck
7441f370c0 Revert r34969.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34973 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-18 12:09:06 +00:00
Uwe Stöhr
ab85e493c7 GuiWorkArea.cpp: make it compilable
Stephan, please check if this is correct

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34969 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-18 11:49:34 +00:00
Stephan Witt
e99bd868f9 use "alt" instead of "option" for modifier keyword
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34967 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-18 10:04:59 +00:00
Stephan Witt
0d386d7c25 make mouse scroll wheel zoom configurable
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34955 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-17 22:29:42 +00:00
Jean-Marc Lasgouttes
50117dc8ea fix scroll wheel on mac (bug #6775)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34731 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-30 12:38:39 +00:00
Vincent van Ravesteijn
41cd987dc5 Fix bug #4464: Missing autoscroll when selecting by mouse drag.
It's not very fast, but I guess that's a general problem with our scrolling. At least it works now, but it's not perfect.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34659 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-14 22:14:05 +00:00
Vincent van Ravesteijn
7f593196fc Add an update parameter to BufferView::scrollToCursor and BufferView::scrollDocView. This parameter indicates whether a repaint is requested
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34658 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-14 21:48:23 +00:00
Vincent van Ravesteijn
8bbd8bc44c Fix bug #6606: Crash when reverting a document with a not available document class.
If the document class is not available, we now issue a warning for the user. This triggers a focusInEvent of the WorkArea and the cursor is issued to start blinking. However, when reverting a document the cursor is probably invalid and there has been no chance yet to fix it as we are still reading the file. 

The solution is to not show the cursor when the view is still busy.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34590 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-04 13:24:03 +00:00
Jean-Marc Lasgouttes
b25d19435a fix compilation on F13 and binutils/gold by rewriting specialized X11 code
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34588 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-03 07:26:19 +00:00
Peter Kümmel
61b2bd5e7f Using "using namespace std" with msvc10 makes also std::tr1::bind visible and generates conflicts with boost::bind.
Solution: don't use boost::bind for msvc10 (could also be extended  to several GCC versions)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34257 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-22 11:16:58 +00:00
Pavel Sanda
62ca7f3ae5 Proper camel case for FileName.absFilename
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34234 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:09 +00:00
Edwin Leuven
5485f39539 new buffer on double click in empty area of the tab bar
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34201 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-18 11:30:20 +00:00
Richard Heck
b79d8e5e2d Make members of FuncRequest private, per the FIXME there. Again, this is
basically a massive renaming, with no real changes.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34106 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-09 19:00:42 +00:00
Richard Heck
4c7a5d0024 This is just a giant renaming of member variables in FuncRequest,
preparatory to making them private.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34105 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-09 18:15:17 +00:00
Abdelrazak Younes
a7734edf8e TabWorkArea::workArea(): add a FIXME
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34055 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-05 14:24:56 +00:00
Vincent van Ravesteijn
e4b3e9b7bc Fix the painting I broke in r33909.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33912 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-29 16:00:49 +00:00
Vincent van Ravesteijn
6a9f44eaa2 Refactorization: Buffer::changed() can update the metrics as well, so we don't have to do it in scrollToCursor if we call Buffer::changed() anyway.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33909 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-29 15:29:26 +00:00
Edwin Leuven
ffaf512593 - make the advanced search/replace dialog play nice with size
- add frame

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33821 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-21 11:50:13 +00:00
Richard Heck
8a690ea050 Don't bother bliking the cursor if it isn't on the screen.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33813 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-20 15:11:25 +00:00
Richard Heck
d0434b96e8 Since we don't do anything if the cursor isn't in view, do that test
first.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33803 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-19 16:11:58 +00:00
Uwe Stöhr
1f907d16d1 GuiWorkArea.cpp: remove unused include of MetricsInfo.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33722 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-12 00:27:12 +00:00
Pavel Sanda
f26f990076 Kill locker() API in VCS
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33438 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-12 07:21:11 +00:00
Abdelrazak Younes
377cdd5f6c Transfer LyXfunc code to GuiApplication::dispatch() and getStatus(). Now
a lot of simplification is possible. Except some instability period...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33389 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-09 16:11:13 +00:00
Jean-Marc Lasgouttes
00338d3747 add a dispatchresult parameter to lyxview::dispatch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33258 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-29 10:42:39 +00:00
Abdelrazak Younes
11474f6b89 Get rid of Buffer::setReadOnly() pseudo signal.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33222 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-25 13:31:07 +00:00
Tommaso Cucinotta
dd38c54f66 Code cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33130 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-21 17:11:17 +00:00
Vincent van Ravesteijn
8c0cdb40d7 Better debug message.
P.S. Why is this message shown twice when switching between tabs ?

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32973 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-11 18:01:36 +00:00
Vincent van Ravesteijn
72c42b0624 Fix bug #6431: Crash when closing a workarea with a pending completion popup.
The GuiCompleter has to have a parent, otherwise it is not destroyed when a GuiWorkArea is destroyed.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32952 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-10 19:33:18 +00:00
Pavel Sanda
b13ec49005 One more comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32948 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-10 18:14:50 +00:00
Tommaso Cucinotta
33e123a5cd Added ALL_MANUALS scope to Advanced Find & Replace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32925 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-09 22:49:35 +00:00
Tommaso Cucinotta
95cf410456 Removed unneeded assert firing when closing LyX with F&R WA selected.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32879 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-08 09:32:25 +00:00
Vincent van Ravesteijn
570f96bc6e Add a boolean to GuiWorkArea::redraw to indicate whether the metrics must be updated. The current test "lyx_view_ != guiApp->currentView() || lyx_view_->currentWorkArea() != this" is not enough, especially not if the buffer is changed and buffer->changed() is called. Moreover, there are a lot of combinations of updateMetrics() followed by buffer->changed(), these can now be replaced by one call to buffer->changed(bool).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32874 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-08 02:03:54 +00:00
Vincent van Ravesteijn
41270b98b4 typo ?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32873 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-08 01:51:52 +00:00
Vincent van Ravesteijn
8e95585bbd Fix bug #6332: Do not paint the cursor after a resize event when it should be invisible.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32687 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-31 13:46:10 +00:00
Jean-Marc Lasgouttes
6d477dc482 suppress warning (multiplication of int by double)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32221 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-27 14:56:32 +00:00
Vincent van Ravesteijn
86b6bb9d18 Fix r31814: we have to close the tab not hide it. Also rename the closeCurrentTab() function to hideCurrentTab().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31815 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-31 18:14:21 +00:00
Vincent van Ravesteijn
e8ec788924 Close the correct tab when clicking one while the active tab is in another tabworkarea. This was fixed in r31072 for the cornerbutton; now it is fixed for the buttons on the tabs themselves.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31814 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-31 18:10:18 +00:00