Add setting to disable loading screen
Some checks are pending
Build Porymap / build-linux (5.14.2) (push) Waiting to run
Build Porymap / build-linux (6.8.2) (push) Waiting to run
Build Porymap / build-macos (macos-15-intel) (push) Waiting to run
Build Porymap / build-macos (macos-latest) (push) Waiting to run
Build Porymap / build-static-windows (push) Waiting to run

This commit is contained in:
GriffinR
2025-11-25 17:33:51 -05:00
parent a20f14b93d
commit 9bdb25e10d
6 changed files with 24 additions and 6 deletions

View File

@@ -8,6 +8,7 @@ and this project somewhat adheres to [Semantic Versioning](https://semver.org/sp
### Added
- Add option to sort Locations and Layouts lists by value, rather than alphabetically.
- Add color space settings for exported images.
- Add setting to disable the project loading screen.
### Changed
- Separate `File > Duplicate Current Map/Layout` into two options to allow duplicating the current layout when a map is open.

View File

@@ -54,7 +54,7 @@
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<layout class="QFormLayout" name="formLayout">
<item row="2" column="0" colspan="2">
<item row="3" column="0" colspan="2">
<widget class="QCheckBox" name="checkBox_CheckForUpdates">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, Porymap will automatically alert you on startup if a new release is available&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
@@ -84,28 +84,28 @@
</property>
</widget>
</item>
<item row="3" column="0">
<item row="4" column="0">
<widget class="QLabel" name="label_ApplicationTheme">
<property name="text">
<string>Application Theme</string>
</property>
</widget>
</item>
<item row="3" column="1">
<item row="4" column="1">
<widget class="NoScrollComboBox" name="comboBox_ApplicationTheme">
<property name="editable">
<bool>false</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<item row="5" column="0">
<widget class="QLabel" name="label_ColorSpace">
<property name="text">
<string>Image Export Color Space</string>
</property>
</widget>
</item>
<item row="4" column="1">
<item row="5" column="1">
<widget class="NoScrollComboBox" name="comboBox_ColorSpace">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The color space to use for exported images. If &amp;quot;---&amp;quot; is set, no color space will be used for the exported image. For details on each color space, see Qt's manual page for QColorSpace.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
@@ -115,6 +115,16 @@
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QCheckBox" name="checkBox_ShowProjectLoadingScreen">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, a loading screen with progress information will appear when a project is opened.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Show project loading screen</string>
</property>
</widget>
</item>
</layout>
</item>
<item>

View File

@@ -135,6 +135,7 @@ public:
bool eventDeleteWarningDisabled;
bool eventOverlayEnabled;
bool checkForUpdates;
bool showProjectLoadingScreen;
QDateTime lastUpdateCheckTime;
QVersionNumber lastUpdateCheckVersion;
QMap<QUrl, QDateTime> rateLimitTimes;

View File

@@ -364,6 +364,7 @@ void PorymapConfig::reset() {
this->eventDeleteWarningDisabled = false;
this->eventOverlayEnabled = false;
this->checkForUpdates = true;
this->showProjectLoadingScreen = true;
this->lastUpdateCheckTime = QDateTime();
this->lastUpdateCheckVersion = porymapVersion;
this->rateLimitTimes.clear();
@@ -528,6 +529,8 @@ void PorymapConfig::parseConfigKeyValue(QString key, QString value) {
this->eventOverlayEnabled = getConfigBool(key, value);
} else if (key == "check_for_updates") {
this->checkForUpdates = getConfigBool(key, value);
} else if (key == "show_project_loading_screen") {
this->showProjectLoadingScreen = getConfigBool(key, value);
} else if (key == "last_update_check_time") {
this->lastUpdateCheckTime = QDateTime::fromString(value).toLocalTime();
} else if (key == "last_update_check_version") {
@@ -652,6 +655,7 @@ QMap<QString, QString> PorymapConfig::getKeyValueMap() {
map.insert("event_delete_warning_disabled", QString::number(this->eventDeleteWarningDisabled));
map.insert("event_overlay_enabled", QString::number(this->eventOverlayEnabled));
map.insert("check_for_updates", QString::number(this->checkForUpdates));
map.insert("show_project_loading_screen", QString::number(this->showProjectLoadingScreen));
map.insert("last_update_check_time", this->lastUpdateCheckTime.toUTC().toString());
map.insert("last_update_check_version", this->lastUpdateCheckVersion.toString());
for (auto i = this->rateLimitTimes.cbegin(), end = this->rateLimitTimes.cend(); i != end; i++){

View File

@@ -796,7 +796,7 @@ bool MainWindow::openProject(QString dir, bool initial) {
const QString openMessage = QString("Opening %1").arg(projectString);
logInfo(openMessage);
porysplash->start();
if (porymapConfig.showProjectLoadingScreen) porysplash->start();
porysplash->showLoadingMessage("config");
if (!projectConfig.load(dir) || !userConfig.load(dir)) {

View File

@@ -91,6 +91,7 @@ void PreferenceEditor::updateFields() {
ui->checkBox_OpenRecentProject->setChecked(porymapConfig.reopenOnLaunch);
ui->checkBox_CheckForUpdates->setChecked(porymapConfig.checkForUpdates);
ui->checkBox_DisableEventWarning->setChecked(porymapConfig.eventDeleteWarningDisabled);
ui->checkBox_ShowProjectLoadingScreen->setChecked(porymapConfig.showProjectLoadingScreen);
if (porymapConfig.scriptAutocompleteMode == ScriptAutocompleteMode::MapOnly) {
ui->radioButton_AutocompleteMapScripts->setChecked(true);
@@ -136,6 +137,7 @@ void PreferenceEditor::saveFields() {
porymapConfig.reopenOnLaunch = ui->checkBox_OpenRecentProject->isChecked();
porymapConfig.checkForUpdates = ui->checkBox_CheckForUpdates->isChecked();
porymapConfig.eventDeleteWarningDisabled = ui->checkBox_DisableEventWarning->isChecked();
porymapConfig.showProjectLoadingScreen = ui->checkBox_ShowProjectLoadingScreen->isChecked();
porymapConfig.statusBarLogTypes.clear();
if (ui->checkBox_StatusErrors->isChecked()) porymapConfig.statusBarLogTypes.insert(LogType::LOG_ERROR);