mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-19 14:25:27 +00:00
Delay loading of some settings until later
This early in init_ui() the settings may not be available, yet. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
6227372c2f
commit
21be237b0e
2 changed files with 17 additions and 21 deletions
21
qt-gui.cpp
21
qt-gui.cpp
|
@ -49,16 +49,6 @@ static MainWindow *window = NULL;
|
|||
int error_count;
|
||||
const char *existing_filename;
|
||||
|
||||
const char *getSetting(QSettings &s, QString name)
|
||||
{
|
||||
QVariant v;
|
||||
v = s.value(name);
|
||||
if (v.isValid()) {
|
||||
return strdup(v.toString().toUtf8().data());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#if defined(Q_OS_WIN) && QT_VERSION < 0x050000
|
||||
static QByteArray encodeUtf8(const QString &fname)
|
||||
{
|
||||
|
@ -103,9 +93,6 @@ QString uiLanguage(QLocale *callerLoc)
|
|||
|
||||
void init_ui(void)
|
||||
{
|
||||
QVariant v;
|
||||
QSettings s;
|
||||
|
||||
// tell Qt to use system proxies
|
||||
// note: on Linux, "system" == "environment variables"
|
||||
QNetworkProxyFactory::setUseSystemConfiguration(true);
|
||||
|
@ -151,15 +138,7 @@ void init_ui(void)
|
|||
qDebug() << "can't find Subsurface localization for locale" << uiLang;
|
||||
}
|
||||
}
|
||||
|
||||
s.beginGroup("DiveComputer");
|
||||
default_dive_computer_vendor = getSetting(s, "dive_computer_vendor");
|
||||
default_dive_computer_product = getSetting(s, "dive_computer_product");
|
||||
default_dive_computer_device = getSetting(s, "dive_computer_device");
|
||||
s.endGroup();
|
||||
|
||||
window = new MainWindow();
|
||||
window->loadRecentFiles(&s);
|
||||
if (existing_filename && existing_filename[0] != '\0')
|
||||
window->setTitle(MWTF_FILENAME);
|
||||
else
|
||||
|
|
|
@ -769,6 +769,16 @@ void MainWindow::initialUiSetup()
|
|||
settings.endGroup();
|
||||
}
|
||||
|
||||
const char *getSetting(QSettings &s, QString name)
|
||||
{
|
||||
QVariant v;
|
||||
v = s.value(name);
|
||||
if (v.isValid()) {
|
||||
return strdup(v.toString().toUtf8().data());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#define TOOLBOX_PREF_BUTTON(pref, setting, button) \
|
||||
prefs.pref = s.value(#setting).toBool(); \
|
||||
ui.button->setChecked(prefs.pref);
|
||||
|
@ -797,6 +807,13 @@ void MainWindow::readSettings()
|
|||
TOOLBOX_PREF_BUTTON(hrgraph, hrgraph, profHR);
|
||||
TOOLBOX_PREF_BUTTON(rulergraph, rulergraph, profRuler);
|
||||
TOOLBOX_PREF_BUTTON(show_sac, show_sac, profSAC);
|
||||
s.endGroup();
|
||||
s.beginGroup("DiveComputer");
|
||||
default_dive_computer_vendor = getSetting(s, "dive_computer_vendor");
|
||||
default_dive_computer_product = getSetting(s, "dive_computer_product");
|
||||
default_dive_computer_device = getSetting(s, "dive_computer_device");
|
||||
s.endGroup();
|
||||
loadRecentFiles(&s);
|
||||
}
|
||||
|
||||
#undef TOOLBOX_PREF_BUTTON
|
||||
|
|
Loading…
Add table
Reference in a new issue