]> Shamusworld >> Repos - wozmaker/blobdiff - src/settingsdialog.cpp
Flesh out the disk settings dialog.
[wozmaker] / src / settingsdialog.cpp
index 3321f3092ab60ddd2fc98775070a24ce1432c841..214b6933152c07d694f89c08682bee4848268f2a 100644 (file)
@@ -1,28 +1,85 @@
 //
-// settingsdialog.cpp: Dialog for changing Architektonas settings
+// settingsdialog.cpp: Dialog for changing disk settings
 //
-// Part of the Architektonas Project
-// (C) 2011 Underground Software
+// Part of the Wozmaker Project
+// (C) 2019 Underground Software
 // See the README and GPLv3 files for licensing and warranty information
 //
-// JLH = James Hammons <jlhamm@acm.org>
-//
-// WHO  WHEN        WHAT
-// ---  ----------  ------------------------------------------------------------
-// JLH  06/04/2011  Created this file
 
 #include "settingsdialog.h"
-//#include "baseunittab.h"
-//#include "generaltab.h"
 
 
 SettingsDialog::SettingsDialog(QWidget * parent/*= 0*/): QDialog(parent)
 {
-//     tabWidget = new QTabWidget;
-//     generalTab = new GeneralTab(this);
-//     baseunitTab = new BaseUnitTab(this);
-//     tabWidget->addTab(generalTab, tr("General"));
-//     tabWidget->addTab(baseunitTab, tr("Base Unit"));
+       QGridLayout * grid = new QGridLayout;
+
+       QStringList lsl = { "Title", "Subtitle", "Publisher", "Developer", "Copyright", "Version", "Language", "Requires", "Notes", "Side", "Side Name", "Contributor" };
+
+       for(int i=0; i<12; i++)
+       {
+               label[i].setText(lsl[i]);
+               label[i].setAlignment(Qt::AlignRight);
+       }
+
+       grid->addWidget(&label[0], 0, 0);
+       grid->addWidget(&label[1], 1, 0);
+       grid->addWidget(&label[2], 2, 0);
+       grid->addWidget(&label[3], 3, 0);
+       grid->addWidget(&label[4], 4, 0);
+       grid->addWidget(&label[5], 5, 0);
+       grid->addWidget(&label[6], 5, 2);
+       grid->addWidget(&label[7], 6, 0, 1, 1, Qt::AlignTop);
+
+       QStringList lesl = { "Title of the software", "If there's a subtitle, put it here", "Who published the software?", "Who wrote the software?", "", "1.0", "Put any additional notes about the disk here", "A, B, Dungeon, Towne, etc.", "Who contributed this disk?" };
+
+       for(int i=0; i<9; i++)
+               line[i].setPlaceholderText(lesl[i]);
+
+       QStringList sl1 = { "English", "Spanish", "French", "German", "Chinese", "Japanese", "Italian", "Dutch", "Portuguese", "Danish", "Finnish", "Norwegian", "Swedish", "Russian", "Polish", "Turkish", "Arabic", "Thai", "Czech", "Hungarian", "Catalan", "Croatian", "Greek", "Hebrew", "Romanian", "Slovak", "Ukrainian", "Indonesian", "Malay", "Vietnamese", "Other" };
+       QStringList sl2 = { "16K", "24K", "32K", "48K", "64K", "128K", "256K", "512K", "768K", "1M", "1.25M", "1.5M+", "Unknown" };
+       QStringList sl3 = { "Disk 1, Side A", "Disk 1, Side B", "Disk 2, Side A", "Disk 2, Side B", "Disk 3, Side A", "Disk 3, Side B", "Disk 4, Side A", "Disk 4, Side B", "Disk 5, Side A", "Disk 5, Side B", "Disk 6, Side A", "Disk 6, Side B", "Disk 7, Side A", "Disk 7, Side B", "Disk 8, Side A", "Disk 8, Side B" };
+
+       combo[0].insertItems(0, sl1);
+       combo[1].insertItems(0, sl2);
+       combo[2].insertItems(0, sl3);
+
+       grid->addWidget(&line[0], 0, 1, 1, -1);
+       grid->addWidget(&line[1], 1, 1, 1, -1);
+       grid->addWidget(&line[2], 2, 1, 1, -1);
+       grid->addWidget(&line[3], 3, 1, 1, -1);
+       grid->addWidget(&line[4], 4, 1, 1, -1);
+       grid->addWidget(&line[5], 5, 1);
+       grid->addWidget(&combo[0], 5, 3);
+
+       QGridLayout * cbGrid = new QGridLayout;
+
+       QStringList cbsl = { "][", "][+", "//e", "//c", "//e Enh.", "IIgs", "//c+", "///", "///+", "Write Protected" };
+
+       for(int i=0; i<10; i++)
+               check[i].setText(cbsl[i]);
+
+       cbGrid->addWidget(&check[0], 0, 0);
+       cbGrid->addWidget(&check[1], 0, 1);
+       cbGrid->addWidget(&check[2], 0, 2);
+       cbGrid->addWidget(&check[3], 1, 0);
+       cbGrid->addWidget(&check[4], 1, 1);
+       cbGrid->addWidget(&check[5], 1, 2);
+       cbGrid->addWidget(&check[6], 2, 0);
+       cbGrid->addWidget(&check[7], 2, 1);
+       cbGrid->addWidget(&check[8], 2, 2);
+
+       grid->addLayout(cbGrid, 6, 1);
+       grid->addWidget(&combo[1], 6, 3, 1, 1, Qt::AlignTop);
+
+       grid->addWidget(&label[8], 7, 0);
+       grid->addWidget(&line[6], 7, 1, 1, -1);
+       grid->addWidget(&label[9], 8, 0);
+       grid->addWidget(&combo[2], 8, 1);
+       grid->addWidget(&label[10], 8, 2);
+       grid->addWidget(&line[7], 8, 3);
+       grid->addWidget(&check[9], 9, 3);
+       grid->addWidget(&label[11], 10, 0);
+       grid->addWidget(&line[8], 10, 1, 1, -1);
 
        buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
 
@@ -30,7 +87,7 @@ SettingsDialog::SettingsDialog(QWidget * parent/*= 0*/): QDialog(parent)
        connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
 
        QVBoxLayout * mainLayout = new QVBoxLayout;
-//     mainLayout->addWidget(tabWidget);
+       mainLayout->addLayout(grid);
        mainLayout->addWidget(buttonBox);
        setLayout(mainLayout);