+#if (QT_VERSION >= QT_VERSION_CHECK(5, 1, 0))
+void GuiApplication::onApplicationStateChanged(Qt::ApplicationState state)
+{
+ std::string name = "unknown";
+ switch (state) {
+ case Qt::ApplicationSuspended:
+ name = "ApplicationSuspended";
+ break;
+ case Qt::ApplicationHidden:
+ name = "ApplicationHidden";
+ break;
+ case Qt::ApplicationInactive:
+ name = "ApplicationInactive";
+ break;
+ case Qt::ApplicationActive:
+ name = "ApplicationActive";
+ /// The Dock icon click produces 2 sequential QEvent::ApplicationStateChangeEvent events.
+ /// cmd+tab only one QEvent::ApplicationStateChangeEvent event
+ if (d->views_.empty() && d->last_state_ == state) {
+ LYXERR(Debug::GUI, "Open new window...");
+ createView();
+ }
+ break;
+ }
+ LYXERR(Debug::GUI, "onApplicationStateChanged..." << name);
+ d->last_state_ = state;
+}
+#endif
+
+