summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Tanner <thosrtanner2@users.sourceforge.net>2015-09-05 17:18:58 +0100
committerTom Tanner <thosrtanner2@users.sourceforge.net>2015-09-05 17:18:58 +0100
commit4dbf01cd56c69f3b9b45d2a2ad93332b2dc19db9 (patch)
treea239b3feda5ea3d08fff02cc01336816ad1b57fa /src
parent4573d111a2454863a76da922b1229b3bc05eee66 (diff)
parentcd7b409c1045bfc42961467d2250ad6b7c9f007c (diff)
Merge
Diffstat (limited to 'src')
-rw-r--r--src/editexecutablesdialog.cpp20
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 &current)
{
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()));