- //! This is the widget we associate global actions with, typically the main window
- void setMainWidget(QWidget *);
+ GraphicalUi(QObject* parent = nullptr);
+ void init() override;
+
+ //! 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);