From ba0cd0e10d381123234a2aa8fe0bf2bce5c8a861 Mon Sep 17 00:00:00 2001 From: Al12rs Date: Wed, 24 Jan 2018 13:43:53 +0100 Subject: Fixed customOverwrite setting for executables. The setting was not being passed to spawnBinary() and was left empty. Just added a couple lines to pass that too. If the setting is disabled cutomOverwrite should be empty and the normal overwrite folder will be used instead. --- src/mainwindow.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/mainwindow.cpp') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 6648f32e..bcc8fd06 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1043,12 +1043,13 @@ void MainWindow::startExeAction() if (action != nullptr) { const Executable &selectedExecutable( m_OrganizerCore.executablesList()->find(action->text())); + QString customOverwrite= m_OrganizerCore.currentProfile()->setting("custom_overwrites", selectedExecutable.m_Title).toString(); m_OrganizerCore.spawnBinary( selectedExecutable.m_BinaryInfo, selectedExecutable.m_Arguments, selectedExecutable.m_WorkingDirectory.length() != 0 ? selectedExecutable.m_WorkingDirectory : selectedExecutable.m_BinaryInfo.absolutePath(), - selectedExecutable.m_SteamAppID); + selectedExecutable.m_SteamAppID, customOverwrite); } else { qCritical("not an action?"); } @@ -1709,13 +1710,13 @@ void MainWindow::installMod(QString fileName) void MainWindow::on_startButton_clicked() { const Executable &selectedExecutable(getSelectedExecutable()); - + QString customOverwrite = m_OrganizerCore.currentProfile()->setting("custom_overwrites", selectedExecutable.m_Title).toString(); m_OrganizerCore.spawnBinary( selectedExecutable.m_BinaryInfo, selectedExecutable.m_Arguments, selectedExecutable.m_WorkingDirectory.length() != 0 ? selectedExecutable.m_WorkingDirectory : selectedExecutable.m_BinaryInfo.absolutePath(), - selectedExecutable.m_SteamAppID); + selectedExecutable.m_SteamAppID, customOverwrite); } static HRESULT CreateShortcut(LPCWSTR targetFileName, LPCWSTR arguments, -- cgit v1.3.1 From 3a17614bed6d45df2852318910ce5e30d8dc1e4e Mon Sep 17 00:00:00 2001 From: Al12rs Date: Fri, 26 Jan 2018 18:24:36 +0100 Subject: Added "open downloads folder", "open profile folder", "open game fodler" and "open MyGames fodler" to the menu entries options of the mainwindow. Changed the menu entry "open in explorer" of overwrite to show even if overwrite is empty. --- src/mainwindow.cpp | 36 +++++++++++++++++++++++++++++++++++- src/mainwindow.h | 5 ++++- 2 files changed, 39 insertions(+), 2 deletions(-) (limited to 'src/mainwindow.cpp') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index bcc8fd06..5f337da3 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -2999,6 +2999,27 @@ void MainWindow::openInstanceFolder() ::ShellExecuteW(nullptr, L"explore", ToWString(m_OrganizerCore.settings().getBaseDirectory()).c_str(), nullptr, nullptr, SW_SHOWNORMAL); } +void MainWindow::openProfileFolder() +{ + ::ShellExecuteW(nullptr, L"explore", ToWString(m_OrganizerCore.currentProfile()->absolutePath()).c_str(), nullptr, nullptr, SW_SHOWNORMAL); +} + +void MainWindow::openDownloadsFolder() +{ + ::ShellExecuteW(nullptr, L"explore", ToWString(m_OrganizerCore.settings().getDownloadDirectory()).c_str(), nullptr, nullptr, SW_SHOWNORMAL); +} + +void MainWindow::openGameFolder() +{ + ::ShellExecuteW(nullptr, L"explore", ToWString(m_OrganizerCore.managedGame()->gameDirectory().absolutePath()).c_str(), nullptr, nullptr, SW_SHOWNORMAL); +} + +void MainWindow::openMyGamesFolder() +{ + ::ShellExecuteW(nullptr, L"explore", ToWString(m_OrganizerCore.managedGame()->documentsDirectory().absolutePath()).c_str(), nullptr, nullptr, SW_SHOWNORMAL); +} + + void MainWindow::exportModListCSV() { SelectionDialog selection(tr("Choose what to export")); @@ -3069,6 +3090,8 @@ QMenu *MainWindow::modListContextMenu() menu->addAction(tr("Create empty mod"), this, SLOT(createEmptyMod_clicked())); + menu->addSeparator(); + menu->addAction(tr("Enable all visible"), this, SLOT(enableVisibleMods())); menu->addAction(tr("Disable all visible"), this, SLOT(disableVisibleMods())); @@ -3078,7 +3101,18 @@ QMenu *MainWindow::modListContextMenu() menu->addAction(tr("Export to csv..."), this, SLOT(exportModListCSV())); + menu->addSeparator(); + menu->addAction(tr("Open Instance folder"), this, SLOT(openInstanceFolder())); + + menu->addAction(tr("Open Profile folder"), this, SLOT(openProfileFolder())); + + menu->addAction(tr("Open Downloads folder"), this, SLOT(openDownloadsFolder())); + + menu->addAction(tr("Open Game folder"), this, SLOT(openGameFolder())); + + menu->addAction(tr("Open MyGames folder"), this, SLOT(openMyGamesFolder())); + return menu; } @@ -3106,8 +3140,8 @@ void MainWindow::on_modList_customContextMenuRequested(const QPoint &pos) menu->addAction(tr("Sync to Mods..."), &m_OrganizerCore, SLOT(syncOverwrite())); menu->addAction(tr("Create Mod..."), this, SLOT(createModFromOverwrite())); menu->addAction(tr("Clear Overwrite..."), this, SLOT(clearOverwrite())); - menu->addAction(tr("Open in explorer"), this, SLOT(openExplorer_clicked())); } + menu->addAction(tr("Open in explorer"), this, SLOT(openExplorer_clicked())); } else if (std::find(flags.begin(), flags.end(), ModInfo::FLAG_BACKUP) != flags.end()) { menu->addAction(tr("Restore Backup"), this, SLOT(restoreBackup_clicked())); menu->addAction(tr("Remove Backup..."), this, SLOT(removeMod_clicked())); diff --git a/src/mainwindow.h b/src/mainwindow.h index a17b706d..5c8e4ebc 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -484,7 +484,10 @@ private slots: void disableVisibleMods(); void exportModListCSV(); void openInstanceFolder(); - + void openDownloadsFolder(); + void openProfileFolder(); + void openGameFolder(); + void openMyGamesFolder(); void startExeAction(); void checkBSAList(); -- cgit v1.3.1