diff --git a/pcsx2-qt/MainWindow.cpp b/pcsx2-qt/MainWindow.cpp index 1acf025d0c..3f3739e76d 100644 --- a/pcsx2-qt/MainWindow.cpp +++ b/pcsx2-qt/MainWindow.cpp @@ -219,6 +219,9 @@ void MainWindow::setupAdditionalUi() m_ui.actionViewStatusBar->setChecked(status_bar_visible); m_ui.statusBar->setVisible(status_bar_visible); + const bool show_game_grid = Host::GetBaseBoolSettingValue("UI", "GameListGridView", false); + updateGameGridActions(show_game_grid); + m_game_list_widget = new GameListWidget(getContentParent()); m_game_list_widget->initialize(); m_ui.actionGridViewShowTitles->setChecked(m_game_list_widget->getShowGridCoverTitles()); @@ -390,6 +393,7 @@ void MainWindow::connectSignals() connect(m_game_list_widget, &GameListWidget::layoutChange, this, [this]() { QSignalBlocker sb(m_ui.actionGridViewShowTitles); m_ui.actionGridViewShowTitles->setChecked(m_game_list_widget->getShowGridCoverTitles()); + updateGameGridActions(m_game_list_widget->isShowingGameGrid()); }); SettingWidgetBinder::BindWidgetToBoolSetting(nullptr, m_ui.actionViewStatusBarVerbose, "UI", "VerboseStatusBar", false); @@ -3145,6 +3149,14 @@ void MainWindow::updateGameDependentActions() m_ui.actionReloadPatches->setEnabled(s_vm_valid); } +void MainWindow::updateGameGridActions(const bool show_game_grid) +{ + m_ui.actionGridViewShowTitles->setEnabled(show_game_grid); + m_ui.actionGridViewZoomIn->setEnabled(show_game_grid); + m_ui.actionGridViewZoomOut->setEnabled(show_game_grid); + m_ui.actionGridViewRefreshCovers->setEnabled(show_game_grid); +} + void MainWindow::doStartFile(std::optional source, const QString& path) { if (s_vm_valid) diff --git a/pcsx2-qt/MainWindow.h b/pcsx2-qt/MainWindow.h index 5c210f20be..b828680114 100644 --- a/pcsx2-qt/MainWindow.h +++ b/pcsx2-qt/MainWindow.h @@ -234,6 +234,7 @@ private: void updateEmulationActions(bool starting, bool running, bool stopping); void updateDisplayRelatedActions(bool has_surface, bool render_to_main, bool fullscreen); void updateGameDependentActions(); + void updateGameGridActions(const bool show_game_grid); void updateStatusBarWidgetVisibility(); void updateAdvancedSettingsVisibility(); void updateWindowTitle();