/* Copyright (C) 2012 Sebastian Herbord. All rights reserved. This file is part of Mod Organizer. Mod Organizer is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Mod Organizer is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Mod Organizer. If not, see . */ #include "settingsdialog.h" #include "ui_settingsdialog.h" #include "categoriesdialog.h" #include "helper.h" #include "noeditdelegate.h" #include "iplugingame.h" #include "settings.h" #include "instancemanager.h" #include "nexusinterface.h" #include "plugincontainer.h" #include #include #include #include #include #include #include #include #include #include #define WIN32_LEAN_AND_MEAN #include using namespace MOBase; SettingsDialog::SettingsDialog(PluginContainer *pluginContainer, Settings* settings, QWidget *parent) : TutorableDialog("SettingsDialog", parent) , ui(new Ui::SettingsDialog) , m_settings(settings) , m_PluginContainer(pluginContainer) , m_GeometriesReset(false) , m_keyChanged(false) { ui->setupUi(this); ui->pluginSettingsList->setStyleSheet("QTreeWidget::item {padding-right: 10px;}"); } SettingsDialog::~SettingsDialog() { disconnect(this); delete ui; } QString SettingsDialog::getColoredButtonStyleSheet() const { return QString("QPushButton {" "background-color: %1;" "color: %2;" "border: 1px solid;" "padding: 3px;" "}"); } void SettingsDialog::accept() { QString newModPath = ui->modDirEdit->text(); newModPath.replace("%BASE_DIR%", ui->baseDirEdit->text()); if ((QDir::fromNativeSeparators(newModPath) != QDir::fromNativeSeparators( Settings::instance().getModDirectory(true))) && (QMessageBox::question( nullptr, tr("Confirm"), tr("Changing the mod directory affects all your profiles! " "Mods not present (or named differently) in the new location " "will be disabled in all profiles. " "There is no way to undo this unless you backed up your " "profiles manually. Proceed?"), QMessageBox::Yes | QMessageBox::No) == QMessageBox::No)) { return; } TutorableDialog::accept(); } bool SettingsDialog::getResetGeometries() { return ui->resetGeometryBtn->isChecked(); } bool SettingsDialog::getApiKeyChanged() { return m_keyChanged; }