diff options
Diffstat (limited to 'src/settingsdialog.cpp')
| -rw-r--r-- | src/settingsdialog.cpp | 53 |
1 files changed, 47 insertions, 6 deletions
diff --git a/src/settingsdialog.cpp b/src/settingsdialog.cpp index 8bc1dbc6..e528f478 100644 --- a/src/settingsdialog.cpp +++ b/src/settingsdialog.cpp @@ -25,6 +25,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. #include "noeditdelegate.h" #include "iplugingame.h" #include "settings.h" +#include "instancemanager.h" #include <QDirIterator> #include <QFileDialog> @@ -39,11 +40,13 @@ using namespace MOBase; SettingsDialog::SettingsDialog(QWidget *parent) - : TutorableDialog("SettingsDialog", parent), ui(new Ui::SettingsDialog) + : TutorableDialog("SettingsDialog", parent) + , ui(new Ui::SettingsDialog) { ui->setupUi(this); - QShortcut *delShortcut = new QShortcut(QKeySequence(Qt::Key_Delete), ui->pluginBlacklist); + QShortcut *delShortcut + = new QShortcut(QKeySequence(Qt::Key_Delete), ui->pluginBlacklist); connect(delShortcut, SIGNAL(activated()), this, SLOT(deleteBlacklistItem())); } @@ -54,7 +57,7 @@ SettingsDialog::~SettingsDialog() void SettingsDialog::addPlugins(const std::vector<IPlugin*> &plugins) { - foreach (IPlugin *plugin, plugins) { + for (IPlugin *plugin : plugins) { ui->pluginsList->addItem(plugin->name()); } } @@ -89,13 +92,23 @@ void SettingsDialog::on_categoriesBtn_clicked() void SettingsDialog::on_bsaDateBtn_clicked() { - IPluginGame const *game = qApp->property("managed_game").value<IPluginGame const *>(); + IPluginGame const *game + = qApp->property("managed_game").value<IPluginGame *>(); QDir dir = game->dataDirectory(); - Helper::backdateBSAs(qApp->property("dataPath").toString().toStdWString(), + Helper::backdateBSAs(qApp->applicationDirPath().toStdWString(), dir.absolutePath().toStdWString()); } +void SettingsDialog::on_browseBaseDirBtn_clicked() +{ + QString temp = QFileDialog::getExistingDirectory( + this, tr("Select base directory"), ui->baseDirEdit->text()); + if (!temp.isEmpty()) { + ui->baseDirEdit->setText(temp); + } +} + void SettingsDialog::on_browseDownloadDirBtn_clicked() { QString temp = QFileDialog::getExistingDirectory(this, tr("Select download directory"), ui->downloadDirEdit->text()); @@ -106,7 +119,7 @@ void SettingsDialog::on_browseDownloadDirBtn_clicked() void SettingsDialog::on_browseModDirBtn_clicked() { - QString temp = QFileDialog::getExistingDirectory(this, tr("Select mod directory"), ui->downloadDirEdit->text()); + QString temp = QFileDialog::getExistingDirectory(this, tr("Select mod directory"), ui->modDirEdit->text()); if (!temp.isEmpty()) { ui->modDirEdit->setText(temp); } @@ -120,6 +133,22 @@ void SettingsDialog::on_browseCacheDirBtn_clicked() } } +void SettingsDialog::on_browseProfilesDirBtn_clicked() +{ + QString temp = QFileDialog::getExistingDirectory(this, tr("Select profiles directory"), ui->profilesDirEdit->text()); + if (!temp.isEmpty()) { + ui->profilesDirEdit->setText(temp); + } +} + +void SettingsDialog::on_browseOverwriteDirBtn_clicked() +{ + QString temp = QFileDialog::getExistingDirectory(this, tr("Select overwrite directory"), ui->overwriteDirEdit->text()); + if (!temp.isEmpty()) { + ui->overwriteDirEdit->setText(temp); + } +} + void SettingsDialog::on_resetDialogsButton_clicked() { if (QMessageBox::question(this, tr("Confirm?"), @@ -186,3 +215,15 @@ void SettingsDialog::on_associateButton_clicked() { Settings::instance().registerAsNXMHandler(true); } + +void SettingsDialog::on_changeInstanceButton_clicked() +{ + if (QMessageBox::question(this, tr("Are you sure?"), + tr("This will restart MO, continue?"), + QMessageBox::Yes | QMessageBox::Cancel) + == QMessageBox::Yes) { + InstanceManager().clearCurrentInstance(); + this->reject(); + qApp->exit(INT_MAX); + } +} |
