Commit Graph

55 Commits

Author SHA1 Message Date
Abdelrazak Younes
9e4ac7fca9 Fix Tab and Ctrl-Tab keys handling and focus problems related to it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16381 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-22 16:13:19 +00:00
Abdelrazak Younes
8f90d0bb96 Partial Fix for Tab key press bug. It is now properly processed but the focus is not returned to the WorkArea afterward.
* WorkArea.h: processKeySym() is now public

* GuiView:
  * event(): new method to intercept Tab key press.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16352 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-20 21:28:05 +00:00
Jean-Marc Lasgouttes
4f8febc1b4 * QLMenubar.C (macxMenuBarInit): fix workaround for menu merging
with Qt/Mac. Still does not work in non-default locale.

	* QLPopupMenu.C (specialMacXmenuHack): remove, not needed anymore.

	* GuiView.C (init): remove Mac hack, not needed anymore.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16349 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-20 14:28:06 +00:00
Georg Baum
cd5c02c925 fix variable initialization order (shuts up a gcc warning)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16298 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-16 10:40:43 +00:00
Enrico Forestieri
d08210e961 Fix cancel on quit
* src/lyxfunc.C
	(LyXFunc::dispatch): Move to GuiView::closeEvent the session code
	for lastpos in LFUN_LYX_QUIT. Check for unsaved changes before
	initiating the quit procedure in LFUN_LYX_QUIT and LFUN_WINDOW_CLOSE. 

	* src/frontends/qt4/GuiView.h
	(class GuiView): New boolean member quitting_by_menu_.

	* src/frontends/qt4/GuiView.C
	(GuiView::GuiView): Initialize quitting_by_menu_.
	(GuiView::close): Set to true quitting_by_menu_ before calling
	the quit procedure and reset it afterwards.
	(GuiView::closeEvent): Account for the close window button.
	Save last positions to the session file. Remove wrongly placed
	call to quitWriteAll.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16248 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-12 01:39:50 +00:00
Abdelrazak Younes
99cae6c723 two lines between function.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16158 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-03 13:17:35 +00:00
Abdelrazak Younes
7df55755ac Fix memory leaks with multiple windows and crash when deleteOnClose is set.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16157 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-03 13:09:57 +00:00
Peter Kümmel
a5b66d297f prepare fixing some memory leaks
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16155 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-03 10:30:18 +00:00
Peter Kümmel
f6cf871deb fix quit problems on Mac
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16153 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-03 10:05:41 +00:00
Michael Schmitt
75d0226ce8 * src/lyxfunc.C:
* src/frontends/qt4/GuiView.C:
	* src/lyx_main.C: fix various typos in comments


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16141 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-02 21:27:31 +00:00
Peter Kümmel
7b2cce9d5d Clean up quit code.
We still need a solution for the Mac.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16135 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-02 17:39:31 +00:00
Peter Kümmel
67f2a91dcc FIXME: remove global variable theApp
This pointer was one reason for the Mac crashes because it not always had 
the same value as the application_ smart pointer



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16119 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-30 00:04:51 +00:00
Georg Baum
868dd237d1 fix compiler warning:
../../../../src/frontends/qt4/GuiView.C:142: warning: comparison between signed and unsigned integer expressions
../../../../src/frontends/qt4/GuiView.C:144: warning: comparison between signed and unsigned integer expressions
../../../../src/frontends/qt4/GuiView.C:146: warning: comparison between signed and unsigned integer expressions


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16113 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-29 21:52:56 +00:00
Peter Kümmel
9dfe4a10d3 also support the geometry option on Windows + Qt/Windows
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16105 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-29 16:45:38 +00:00
Peter Kümmel
c3459952a6 don't forget to translate
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16102 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-29 10:25:46 +00:00
Peter Kümmel
dfb079e778 add tool bar popup with three icon sizes: small, normal, big
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16100 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-29 10:04:35 +00:00
Peter Kümmel
c7a3620eeb fix wrong toolbar icon size, default value is
in lyx_main.C. Size will be stored in the session
file.

