Commit Graph

32 Commits

Author SHA1 Message Date
Georg Baum
2f66789cc8 * src/frontends/qt4/GuiApplication.C
(GuiApplication::x11EventFilter): Small optimization: Do not request
	the current BufferView if it is not used


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16506 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 15:36:29 +00:00
Jean-Marc Lasgouttes
3db3cc44dd * GuiApplication.C (GuiApplication): make sure that the Qtranslator
holding the Qt translations is not deleted. Now keyboard shortcuts and
	Qt stock dialogs are properly translated.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16496 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 11:05:57 +00:00
Jean-Marc Lasgouttes
d01dad8bac remove some old cruft (unused OS X specific code)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16278 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-15 14:43:13 +00:00
Abdelrazak Younes
c6e4985a07 * GuiApplication::x11EventFilter(): check for currentView() before using it.
* Application::currentView(): now returns a pointer.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16170 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-04 13:52:02 +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
1000b8d218 Fix crash on Mac, now the strange part
Part 2: avoid pure virtual function,
          if (theApp)
               theApp->unregisterSocketCallback(fd_);
          does not help, we've tested it!
          Without a Mac it is hard to find a better solution
    



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16110 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-29 21:36:39 +00:00
Jean-Marc Lasgouttes
e1771f375b * qt4/GuiApplication.C: remove ad-hoc Mac OSX Carbon code to handle
kAEOpenDocuments ApleEvent.
	(event): new method to do the same thing using qt4 built-in support.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16099 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-29 09:06:37 +00:00
Michael Schmitt
d51c2e24ed * src/GuiApplication.C: add missing include
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16054 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-26 10:32:42 +00:00
Abdelrazak Younes
e6a6548712 * lyx_main.[Ch]
- execBatchCommands(): split in loadFiles() and execBatchCommands().
  - exec(): enable batch command to be processed from GUI.

* Application:
  - start(): deleted.

* GuiApplication:
  - execBatchCommands(): new method

* GuiWorkArea::update(): call viewport()->repaint() instead of viewport()->update(), this enable to update the screen immediately when asked by a batch command.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16051 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-26 02:18:32 +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
cb78985841 first try it on the Mac
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15975 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-19 12:24:40 +00:00
Peter Kümmel
b817032684 we rely on Windows and maybe Linux on a Qt bug
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15974 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-19 12:23:36 +00:00
Michael Schmitt
94bc110668 * GuiApplication.C: fix compilation (ev => xev)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15787 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-07 18:17:15 +00:00
Abdelrazak Younes
c2a49b5b0d * Application:
- setBufferView(): deleted
  - currentView(), setCurrentView(): new method to set the current LyXView

* GuiApplication::x11EventFilter(): use currentView().view() to get the current BufferView. This should solves the X11 selection bug.

* WorkArea:
  - dispatch(): redraw only if needRedraw in preparation for the painting optimization patch. Show the cursor immediately on mouse click.
  - setBufferView(): remove call to Application::setBufferView()

* GuiWorkArea:
  - focusInEvent(): update only if we changed LyXView
  - focusInEvent(): stop the cursor only if we changed LyXView.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15783 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-07 17:19:33 +00:00
Michael Schmitt
4292f4e9e9 remove references to Qt3/Gtk
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15630 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 21:45:37 +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
Asger Ottar Alstrup
6bcdafcd9c - Do not use kerning, because that fucks up cursor positioning for good
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15474 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 13:10:12 +00:00
André Pönitz
6c300f72a2 move everything into namespace lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15422 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 00:16:43 +00:00
Abdelrazak Younes
c5dd10f93e * GuiApplication: explicitly clear out socket_callbacks_ in the destructor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15325 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-13 16:48:12 +00:00
Abdelrazak Younes
53bbb6ed7a * GuiApplication.C: align Windows with other platform. No more static trick!
* lyx_main:
  - LyX::application_ : new scoped_ptr member containing the Application instance.
  - LyX::priv_exec(): initialize application_.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15316 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 22:02:45 +00:00
Abdelrazak Younes
1384e32430 fix formatting issue.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15314 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 20:03:09 +00:00
Georg Baum
0891c2e99a Replace crash on startup with a memory leak.
* src/frontends/qt[34]/GuiApplication.C
	(lyx::frontend::Application * createApplication): Don't return the
	address of a temporary, but use the new operator.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15313 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 19:40:04 +00:00
Abdelrazak Younes
83ffa28e77 This commit is purely mechanical and get rid of lyx_gui.[Ch].
Only qt4 is guaranted to compile and work. I did not remove gtk and qt3 lyx_gui.C because they might be needed for reference to complete the header declarations in "GuiApplication.C".

 - lyx_gui::use_gui transfered to lyx::use_gui in lyx_main.C
 - all remaining lyx_gui functions transfered to Application and corresponding GuiApplication implementations. 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15306 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 14:10:13 +00:00
Abdelrazak Younes
63ad5449fb This commit creates a new "frontends/lyx_gui.C" that contains all functions that are not frontend dependent any more. It also creates 3 new pure virtual methods in Application:
virtual std::string const romanFontName() = 0;
virtual std::string const sansFontName() = 0;
virtual std::string const typewriterFontName() = 0;

My goal is to transfer all of "frontends/*/lyx_gui.C" to "frontends/lyx_gui.C". When this is done, "frontends/lyx_gui.C" can go altogether as its functions will then be replaced with direct calls to theApp->XXX().

* frontends/lyx_gui.C: new file with code transfered from [qt3,qt4,gtk]/lyx_gui.C

* frontends/Application: 3 new font related pure virtual methods

* [qt3,qt4,gtk]/GuiApplication: implement the above method with code transfered from lyx_gui.C


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15208 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 10:34:10 +00:00
Abdelrazak Younes
315d394338 Some cleanup
* Application.h: pimpl_ is now private

* GuiApplication.C: headers cleanup.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15185 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-29 23:21:03 +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
ca5411f913 This commit introduces Application_pimpl and cleanup the header includes of the affected .C files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15182 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-29 22:06:28 +00:00
Georg Baum
c2ffa71fa7 compile fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15129 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 18:45:22 +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
3f0fadc48a This commit introduces frontends/Application.[Ch] and makes qt4/GuiApplication (renamed from qt4/Application) derive from it. Most of the code in qt4/lyx_gui.C has been transferred either to Application or to qt4/GuiApplication. Application handles unique instances of LyXFunc, LyXServer and LyXServerSocket.
Most of qt3 and gtk should stay compilable except for LyXView.h because the LyXFunc instance has been transferred to Application.

* frontends/Application: new class aimed to be the one unique interface between the frontend and the kernel. Contains one global pointer to the unique instanciation theApp.

* frontends/qt4/GuiApplication: renamed from qt4/Application, the qt4 specialisation of the Application class.  Contains one global pointer to the unique instanciation guiApp (equal to theApp but pointing to a GuiApplication instead).

* frontends/qt4/lyx_gui.C: most of the code has been moved to Application and GuiApplication

All other file: adapted to new API.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15114 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 09:47:39 +00:00