+ //! This is the widget we associate global actions with, typically the main window
+ void setMainWidget(QWidget *);
+
+ //! Check if the mainWidget is visible and optionally toggle its visibility
+ /** With KDE integration, we check if the mainWidget is (partially) obscured in order to determine if
+ * it should be activated or hidden. Without KDE, we need to resort to checking the current state
+ * as Qt knows it, ignoring windows covering it.
+ * @param performToggle If true, toggle the window's state in addition to checking visibility
+ * @return True, if the window is currently *not* visible (needs activation)
+ */
+ bool checkMainWidgetVisibility(bool performToggle);
+
+ //! Minimize to or restore main widget
+ virtual void minimizeRestore(bool show);
+
+ //! Whether it is allowed to hide the mainWidget
+ /** The default implementation returns false, meaning that we won't hide the mainWidget even
+ * if requested. This is to prevent hiding in case we don't have a tray icon to restore from.
+ */
+ virtual inline bool isHidingMainWidgetAllowed() const;
+
+ void setContextMenuActionProvider(ContextMenuActionProvider *);
+ void setToolBarActionProvider(ToolBarActionProvider *);
+ void setUiStyle(UiStyle *);
+
+ virtual bool eventFilter(QObject *obj, QEvent *event);
+
+protected slots:
+ virtual void disconnectedFromCore();