summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-10-08 19:20:08 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-10-08 19:20:08 -0400
commit52db7e8c7ddd39609a8eecbf44fa15ec6369f843 (patch)
treec5935a673882fdb50a83cae012de41cce94549de
parent8bc84a1513325f73252f4a07504ee6d2aad4b2f3 (diff)
initial selection in the edit executables dialog from main window
-rw-r--r--src/editexecutablesdialog.cpp6
-rw-r--r--src/editexecutablesdialog.h3
-rw-r--r--src/mainwindow.cpp9
-rw-r--r--src/mainwindow.h2
4 files changed, 13 insertions, 7 deletions
diff --git a/src/editexecutablesdialog.cpp b/src/editexecutablesdialog.cpp
index 41392712..19b57e9a 100644
--- a/src/editexecutablesdialog.cpp
+++ b/src/editexecutablesdialog.cpp
@@ -55,7 +55,7 @@ private:
};
-EditExecutablesDialog::EditExecutablesDialog(OrganizerCore& oc, QWidget* parent)
+EditExecutablesDialog::EditExecutablesDialog(OrganizerCore& oc, int sel, QWidget* parent)
: TutorableDialog("EditExecutables", parent)
, ui(new Ui::EditExecutablesDialog)
, m_organizerCore(oc)
@@ -75,6 +75,10 @@ EditExecutablesDialog::EditExecutablesDialog(OrganizerCore& oc, QWidget* parent)
fillList();
setDirty(false);
+ if (sel >= 0 && sel < ui->list->count()) {
+ ui->list->item(sel)->setSelected(true);
+ }
+
auto* m = new QMenu;
m->addAction(tr("Add from file..."), [&]{ addFromFile(); });
m->addAction(tr("Add empty"), [&]{ addEmpty(); });
diff --git a/src/editexecutablesdialog.h b/src/editexecutablesdialog.h
index 2e52c722..949aff66 100644
--- a/src/editexecutablesdialog.h
+++ b/src/editexecutablesdialog.h
@@ -148,7 +148,8 @@ public:
using CustomOverwrites = ToggableMap<QString>;
using ForcedLibraries = ToggableMap<QList<MOBase::ExecutableForcedLoadSetting>>;
- explicit EditExecutablesDialog(OrganizerCore& oc, QWidget* parent=nullptr);
+ explicit EditExecutablesDialog(
+ OrganizerCore& oc, int selection=-1, QWidget* parent=nullptr);
~EditExecutablesDialog();
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 295c60a6..ba02267a 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -2345,12 +2345,12 @@ void MainWindow::on_startButton_clicked() {
ui->startButton->setEnabled(true);
}
-bool MainWindow::modifyExecutablesDialog()
+bool MainWindow::modifyExecutablesDialog(int selection)
{
bool result = false;
try {
- EditExecutablesDialog dialog(m_OrganizerCore, this);
+ EditExecutablesDialog dialog(m_OrganizerCore, selection, this);
result = (dialog.exec() == QDialog::Accepted);
@@ -2375,7 +2375,7 @@ void MainWindow::on_executablesListBox_currentIndexChanged(int index)
m_OldExecutableIndex = index;
if (index == 0) {
- modifyExecutablesDialog();
+ modifyExecutablesDialog(previousIndex - 1);
ui->executablesListBox->setCurrentIndex(previousIndex);
}
}
@@ -2451,7 +2451,8 @@ void MainWindow::on_actionAdd_Profile_triggered()
void MainWindow::on_actionModify_Executables_triggered()
{
- if (modifyExecutablesDialog()) {
+ const auto sel = (m_OldExecutableIndex > 0 ? m_OldExecutableIndex - 1 : 0);
+ if (modifyExecutablesDialog(sel)) {
ui->executablesListBox->setCurrentIndex(m_OldExecutableIndex);
}
}
diff --git a/src/mainwindow.h b/src/mainwindow.h
index 524e2b6e..fa6a81cf 100644
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -235,7 +235,7 @@ private:
QList<MOBase::IOrganizer::FileInfo> findFileInfos(const QString &path, const std::function<bool (const MOBase::IOrganizer::FileInfo &)> &filter) const;
- bool modifyExecutablesDialog();
+ bool modifyExecutablesDialog(int selection);
void displayModInformation(int row, ModInfoTabIDs tab=ModInfoTabIDs::None);
void testExtractBSA(int modIndex);