From 306b98edacab8d1ad819d1b66fa54789b3e0bdea Mon Sep 17 00:00:00 2001 From: janrupf Date: Mon, 17 Jun 2019 16:13:52 +0200 Subject: GH-2592 Autoselect newly created instances --- application/MainWindow.cpp | 8 ++++++++ application/MainWindow.h | 2 ++ 2 files changed, 10 insertions(+) (limited to 'application') diff --git a/application/MainWindow.cpp b/application/MainWindow.cpp index bec57c0d..ca98130e 100644 --- a/application/MainWindow.cpp +++ b/application/MainWindow.cpp @@ -702,6 +702,9 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new MainWindow // model reset -> selection is invalid. All the instance pointers are wrong. connect(MMC->instances().get(), &InstanceList::dataIsInvalid, this, &MainWindow::selectionBad); + // handle newly added instances + connect(MMC->instances().get(), &InstanceList::instanceAdded, this, &MainWindow::instanceAdded); + // When the global settings page closes, we want to know about it and update our state connect(MMC, &MultiMC::globalSettingsClosed, this, &MainWindow::globalSettingsClosed); @@ -1836,6 +1839,11 @@ void MainWindow::instanceChanged(const QModelIndex ¤t, const QModelIndex & } } +void MainWindow::instanceAdded(QString id) +{ + setSelectedInstanceById(id); +} + void MainWindow::instanceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight) { auto current = view->selectionModel()->currentIndex(); diff --git a/application/MainWindow.h b/application/MainWindow.h index 7691d50e..ea5b9847 100644 --- a/application/MainWindow.h +++ b/application/MainWindow.h @@ -152,6 +152,8 @@ private slots: void instanceChanged(const QModelIndex ¤t, const QModelIndex &previous); + void instanceAdded(QString id); + void instanceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); void selectionBad(); -- cgit v1.2.3