mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Revert "desktop-widgets: remove QSettings from desktop-widgets"
This reverts commit 321a920a98
.
It appears that the load_xxx functions aren't called, so while the correct
values are stored to the settings, they aren't retrieved. Let's revert while
this gets fixed.
Fixes #1609
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
4bb72160a6
commit
2d87a657d2
6 changed files with 55 additions and 28 deletions
|
@ -1182,10 +1182,12 @@ void MainWindow::on_actionViewAll_triggered()
|
|||
listGlobeSizes.append(lrint(appW * 0.3));
|
||||
}
|
||||
|
||||
if (qPrefDisplay::mainSplitter() != "") {
|
||||
ui.mainSplitter->restoreState(qPrefDisplay::mainSplitter());
|
||||
ui.topSplitter->restoreState(qPrefDisplay::topSplitter());
|
||||
ui.bottomSplitter->restoreState(qPrefDisplay::bottomSplitter());
|
||||
QSettings settings;
|
||||
settings.beginGroup("MainWindow");
|
||||
if (settings.value("mainSplitter").isValid()) {
|
||||
ui.mainSplitter->restoreState(settings.value("mainSplitter").toByteArray());
|
||||
ui.topSplitter->restoreState(settings.value("topSplitter").toByteArray());
|
||||
ui.bottomSplitter->restoreState(settings.value("bottomSplitter").toByteArray());
|
||||
if (ui.mainSplitter->sizes().first() == 0 || ui.mainSplitter->sizes().last() == 0)
|
||||
ui.mainSplitter->setSizes(mainSizes);
|
||||
if (ui.topSplitter->sizes().first() == 0 || ui.topSplitter->sizes().last() == 0)
|
||||
|
@ -1218,8 +1220,10 @@ void MainWindow::enterEditState()
|
|||
int appW = qApp->desktop()->size().width();
|
||||
QList<int> infoProfileSizes { (int)lrint(appW * 0.3), (int)lrint(appW * 0.7) };
|
||||
|
||||
if (qPrefDisplay::mainSplitter() != "") {
|
||||
ui.topSplitter->restoreState(qPrefDisplay::topSplitter());
|
||||
QSettings settings;
|
||||
settings.beginGroup("MainWindow");
|
||||
if (settings.value("mainSplitter").isValid()) {
|
||||
ui.topSplitter->restoreState(settings.value("topSplitter").toByteArray());
|
||||
if (ui.topSplitter->sizes().first() == 0 || ui.topSplitter->sizes().last() == 0)
|
||||
ui.topSplitter->setSizes(infoProfileSizes);
|
||||
} else {
|
||||
|
@ -1269,9 +1273,11 @@ void MainWindow::beginChangeState(CurrentState s)
|
|||
|
||||
void MainWindow::saveSplitterSizes()
|
||||
{
|
||||
qPrefDisplay::set_mainSplitter(ui.mainSplitter->saveState());
|
||||
qPrefDisplay::set_topSplitter(ui.topSplitter->saveState());
|
||||
qPrefDisplay::set_bottomSplitter(ui.bottomSplitter->saveState());
|
||||
QSettings settings;
|
||||
settings.beginGroup("MainWindow");
|
||||
settings.setValue("mainSplitter", ui.mainSplitter->saveState());
|
||||
settings.setValue("topSplitter", ui.topSplitter->saveState());
|
||||
settings.setValue("bottomSplitter", ui.bottomSplitter->saveState());
|
||||
}
|
||||
|
||||
void MainWindow::on_actionPreviousDC_triggered()
|
||||
|
@ -1458,14 +1464,17 @@ bool MainWindow::askSaveChanges()
|
|||
|
||||
void MainWindow::initialUiSetup()
|
||||
{
|
||||
if (qPrefDisplay::maximized()) {
|
||||
QSettings settings;
|
||||
settings.beginGroup("MainWindow");
|
||||
if (settings.value("maximized", isMaximized()).value<bool>()) {
|
||||
showMaximized();
|
||||
} else {
|
||||
restoreGeometry(qPrefDisplay::geometry());
|
||||
restoreState(qPrefDisplay::windowState());
|
||||
restoreGeometry(settings.value("geometry").toByteArray());
|
||||
restoreState(settings.value("windowState", 0).toByteArray());
|
||||
}
|
||||
|
||||
enterState((CurrentState)qPrefDisplay::lastState());
|
||||
enterState((CurrentState)settings.value("lastState", 0).toInt());
|
||||
settings.endGroup();
|
||||
show();
|
||||
}
|
||||
|
||||
|
@ -1497,7 +1506,7 @@ void MainWindow::checkSurvey()
|
|||
// wait a week for production versions, but not at all for non-tagged builds
|
||||
int waitTime = 7;
|
||||
QDate firstUse42 = s.value("FirstUse42").toDate();
|
||||
if (run_survey || (firstUse42.daysTo(QDate().currentDate()) > waitTime && qPrefDisplay::UserSurvey() == "")) {
|
||||
if (run_survey || (firstUse42.daysTo(QDate().currentDate()) > waitTime && !s.contains("SurveyDone"))) {
|
||||
if (!survey)
|
||||
survey = new UserSurvey(this);
|
||||
survey->show();
|
||||
|
@ -1507,12 +1516,16 @@ void MainWindow::checkSurvey()
|
|||
|
||||
void MainWindow::writeSettings()
|
||||
{
|
||||
qPrefDisplay::set_geometry(saveGeometry());
|
||||
qPrefDisplay::set_windowState(saveState());
|
||||
qPrefDisplay::set_maximized(isMaximized());
|
||||
qPrefDisplay::set_lastState((int)state);
|
||||
QSettings settings;
|
||||
|
||||
settings.beginGroup("MainWindow");
|
||||
settings.setValue("geometry", saveGeometry());
|
||||
settings.setValue("windowState", saveState());
|
||||
settings.setValue("maximized", isMaximized());
|
||||
settings.setValue("lastState", (int)state);
|
||||
if (state == VIEWALL)
|
||||
saveSplitterSizes();
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
void MainWindow::closeEvent(QCloseEvent *event)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue