Simply startup behaviour
This commit is contained in:
@@ -822,42 +822,48 @@ MainWindow::MainWindow(Application *app, SystemTrayIcon *tray_icon, OSD *osd, co
|
|||||||
// Reload playlist settings, for BG and glowing
|
// Reload playlist settings, for BG and glowing
|
||||||
ui_->playlist->view()->ReloadSettings();
|
ui_->playlist->view()->ReloadSettings();
|
||||||
|
|
||||||
#ifdef Q_OS_MACOS // Always show mainwindow on startup if on macos
|
#ifdef Q_OS_MACOS // Always show the mainwindow on startup for macOS
|
||||||
show();
|
show();
|
||||||
#else
|
#else
|
||||||
QSettings s;
|
QSettings s;
|
||||||
s.beginGroup(BehaviourSettingsPage::kSettingsGroup);
|
s.beginGroup(BehaviourSettingsPage::kSettingsGroup);
|
||||||
BehaviourSettingsPage::StartupBehaviour behaviour = BehaviourSettingsPage::StartupBehaviour(s.value("startupbehaviour", BehaviourSettingsPage::Startup_Remember).toInt());
|
BehaviourSettingsPage::StartupBehaviour behaviour = BehaviourSettingsPage::StartupBehaviour(s.value("startupbehaviour", BehaviourSettingsPage::Startup_Remember).toInt());
|
||||||
s.endGroup();
|
s.endGroup();
|
||||||
bool hidden = settings_.value("hidden", false).toBool();
|
switch (behaviour) {
|
||||||
if (hidden && (!QSystemTrayIcon::isSystemTrayAvailable() || !tray_icon_ || !tray_icon_->IsVisible())) {
|
case BehaviourSettingsPage::Startup_Show:
|
||||||
hidden = false;
|
show();
|
||||||
settings_.setValue("hidden", false);
|
break;
|
||||||
show();
|
case BehaviourSettingsPage::Startup_ShowMaximized:
|
||||||
}
|
setWindowState(windowState() | Qt::WindowMaximized);
|
||||||
else {
|
show();
|
||||||
switch (behaviour) {
|
break;
|
||||||
case BehaviourSettingsPage::Startup_Remember:
|
case BehaviourSettingsPage::Startup_ShowMinimized:
|
||||||
was_maximized_ = settings_.value("maximized", true).toBool();
|
setWindowState(windowState() | Qt::WindowMinimized);
|
||||||
if (was_maximized_) setWindowState(windowState() | Qt::WindowMaximized);
|
show();
|
||||||
was_minimized_ = settings_.value("minimized", false).toBool();
|
break;
|
||||||
if (was_minimized_) setWindowState(windowState() | Qt::WindowMinimized);
|
case BehaviourSettingsPage::Startup_Hide:
|
||||||
setVisible(!hidden);
|
if (QSystemTrayIcon::isSystemTrayAvailable() && tray_icon_ && tray_icon_->IsVisible()) {
|
||||||
break;
|
|
||||||
case BehaviourSettingsPage::Startup_Show:
|
|
||||||
show();
|
|
||||||
break;
|
|
||||||
case BehaviourSettingsPage::Startup_Hide:
|
|
||||||
hide();
|
hide();
|
||||||
break;
|
break;
|
||||||
case BehaviourSettingsPage::Startup_ShowMaximized:
|
}
|
||||||
setWindowState(windowState() | Qt::WindowMaximized);
|
// fallthrough
|
||||||
|
case BehaviourSettingsPage::Startup_Remember:
|
||||||
|
default: {
|
||||||
|
|
||||||
|
was_maximized_ = settings_.value("maximized", true).toBool();
|
||||||
|
if (was_maximized_) setWindowState(windowState() | Qt::WindowMaximized);
|
||||||
|
|
||||||
|
was_minimized_ = settings_.value("minimized", false).toBool();
|
||||||
|
if (was_minimized_) setWindowState(windowState() | Qt::WindowMinimized);
|
||||||
|
|
||||||
|
if (!QSystemTrayIcon::isSystemTrayAvailable() || !tray_icon_ || !tray_icon_->IsVisible()) {
|
||||||
|
settings_.setValue("hidden", false);
|
||||||
show();
|
show();
|
||||||
break;
|
}
|
||||||
case BehaviourSettingsPage::Startup_ShowMinimized:
|
else {
|
||||||
setWindowState(windowState() | Qt::WindowMinimized);
|
setVisible(!settings_.value("hidden", false).toBool());
|
||||||
show();
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user