X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiApplication.h;h=de6013d4c7e691fa127e128d9de5a37fcc0fbcb3;hb=1f10969bb5c5f36017bf5ba8671381b09945cf57;hp=e1e5ac3e3d239ca9f2d9d2c43eb695843408a0e0;hpb=9c55af4a223ce4db29d643251109e245665344bd;p=lyx.git diff --git a/src/frontends/qt4/GuiApplication.h b/src/frontends/qt4/GuiApplication.h index e1e5ac3e3d..de6013d4c7 100644 --- a/src/frontends/qt4/GuiApplication.h +++ b/src/frontends/qt4/GuiApplication.h @@ -18,10 +18,14 @@ #include #include +#ifdef QPA_XCB +#include +#endif class QAbstractItemModel; class QIcon; class QSessionManager; +class QFont; namespace lyx { @@ -47,6 +51,9 @@ There should be only one instance of this class. No Qt object initialisation should be done before the instantiation of this class. */ class GuiApplication : public QApplication, public Application +#ifdef QPA_XCB + , public QAbstractNativeEventFilter +#endif { Q_OBJECT @@ -56,7 +63,7 @@ public: /// \name Methods inherited from Application class //@{ - void dispatch(FuncRequest const &); + DispatchResult const & dispatch(FuncRequest const &); void dispatch(FuncRequest const &, DispatchResult & dr); FuncStatus getStatus(FuncRequest const & cmd) const; void restoreGuiSession(); @@ -101,6 +108,9 @@ public: void commitData(QSessionManager & sm); #ifdef Q_WS_X11 bool x11EventFilter(XEvent * ev); +#elif defined(QPA_XCB) + virtual bool nativeEventFilter(const QByteArray & eventType, void * message, + long * result) Q_DECL_OVERRIDE; #endif //@} @@ -136,6 +146,8 @@ public: /// return a suitable monospaced font name. QString const typewriterFontName(); + QFont const typewriterSystemFont(); + /// void unregisterView(GuiView * gv); /// @@ -153,6 +165,9 @@ public: #endif } + /// return true if the key is part of a shortcut + bool queryKeySym(KeySymbol const & key, KeyModifier state) const; + /// void processKeySym(KeySymbol const & key, KeyModifier state); /// return the status bar state string docstring viewStatusMessage(); @@ -206,6 +221,9 @@ private: void updateCurrentView(FuncRequest const & cmd, DispatchResult & dr); /// bool closeAllViews(); + /// Things that need to be done when the OSes session manager + /// requests a log out. + bool prepareAllViewsForLogout(); /// read the given ui (menu/toolbar) file bool readUIFile(QString const & name, bool include = false); /// @@ -236,7 +254,12 @@ extern GuiApplication * guiApp; QString iconName(FuncRequest const & f, bool unknown); /// \return the pixmap for the given path, name and extension. +/// in case of errors a warning is produced and an empty pixmap is returned. QPixmap getPixmap(QString const & path, QString const & name, QString const & ext); +/// Load the file at \param path and convert it to a pixmap. +/// \return true on success otherwise invalidate the pixmap and return false. +/// The caller is responsible for error reporting. +bool getPixmap(QPixmap & pixmap, QString const & path); /// \return an icon for the given action. QIcon getIcon(FuncRequest const & f, bool unknown);