diff options
| author | Momo Cao <momo.cao@protonmail.com> | 2023-01-12 21:47:18 -0500 |
|---|---|---|
| committer | Momo Cao <momo.cao@protonmail.com> | 2023-01-12 21:47:18 -0500 |
| commit | 05ed25d4820eeacea409e22d6c348e5eacdedd0d (patch) | |
| tree | 2dd51bcfb619b470cf64b1816424f72f4602e715 | |
| parent | f4f94396e94dad9cd4d7d7fb6defa096966a4ab8 (diff) | |
DolphinQt: Add button to open graphics mod folder on settings
| -rw-r--r-- | Source/Core/DolphinQt/Config/GraphicsModListWidget.cpp | 15 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/Config/GraphicsModListWidget.h | 3 |
2 files changed, 17 insertions, 1 deletions
diff --git a/Source/Core/DolphinQt/Config/GraphicsModListWidget.cpp b/Source/Core/DolphinQt/Config/GraphicsModListWidget.cpp index ac01158b2f..eaa8d4a05b 100644 --- a/Source/Core/DolphinQt/Config/GraphicsModListWidget.cpp +++ b/Source/Core/DolphinQt/Config/GraphicsModListWidget.cpp @@ -4,15 +4,18 @@ #include "DolphinQt/Config/GraphicsModListWidget.h" #include <QCheckBox> +#include <QDesktopServices> #include <QHBoxLayout> #include <QLabel> #include <QListWidget> #include <QPushButton> +#include <QUrl> #include <QVBoxLayout> #include <QWidget> #include <set> +#include "Common/FileUtil.h" #include "Core/ConfigManager.h" #include "Core/Core.h" #include "DolphinQt/Config/GraphicsModWarningWidget.h" @@ -59,9 +62,10 @@ void GraphicsModListWidget::CreateWidgets() m_mod_list->setSelectionRectVisible(true); m_mod_list->setDragDropMode(QAbstractItemView::InternalMove); + m_open_directory_button = new QPushButton(tr("Open Directory...")); m_refresh = new QPushButton(tr("&Refresh List")); QHBoxLayout* hlayout = new QHBoxLayout; - hlayout->addStretch(); + hlayout->addWidget(m_open_directory_button); hlayout->addWidget(m_refresh); left_v_layout->addWidget(m_mod_list); @@ -99,6 +103,9 @@ void GraphicsModListWidget::ConnectWidgets() connect(m_mod_list->model(), &QAbstractItemModel::rowsMoved, this, &GraphicsModListWidget::SaveModList); + connect(m_open_directory_button, &QPushButton::clicked, this, + &GraphicsModListWidget::OpenGraphicsModDir); + connect(m_refresh, &QPushButton::clicked, this, &GraphicsModListWidget::RefreshModList); connect(&Settings::Instance(), &Settings::EmulationStateChanged, this, @@ -274,3 +281,9 @@ void GraphicsModListWidget::CalculateGameRunning(Core::State state) m_loaded_game_is_running = state == Core::State::Running ? m_game_id == SConfig::GetInstance().GetGameID() : false; } + +void GraphicsModListWidget::OpenGraphicsModDir() +{ + QDesktopServices::openUrl( + QUrl::fromLocalFile(QString::fromStdString(File::GetUserPath(D_GRAPHICSMOD_IDX)))); +} diff --git a/Source/Core/DolphinQt/Config/GraphicsModListWidget.h b/Source/Core/DolphinQt/Config/GraphicsModListWidget.h index b2ea082f12..970a160980 100644 --- a/Source/Core/DolphinQt/Config/GraphicsModListWidget.h +++ b/Source/Core/DolphinQt/Config/GraphicsModListWidget.h @@ -58,6 +58,8 @@ private: void ClearLayoutRecursively(QLayout* layout); + void OpenGraphicsModDir(); + void CalculateGameRunning(Core::State state); bool m_loaded_game_is_running = false; bool m_needs_save = false; @@ -67,6 +69,7 @@ private: QLabel* m_selected_mod_name; QVBoxLayout* m_mod_meta_layout; + QPushButton* m_open_directory_button; QPushButton* m_refresh; GraphicsModWarningWidget* m_warning; |
