]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiApplication.h
If we are in a closeEvent, we don't want to close all buffers, because these may...
[lyx.git] / src / frontends / qt4 / GuiApplication.h
index e36934d35de54d9179d251721c5e9a26677192eb..b4236905abf36bf0fe350ef31dde0420e3ff226d 100644 (file)
 #include "frontends/Application.h"
 
 #include <QApplication>
-#include <QObject>
 #include <QList>
 
-class QSessionManager;
 class QAbstractItemModel;
+class QIcon;
+class QObject;
+class QSessionManager;
 class QSortFilterProxyModel;
 
 namespace lyx {
@@ -36,6 +37,7 @@ class GlobalMenuBar;
 class GuiWorkArea;
 class Menus;
 class SocketNotifier;
+class Toolbars;
 
 /// The Qt main application class
 /**
@@ -50,10 +52,14 @@ public:
        GuiApplication(int & argc, char ** argv);
        ~GuiApplication();
 
+       /// Clear all session information.
+       void clearSession();
+
        /// Method inherited from \c Application class
        //@{
        bool getStatus(FuncRequest const & cmd, FuncStatus & flag) const;
        bool dispatch(FuncRequest const &);
+       void dispatchDelayed(FuncRequest const &);
        void resetGui();
        void restoreGuiSession();
        Clipboard & clipboard();
@@ -64,14 +70,16 @@ public:
        bool event(QEvent * e);
        bool getRgbColor(ColorCode col, RGBColor & rgbcol);
        std::string const hexName(ColorCode col);
-       void readMenus(Lexer & lex);
        void registerSocketCallback(int fd, SocketCallback func);
        void unregisterSocketCallback(int fd);
-       bool searchMenu(FuncRequest const & func, std::vector<docstring> & names) const;
+       bool searchMenu(FuncRequest const & func, docstring_list & names) const;
+       docstring iconName(FuncRequest const & f, bool unknown);
        void hideDialogs(std::string const & name, Inset * inset) const;
        Buffer const * updateInset(Inset const * inset) const;
        //@}
 
+       Toolbars const & toolbars() const;
+       Toolbars & toolbars();
        Menus const & menus() const;
        Menus & menus();
        /// Methods inherited from \c QApplication class
@@ -85,8 +93,11 @@ public:
 
        /// Create the main window with given geometry settings.
        /// \param geometry_arg: only for Windows platform.
+       /// \param optional id identifier.
        void createView(QString const & geometry_arg = QString(),
-               bool autoShow = true);
+               bool autoShow = true, int id = 0);
+       /// FIXME: this method and the one above are quite ugly.
+       void createView(int id);
        ///
        GuiView const * currentView() const { return current_view_; }
        ///
@@ -123,12 +134,17 @@ private Q_SLOTS:
        void handleRegularEvents();
        ///
        void onLastWindowClosed();
-       
+
+       ///
+       void processFuncRequestQueue();
+
 private:
        ///
        bool closeAllViews();
        /// read the given ui (menu/toolbar) file
-       bool readUIFile(std::string const & name, bool include = false);
+       bool readUIFile(QString const & name, bool include = false);
+       ///
+       void setGuiLanguage();
 
        /// This LyXView is the one receiving Clipboard and Selection
        /// events
@@ -140,6 +156,18 @@ private:
 
 extern GuiApplication * guiApp;
 
+/// \return the icon file name for the given action.
+QString iconName(FuncRequest const & f, bool unknown);
+
+
+/// \return the pixmap for the given path, name and extension.
+QPixmap getPixmap(QString const & path, QString const & name, QString const & ext);
+
+/// \return an icon for the given action.
+QIcon getIcon(FuncRequest const & f, bool unknown);
+
+GuiApplication * theGuiApp();
+
 } // namespace frontend
 } // namespace lyx