fix: update toolbar when instance state changes
This commit is contained in:
parent
309013efb3
commit
4a261cac1a
@ -2101,6 +2101,9 @@ void MainWindow::instanceChanged(const QModelIndex ¤t, const QModelIndex &
|
|||||||
selectionBad();
|
selectionBad();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (m_selectedInstance) {
|
||||||
|
disconnect(m_selectedInstance.get(), &BaseInstance::runningStatusChanged, this, &MainWindow::on_InstanceState_changed);
|
||||||
|
}
|
||||||
QString id = current.data(InstanceList::InstanceIDRole).toString();
|
QString id = current.data(InstanceList::InstanceIDRole).toString();
|
||||||
m_selectedInstance = APPLICATION->instances()->getInstanceById(id);
|
m_selectedInstance = APPLICATION->instances()->getInstanceById(id);
|
||||||
if (m_selectedInstance)
|
if (m_selectedInstance)
|
||||||
@ -2127,6 +2130,8 @@ void MainWindow::instanceChanged(const QModelIndex ¤t, const QModelIndex &
|
|||||||
updateToolsMenu();
|
updateToolsMenu();
|
||||||
|
|
||||||
APPLICATION->settings()->set("SelectedInstance", m_selectedInstance->id());
|
APPLICATION->settings()->set("SelectedInstance", m_selectedInstance->id());
|
||||||
|
|
||||||
|
connect(m_selectedInstance.get(), &BaseInstance::runningStatusChanged, this, &MainWindow::on_InstanceState_changed);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2216,3 +2221,9 @@ void MainWindow::updateStatusCenter()
|
|||||||
m_statusCenter->setText(tr("Total playtime: %1").arg(Time::prettifyDuration(timePlayed)));
|
m_statusCenter->setText(tr("Total playtime: %1").arg(Time::prettifyDuration(timePlayed)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_InstanceState_changed(bool running)
|
||||||
|
{
|
||||||
|
auto current = view->selectionModel()->currentIndex();
|
||||||
|
instanceChanged(current, current);
|
||||||
|
}
|
||||||
|
@ -192,6 +192,8 @@ private slots:
|
|||||||
void keyReleaseEvent(QKeyEvent *event) override;
|
void keyReleaseEvent(QKeyEvent *event) override;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void on_InstanceState_changed(bool running);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void retranslateUi();
|
void retranslateUi();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user