Fix last instance remaining selected when deleted

This commit is contained in:
Petr Mrázek 2014-05-11 19:32:17 +02:00
parent 68ef451be5
commit 6d34411f54

View File

@ -870,17 +870,14 @@ void MainWindow::updateInstanceToolIcon(QString new_icon)
void MainWindow::setSelectedInstanceById(const QString &id) void MainWindow::setSelectedInstanceById(const QString &id)
{ {
QModelIndex selectionIndex = proxymodel->index(0, 0); if (id.isNull())
if (!id.isNull()) return;
{
const QModelIndex index = MMC->instances()->getInstanceIndexById(id); const QModelIndex index = MMC->instances()->getInstanceIndexById(id);
if (index.isValid()) if (index.isValid())
{ {
selectionIndex = proxymodel->mapFromSource(index); QModelIndex selectionIndex = proxymodel->mapFromSource(index);
view->selectionModel()->setCurrentIndex(selectionIndex, QItemSelectionModel::ClearAndSelect);
} }
}
view->selectionModel()->setCurrentIndex(selectionIndex,
QItemSelectionModel::ClearAndSelect);
} }
void MainWindow::on_actionChangeInstGroup_triggered() void MainWindow::on_actionChangeInstGroup_triggered()
@ -1349,8 +1346,8 @@ void MainWindow::instanceChanged(const QModelIndex &current, const QModelIndex &
{ {
if(!current.isValid()) if(!current.isValid())
{ {
selectionBad();
MMC->settings()->set("SelectedInstance", QString()); MMC->settings()->set("SelectedInstance", QString());
selectionBad();
return; return;
} }
QString id = current.data(InstanceList::InstanceIDRole).toString(); QString id = current.data(InstanceList::InstanceIDRole).toString();
@ -1370,8 +1367,8 @@ void MainWindow::instanceChanged(const QModelIndex &current, const QModelIndex &
} }
else else
{ {
selectionBad();
MMC->settings()->set("SelectedInstance", QString()); MMC->settings()->set("SelectedInstance", QString());
selectionBad();
return; return;
} }
} }