Permalink
Browse files

Qt: Add Refresh button

  • Loading branch information...
spycrab committed Jun 4, 2018
1 parent 5f29e89 commit 4415417debdd50acf4974f793d4791ad9aabe3b8
@@ -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);
@@ -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(
@@ -68,6 +68,7 @@ class MainWindow final : public QMainWindow
private:
void Open();
void RefreshGameList();
void Play(const std::optional<std::string>& savestate_path = {});
void Pause();
void TogglePause();
@@ -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);
@@ -70,6 +70,7 @@ class Settings final : public QObject
QString GetDefaultGame() const;
void SetDefaultGame(QString path);
void ReloadPath(const QString& qpath);
void ReloadTitleDB();
// Emulation
int GetStateSlot() const;
@@ -135,6 +136,7 @@ class Settings final : public QObject
void PathRemoved(const QString&);
void DefaultGameChanged(const QString&);
void PathReloadRequested(const QString&);
void TitleDBReloadRequested();
void HideCursorChanged();
void KeepWindowOnTopChanged(bool top);
void VolumeChanged(int volume);
@@ -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;
@@ -23,6 +23,7 @@ class ToolBar final : public QToolBar
void closeEvent(QCloseEvent*) override;
signals:
void OpenPressed();
void RefreshPressed();
void PlayPressed();
void PausePressed();
void StopPressed();
@@ -49,6 +50,7 @@ class ToolBar final : public QToolBar
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;

0 comments on commit 4415417

Please sign in to comment.