diff --git a/app/main.cpp b/app/main.cpp index a9d8999..d7a50a5 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -76,6 +76,18 @@ int main(int argc, char *argv[]) w.showUrls({url}); w.initWindowSize(); }); + + // Handle dock icon clicks to show hidden window + a.connect(&a, &QApplication::applicationStateChanged, [&w](Qt::ApplicationState state) { + if (state == Qt::ApplicationActive && w.isHidden()) { + w.showUrls({}); + w.galleryCurrent(true, true); + w.setWindowOpacity(1); + w.showNormal(); + w.raise(); + w.activateWindow(); + } + }); #endif // Q_OS_MACOS QStringList urlStrList = parser.positionalArguments(); diff --git a/app/mainwindow.cpp b/app/mainwindow.cpp index ee32cb4..a1523d4 100644 --- a/app/mainwindow.cpp +++ b/app/mainwindow.cpp @@ -188,6 +188,7 @@ void MainWindow::showUrls(const QList &urls) m_pm->loadPlaylist(urls); } else { m_graphicsView->showText(tr("File url list is empty")); + m_pm->setPlaylist(urls); return; } @@ -312,7 +313,7 @@ QStringList MainWindow::supportedImageFormats() void MainWindow::showEvent(QShowEvent *event) { updateWidgetsPosition(); - + return FramelessWindow::showEvent(event); }