diff options
| author | Tom Tanner <thosrtanner2@users.sourceforge.net> | 2015-09-05 17:18:58 +0100 |
|---|---|---|
| committer | Tom Tanner <thosrtanner2@users.sourceforge.net> | 2015-09-05 17:18:58 +0100 |
| commit | 4dbf01cd56c69f3b9b45d2a2ad93332b2dc19db9 (patch) | |
| tree | a239b3feda5ea3d08fff02cc01336816ad1b57fa /src | |
| parent | 4573d111a2454863a76da922b1229b3bc05eee66 (diff) | |
| parent | cd7b409c1045bfc42961467d2250ad6b7c9f007c (diff) | |
Merge
Diffstat (limited to 'src')
| -rw-r--r-- | src/editexecutablesdialog.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/editexecutablesdialog.cpp b/src/editexecutablesdialog.cpp index 73fb1d03..b9d548a6 100644 --- a/src/editexecutablesdialog.cpp +++ b/src/editexecutablesdialog.cpp @@ -111,10 +111,10 @@ void EditExecutablesDialog::saveExecutable() void EditExecutablesDialog::delayedRefresh() { - int index = ui->executablesListBox->currentIndex().row(); + QModelIndex index = ui->executablesListBox->currentIndex(); resetInput(); refreshExecutablesWidget(); - ui->executablesListBox->setCurrentRow(index); + on_executablesListBox_clicked(index); } @@ -263,24 +263,26 @@ void EditExecutablesDialog::on_closeButton_clicked() void EditExecutablesDialog::on_executablesListBox_clicked(const QModelIndex ¤t) { if (current.isValid()) { - ui->executablesListBox->selectionModel()->clearSelection(); - ui->executablesListBox->selectionModel()->select(current, QItemSelectionModel::SelectCurrent); if (executableChanged()) { QMessageBox::StandardButton res = QMessageBox::question(this, tr("Save Changes?"), tr("You made changes to the current executable, do you want to save them?"), - QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel); - if (res == QMessageBox::Cancel) { - return; - } else if (res == QMessageBox::Yes) { - // this invalidates the item passed as a a parameter + QMessageBox::Yes | QMessageBox::No); + if (res == QMessageBox::Yes) { saveExecutable(); + //This is necessary if we're adding a new item, but it doesn't look very nice. + //Ideally we'd end up with the correct row displayed + ui->executablesListBox->selectionModel()->clearSelection(); + ui->executablesListBox->selectionModel()->select(current, QItemSelectionModel::SelectCurrent); QTimer::singleShot(50, this, SLOT(delayedRefresh())); return; } } + ui->executablesListBox->selectionModel()->clearSelection(); + ui->executablesListBox->selectionModel()->select(current, QItemSelectionModel::SelectCurrent); + m_CurrentItem = ui->executablesListBox->item(current.row()); Executable const &selectedExecutable(m_ExecutablesList.find(m_CurrentItem->text())); |
