diff options
| -rw-r--r-- | src/citra_qt/game_list.cpp | 17 | ||||
| -rw-r--r-- | src/citra_qt/game_list.h | 4 | ||||
| -rw-r--r-- | src/citra_qt/main.cpp | 3 |
3 files changed, 24 insertions, 0 deletions
diff --git a/src/citra_qt/game_list.cpp b/src/citra_qt/game_list.cpp index f90e05374..dade3c212 100644 --- a/src/citra_qt/game_list.cpp +++ b/src/citra_qt/game_list.cpp | |||
| @@ -100,6 +100,23 @@ void GameList::PopulateAsync(const QString& dir_path, bool deep_scan) | |||
| 100 | current_worker = std::move(worker); | 100 | current_worker = std::move(worker); |
| 101 | } | 101 | } |
| 102 | 102 | ||
| 103 | void GameList::SaveInterfaceLayout(QSettings& settings) | ||
| 104 | { | ||
| 105 | settings.beginGroup("UILayout"); | ||
| 106 | settings.setValue("gameListHeaderState", tree_view->header()->saveState()); | ||
| 107 | settings.endGroup(); | ||
| 108 | } | ||
| 109 | |||
| 110 | void GameList::LoadInterfaceLayout(QSettings& settings) | ||
| 111 | { | ||
| 112 | auto header = tree_view->header(); | ||
| 113 | settings.beginGroup("UILayout"); | ||
| 114 | header->restoreState(settings.value("gameListHeaderState").toByteArray()); | ||
| 115 | settings.endGroup(); | ||
| 116 | |||
| 117 | item_model->sort(header->sortIndicatorSection(), header->sortIndicatorOrder()); | ||
| 118 | } | ||
| 119 | |||
| 103 | void GameListWorker::AddFstEntriesToGameList(const std::string& dir_path, bool deep_scan) | 120 | void GameListWorker::AddFstEntriesToGameList(const std::string& dir_path, bool deep_scan) |
| 104 | { | 121 | { |
| 105 | const auto callback = [&](const std::string& directory, | 122 | const auto callback = [&](const std::string& directory, |
diff --git a/src/citra_qt/game_list.h b/src/citra_qt/game_list.h index ab09edce3..0950d9622 100644 --- a/src/citra_qt/game_list.h +++ b/src/citra_qt/game_list.h | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | #pragma once | 5 | #pragma once |
| 6 | 6 | ||
| 7 | #include <QModelIndex> | 7 | #include <QModelIndex> |
| 8 | #include <QSettings> | ||
| 8 | #include <QStandardItem> | 9 | #include <QStandardItem> |
| 9 | #include <QStandardItemModel> | 10 | #include <QStandardItemModel> |
| 10 | #include <QString> | 11 | #include <QString> |
| @@ -30,6 +31,9 @@ public: | |||
| 30 | 31 | ||
| 31 | void PopulateAsync(const QString& dir_path, bool deep_scan); | 32 | void PopulateAsync(const QString& dir_path, bool deep_scan); |
| 32 | 33 | ||
| 34 | void SaveInterfaceLayout(QSettings& settings); | ||
| 35 | void LoadInterfaceLayout(QSettings& settings); | ||
| 36 | |||
| 33 | public slots: | 37 | public slots: |
| 34 | void AddEntry(QList<QStandardItem*> entry_items); | 38 | void AddEntry(QList<QStandardItem*> entry_items); |
| 35 | 39 | ||
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index c5e338c91..298649aaf 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp | |||
| @@ -141,6 +141,8 @@ GMainWindow::GMainWindow() : emu_thread(nullptr) | |||
| 141 | microProfileDialog->setVisible(settings.value("microProfileDialogVisible").toBool()); | 141 | microProfileDialog->setVisible(settings.value("microProfileDialogVisible").toBool()); |
| 142 | settings.endGroup(); | 142 | settings.endGroup(); |
| 143 | 143 | ||
| 144 | game_list->LoadInterfaceLayout(settings); | ||
| 145 | |||
| 144 | ui.action_Use_Hardware_Renderer->setChecked(Settings::values.use_hw_renderer); | 146 | ui.action_Use_Hardware_Renderer->setChecked(Settings::values.use_hw_renderer); |
| 145 | SetHardwareRendererEnabled(ui.action_Use_Hardware_Renderer->isChecked()); | 147 | SetHardwareRendererEnabled(ui.action_Use_Hardware_Renderer->isChecked()); |
| 146 | 148 | ||
| @@ -490,6 +492,7 @@ void GMainWindow::closeEvent(QCloseEvent* event) { | |||
| 490 | settings.setValue("singleWindowMode", ui.action_Single_Window_Mode->isChecked()); | 492 | settings.setValue("singleWindowMode", ui.action_Single_Window_Mode->isChecked()); |
| 491 | settings.setValue("displayTitleBars", ui.actionDisplay_widget_title_bars->isChecked()); | 493 | settings.setValue("displayTitleBars", ui.actionDisplay_widget_title_bars->isChecked()); |
| 492 | settings.setValue("firstStart", false); | 494 | settings.setValue("firstStart", false); |
| 495 | game_list->SaveInterfaceLayout(settings); | ||
| 493 | SaveHotkeys(settings); | 496 | SaveHotkeys(settings); |
| 494 | 497 | ||
| 495 | // Shutdown session if the emu thread is active... | 498 | // Shutdown session if the emu thread is active... |