From 05ed25d4820eeacea409e22d6c348e5eacdedd0d Mon Sep 17 00:00:00 2001 From: Momo Cao Date: Thu, 12 Jan 2023 21:47:18 -0500 Subject: DolphinQt: Add button to open graphics mod folder on settings --- Source/Core/DolphinQt/Config/GraphicsModListWidget.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'Source/Core/DolphinQt/Config/GraphicsModListWidget.cpp') 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 +#include #include #include #include #include +#include #include #include #include +#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)))); +} -- cgit v1.2.3