#196: fix persistent settings on Ubuntu 19.04
This commit is contained in:
+44
-45
@@ -6,6 +6,7 @@ MainSettingsDialog::MainSettingsDialog(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::MainSettingsDialog)
|
||||
{
|
||||
QSettings settings;
|
||||
ui->setupUi(this);
|
||||
|
||||
ui->comboSendingBus->addItem(tr("None"));
|
||||
@@ -14,29 +15,27 @@ MainSettingsDialog::MainSettingsDialog(QWidget *parent) :
|
||||
ui->comboSendingBus->addItem(tr("Both"));
|
||||
ui->comboSendingBus->addItem(tr("From File"));
|
||||
|
||||
settings = new QSettings();
|
||||
|
||||
//update the GUI with all the settings we have stored giving things
|
||||
//defaults if nothing was stored (if this is the first time)
|
||||
ui->cbDisplayHex->setChecked(settings->value("Main/UseHex", true).toBool());
|
||||
ui->cbFlowAutoRef->setChecked(settings->value("FlowView/AutoRef", false).toBool());
|
||||
ui->cbFlowUseTimestamp->setChecked(settings->value("FlowView/UseTimestamp", true).toBool());
|
||||
ui->cbInfoAutoExpand->setChecked(settings->value("InfoCompare/AutoExpand", false).toBool());
|
||||
ui->cbMainAutoScroll->setChecked(settings->value("Main/AutoScroll", false).toBool());
|
||||
ui->cbPlaybackLoop->setChecked(settings->value("Playback/AutoLoop", false).toBool());
|
||||
ui->cbRestorePositions->setChecked(settings->value("Main/SaveRestorePositions", true).toBool());
|
||||
ui->cbValidate->setChecked(settings->value("Main/ValidateComm", true).toBool());
|
||||
ui->spinPlaybackSpeed->setValue(settings->value("Playback/DefSpeed", 5).toInt());
|
||||
ui->lineClockFormat->setText(settings->value("Main/TimeFormat", "MMM-dd HH:mm:ss.zzz").toString());
|
||||
ui->lineRemoteHost->setText(settings->value("Remote/Host", "api.savvycan.com").toString());
|
||||
ui->lineRemotePort->setText(settings->value("Remote/Port", "21315").toString()); // = 0x5343 = SC. Yep, really creative port number
|
||||
ui->cbAutoStartRemote->setChecked(settings->value("Remote/AutoStart", false).toBool());
|
||||
ui->cbLoadConnections->setChecked(settings->value("Main/SaveRestoreConnections", false).toBool());
|
||||
ui->cbDisplayHex->setChecked(settings.value("Main/UseHex", true).toBool());
|
||||
ui->cbFlowAutoRef->setChecked(settings.value("FlowView/AutoRef", false).toBool());
|
||||
ui->cbFlowUseTimestamp->setChecked(settings.value("FlowView/UseTimestamp", true).toBool());
|
||||
ui->cbInfoAutoExpand->setChecked(settings.value("InfoCompare/AutoExpand", false).toBool());
|
||||
ui->cbMainAutoScroll->setChecked(settings.value("Main/AutoScroll", false).toBool());
|
||||
ui->cbPlaybackLoop->setChecked(settings.value("Playback/AutoLoop", false).toBool());
|
||||
ui->cbRestorePositions->setChecked(settings.value("Main/SaveRestorePositions", true).toBool());
|
||||
ui->cbValidate->setChecked(settings.value("Main/ValidateComm", true).toBool());
|
||||
ui->spinPlaybackSpeed->setValue(settings.value("Playback/DefSpeed", 5).toInt());
|
||||
ui->lineClockFormat->setText(settings.value("Main/TimeFormat", "MMM-dd HH:mm:ss.zzz").toString());
|
||||
ui->lineRemoteHost->setText(settings.value("Remote/Host", "api.savvycan.com").toString());
|
||||
ui->lineRemotePort->setText(settings.value("Remote/Port", "21315").toString()); // = 0x5343 = SC. Yep, really creative port number
|
||||
ui->cbAutoStartRemote->setChecked(settings.value("Remote/AutoStart", false).toBool());
|
||||
ui->cbLoadConnections->setChecked(settings.value("Main/SaveRestoreConnections", false).toBool());
|
||||
|
||||
ui->spinFontSize->setValue(settings->value("Main/FontSize", ui->cbDisplayHex->font().pointSize()).toUInt());
|
||||
ui->spinFontSize->setValue(settings.value("Main/FontSize", ui->cbDisplayHex->font().pointSize()).toUInt());
|
||||
|
||||
bool secondsMode = settings->value("Main/TimeSeconds", false).toBool();
|
||||
bool clockMode = settings->value("Main/TimeClock", false).toBool();
|
||||
bool secondsMode = settings.value("Main/TimeSeconds", false).toBool();
|
||||
bool clockMode = settings.value("Main/TimeClock", false).toBool();
|
||||
if (clockMode)
|
||||
{
|
||||
ui->rbSeconds->setChecked(false);
|
||||
@@ -59,9 +58,9 @@ MainSettingsDialog::MainSettingsDialog(QWidget *parent) :
|
||||
}
|
||||
}
|
||||
|
||||
ui->comboSendingBus->setCurrentIndex(settings->value("Playback/SendingBus", 4).toInt());
|
||||
ui->cbUseFiltered->setChecked(settings->value("Main/UseFiltered", false).toBool());
|
||||
ui->cbUseOpenGL->setChecked(settings->value("Main/UseOpenGL", false).toBool());
|
||||
ui->comboSendingBus->setCurrentIndex(settings.value("Playback/SendingBus", 4).toInt());
|
||||
ui->cbUseFiltered->setChecked(settings.value("Main/UseFiltered", false).toBool());
|
||||
ui->cbUseOpenGL->setChecked(settings.value("Main/UseOpenGL", false).toBool());
|
||||
|
||||
//just for simplicity they all call the same function and that function updates all settings at once
|
||||
connect(ui->cbDisplayHex, SIGNAL(toggled(bool)), this, SLOT(updateSettings()));
|
||||
@@ -90,7 +89,6 @@ MainSettingsDialog::MainSettingsDialog(QWidget *parent) :
|
||||
MainSettingsDialog::~MainSettingsDialog()
|
||||
{
|
||||
delete ui;
|
||||
delete settings;
|
||||
}
|
||||
|
||||
void MainSettingsDialog::closeEvent(QCloseEvent *event)
|
||||
@@ -98,7 +96,6 @@ void MainSettingsDialog::closeEvent(QCloseEvent *event)
|
||||
Q_UNUSED(event);
|
||||
removeEventFilter(this);
|
||||
updateSettings();
|
||||
settings->sync();
|
||||
}
|
||||
|
||||
bool MainSettingsDialog::eventFilter(QObject *obj, QEvent *event)
|
||||
@@ -122,27 +119,29 @@ bool MainSettingsDialog::eventFilter(QObject *obj, QEvent *event)
|
||||
|
||||
void MainSettingsDialog::updateSettings()
|
||||
{
|
||||
settings->setValue("Main/UseHex", ui->cbDisplayHex->isChecked());
|
||||
settings->setValue("FlowView/AutoRef", ui->cbFlowAutoRef->isChecked());
|
||||
settings->setValue("FlowView/UseTimestamp", ui->cbFlowUseTimestamp->isChecked());
|
||||
settings->setValue("InfoCompare/AutoExpand", ui->cbInfoAutoExpand->isChecked());
|
||||
settings->setValue("Main/AutoScroll", ui->cbMainAutoScroll->isChecked());
|
||||
settings->setValue("Playback/AutoLoop", ui->cbPlaybackLoop->isChecked());
|
||||
settings->setValue("Main/SaveRestorePositions", ui->cbRestorePositions->isChecked());
|
||||
settings->setValue("Main/SaveRestoreConnections", ui->cbLoadConnections->isChecked());
|
||||
settings->setValue("Main/ValidateComm", ui->cbValidate->isChecked());
|
||||
settings->setValue("Playback/DefSpeed", ui->spinPlaybackSpeed->value());
|
||||
settings->setValue("Main/TimeSeconds", ui->rbSeconds->isChecked());
|
||||
settings->setValue("Main/TimeClock", ui->rbSysClock->isChecked());
|
||||
settings->setValue("Playback/SendingBus", ui->comboSendingBus->currentIndex());
|
||||
settings->setValue("Main/UseFiltered", ui->cbUseFiltered->isChecked());
|
||||
settings->setValue("Main/UseOpenGL", ui->cbUseOpenGL->isChecked());
|
||||
settings->setValue("Main/TimeFormat", ui->lineClockFormat->text());
|
||||
settings->setValue("Main/FontSize", ui->spinFontSize->value());
|
||||
settings->setValue("Remote/Host", ui->lineRemoteHost->text());
|
||||
settings->setValue("Remote/Port", ui->lineRemotePort->text());
|
||||
settings->setValue("Remote/AutoStart", ui->cbAutoStartRemote->isChecked());
|
||||
QSettings settings;
|
||||
|
||||
settings->sync();
|
||||
settings.setValue("Main/UseHex", ui->cbDisplayHex->isChecked());
|
||||
settings.setValue("FlowView/AutoRef", ui->cbFlowAutoRef->isChecked());
|
||||
settings.setValue("FlowView/UseTimestamp", ui->cbFlowUseTimestamp->isChecked());
|
||||
settings.setValue("InfoCompare/AutoExpand", ui->cbInfoAutoExpand->isChecked());
|
||||
settings.setValue("Main/AutoScroll", ui->cbMainAutoScroll->isChecked());
|
||||
settings.setValue("Playback/AutoLoop", ui->cbPlaybackLoop->isChecked());
|
||||
settings.setValue("Main/SaveRestorePositions", ui->cbRestorePositions->isChecked());
|
||||
settings.setValue("Main/SaveRestoreConnections", ui->cbLoadConnections->isChecked());
|
||||
settings.setValue("Main/ValidateComm", ui->cbValidate->isChecked());
|
||||
settings.setValue("Playback/DefSpeed", ui->spinPlaybackSpeed->value());
|
||||
settings.setValue("Main/TimeSeconds", ui->rbSeconds->isChecked());
|
||||
settings.setValue("Main/TimeClock", ui->rbSysClock->isChecked());
|
||||
settings.setValue("Playback/SendingBus", ui->comboSendingBus->currentIndex());
|
||||
settings.setValue("Main/UseFiltered", ui->cbUseFiltered->isChecked());
|
||||
settings.setValue("Main/UseOpenGL", ui->cbUseOpenGL->isChecked());
|
||||
settings.setValue("Main/TimeFormat", ui->lineClockFormat->text());
|
||||
settings.setValue("Main/FontSize", ui->spinFontSize->value());
|
||||
settings.setValue("Remote/Host", ui->lineRemoteHost->text());
|
||||
settings.setValue("Remote/Port", ui->lineRemotePort->text());
|
||||
settings.setValue("Remote/AutoStart", ui->cbAutoStartRemote->isChecked());
|
||||
|
||||
settings.sync();
|
||||
emit updatedSettings();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user