summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorspycrab <spycrab@users.noreply.github.com>2018-06-05 04:29:23 +0200
committerGitHub <noreply@github.com>2018-06-05 04:29:23 +0200
commit8675fa09b800aed0aee50b566a4fcc6b4ffb5190 (patch)
treea367473f52693c9c44c9bc15d1329e2f561a78e5 /Source
parentb7a8deda9630a2a59dbd78a47d50ad54ff2ae4e0 (diff)
parent4415417debdd50acf4974f793d4791ad9aabe3b8 (diff)
Merge pull request #7071 from spycrab/qt_gamelist_refresh
Qt: Add Refresh button
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/DolphinQt2/GameList/GameListModel.cpp2
-rw-r--r--Source/Core/DolphinQt2/MainWindow.cpp9
-rw-r--r--Source/Core/DolphinQt2/MainWindow.h1
-rw-r--r--Source/Core/DolphinQt2/Settings.cpp5
-rw-r--r--Source/Core/DolphinQt2/Settings.h2
-rw-r--r--Source/Core/DolphinQt2/ToolBar.cpp5
-rw-r--r--Source/Core/DolphinQt2/ToolBar.h2
7 files changed, 26 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt2/GameList/GameListModel.cpp b/Source/Core/DolphinQt2/GameList/GameListModel.cpp
index 412bce53fe..2b6b130dfd 100644
--- a/Source/Core/DolphinQt2/GameList/GameListModel.cpp
+++ b/Source/Core/DolphinQt2/GameList/GameListModel.cpp
@@ -27,6 +27,8 @@ GameListModel::GameListModel(QObject* parent) : QAbstractTableModel(parent)
connect(&Settings::Instance(), &Settings::PathRemoved, &m_tracker, &GameTracker::RemoveDirectory);
connect(&Settings::Instance(), &Settings::PathReloadRequested, &m_tracker,
&GameTracker::ReloadDirectory);
+ connect(&Settings::Instance(), &Settings::TitleDBReloadRequested, this,
+ [this] { m_title_database = Core::TitleDatabase(); });
for (const QString& dir : Settings::Instance().GetPaths())
m_tracker.AddDirectory(dir);
diff --git a/Source/Core/DolphinQt2/MainWindow.cpp b/Source/Core/DolphinQt2/MainWindow.cpp
index 42b4a91bbe..d334806cf1 100644
--- a/Source/Core/DolphinQt2/MainWindow.cpp
+++ b/Source/Core/DolphinQt2/MainWindow.cpp
@@ -442,6 +442,7 @@ void MainWindow::ConnectToolBar()
addToolBar(m_tool_bar);
connect(m_tool_bar, &ToolBar::OpenPressed, this, &MainWindow::Open);
+ connect(m_tool_bar, &ToolBar::RefreshPressed, this, &MainWindow::RefreshGameList);
connect(m_tool_bar, &ToolBar::PlayPressed, this, [this]() { Play(); });
connect(m_tool_bar, &ToolBar::PausePressed, this, &MainWindow::Pause);
@@ -516,6 +517,14 @@ void MainWindow::ConnectStack()
tabifyDockWidget(m_log_widget, m_jit_widget);
}
+void MainWindow::RefreshGameList()
+{
+ Settings::Instance().ReloadTitleDB();
+
+ for (const auto& path : Settings::Instance().GetPaths())
+ Settings::Instance().ReloadPath(path);
+}
+
QString MainWindow::PromptFileName()
{
return QFileDialog::getOpenFileName(
diff --git a/Source/Core/DolphinQt2/MainWindow.h b/Source/Core/DolphinQt2/MainWindow.h
index 741a9b46c3..7bf2f3fd80 100644
--- a/Source/Core/DolphinQt2/MainWindow.h
+++ b/Source/Core/DolphinQt2/MainWindow.h
@@ -68,6 +68,7 @@ signals:
private:
void Open();
+ void RefreshGameList();
void Play(const std::optional<std::string>& savestate_path = {});
void Pause();
void TogglePause();
diff --git a/Source/Core/DolphinQt2/Settings.cpp b/Source/Core/DolphinQt2/Settings.cpp
index 5e8c15418d..b377b833ea 100644
--- a/Source/Core/DolphinQt2/Settings.cpp
+++ b/Source/Core/DolphinQt2/Settings.cpp
@@ -128,6 +128,11 @@ void Settings::ReloadPath(const QString& qpath)
emit PathReloadRequested(qpath);
}
+void Settings::ReloadTitleDB()
+{
+ emit TitleDBReloadRequested();
+}
+
QString Settings::GetDefaultGame() const
{
return QString::fromStdString(SConfig::GetInstance().m_strDefaultISO);
diff --git a/Source/Core/DolphinQt2/Settings.h b/Source/Core/DolphinQt2/Settings.h
index 606f4ba9b6..27082ae491 100644
--- a/Source/Core/DolphinQt2/Settings.h
+++ b/Source/Core/DolphinQt2/Settings.h
@@ -70,6 +70,7 @@ public:
QString GetDefaultGame() const;
void SetDefaultGame(QString path);
void ReloadPath(const QString& qpath);
+ void ReloadTitleDB();
// Emulation
int GetStateSlot() const;
@@ -135,6 +136,7 @@ signals:
void PathRemoved(const QString&);
void DefaultGameChanged(const QString&);
void PathReloadRequested(const QString&);
+ void TitleDBReloadRequested();
void HideCursorChanged();
void KeepWindowOnTopChanged(bool top);
void VolumeChanged(int volume);
diff --git a/Source/Core/DolphinQt2/ToolBar.cpp b/Source/Core/DolphinQt2/ToolBar.cpp
index 28956bf086..1f2fd7e70d 100644
--- a/Source/Core/DolphinQt2/ToolBar.cpp
+++ b/Source/Core/DolphinQt2/ToolBar.cpp
@@ -99,6 +99,10 @@ void ToolBar::MakeActions()
m_set_pc_action = AddAction(this, tr("Set PC"), this, &ToolBar::SetPCPressed);
m_open_action = AddAction(this, tr("Open"), this, &ToolBar::OpenPressed);
+ m_refresh_action = AddAction(this, tr("Refresh"), this, &ToolBar::RefreshPressed);
+
+ addSeparator();
+
m_pause_play_action = AddAction(this, tr("Play"), this, &ToolBar::PlayPressed);
m_stop_action = AddAction(this, tr("Stop"), this, &ToolBar::StopPressed);
@@ -160,6 +164,7 @@ void ToolBar::UpdateIcons()
m_set_pc_action->setIcon(Resources::GetScaledThemeIcon("debugger_show_pc"));
m_open_action->setIcon(Resources::GetScaledThemeIcon("open"));
+ m_refresh_action->setIcon(Resources::GetScaledThemeIcon("refresh"));
const Core::State state = Core::GetState();
const bool playing = state != Core::State::Uninitialized && state != Core::State::Paused;
diff --git a/Source/Core/DolphinQt2/ToolBar.h b/Source/Core/DolphinQt2/ToolBar.h
index cc77a4847b..a6123654a3 100644
--- a/Source/Core/DolphinQt2/ToolBar.h
+++ b/Source/Core/DolphinQt2/ToolBar.h
@@ -23,6 +23,7 @@ public:
void closeEvent(QCloseEvent*) override;
signals:
void OpenPressed();
+ void RefreshPressed();
void PlayPressed();
void PausePressed();
void StopPressed();
@@ -49,6 +50,7 @@ private:
void UpdatePausePlayButtonState(bool playing_state);
QAction* m_open_action;
+ QAction* m_refresh_action;
QAction* m_pause_play_action;
QAction* m_stop_action;
QAction* m_fullscreen_action;