Commit Graph

98 Commits

Author SHA1 Message Date
Richard Heck
b4c37e82c1 Additional fixes related to disentangling the blinking cursor signal from other signals. Thanks to Abdel for pointing out the need for this.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22779 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-05 00:37:30 +00:00
Pavel Sanda
65c0ff6e6b Let the cursor blink frequency depend on qt settings.
Move checking of forked processes into independent timer.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22749 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-02 03:05:54 +00:00
Abdelrazak Younes
e55019967f Simplify scrolling code. Instead of using the actionTriggered() signal we now use valueChanged(). This has the advantage that we can possibly disable scrollbar tracking for low graphical performance systems.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22709 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-29 12:54:23 +00:00
Abdelrazak Younes
02110a3d5b Prepare the code for context menu support.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22300 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-25 20:12:07 +00:00
Abdelrazak Younes
7c832d2d84 Implement tooltips for visible insets.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22298 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-25 18:53:38 +00:00
André Pönitz
02a7584d5a get rid of a boost::signals::connection
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21695 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-21 21:15:23 +00:00
André Pönitz
77a89e1486 remove unneeded #include
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21693 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-21 20:32:17 +00:00
Abdelrazak Younes
c0a9d2587c Painting tweaks:
- avoid one redraw on file loading due to a resize event.
- fix the initial offset_ref_ value of BufferView.
- add new TabWorkArea::addWorkArea() method.
- avoid tab bar flashing when only one file is opened.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21674 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-19 10:04:14 +00:00
Abdelrazak Younes
b716616322 cleanups and cosmetics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21612 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-14 17:39:16 +00:00
Abdelrazak Younes
9c928fba07 Cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21602 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-14 12:31:31 +00:00
Abdelrazak Younes
c4db1d0f5a Push latest Andre's changes toward their true direction:
* WorkArea.h and LyXView.h: remove unneeded pure virtual interface.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21575 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-13 09:52:28 +00:00
André Pönitz
bc20c9f382 remove unneeded functions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21558 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-12 22:23:45 +00:00
André Pönitz
34859c9a4f make WorkArea a pure interface, move all implementation to GuiWorkArea
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21557 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-12 22:15:51 +00:00
Abdelrazak Younes
fe8bce6676 Transfer readOnly() and updateWindowTitle() from Delegates to WorkArea/WorkAreaManager. This permits to automatically update Windows and Tabs titles (thanks to Qt signal/slot connections).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21551 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-11 22:30:21 +00:00
Abdelrazak Younes
07ac8a473b Reduce use of dynamic_cast.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20980 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-16 06:50:09 +00:00
Peter Kümmel
f63c57f0c2 remove X11's namespace pollution
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20854 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-08 19:36:15 +00:00
Abdelrazak Younes
0f67ab46b7 Transfer some more code from GuiView to TabWorkArea.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20807 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-07 08:12:20 +00:00
Abdelrazak Younes
769185bc90 Transfer some code from GuiView to TabWorkArea.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20806 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-07 08:05:02 +00:00
Abdelrazak Younes
3435635a7b Move TabWidget related code to TabWorkArea class in GuiWorkArea.{cpp,h}
The close button is back...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20787 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-06 15:48:58 +00:00
André Pönitz
9a95d2a936 rename a few view functions from foo() to fooView()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20024 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-03 20:28:26 +00:00
Abdelrazak Younes
1356543c45 The BufferView/WorkArea/LyXView reorg a.k.a Multiple WorkAreas:
* Buffer:
- get rid of cursor_ and anchor_
- ~Buffer(): update the labels of its master buffer before closing
- closing(): pass the Buffer address.

