From 7a399daaffed3f8bc7bbf5a08376ffd164c43a52 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 8 Sep 2023 13:05:38 -0400 Subject: [PATCH] Clean up project settings editor UI --- forms/projectsettingseditor.ui | 759 ++++++++++++++++--------------- src/ui/projectsettingseditor.cpp | 12 +- 2 files changed, 401 insertions(+), 370 deletions(-) diff --git a/forms/projectsettingseditor.ui b/forms/projectsettingseditor.ui index bcc19418..be99e633 100644 --- a/forms/projectsettingseditor.ui +++ b/forms/projectsettingseditor.ui @@ -6,8 +6,8 @@ 0 0 - 563 - 1129 + 611 + 1137 @@ -28,15 +28,15 @@ 0 0 - 537 - 1427 + 585 + 1486 - User config + Preferences @@ -233,381 +233,416 @@ - - - - 12 - 75 - true - + + + .QFrame { border: 1px solid red; } - - <html><head/><body><p><span style=" font-size:13pt; color:#d7000c;">WARNING: </span><span style=" font-weight:400;">The settings from this point below require project changes to function properly. Do not modify these settings without the necessary changes. </span></p></body></html> + + QFrame::StyledPanel - - true + + QFrame::Raised - - - - - + - - - Base game version - - - - - - - false - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - Tilesets / Metatiles - - - - - - Qt::Vertical - - - - 20 - 10 - - - - - - - - Enable Triple Layer Metatiles - - - - - - - The mask used to read/write Terrain Type from the metatile's attributes data. If 0, this attribute is disabled. - - - 0x - - - 16 - - - - - - - The number of bytes used per metatile for metatile attributes + + + + 12 + 75 + true + - Attributes size (in bytes) + <html><head/><body><p><span style=" font-size:13pt; color:#d7000c;">WARNING: </span><span style=" font-weight:400;">The settings from this point below require project changes to function properly. Do not modify these settings without the necessary changes. </span></p></body></html> - - - - - - Terrain Type mask - - - - - - - false - - - - - - - Qt::Vertical - - - - 20 - 15 - - - - - - - - Behavior mask - - - - - - - The mask used to read/write Metatile Behavior from the metatile's attributes data. If 0, this attribute is disabled. - - - 0x - - - 16 - - - - - - - Whether the C data outputted for new tilesets will include the "callback" field - - - Output 'callback' field - - - - - - - Whether the C data outputted for new tilesets will include the "isCompressed" field - - - Output 'isCompressed' field - - - - - - - The mask used to read/write Encounter Type from the metatile's attributes data. If 0, this attribute is disabled. - - - 0x - - - 16 - - - - - - - Encounter Type mask - - - - - - - Layer Type mask - - - - - - - The mask used to read/write Layer Type from the metatile's attributes data. If 0, this attribute is disabled. - - - 0x - - - 16 - - - - - - - - - - - 0 - 320 - - - - Path Overrides - - - - 1 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - QFrame::NoFrame - - - QFrame::Plain - - + true - - - - 0 - 0 - 507 - 295 - + + + + + + + + + Base game version + + + + + + + false + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + Tilesets / Metatiles + + + + + + Qt::Vertical + + + + 20 + 10 + + + + + + + + Enable Triple Layer Metatiles + + + + + + + The mask used to read/write Terrain Type from the metatile's attributes data. If 0, this attribute is disabled. + + + 0x + + + 16 + + + + + + + The number of bytes used per metatile for metatile attributes + + + Attributes size (in bytes) + + + + + + + Terrain Type mask + + + + + + + false + + + + + + + Qt::Vertical + + + + 20 + 15 + + + + + + + + Behavior mask + + + + + + + The mask used to read/write Metatile Behavior from the metatile's attributes data. If 0, this attribute is disabled. + + + 0x + + + 16 + + + + + + + Whether the C data outputted for new tilesets will include the "callback" field + + + Output 'callback' field + + + + + + + Whether the C data outputted for new tilesets will include the "isCompressed" field + + + Output 'isCompressed' field + + + + + + + The mask used to read/write Encounter Type from the metatile's attributes data. If 0, this attribute is disabled. + + + 0x + + + 16 + + + + + + + Encounter Type mask + + + + + + + Layer Type mask + + + + + + + The mask used to read/write Layer Type from the metatile's attributes data. If 0, this attribute is disabled. + + + 0x + + + 16 + + + + + + + + + + + 2 - - + + 0 + + + 0 + + + 0 + + + 0 + + + + + <html><head/><body><p><a href="https://huderlem.github.io/porymap/manual/project-files.html"><span style=" text-decoration: underline;">Project Files</span></a></p></body></html> + + + Qt::RichText + + + Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + true + + + + + + + + 0 + 320 + + + + 2 + + + true + + + + + 0 + 0 + 533 + 318 + + + + + 0 + + + 0 + + + 4 + + + + + + - - - - - - - Events - - - - - - Enable 'Requires Itemfinder' for Hidden Items + + + + Events + + + + + Enable Weather Triggers + + + + + + + Enable Secret Bases + + + + + + + Enable Clone Objects + + + + + + + Enable 'Requires Itemfinder' for Hidden Items + + + + + + + Enable 'Quantity' for Hidden Items + + + + + + + Enable 'Respawn Map/NPC' for Heal Locations + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + - - - - Enable 'Quantity' for Hidden Items + + + + Maps + + + + + Whether "Allow Running", "Allow Biking" and "Allow Dig & Escape Rope" are default options for Map Headers + + + Enable 'Allow Running/Biking/Escaping' + + + + + + + Whether "Floor Number" is a default option for Map Headers + + + Enable 'Floor Number' + + + + + + + Whether the dimensions of the border can be changed. If not set, all borders are 2x2 + + + Enable Custom Border Size + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Enable Secret Bases - - - - - - - Enable Weather Triggers - - - - - - - Enable Clone Objects - - - - - - - Enable 'Respawn Map/NPC' for Heal Locations - - - - - - - - - - Maps - - - - - - Whether "Allow Running", "Allow Biking" and "Allow Dig & Escape Rope" are default options for Map Headers - - - Enable 'Allow Running/Biking/Escaping' - - - - - - - Whether "Floor Number" is a default option for Map Headers - - - Enable 'Floor Number' - - - - - - - Whether the dimensions of the border can be changed. If not set, all borders are 2x2 - - - Enable Custom Border Size - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - diff --git a/src/ui/projectsettingseditor.cpp b/src/ui/projectsettingseditor.cpp index e8d9af40..502eaca9 100644 --- a/src/ui/projectsettingseditor.cpp +++ b/src/ui/projectsettingseditor.cpp @@ -11,8 +11,6 @@ Editor for the settings in a user's porymap.project.cfg file (and 'use_encounter_json' in porymap.user.cfg). */ -// TODO: Better red outline around warning section - ProjectSettingsEditor::ProjectSettingsEditor(QWidget *parent, Project *project) : QMainWindow(parent), ui(new Ui::ProjectSettingsEditor), @@ -78,14 +76,12 @@ void ProjectSettingsEditor::initUi() { ui->spinBox_TerrainTypeMask->setMaximum(INT_MAX); } -// TODO: Reduce vertical space between entries -// TODO: Fix vertical misalignment between label and edit area -// TODO: Add description / manual link at top? void ProjectSettingsEditor::createProjectPathsTable() { auto pathPairs = ProjectConfig::defaultPaths.values(); for (auto pathPair : pathPairs) { // Name of the path auto name = new QLabel(); + name->setAlignment(Qt::AlignBottom); name->setText(pathPair.first); // Editable area of the path @@ -99,11 +95,11 @@ void ProjectSettingsEditor::createProjectPathsTable() { //connect(button, &QAbstractButton::clicked, this, &ProjectSettingsEditor::); // Add to list - auto editFrame = new QFrame(); - auto layout = new QHBoxLayout(editFrame); + auto editArea = new QWidget(); + auto layout = new QHBoxLayout(editArea); layout->addWidget(path); layout->addWidget(button); - ui->layout_ProjectPaths->addRow(name, editFrame); + ui->layout_ProjectPaths->addRow(name, editArea); } }