From 7aeb4e29c290c78496a1285fc529478e8bea4215 Mon Sep 17 00:00:00 2001 From: Bartosz Kaszubowski Date: Fri, 30 Nov 2018 23:35:08 +0100 Subject: [PATCH 1/5] remove border from GameList --- src/citra_qt/game_list.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/citra_qt/game_list.cpp b/src/citra_qt/game_list.cpp index eab2fba15..03af04927 100644 --- a/src/citra_qt/game_list.cpp +++ b/src/citra_qt/game_list.cpp @@ -287,6 +287,7 @@ GameList::GameList(GMainWindow* parent) : QWidget{parent} { tree_view->setEditTriggers(QHeaderView::NoEditTriggers); tree_view->setUniformRowHeights(true); tree_view->setContextMenuPolicy(Qt::CustomContextMenu); + tree_view->setStyleSheet("QTreeView{ border: none; }"); item_model->insertColumns(0, COLUMN_COUNT); item_model->setHeaderData(COLUMN_NAME, Qt::Horizontal, tr("Name")); From 9c0c817e6ff0b1f8baa14b2c27315964519afe7f Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sun, 2 Dec 2018 14:06:39 -0500 Subject: [PATCH 2/5] yuzu/configuration/configure_input: Default destructor in the cpp file The previous code could potentially be a compilation issue waiting to occur, given we forward declare the type for a std::unique_ptr. If the complete definition of the forward declared type isn't visible in a translation unit that the class is used in, then it would fail to compile. Defaulting the destructor in a cpp file ensures the std::unique_ptr's destructor is only invoked where its complete type is known. --- src/citra_qt/configuration/configure_input.cpp | 2 ++ src/citra_qt/configuration/configure_input.h | 1 + 2 files changed, 3 insertions(+) diff --git a/src/citra_qt/configuration/configure_input.cpp b/src/citra_qt/configuration/configure_input.cpp index c0c9aaeb1..b0cc53395 100644 --- a/src/citra_qt/configuration/configure_input.cpp +++ b/src/citra_qt/configuration/configure_input.cpp @@ -221,6 +221,8 @@ ConfigureInput::ConfigureInput(QWidget* parent) ui->buttonHome->setEnabled(false); } +ConfigureInput::~ConfigureInput() = default; + void ConfigureInput::applyConfiguration() { std::transform(buttons_param.begin(), buttons_param.end(), Settings::values.buttons.begin(), [](const Common::ParamPackage& param) { return param.Serialize(); }); diff --git a/src/citra_qt/configuration/configure_input.h b/src/citra_qt/configuration/configure_input.h index 0f8ce7d1b..aa3cce7a5 100644 --- a/src/citra_qt/configuration/configure_input.h +++ b/src/citra_qt/configuration/configure_input.h @@ -30,6 +30,7 @@ class ConfigureInput : public QWidget { public: explicit ConfigureInput(QWidget* parent = nullptr); + ~ConfigureInput() override; /// Save all button configurations to settings file void applyConfiguration(); From d87961bad3428ce8d8b335d02c3bea7c5abad7b7 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 7 Dec 2018 16:44:37 +0100 Subject: [PATCH 3/5] yuzu/configuration: Add missing override specifiers to configuration-related classes Resolves trivial compiler warnings. --- src/citra_qt/configuration/configure_audio.h | 2 +- src/citra_qt/configuration/configure_camera.h | 2 +- src/citra_qt/configuration/configure_debug.h | 2 +- src/citra_qt/configuration/configure_dialog.h | 2 +- src/citra_qt/configuration/configure_general.h | 2 +- src/citra_qt/configuration/configure_graphics.h | 2 +- src/citra_qt/configuration/configure_motion_touch.h | 2 +- src/citra_qt/configuration/configure_ui.h | 2 +- src/citra_qt/configuration/configure_web.h | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/citra_qt/configuration/configure_audio.h b/src/citra_qt/configuration/configure_audio.h index 9ba031070..144a630b0 100644 --- a/src/citra_qt/configuration/configure_audio.h +++ b/src/citra_qt/configuration/configure_audio.h @@ -16,7 +16,7 @@ class ConfigureAudio : public QWidget { public: explicit ConfigureAudio(QWidget* parent = nullptr); - ~ConfigureAudio(); + ~ConfigureAudio() override; void applyConfiguration(); void retranslateUi(); diff --git a/src/citra_qt/configuration/configure_camera.h b/src/citra_qt/configuration/configure_camera.h index 0aa55996e..130026b3a 100644 --- a/src/citra_qt/configuration/configure_camera.h +++ b/src/citra_qt/configuration/configure_camera.h @@ -16,7 +16,7 @@ class ConfigureCamera : public QWidget { public: explicit ConfigureCamera(QWidget* parent = nullptr); - ~ConfigureCamera(); + ~ConfigureCamera() override; void applyConfiguration(); void retranslateUi(); diff --git a/src/citra_qt/configuration/configure_debug.h b/src/citra_qt/configuration/configure_debug.h index e88184281..20a35df63 100644 --- a/src/citra_qt/configuration/configure_debug.h +++ b/src/citra_qt/configuration/configure_debug.h @@ -16,7 +16,7 @@ class ConfigureDebug : public QWidget { public: explicit ConfigureDebug(QWidget* parent = nullptr); - ~ConfigureDebug(); + ~ConfigureDebug() override; void applyConfiguration(); void retranslateUi(); diff --git a/src/citra_qt/configuration/configure_dialog.h b/src/citra_qt/configuration/configure_dialog.h index 6c0d9ef77..4aa5ce0d5 100644 --- a/src/citra_qt/configuration/configure_dialog.h +++ b/src/citra_qt/configuration/configure_dialog.h @@ -18,7 +18,7 @@ class ConfigureDialog : public QDialog { public: explicit ConfigureDialog(QWidget* parent, const HotkeyRegistry& registry); - ~ConfigureDialog(); + ~ConfigureDialog() override; void applyConfiguration(); void UpdateVisibleTabs(); diff --git a/src/citra_qt/configuration/configure_general.h b/src/citra_qt/configuration/configure_general.h index 121fb508a..9f518155b 100644 --- a/src/citra_qt/configuration/configure_general.h +++ b/src/citra_qt/configuration/configure_general.h @@ -18,7 +18,7 @@ class ConfigureGeneral : public QWidget { public: explicit ConfigureGeneral(QWidget* parent = nullptr); - ~ConfigureGeneral(); + ~ConfigureGeneral() override; void PopulateHotkeyList(const HotkeyRegistry& registry); void ResetDefaults(); diff --git a/src/citra_qt/configuration/configure_graphics.h b/src/citra_qt/configuration/configure_graphics.h index b78e570fc..a872c7717 100644 --- a/src/citra_qt/configuration/configure_graphics.h +++ b/src/citra_qt/configuration/configure_graphics.h @@ -16,7 +16,7 @@ class ConfigureGraphics : public QWidget { public: explicit ConfigureGraphics(QWidget* parent = nullptr); - ~ConfigureGraphics(); + ~ConfigureGraphics() override; void applyConfiguration(); void retranslateUi(); diff --git a/src/citra_qt/configuration/configure_motion_touch.h b/src/citra_qt/configuration/configure_motion_touch.h index a7662b103..2122819f9 100644 --- a/src/citra_qt/configuration/configure_motion_touch.h +++ b/src/citra_qt/configuration/configure_motion_touch.h @@ -46,7 +46,7 @@ class ConfigureMotionTouch : public QDialog { public: explicit ConfigureMotionTouch(QWidget* parent = nullptr); - ~ConfigureMotionTouch(); + ~ConfigureMotionTouch() override; public slots: void applyConfiguration(); diff --git a/src/citra_qt/configuration/configure_ui.h b/src/citra_qt/configuration/configure_ui.h index feff6268d..496cf83af 100644 --- a/src/citra_qt/configuration/configure_ui.h +++ b/src/citra_qt/configuration/configure_ui.h @@ -16,7 +16,7 @@ class ConfigureUi : public QWidget { public: explicit ConfigureUi(QWidget* parent = nullptr); - ~ConfigureUi(); + ~ConfigureUi() override; void applyConfiguration(); void retranslateUi(); diff --git a/src/citra_qt/configuration/configure_web.h b/src/citra_qt/configuration/configure_web.h index e2711ee44..5fcea0c6f 100644 --- a/src/citra_qt/configuration/configure_web.h +++ b/src/citra_qt/configuration/configure_web.h @@ -17,7 +17,7 @@ class ConfigureWeb : public QWidget { public: explicit ConfigureWeb(QWidget* parent = nullptr); - ~ConfigureWeb(); + ~ConfigureWeb() override; void applyConfiguration(); void retranslateUi(); From 5840943110037a3b8ec91ebc1eccaa857c894a44 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sun, 2 Dec 2018 14:14:32 -0500 Subject: [PATCH 4/5] yuzu/configuration: Make slots private where applicable These slots are only ever attached to event handling mechanisms within the class itself, they're never used externally. Because of this, we can make the functions private. This also removes redundant usages of the private access specifier. --- src/citra_qt/configuration/configure_audio.h | 3 +-- src/citra_qt/configuration/configure_debug.h | 1 - src/citra_qt/configuration/configure_dialog.h | 1 - src/citra_qt/configuration/configure_graphics.h | 1 - src/citra_qt/configuration/configure_web.h | 3 +-- 5 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/citra_qt/configuration/configure_audio.h b/src/citra_qt/configuration/configure_audio.h index 144a630b0..b8e347a42 100644 --- a/src/citra_qt/configuration/configure_audio.h +++ b/src/citra_qt/configuration/configure_audio.h @@ -22,10 +22,9 @@ public: void retranslateUi(); void setConfiguration(); -public slots: +private: void updateAudioDevices(int sink_index); -private: void setOutputSinkFromSinkID(); void setAudioDeviceFromDeviceID(); void setVolumeIndicatorText(int percentage); diff --git a/src/citra_qt/configuration/configure_debug.h b/src/citra_qt/configuration/configure_debug.h index 20a35df63..4170c487f 100644 --- a/src/citra_qt/configuration/configure_debug.h +++ b/src/citra_qt/configuration/configure_debug.h @@ -22,6 +22,5 @@ public: void retranslateUi(); void setConfiguration(); -private: std::unique_ptr ui; }; diff --git a/src/citra_qt/configuration/configure_dialog.h b/src/citra_qt/configuration/configure_dialog.h index 4aa5ce0d5..b60b4207b 100644 --- a/src/citra_qt/configuration/configure_dialog.h +++ b/src/citra_qt/configuration/configure_dialog.h @@ -34,6 +34,5 @@ private: void setConfiguration(); void retranslateUi(); -private: std::unique_ptr ui; }; diff --git a/src/citra_qt/configuration/configure_graphics.h b/src/citra_qt/configuration/configure_graphics.h index a872c7717..478bebe2a 100644 --- a/src/citra_qt/configuration/configure_graphics.h +++ b/src/citra_qt/configuration/configure_graphics.h @@ -22,7 +22,6 @@ public: void retranslateUi(); void setConfiguration(); -private: std::unique_ptr ui; QColor bg_color; }; diff --git a/src/citra_qt/configuration/configure_web.h b/src/citra_qt/configuration/configure_web.h index 5fcea0c6f..d52bab7a0 100644 --- a/src/citra_qt/configuration/configure_web.h +++ b/src/citra_qt/configuration/configure_web.h @@ -23,13 +23,12 @@ public: void retranslateUi(); void setConfiguration(); -public slots: +private: void RefreshTelemetryID(); void OnLoginChanged(); void VerifyLogin(); void OnLoginVerified(); -private: bool user_verified = true; QFutureWatcher verify_watcher; From 5a625fe945cb5c272a2e08d706ddef14c9a3c6fb Mon Sep 17 00:00:00 2001 From: fearlessTobi Date: Fri, 7 Dec 2018 16:53:15 +0100 Subject: [PATCH 5/5] yuzu/game_list_worker: Move std::string construction after the termintion check in callbacks Avoids potentially allocating a std::string instance when it isn't needed. --- src/citra_qt/game_list_worker.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/citra_qt/game_list_worker.cpp b/src/citra_qt/game_list_worker.cpp index 7ec7c7677..8739153f0 100644 --- a/src/citra_qt/game_list_worker.cpp +++ b/src/citra_qt/game_list_worker.cpp @@ -37,12 +37,13 @@ void GameListWorker::AddFstEntriesToGameList(const std::string& dir_path, unsign const auto callback = [this, recursion, parent_dir](u64* num_entries_out, const std::string& directory, const std::string& virtual_name) -> bool { - std::string physical_name = directory + DIR_SEP + virtual_name; + if (stop_processing) { + // Breaks the callback loop. + return false; + } - if (stop_processing) - return false; // Breaks the callback loop. - - bool is_dir = FileUtil::IsDirectory(physical_name); + const std::string physical_name = directory + DIR_SEP + virtual_name; + const bool is_dir = FileUtil::IsDirectory(physical_name); if (!is_dir && HasSupportedFileExtension(physical_name)) { std::unique_ptr loader = Loader::GetLoader(physical_name); if (!loader)