* BufferView():
- BufferView(): needs a valid Buffer (should be const in the future.
- most of the change is about removing all test of buffer_ nullity.
- resize(): deleted.
- setBuffer(): deleted.

* Application:
- newLyXView(): simplification
- updated design description in Application.h

* Gui/GuiImplementation: remove all WorkAreas and BufferView creation/Deletion. Workareas are directly handled by  LyXView/GuiView and BufferView is created/delete by WorkArea.

* LyXView/GuiView: implement the new design

What is not working yet:
- the close tab button: it is implemented but does not show up.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19686 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 07:33:46 +00:00
Abdelrazak Younes
3d1cfa550b Transfer Drag&Drop handling from GuiWorkArea to GuiView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19556 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-14 13:14:47 +00:00
André Pönitz
848c89564f remove lyxrc dependence from support/*
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19441 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-11 22:37:09 +00:00
Lars Gullik Bjønnes
897436efbb Whitespace cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18550 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-28 22:27:45 +00:00
Bo Peng
00e305c9d9 Rename .C ==> .cpp for files in src, part one
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18018 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 04:41:58 +00:00
Abdelrazak Younes
099a4adc92 Improved input method support by M. Iwami. I fixed some typo, and simplified the code a bit.
* Painter:
  - preeditText(), dashedUnderline(): new methods for CJK support.

* GuiWorkArea:
  - inputMethodQuery(): new Qt inherited method for proper CJK support.
  - inputMethodEvent(): now properly take care of input methods.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17671 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-01 09:14:08 +00:00
Jürgen Spitzmüller
8cc13ab7c9 * src/frontends/qt4/GuiWorkArea.[Ch]:
- some further refinement (and cleanup) of the triple click behaviour,
	  from Richard G. Heck.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17594 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-27 17:26:11 +00:00
Jürgen Spitzmüller
7cce9b87f8 * src/frontends/qt4/GuiWorkArea.[Ch]:
- reimplement doubleClickTimeout() from the qt3 frontend
	   in order to get triple clicking working (bug 3272).
	   This is just an emultation of triple clicking, since qt does not have
	   a mouseTripleClickEvent()

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17588 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-27 08:05:31 +00:00
Michael Schmitt
25079a83c2 * LyXView.C:
* qt4/GuiWorkArea.h:
	* qt4/GuiWorkArea.C:
	* WorkArea.h: fix typos: "shedule" => "schedule"


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16755 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-18 21:47:27 +00:00
Abdelrazak Younes
2ea1ce7851 * LyXView::updateInset(): schedule a redraw instead of redraw immediately.
* WorkArea::sheduleRedraw(): new pure virtual method.

* GuiWorkArea::showCursor(): handle the scheduled redraw.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16708 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-16 15:16:09 +00:00
Abdelrazak Younes
4d7795d4d2 Reorganize window resizing so that no painting occurs during a resizeEvent(). This caused the crash on MacOSX because the splash image drawing was not finished before the resizeEvent() occurred because of scrollbar hiding.
* WorkArea::resizeBufferView(): delete redraw() call.

* GuiWorkArea:
  - need_resize_: new private member.
  - expose(): move pixmap painting code to new private updateScreen() method.
  - paintEvent(): resize the backing pixmap  if need be.
  - resizeEvent(): move the resizing code to paintEvent().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16499 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 12:36:17 +00:00
Abdelrazak Younes
aed0edc705 Remove key event pruning code. This has always been disabled without anyone complaining.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16046 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-25 22:35:09 +00:00
Abdelrazak Younes
5c57bee5b9 * WorkArea
- hasFocus(): new pure virtual method
  - redraw(): update singlePar only if the Widget has the focusInEvent

* GuiWorkArea.h: implement hasFocus().

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15724 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-04 07:29:25 +00:00
Abdelrazak Younes
ff3c643f09 - restore a backing pixmap painting strategy: the pixmap is drawn at expose() time.
- the cursor is still a widget, the width is 2-pixel on Windows and 1-pixel on other platforms. The full screen refresh on blinking cursor bug is now gone.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15695 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-02 22:53:10 +00:00
Abdelrazak Younes
9b89f1d4ad stop/start the blinking cursor when the WorkArea get a focusInEvent or focusOutEvent.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15586 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-27 23:26:52 +00:00
Abdelrazak Younes
f4857dab04 new LFUN_WINDOW_CLOSE
* LyXFunc:
  - dispatch(): transfer assertion on lyx_view_ to each LFUN on a case by case basis.
  - dispatch(): new LFUN_WINDOW_CLOSE
  - getStatus(): special treatment for LFUN_LYX_QUIT

* LyX:
  - views_, addLyXView(): deleted
  - quit(): call saveGeometry() on each LyXView before exiting.

* GuiApplication:
  - is now a QObject.
  - quitLyX(): new Qt slot for lastWindowClosed signal.

* Gui.h:
  - destroyView(), destroyWorkArea(): deleted
  - viewIds(): new method

* GuiImplementation:
  - implement above changes.
  - GuiImplementation is now a QObject
  - cleanupViews(): new private slot.
  - buildViewIds(): new helper method
  - views_ and work_areas_ are now maps of raw pointers instead of schared_ptr.

* LyXView
  - now stores its id.
  - dispatch(): special treatment for LFUN_WINDOW_CLOSE.
  - workAreaIds(): new method.
  - close(): new pure virtual method.
  - saveGeometry(): new pure virtual method.

* GuiView:
  - implements above changes.
  - GuiView(): set WA_DeleteOnClose and Qt::WA_QuitOnClose to let Qt manage the destruction on close().
  - closeEvent(): session stuff transfered to saveGeometry()

* WorkArea
  - now store its id.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15514 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 16:29:24 +00:00
André Pönitz
4774536389 cursor is no more damaging the background. L-shaped cursor is broken right now. will fix later
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15503 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 11:19:17 +00:00
André Pönitz
1852693005 do not draw to intermediate pixmap
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15501 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 08:46:09 +00:00
Asger Ottar Alstrup
a127d540d3 - LyX is dead slow, so the least we can do is use anti-alised text
- Various micro-optimisations
- Revert Abdel's repaint instead of update for QPainter
- Get rid of unused methods in GuiWorkArea



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15491 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 18:49:18 +00:00
André Pönitz
153c997228 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15487 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 17:58:09 +00:00
Abdelrazak Younes
68ee23313a remove the focusInEvent() and focusOutEvent() that had so many bad side effect...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15297 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 13:01:12 +00:00
Abdelrazak Younes
61443d8641 * src/frontends/qt4/GuiWorkArea.[Ch] (focusInEvent, focusOutEvent):
new methods; invoke LyXView::updateToolbars() (bug 2423).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14809 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-21 09:14:18 +00:00
Abdelrazak Younes
58e769d564 Cosmetic changes:
- put some spaces
- delete some comments
- reorder #include
- delete unneeded workWidth_ and workHeight_ members.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14787 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-17 17:15:17 +00:00
Abdelrazak Younes
f475b7bde6 This commit transfers most of the LyXView use from BufferView to WorkArea, most notably:
LyXView::updateLayoutChoice();
LyXView::updateToolbars();
LyXView::getLyXFunc().processKeySym(key, state);
LyXView::dispatch(cmd);

* BufferView
  - workAreaKeyPress(): deleted

* BufferView::pimpl
  - gui(): deleted
  - workAreaKeyPress(): deleted
  - workAreaDispatch(): special FuncRequest transfered to WorkArea::dispatch()

* WorkArea
  - WorkArea(): now needs a LyXView
  - lyx_view: new member
  - scrollBufferView(): new method

* qt4/GuiWorkArea: adapted to above changes
* qt4/GuiImplementation: ditto
* qt3/GuiWorkArea: ditto
* qt3/QContentPane: ditto
* gtk/GuiWorkArea: ditto
* gtk/GWorkArea: ditto



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14695 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-15 21:57:23 +00:00
Peter Kümmel
f01c7f5983 GuiWorkArea: #undef QT3_SUPPORT
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14649 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-13 15:55:03 +00:00
Lars Gullik Bjønnes
d2b2aa8124 Make signals and slots to not be defined, and replace them with Q_SIGNALS and Q_SLOTS
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14277 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-30 14:37:33 +00:00
Abdelrazak Younes
3287c44f33 GUI API Cleanup step 2: merge of the "younes" branch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14231 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-26 16:55:35 +00:00
Abdelrazak Younes
d8ae51dbe1 This is the merging of the GUI API cleanup branch that was developed in svn+ssh://svn.lyx.org/lyx/lyx-devel/branches/personal/younes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14152 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-20 08:39:16 +00:00