*      src/lyx_main.C              : default value
*      src/frontends/Application.h : restore also icon size
*      src/frontends/LyXView.h     :        "
*      src/frontends/qt4/GuiView.h :        "
*      src/frontends/qt4/GuiView.C :        "
*      src/frontends/Application.C :        "



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16085 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-27 23:35:43 +00:00
Georg Baum
8e6e970d7b Next step of true unicode filenames: Use support::FileName instead of
std::string at many places (not all yet).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16069 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-26 21:30:39 +00:00
Peter Kümmel
07fa2456f9 simplify exit code, old code doesn't work on the Mac
* lyxfunc.C                         : rename unused LFUN_LYX_QUIT parameter
* frontends/qt4/GuiImplementation.C : call LFUN_LYX_QUIT when last window closed
* frontends/qt4/GuiWorkArea.C       : check theApp, add debug case
* frontends/qt4/GuiApplication.C    : remove quitLyX()
* frontends/qt4/GuiApplication.h    : remove quitLyX()
* frontends/qt4/GuiView.C           : hide() widow fore exiting to prevent crash



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16044 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-25 21:24:04 +00:00
Peter Kümmel
e70fa92179 fix drifted position of restored window
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15814 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-09 09:13:04 +00:00
Peter Kümmel
3ae92a71ed disable toolbar popup menu, this is better than the current state
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15809 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-08 23:10:46 +00:00
Abdelrazak Younes
18ec722cf2 Bug Fix: Window title was not updated in new window.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15750 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-05 15:34:18 +00:00
Georg Baum
8d9df8bce5 fix gcc warnings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15727 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-04 09:47:14 +00:00
Bo Peng
eaa33dca6d Session/Toolbars:
* src/LyXAction.C: LFUN_TOOLBAR_TOGGLE_STATE
	* src/session.h/C: add ToolbarSection class
	* src/lyxfunc.C: handle LFUN_TOOLBAR_TOGGLE_STATE
	* src/frontends/LyXView.h/C: toggleToolbarState(name)
	* src/frontends/Toolbars.h/C: initFlags, toogle and save toolbar, 
	    changed update logic
	* src/frontends/qt4/QLToolbar.h/C: saveInfo. Surprisingly little is 
	    asked from frontend.
	* src/frontends/qt4/GuiView.C: save toolbar when lyx exits
	* src/MenuBackend.h/C: add Toolbars submenu
	* src/lfuns.h: add LFUN_TOOLBAR_TOGGLE_STATE
	* src/ToolbarBackend.h: add AUTO flag
	* lib/ui/stdmenus.ui: add view->Toolbar menu


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15691 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-02 16:01:36 +00:00
Abdelrazak Younes
5cadc33792 This commit initialise correctly the tab bar in a new window.
* GuiView::init(): switch to the first avalaible buffer if any.

* GuiWorkArea::focusInEvent(): update the LyXView tab bar there.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15685 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-01 22:57:32 +00:00
Peter Kümmel
1364943414 add link to Qt bug
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15665 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-01 14:40:02 +00:00
Peter Kümmel
a252679cca add missing header, forgotten because of the Qt precompiled headers
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15641 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-31 14:57:25 +00:00
Peter Kümmel
bc0eb0b97f add missing header
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15640 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-31 14:46:38 +00:00
Peter Kümmel
8669b0087e Add tab support
frontends/LyXView.h
	- add tab update function 
	
frontends/qt4/GuiView.h
	- add tab update function
	- add function for setting up the tabs
	- add slot for the tab clicks
	- add pimpl
	
frontends/qt4/GuiImplementation.C
	- don't set the buffer as central widget 
	  but initilize the tabs
	  
frontends/qt4/GuiView.C
	- use QTabBar for switching
	- scan the bufferlist on updates
	
frontends/LyXView.C
	- also update the tabs
	


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15637 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-31 14:12:46 +00:00
Peter Kümmel
b15b581f57 * frontends/Toolbars.C:
revert first patch http://www.lyx.org/trac/changeset/15597
* frontends/qt4/GuiView.C:
	don't 'break' the toolbar because it doesn't work if 
	the toolbar will be hidden





git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15636 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-31 13:59:22 +00:00
Bo Peng
b9c604e968 session: rename some functions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15607 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-29 20:01:00 +00:00
Peter Kümmel
32e777c786 remove warning, use shorter code
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15595 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-28 17:14:51 +00:00
Bo Peng
0fc684e6e6 class session reorganization
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15581 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-27 14:18:03 +00:00
Peter Kümmel
fe784fe9d3 when we use QDesktopWidget we should include it
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15577 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-27 11:47:59 +00:00
Peter Kümmel
a96cb88ccd GuiView.C: recover from silly window positions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15574 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-27 08:40:08 +00:00
Abdelrazak Younes
128a8ef3e8 This commit fixes 3 crashes when reverting a document:
1) crash in GuiWorkArea::paintEvent(), this one is solved by by encapsulating the file loading in LyXView by busy(true)/busy(false) and by disabling/enabling the work area update in GuiView::busy().

2) crash in the cursor blinking because the cursor is timed out at the moment you click on "Revert". So the blinking cursor is now disabled/enabled in GuiView::busy().

3) crash in BufferView::setBuffer() because the current buffer was already closed folling the "revert" command. 
* BufferView::loadLyXFile(): set buffer_ to 0 in case of a reload (when document is reverted)

* LyXView:
  - busy() is not const anymore (work_area_ is modified in GuiView) 
  - loadLyXFile(): encapsulate the file loading with busy(true)/busy(false)
  - setBuffer(): encapsulate the buffer-switching with busy(true)/busy(false)

* GuiView::busy()
  - disable/enable workarea updates.
  - disable/enable blinking cursor.

* WorkArea: new startBlinkingCursor() and stopBlinkingCursor() methods.

* rowpainter.C:
  - paintText(): make sure there is a Buffer from which to paint.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15556 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-26 13:29:10 +00:00
