Move remaining Porymap config settings to Preferences
This commit is contained in:
parent
30a01b7061
commit
a508677b1d
6 changed files with 72 additions and 43 deletions
|
@ -3012,9 +3012,6 @@
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Options</string>
|
<string>Options</string>
|
||||||
</property>
|
</property>
|
||||||
<addaction name="actionMonitor_Project_Files"/>
|
|
||||||
<addaction name="actionOpen_Recent_Project_On_Launch"/>
|
|
||||||
<addaction name="separator"/>
|
|
||||||
<addaction name="actionProject_Settings"/>
|
<addaction name="actionProject_Settings"/>
|
||||||
<addaction name="actionPreferences"/>
|
<addaction name="actionPreferences"/>
|
||||||
<addaction name="actionShortcuts"/>
|
<addaction name="actionShortcuts"/>
|
||||||
|
@ -3064,22 +3061,6 @@
|
||||||
<string>Ctrl+S</string>
|
<string>Ctrl+S</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
<action name="actionMonitor_Project_Files">
|
|
||||||
<property name="checkable">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Monitor Project Files</string>
|
|
||||||
</property>
|
|
||||||
</action>
|
|
||||||
<action name="actionOpen_Recent_Project_On_Launch">
|
|
||||||
<property name="checkable">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Open Recent Project On Launch</string>
|
|
||||||
</property>
|
|
||||||
</action>
|
|
||||||
<action name="action_NewMap">
|
<action name="action_NewMap">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>New Map...</string>
|
<string>New Map...</string>
|
||||||
|
|
|
@ -18,6 +18,58 @@
|
||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>9</number>
|
<number>9</number>
|
||||||
</property>
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Miscellaneous</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
|
<item row="0" column="3">
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QCheckBox" name="checkBox_OpenRecentProject">
|
||||||
|
<property name="text">
|
||||||
|
<string>Open recent project on launch</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QCheckBox" name="checkBox_MonitorProjectFiles">
|
||||||
|
<property name="text">
|
||||||
|
<string>Monitor project files</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<spacer name="horizontalSpacer_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Maximum</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="groupBox_Themes">
|
<widget class="QGroupBox" name="groupBox_Themes">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
@ -65,8 +117,8 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>582</width>
|
<width>570</width>
|
||||||
<height>372</height>
|
<height>322</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
|
|
@ -199,8 +199,6 @@ private slots:
|
||||||
void on_checkBox_AllowBiking_stateChanged(int selected);
|
void on_checkBox_AllowBiking_stateChanged(int selected);
|
||||||
void on_checkBox_AllowEscaping_stateChanged(int selected);
|
void on_checkBox_AllowEscaping_stateChanged(int selected);
|
||||||
void on_spinBox_FloorNumber_valueChanged(int offset);
|
void on_spinBox_FloorNumber_valueChanged(int offset);
|
||||||
void on_actionMonitor_Project_Files_triggered(bool checked);
|
|
||||||
void on_actionOpen_Recent_Project_On_Launch_triggered(bool checked);
|
|
||||||
void on_actionShortcuts_triggered();
|
void on_actionShortcuts_triggered();
|
||||||
|
|
||||||
void on_actionZoom_In_triggered();
|
void on_actionZoom_In_triggered();
|
||||||
|
|
|
@ -18,6 +18,7 @@ class PreferenceEditor : public QMainWindow
|
||||||
public:
|
public:
|
||||||
explicit PreferenceEditor(QWidget *parent = nullptr);
|
explicit PreferenceEditor(QWidget *parent = nullptr);
|
||||||
~PreferenceEditor();
|
~PreferenceEditor();
|
||||||
|
void updateFields();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void preferencesSaved();
|
void preferencesSaved();
|
||||||
|
@ -27,9 +28,10 @@ private:
|
||||||
Ui::PreferenceEditor *ui;
|
Ui::PreferenceEditor *ui;
|
||||||
NoScrollComboBox *themeSelector;
|
NoScrollComboBox *themeSelector;
|
||||||
|
|
||||||
void populateFields();
|
void initFields();
|
||||||
void saveFields();
|
void saveFields();
|
||||||
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void dialogButtonClicked(QAbstractButton *button);
|
void dialogButtonClicked(QAbstractButton *button);
|
||||||
};
|
};
|
||||||
|
|
|
@ -452,8 +452,6 @@ void MainWindow::loadUserSettings() {
|
||||||
ui->horizontalSlider_MetatileZoom->blockSignals(true);
|
ui->horizontalSlider_MetatileZoom->blockSignals(true);
|
||||||
ui->horizontalSlider_MetatileZoom->setValue(porymapConfig.getMetatilesZoom());
|
ui->horizontalSlider_MetatileZoom->setValue(porymapConfig.getMetatilesZoom());
|
||||||
ui->horizontalSlider_MetatileZoom->blockSignals(false);
|
ui->horizontalSlider_MetatileZoom->blockSignals(false);
|
||||||
ui->actionMonitor_Project_Files->setChecked(porymapConfig.getMonitorFiles());
|
|
||||||
ui->actionOpen_Recent_Project_On_Launch->setChecked(porymapConfig.getReopenOnLaunch());
|
|
||||||
setTheme(porymapConfig.getTheme());
|
setTheme(porymapConfig.getTheme());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -524,8 +522,11 @@ bool MainWindow::openProject(QString dir) {
|
||||||
QObject::connect(editor->project, &Project::reloadProject, this, &MainWindow::on_action_Reload_Project_triggered);
|
QObject::connect(editor->project, &Project::reloadProject, this, &MainWindow::on_action_Reload_Project_triggered);
|
||||||
QObject::connect(editor->project, &Project::mapCacheCleared, this, &MainWindow::onMapCacheCleared);
|
QObject::connect(editor->project, &Project::mapCacheCleared, this, &MainWindow::onMapCacheCleared);
|
||||||
QObject::connect(editor->project, &Project::disableWildEncountersUI, [this]() { this->setWildEncountersUIEnabled(false); });
|
QObject::connect(editor->project, &Project::disableWildEncountersUI, [this]() { this->setWildEncountersUIEnabled(false); });
|
||||||
QObject::connect(editor->project, &Project::uncheckMonitorFilesAction, [this]() { ui->actionMonitor_Project_Files->setChecked(false); });
|
QObject::connect(editor->project, &Project::uncheckMonitorFilesAction, [this]() {
|
||||||
on_actionMonitor_Project_Files_triggered(porymapConfig.getMonitorFiles());
|
porymapConfig.setMonitorFiles(false);
|
||||||
|
if (this->preferenceEditor)
|
||||||
|
this->preferenceEditor->updateFields();
|
||||||
|
});
|
||||||
editor->project->set_root(dir);
|
editor->project->set_root(dir);
|
||||||
success = loadDataStructures()
|
success = loadDataStructures()
|
||||||
&& populateMapList()
|
&& populateMapList()
|
||||||
|
@ -1770,16 +1771,6 @@ void MainWindow::on_actionCursor_Tile_Outline_triggered()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_actionMonitor_Project_Files_triggered(bool checked)
|
|
||||||
{
|
|
||||||
porymapConfig.setMonitorFiles(checked);
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::on_actionOpen_Recent_Project_On_Launch_triggered(bool checked)
|
|
||||||
{
|
|
||||||
porymapConfig.setReopenOnLaunch(checked);
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::on_actionShortcuts_triggered()
|
void MainWindow::on_actionShortcuts_triggered()
|
||||||
{
|
{
|
||||||
if (!shortcutsEditor)
|
if (!shortcutsEditor)
|
||||||
|
|
|
@ -21,7 +21,8 @@ PreferenceEditor::PreferenceEditor(QWidget *parent) :
|
||||||
setAttribute(Qt::WA_DeleteOnClose);
|
setAttribute(Qt::WA_DeleteOnClose);
|
||||||
connect(ui->buttonBox, &QDialogButtonBox::clicked,
|
connect(ui->buttonBox, &QDialogButtonBox::clicked,
|
||||||
this, &PreferenceEditor::dialogButtonClicked);
|
this, &PreferenceEditor::dialogButtonClicked);
|
||||||
populateFields();
|
initFields();
|
||||||
|
updateFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
PreferenceEditor::~PreferenceEditor()
|
PreferenceEditor::~PreferenceEditor()
|
||||||
|
@ -29,7 +30,7 @@ PreferenceEditor::~PreferenceEditor()
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PreferenceEditor::populateFields() {
|
void PreferenceEditor::initFields() {
|
||||||
QStringList themes = { "default" };
|
QStringList themes = { "default" };
|
||||||
static const QRegularExpression re(":/themes/([A-z0-9_-]+).qss");
|
static const QRegularExpression re(":/themes/([A-z0-9_-]+).qss");
|
||||||
QDirIterator it(":/themes", QDirIterator::Subdirectories);
|
QDirIterator it(":/themes", QDirIterator::Subdirectories);
|
||||||
|
@ -38,11 +39,14 @@ void PreferenceEditor::populateFields() {
|
||||||
themes.append(themeName);
|
themes.append(themeName);
|
||||||
}
|
}
|
||||||
themeSelector->addItems(themes);
|
themeSelector->addItems(themes);
|
||||||
|
}
|
||||||
|
|
||||||
|
void PreferenceEditor::updateFields() {
|
||||||
themeSelector->setCurrentText(porymapConfig.getTheme());
|
themeSelector->setCurrentText(porymapConfig.getTheme());
|
||||||
|
|
||||||
ui->lineEdit_TextEditorOpenFolder->setText(porymapConfig.getTextEditorOpenFolder());
|
ui->lineEdit_TextEditorOpenFolder->setText(porymapConfig.getTextEditorOpenFolder());
|
||||||
|
|
||||||
ui->lineEdit_TextEditorGotoLine->setText(porymapConfig.getTextEditorGotoLine());
|
ui->lineEdit_TextEditorGotoLine->setText(porymapConfig.getTextEditorGotoLine());
|
||||||
|
ui->checkBox_MonitorProjectFiles->setChecked(porymapConfig.getMonitorFiles());
|
||||||
|
ui->checkBox_OpenRecentProject->setChecked(porymapConfig.getReopenOnLaunch());
|
||||||
}
|
}
|
||||||
|
|
||||||
void PreferenceEditor::saveFields() {
|
void PreferenceEditor::saveFields() {
|
||||||
|
@ -53,8 +57,9 @@ void PreferenceEditor::saveFields() {
|
||||||
}
|
}
|
||||||
|
|
||||||
porymapConfig.setTextEditorOpenFolder(ui->lineEdit_TextEditorOpenFolder->text());
|
porymapConfig.setTextEditorOpenFolder(ui->lineEdit_TextEditorOpenFolder->text());
|
||||||
|
|
||||||
porymapConfig.setTextEditorGotoLine(ui->lineEdit_TextEditorGotoLine->text());
|
porymapConfig.setTextEditorGotoLine(ui->lineEdit_TextEditorGotoLine->text());
|
||||||
|
porymapConfig.setMonitorFiles(ui->checkBox_MonitorProjectFiles->isChecked());
|
||||||
|
porymapConfig.setReopenOnLaunch(ui->checkBox_OpenRecentProject->isChecked());
|
||||||
|
|
||||||
emit preferencesSaved();
|
emit preferencesSaved();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue