]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiApplication.h
do what the FIXME suggested
[lyx.git] / src / frontends / qt4 / GuiApplication.h
index 77655cdc0475b7f739ac0aa0de85bca10a9fcec3..29b522b647743993c76d5acb36ef6e2b7403c1f1 100644 (file)
 #include "GuiFontLoader.h"
 #include "GuiClipboard.h"
 #include "GuiSelection.h"
+#include "Menus.h"
 
 #include "frontends/Application.h"
 
 #include <QObject>
 #include <QApplication>
+#include <QTimer>
 #include <QTranslator>
 
 #include <map>
@@ -57,11 +59,14 @@ public:
        /// Method inherited from \c Application class
        //@{
        virtual FuncStatus getStatus(FuncRequest const &);
-       virtual void dispatch(FuncRequest const &);
+       virtual bool dispatch(FuncRequest const &);
        virtual void resetGui();
+       void restoreGuiSession();
        virtual Clipboard & clipboard();
        virtual Selection & selection();
        virtual FontLoader & fontLoader() { return font_loader_; }
+       MenuBackend const & menuBackend() const { return menus_; }
+       MenuBackend & menuBackend() { return menus_; }
        virtual int exec();
        virtual void exit(int status);
        virtual bool event(QEvent * e);
@@ -72,6 +77,8 @@ public:
        void unregisterSocketCallback(int fd);
        //@}
 
+       Menus const & menus() const { return menus_; }
+       Menus & menus() { return menus_; }
        /// Methods inherited from \c QApplication class
        //@{
        bool notify(QObject * receiver, QEvent * event);
@@ -119,6 +126,8 @@ private Q_SLOTS:
        void execBatchCommands();
        ///
        void socketDataReceived(int fd);
+       /// events to be triggered by general_timer_ should go here
+       void handleRegularEvents();
 
 private:
        ///
@@ -135,6 +144,12 @@ private:
        QTranslator qt_trans_;
        ///
        std::map<int, SocketNotifier *> socket_notifiers_;
+       ///
+       Menus menus_;
+       /// this timer is used for any regular events one wants to
+       /// perform. at present it is used to check if forked processes
+       /// are done.
+       QTimer general_timer_;
 
 #ifdef Q_WS_X11
 public: