Skip to content

Commit 7c78e68

Browse files
committed
Use library settings on first run
1 parent f60231c commit 7c78e68

File tree

2 files changed

+75
-41
lines changed

2 files changed

+75
-41
lines changed

example/mainwindow.cpp

Lines changed: 61 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -205,26 +205,29 @@ void MainWindow::showSearchDialog()
205205
/*****************************************************************************/
206206
void MainWindow::init()
207207
{
208+
hexEdit = new QHexEdit;
209+
setCentralWidget(hexEdit);
210+
readSettings();
211+
writeSettings(); // Write the settings for the optionsdialog
212+
208213
setAttribute(Qt::WA_DeleteOnClose);
209-
optionsDialog = new OptionsDialog(this);
210-
connect(optionsDialog, SIGNAL(accepted()), this, SLOT(optionsAccepted()));
211214
isUntitled = true;
212215
isModified = false;
213216

214-
hexEdit = new QHexEdit;
215-
setCentralWidget(hexEdit);
216-
connect(hexEdit, SIGNAL(overwriteModeChanged(bool)), this, SLOT(setOverwriteMode(bool)));
217-
connect(hexEdit, SIGNAL(dataChanged()), this, SLOT(dataChanged()));
217+
optionsDialog = new OptionsDialog(this);
218+
connect(optionsDialog, SIGNAL(accepted()), this, SLOT(optionsAccepted()));
219+
218220
searchDialog = new SearchDialog(hexEdit, this);
219221

220222
createActions();
221223
createMenus();
222224
createToolBars();
223225
createStatusBar();
224226

225-
readSettings();
226-
227227
setUnifiedTitleAndToolBarOnMac(true);
228+
229+
connect(hexEdit, SIGNAL(overwriteModeChanged(bool)), this, SLOT(setOverwriteMode(bool)));
230+
connect(hexEdit, SIGNAL(dataChanged()), this, SLOT(dataChanged()));
228231
}
229232

230233
void MainWindow::createActions()
@@ -384,24 +387,56 @@ void MainWindow::readSettings()
384387
move(pos);
385388
resize(size);
386389

387-
hexEdit->setAddressArea(settings.value("AddressArea").toBool());
388-
hexEdit->setAsciiArea(settings.value("AsciiArea").toBool());
389-
hexEdit->setHighlighting(settings.value("Highlighting").toBool());
390-
hexEdit->setOverwriteMode(settings.value("OverwriteMode").toBool());
391-
hexEdit->setReadOnly(settings.value("ReadOnly").toBool());
392-
393-
hexEdit->setHighlightingColor(settings.value("HighlightingColor").value<QColor>());
394-
hexEdit->setAddressAreaColor(settings.value("AddressAreaColor").value<QColor>());
395-
hexEdit->setSelectionColor(settings.value("SelectionColor").value<QColor>());
396-
hexEdit->setFont(settings.value("WidgetFont").value<QFont>());
397-
hexEdit->setAddressFontColor(settings.value("AddressFontColor").value<QColor>());
398-
hexEdit->setAsciiAreaColor(settings.value("AsciiAreaColor").value<QColor>());
399-
hexEdit->setAsciiFontColor(settings.value("AsciiFontColor").value<QColor>());
400-
hexEdit->setHexFontColor(settings.value("HexFontColor").value<QColor>());
401-
402-
hexEdit->setAddressWidth(settings.value("AddressAreaWidth").toInt());
403-
hexEdit->setBytesPerLine(settings.value("BytesPerLine").toInt());
404-
hexEdit->setHexCaps(settings.value("HexCaps", true).toBool());
390+
hexEdit->setAddressArea(
391+
settings.value("AddressArea", hexEdit->addressArea()).toBool()
392+
);
393+
hexEdit->setAsciiArea(
394+
settings.value("AsciiArea", hexEdit->asciiArea()).toBool()
395+
);
396+
hexEdit->setHighlighting(
397+
settings.value("Highlighting", hexEdit->highlighting()).toBool()
398+
);
399+
hexEdit->setOverwriteMode(
400+
settings.value("OverwriteMode", hexEdit->overwriteMode()).toBool()
401+
);
402+
hexEdit->setReadOnly(
403+
settings.value("ReadOnly", hexEdit->isReadOnly()).toBool()
404+
);
405+
406+
hexEdit->setHighlightingColor(
407+
settings.value("HighlightingColor", hexEdit->highlightingColor()).value<QColor>()
408+
);
409+
hexEdit->setAddressAreaColor(
410+
settings.value("AddressAreaColor", hexEdit->addressAreaColor()).value<QColor>()
411+
);
412+
hexEdit->setSelectionColor(
413+
settings.value("SelectionColor", hexEdit->selectionColor()).value<QColor>()
414+
);
415+
hexEdit->setFont(
416+
settings.value("WidgetFont", hexEdit->font()).value<QFont>()
417+
);
418+
hexEdit->setAddressFontColor(
419+
settings.value("AddressFontColor", hexEdit->addressFontColor()).value<QColor>()
420+
);
421+
hexEdit->setAsciiAreaColor(
422+
settings.value("AsciiAreaColor", hexEdit->asciiAreaColor()).value<QColor>()
423+
);
424+
hexEdit->setAsciiFontColor(
425+
settings.value("AsciiFontColor", hexEdit->asciiFontColor()).value<QColor>()
426+
);
427+
hexEdit->setHexFontColor(
428+
settings.value("HexFontColor", hexEdit->hexFontColor()).value<QColor>()
429+
);
430+
431+
hexEdit->setAddressWidth(
432+
settings.value("AddressAreaWidth", hexEdit->addressWidth()).toInt()
433+
);
434+
hexEdit->setBytesPerLine(
435+
settings.value("BytesPerLine", hexEdit->bytesPerLine()).toInt()
436+
);
437+
hexEdit->setHexCaps(
438+
settings.value("HexCaps", hexEdit->hexCaps()
439+
).toBool());
405440
}
406441

407442
bool MainWindow::saveFile(const QString &fileName)

example/optionsdialog.cpp

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ OptionsDialog::OptionsDialog(QWidget *parent) :
1111
{
1212
ui->setupUi(this);
1313
readSettings();
14-
writeSettings();
1514
}
1615

1716
OptionsDialog::~OptionsDialog()
@@ -36,27 +35,27 @@ void OptionsDialog::readSettings()
3635
{
3736
QSettings settings;
3837

39-
ui->cbAddressArea->setChecked(settings.value("AddressArea", true).toBool());
40-
ui->cbAsciiArea->setChecked(settings.value("AsciiArea", true).toBool());
41-
ui->cbHighlighting->setChecked(settings.value("Highlighting", true).toBool());
42-
ui->cbOverwriteMode->setChecked(settings.value("OverwriteMode", true).toBool());
38+
ui->cbAddressArea->setChecked(settings.value("AddressArea").toBool());
39+
ui->cbAsciiArea->setChecked(settings.value("AsciiArea").toBool());
40+
ui->cbHighlighting->setChecked(settings.value("Highlighting").toBool());
41+
ui->cbOverwriteMode->setChecked(settings.value("OverwriteMode").toBool());
4342
ui->cbReadOnly->setChecked(settings.value("ReadOnly").toBool());
4443

45-
setColor(ui->lbHighlightingColor, settings.value("HighlightingColor", QColor(0xff, 0xff, 0x99, 0xff)).value<QColor>());
46-
setColor(ui->lbAddressAreaColor, settings.value("AddressAreaColor", this->palette().alternateBase().color()).value<QColor>());
47-
setColor(ui->lbSelectionColor, settings.value("SelectionColor", this->palette().highlight().color()).value<QColor>());
48-
setColor(ui->lbAddressFontColor, settings.value("AddressFontColor", QPalette::WindowText).value<QColor>());
49-
setColor(ui->lbAsciiAreaColor, settings.value("AsciiAreaColor", this->palette().alternateBase().color()).value<QColor>());
50-
setColor(ui->lbAsciiFontColor, settings.value("AsciiFontColor", QPalette::WindowText).value<QColor>());
51-
setColor(ui->lbHexFontColor, settings.value("HexFontColor", QPalette::WindowText).value<QColor>());
44+
setColor(ui->lbHighlightingColor, settings.value("HighlightingColor").value<QColor>());
45+
setColor(ui->lbAddressAreaColor, settings.value("AddressAreaColor").value<QColor>());
46+
setColor(ui->lbSelectionColor, settings.value("SelectionColor").value<QColor>());
47+
setColor(ui->lbAddressFontColor, settings.value("AddressFontColor").value<QColor>());
48+
setColor(ui->lbAsciiAreaColor, settings.value("AsciiAreaColor").value<QColor>());
49+
setColor(ui->lbAsciiFontColor, settings.value("AsciiFontColor").value<QColor>());
50+
setColor(ui->lbHexFontColor, settings.value("HexFontColor").value<QColor>());
5251
#ifdef Q_OS_WIN32
53-
ui->leWidgetFont->setFont(settings.value("WidgetFont", QFont("Courier", 10)).value<QFont>());
52+
ui->leWidgetFont->setFont(settings.value("WidgetFont", QFont("Consolas", 10)).value<QFont>());
5453
#else
5554
ui->leWidgetFont->setFont(settings.value("WidgetFont", QFont("Monospace", 10)).value<QFont>());
5655
#endif
5756

58-
ui->sbAddressAreaWidth->setValue(settings.value("AddressAreaWidth", 4).toInt());
59-
ui->sbBytesPerLine->setValue(settings.value("BytesPerLine", 16).toInt());
57+
ui->sbAddressAreaWidth->setValue(settings.value("AddressAreaWidth").toInt());
58+
ui->sbBytesPerLine->setValue(settings.value("BytesPerLine").toInt());
6059
}
6160

6261
void OptionsDialog::writeSettings()

0 commit comments

Comments
 (0)