summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-10-31 01:54:49 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-11-06 07:44:58 -0500
commitc8e101e19eed4417d42bef678cd60d3efb414eb7 (patch)
tree43ef7fee14e8e71c5b8fd32291037bd71cd0b66f
parent0cea4833eb48400feb652e883c70d8a2907701c3 (diff)
removed runExecutableFile()
turns out on_startButton_clicked() had redundant code
-rw-r--r--src/mainwindow.cpp43
-rw-r--r--src/processrunner.cpp26
-rw-r--r--src/processrunner.h7
3 files changed, 10 insertions, 66 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 63f6c680..c1789b0a 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -2312,41 +2312,18 @@ void MainWindow::installMod(QString fileName)
void MainWindow::on_startButton_clicked()
{
- try {
- const Executable* selectedExecutable = getSelectedExecutable();
- if (!selectedExecutable) {
- return;
- }
-
- ui->startButton->setEnabled(false);
-
- auto* profile = m_OrganizerCore.currentProfile();
-
- const QString customOverwrite = profile->setting(
- "custom_overwrites", selectedExecutable->title()).toString();
-
- auto forcedLibraries = profile->determineForcedLibraries(
- selectedExecutable->title());
-
- if (!profile->forcedLibrariesEnabled(selectedExecutable->title())) {
- forcedLibraries.clear();
- }
-
- m_OrganizerCore.processRunner().runExecutableFile(
- selectedExecutable->binaryInfo(),
- selectedExecutable->arguments(),
- selectedExecutable->workingDirectory().length() != 0 ?
- selectedExecutable->workingDirectory() :
- selectedExecutable->binaryInfo().absolutePath(),
- selectedExecutable->steamAppID(),
- customOverwrite,
- forcedLibraries);
- } catch (...) {
- ui->startButton->setEnabled(true);
- throw;
+ const Executable* selectedExecutable = getSelectedExecutable();
+ if (!selectedExecutable) {
+ return;
}
- ui->startButton->setEnabled(true);
+ ui->startButton->setEnabled(false);
+ Guard g([&]{ ui->startButton->setEnabled(true); });
+
+ m_OrganizerCore.processRunner()
+ .setFromExecutable(*selectedExecutable)
+ .setWaitForCompletion(ProcessRunner::Refresh)
+ .run();
}
bool MainWindow::modifyExecutablesDialog(int selection)
diff --git a/src/processrunner.cpp b/src/processrunner.cpp
index 1d9da96b..dba29bd2 100644
--- a/src/processrunner.cpp
+++ b/src/processrunner.cpp
@@ -515,13 +515,6 @@ ProcessRunner& ProcessRunner::setFromFileOrExecutable(
setProfileName(profileOverride);
- //QFileInfo binary;
- //QString arguments = args.join(" ");
- //QString currentDirectory = cwd;
- //QString steamAppID;
- //QString customOverwrite;
- //QList<ExecutableForcedLoadSetting> forcedLibraries;
-
if (executable.contains('\\') || executable.contains('/')) {
// file path
@@ -669,25 +662,6 @@ DWORD ProcessRunner::exitCode()
}
-bool ProcessRunner::runExecutableFile(
- const QFileInfo &binary, const QString &arguments,
- const QDir &currentDirectory, const QString &steamAppID,
- const QString &customOverwrite,
- const QList<MOBase::ExecutableForcedLoadSetting> &forcedLibraries,
- bool refresh)
-{
- setBinary(binary);
- setArguments(arguments);
- setCurrentDirectory(currentDirectory);
- setSteamID(steamAppID);
- setCustomOverwrite(customOverwrite);
- setForcedLibraries(forcedLibraries);
- setWaitForCompletion(refresh ? Refresh : NoRefresh);
-
- const auto r = run();
- return (r != Error);
-}
-
bool ProcessRunner::runExecutable(const Executable& exe, bool refresh)
{
setFromExecutable(exe);
diff --git a/src/processrunner.h b/src/processrunner.h
index 21840bfe..2e9550e0 100644
--- a/src/processrunner.h
+++ b/src/processrunner.h
@@ -80,13 +80,6 @@ public:
DWORD exitCode();
- bool runExecutableFile(
- const QFileInfo &binary, const QString &arguments,
- const QDir &currentDirectory, const QString &steamAppID={},
- const QString &customOverwrite={},
- const QList<MOBase::ExecutableForcedLoadSetting> &forcedLibraries={},
- bool refresh=true);
-
bool runExecutable(const Executable& exe, bool refresh=true);
bool runShortcut(const MOShortcut& shortcut);