Skip to content

Commit 57e87b4

Browse files
Fix dock state saving during minimize (#206)
1 parent 4442659 commit 57e87b4

2 files changed

Lines changed: 22 additions & 5 deletions

File tree

‎sources/main.cpp‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ int main(int argc, char *argv[])
6060
#else
6161
// Fallback for Qt 6.0-6.4: manually set palette
6262
QPalette palette;
63-
if (dark) {
63+
if (dark) {
6464
palette.setColor(QPalette::Window, QColor(53, 53, 53));
6565
palette.setColor(QPalette::WindowText, Qt::white);
6666
palette.setColor(QPalette::Base, QColor(25, 25, 25));
@@ -99,7 +99,7 @@ int main(int argc, char *argv[])
9999
QFileInfo fileInfo(arg);
100100
if (fileInfo.exists() && fileInfo.suffix().toLower() == "apk") {
101101
apkFilePath = QDir::toNativeSeparators(fileInfo.absoluteFilePath());
102-
}
102+
}
103103
}
104104

105105
SplashWindow window(apkFilePath);

‎sources/mainwindow.cpp‎

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -311,19 +311,36 @@ QMenuBar *MainWindow::buildMenuBar()
311311
m_ActionViewProject = view->addAction(tr("Project"));
312312
m_ActionViewProject->setCheckable(true);
313313
connect(m_ActionViewProject, &QAction::toggled, m_DockProject, &QDockWidget::setVisible);
314-
connect(m_DockProject, &QDockWidget::visibilityChanged, m_ActionViewProject, &QAction::setChecked);
314+
connect(m_DockProject, &QDockWidget::visibilityChanged, [this](bool isVisible) {
315+
if (!(windowState() & Qt::WindowMinimized)) {
316+
m_ActionViewProject->setChecked(isVisible);
317+
}
318+
});
315319
m_ActionViewFiles = view->addAction(tr("Files"));
316320
m_ActionViewFiles->setCheckable(true);
317321
connect(m_ActionViewFiles, &QAction::toggled, m_DockFiles, &QDockWidget::setVisible);
318-
connect(m_DockFiles, &QDockWidget::visibilityChanged, m_ActionViewFiles, &QAction::setChecked);
322+
connect(m_DockFiles, &QDockWidget::visibilityChanged, [this](bool isVisible) {
323+
if (!(windowState() & Qt::WindowMinimized)) {
324+
m_ActionViewFiles->setChecked(isVisible);
325+
}
326+
});
319327
m_ActionViewConsole = view->addAction(tr("Console"));
320328
m_ActionViewConsole->setCheckable(true);
321329
connect(m_ActionViewConsole, &QAction::toggled, m_DockConsole, &QDockWidget::setVisible);
322-
connect(m_DockConsole, &QDockWidget::visibilityChanged, m_ActionViewConsole, &QAction::setChecked);
330+
connect(m_DockConsole, &QDockWidget::visibilityChanged, [this](bool isVisible) {
331+
if (!(windowState() & Qt::WindowMinimized)) {
332+
m_ActionViewConsole->setChecked(isVisible);
333+
}
334+
});
323335
view->addSeparator();
324336
m_ActionViewToolBar = view->addAction(tr("Sidebar"));
325337
m_ActionViewToolBar->setCheckable(true);
326338
connect(m_ActionViewToolBar, &QAction::toggled, m_MainToolBar, &QToolBar::setVisible);
339+
connect(m_MainToolBar, &QToolBar::visibilityChanged, [this](bool isVisible) {
340+
if (!(windowState() & Qt::WindowMinimized)) {
341+
m_ActionViewToolBar->setChecked(isVisible);
342+
}
343+
});
327344
auto project = menubar->addMenu(tr("Project"));
328345
m_ActionBuild1 = project->addAction(tr("Build"), this, &MainWindow::handleActionBuild);
329346
m_ActionBuild1->setEnabled(false);

0 commit comments

Comments
 (0)