Abdelrazak Younes
55eae1a7f8 * Gui.h: new closeAll() pure virtual method.
* qt4/Alert_pimpl.C: make sure the proper Qt attributes are set.

* GuiApplication::quitLyx(): add the "force" argument to the funcRequest.

* GuiImplementation:
  - GuiImplementation(): remove the signal connection. This was triggered after the LastWindowClosed signal so was not useful.
  - cleanupViews(): renamed to unregisterView() and handle the WorkAreas as well.
  - closeAll(): new method (from LyXView).

* GuiView.C
  - clean up the includes order.
  - closeEvent(): make sure that theBufferList().quitWriteAll() is called if last window closed.

* lyx_main.C / LyX::quit():
  - remove noAsk argument
  - delete bufferList::quitWriteAll() call (this is handled in the frontend).
  - delete Session stuff (ditto)

* LyXFunc::dispatch()
  - LFUN_LYX_EXIT: close all window before exiting from user command (as opposed to last window closed).



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15535 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-24 15:01:07 +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
dc94575f2b make macrfos readable again
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15479 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 14:37:32 +00:00
Abdelrazak Younes
28ad960255 This commit cleans up everything related to singleton. The other important change is that lyx::dispatch() and lyx::getStatus become _the_ official way to use LyXFunc equivalent methods.
* lyxfunc.h:
  - theLyXFunc(): new function in the global namespace.
  - lyx::dispatch():  new function in the lyx namespace.
  - lyx::getStatus():  new function in the lyx namespace.

* bufferlist.h:
  - theBufferList(): new function in the global namespace.

* Clipboard.h:
  - theClipboard(): new function in the global namespace.

* Selection.h:
  - theSelection(): new function in the global namespace.

* FontLoader.h:
  - theFontLoader(): new function in the global namespace.

* FontMetrics.h:
  - theFontMetrics(LyXFont const &): new function in the global namespace.

* Application.C: implements the functions defined above.

* LyXView.h:
  - getLyXFunc(): deleted.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15298 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 17:24:46 +00:00
Abdelrazak Younes
85d2e4b917 * lyx_gui: create_view(), start() and exit() functions deleted.
* lyx_main.C and lyx_cb.C: use Application methods directly instead of the above functions.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15211 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 13:38:28 +00:00
Enrico Forestieri
5070d2f660 Fix build on cygwin when using --without-x
* src/frontends/qt4/GuiView.C
	(setGeometry): replace test for Q_OS_WIN32 with Q_WS_WIN

	* src/support/fontutils.C:
	If X_DISPLAY_MISSING is defined, compile the code for Win32
	on cygwin, too.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15201 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-02 18:21:48 +00:00
Abdelrazak Younes
3a1f656e4e * Application: new createView() method
* gtk/qt3/qt4/GuiApplication: createView() method deleted

* LyXView:
 - init(): is now a pure virtual method. autoSave code transferred to constructor and updates to the frontends.
 - setGeometry(): new pure virtual method

* gtk/GView, qt3/QtView, qt4/GuiView: adapted to above change
 - setGeometry(): code transfered from GuiApplication

* lyx_main.C: call LyX::ref().addLyXView() in there instead of in Application::createView()


* 

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15183 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-29 23:10:17 +00:00
Abdelrazak Younes
12a82dd4f2 This commit replaces BufferView->LyXView->Gui->[selection,clipboard] with theApp->[selection,clipboard]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15125 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 15:02:41 +00:00
Abdelrazak Younes
a6444784dc A bunch of conversion to docstring.
- bformat(): contributed by Georg Beaum
- Alert::XXX
- error(): in SpellBase, ispell, psell, aspell, buffer, etc.
- message(), message signal
- displayMessage(), setMessage,
- ErrorItems
- prettyName()
- makeDisplayPath()

and maybe some more...


- etc... 

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14970 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-11 08:54:10 +00:00
Abdelrazak Younes
c9c47c6464 * LyXView.h:
- makeToolbar(): new pure virtual method

* qt4/GuiView.h:
  - makeToolbar(): new method transferred from QLToolbar

* qt4/QLToolbar: derive from QToolBar instead of owning a QToolBar member.

* Toolbars.h: remove make_toolbar() prototype (use LyXView::makeToolbar instead).



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14964 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-10 11:03:21 +00:00
Abdelrazak Younes
c1bf7d7c8b get rid of QT3_SUPPORT and some cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14728 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-17 08:47:52 +00:00
Abdelrazak Younes
58d136aa60 * GuiView:
- mainWidget(): deleted

* GuiImplementation.C: adapted to above change.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14624 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-12 16:25:51 +00:00
Abdelrazak Younes
e1a5cb74a8 GUI API Cleanup step 3: merge with "younes" branch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14448 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-13 16:37:55 +00:00
Lars Gullik Bjønnes
1afb2a6b05 Remove quite a few compiler warnings:
- Change unsigned -> signed
	- Change signed -> unsigned
        - Add a cast or two (really few of those)
	- Remove/comment out unused variables
	- Comment out unused arguments
	- Add missing cases to switches.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14344 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-06 08:18:51 +00:00