From 829124d8b899101370e55eb2a9cb9164ffd68a55 Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Mon, 23 Sep 2019 17:52:46 -0400
Subject: ensure windows are on screen
---
src/settings.cpp | 90 ++++++++++++++++++++++++++++++++++++++++++++------------
1 file changed, 72 insertions(+), 18 deletions(-)
(limited to 'src/settings.cpp')
diff --git a/src/settings.cpp b/src/settings.cpp
index 7cea52fb..19eca5ec 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -22,7 +22,9 @@ along with Mod Organizer. If not, see .
#include "serverinfo.h"
#include "executableslist.h"
#include "appconfig.h"
-#include "expanderwidget.h"
+#include "env.h"
+#include "envmetrics.h"
+#include
#include
#include
@@ -604,21 +606,80 @@ void GeometrySettings::resetIfNeeded()
removeSection(m_Settings, "Geometry");
}
-void GeometrySettings::saveGeometry(const QWidget* w)
+void GeometrySettings::saveGeometry(const QMainWindow* w)
+{
+ saveWindowGeometry(w);
+}
+
+bool GeometrySettings::restoreGeometry(QMainWindow* w) const
+{
+ return restoreWindowGeometry(w);
+}
+
+void GeometrySettings::saveGeometry(const QDialog* d)
+{
+ saveWindowGeometry(d);
+}
+
+bool GeometrySettings::restoreGeometry(QDialog* d) const
+{
+ return restoreWindowGeometry(d);
+}
+
+void GeometrySettings::saveWindowGeometry(const QWidget* w)
{
set(m_Settings, "Geometry", geoSettingName(w), w->saveGeometry());
}
-bool GeometrySettings::restoreGeometry(QWidget* w) const
+bool GeometrySettings::restoreWindowGeometry(QWidget* w) const
{
if (auto v=getOptional(m_Settings, "Geometry", geoSettingName(w))) {
w->restoreGeometry(*v);
+ ensureWindowOnScreen(w);
return true;
}
return false;
}
+void GeometrySettings::ensureWindowOnScreen(QWidget* w) const
+{
+ // users report that the main window and/or dialogs are displayed off-screen;
+ // the usual workaround is keyboard navigation to move it
+ //
+ // qt should have code that deals with multiple monitors and off-screen
+ // geometries, but there seems to be bugs or inconsistencies that can't be
+ // reproduced
+ //
+ // the closest would probably be https://bugreports.qt.io/browse/QTBUG-64498,
+ // which is about multiple monitors and high dpi, but it seems fixed as of
+ // 5.12.4, which is shipped with 2.2.1
+ //
+ // without being to reproduce the problem, some simple checks are made in a
+ // timer, which may mitigate the issues
+
+ QTimer::singleShot(100, w, [w] {
+ const auto borders = 20;
+
+ // desktop geometry, made smaller to make sure there isn't just a few pixels
+ const auto originalDg = env::Environment().metrics().desktopGeometry();
+ const auto dg = originalDg.adjusted(borders, borders, -borders, -borders);
+
+ const auto g = w->geometry();
+
+ if (!dg.intersects(g)) {
+ log::warn(
+ "window '{}' is offscreen, moving to main monitor; geo={}, desktop={}",
+ w->objectName(), g, originalDg);
+
+ // widget is off-screen, center it on main monitor
+ centerOnMonitor(w, -1);
+
+ log::warn("window '{}' now at {}", w->objectName(), w->geometry());
+ }
+ });
+}
+
void GeometrySettings::saveState(const QMainWindow* w)
{
set(m_Settings, "Geometry", stateSettingName(w), w->saveState());
@@ -771,12 +832,17 @@ void GeometrySettings::setModInfoTabOrder(const QString& names)
void GeometrySettings::centerOnMainWindowMonitor(QWidget* w)
{
const auto monitor = getOptional(
- m_Settings, "Geometry", "MainWindow_monitor");
+ m_Settings, "Geometry", "MainWindow_monitor").value_or(-1);
+
+ centerOnMonitor(w, monitor);
+}
+void GeometrySettings::centerOnMonitor(QWidget* w, int monitor)
+{
QPoint center;
- if (monitor && QGuiApplication::screens().size() > *monitor) {
- center = QGuiApplication::screens().at(*monitor)->geometry().center();
+ if (monitor >= 0 && monitor < QGuiApplication::screens().size()) {
+ center = QGuiApplication::screens().at(monitor)->geometry().center();
} else {
center = QGuiApplication::primaryScreen()->geometry().center();
}
@@ -1887,15 +1953,3 @@ void DiagnosticsSettings::setCrashDumpsMax(int n)
{
set(m_Settings, "Settings", "crash_dumps_max", n);
}
-
-
-GeometrySaver::GeometrySaver(Settings& s, QDialog* dialog)
- : m_settings(s), m_dialog(dialog)
-{
- m_settings.geometry().restoreGeometry(m_dialog);
-}
-
-GeometrySaver::~GeometrySaver()
-{
- m_settings.geometry().saveGeometry(m_dialog);
-}
--
cgit v1.3.1
From 200b5283eb5a0eff5ed18e772930b99eea5e11ef Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Mon, 23 Sep 2019 18:21:39 -0400
Subject: added center dialogs option moved download list options to their own
group box renamed confusing "Download Meta Information" to "Show Meta
Information"
---
src/settings.cpp | 34 ++++++-
src/settings.h | 6 ++
src/settingsdialog.ui | 208 ++++++++++++++++++++++--------------------
src/settingsdialoggeneral.cpp | 2 +
4 files changed, 149 insertions(+), 101 deletions(-)
(limited to 'src/settings.cpp')
diff --git a/src/settings.cpp b/src/settings.cpp
index 19eca5ec..c3e8781e 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -623,7 +623,13 @@ void GeometrySettings::saveGeometry(const QDialog* d)
bool GeometrySettings::restoreGeometry(QDialog* d) const
{
- return restoreWindowGeometry(d);
+ const auto r = restoreWindowGeometry(d);
+
+ if (centerDialogs()) {
+ centerOnParent(d);
+ }
+
+ return r;
}
void GeometrySettings::saveWindowGeometry(const QWidget* w)
@@ -829,6 +835,16 @@ void GeometrySettings::setModInfoTabOrder(const QString& names)
set(m_Settings, "Widgets", "ModInfoTabOrder", names);
}
+bool GeometrySettings::centerDialogs() const
+{
+ return get(m_Settings, "Settings", "center_dialogs", false);
+}
+
+void GeometrySettings::setCenterDialogs(bool b)
+{
+ set(m_Settings, "Settings", "center_dialogs", b);
+}
+
void GeometrySettings::centerOnMainWindowMonitor(QWidget* w)
{
const auto monitor = getOptional(
@@ -850,6 +866,22 @@ void GeometrySettings::centerOnMonitor(QWidget* w, int monitor)
w->move(center - w->rect().center());
}
+void GeometrySettings::centerOnParent(QWidget* w, QWidget* parent)
+{
+ if (!parent) {
+ parent = w->parentWidget();
+
+ if (!parent) {
+ parent = qApp->activeWindow();
+ }
+ }
+
+ if (parent && parent->isVisible()) {
+ const auto pr = parent->geometry();
+ w->move(pr.center() - w->rect().center());
+ }
+}
+
void GeometrySettings::saveMainWindowMonitor(const QMainWindow* w)
{
if (auto* handle=w->windowHandle()) {
diff --git a/src/settings.h b/src/settings.h
index b5366911..ee6ff3fe 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -160,6 +160,11 @@ public:
QStringList modInfoTabOrder() const;
void setModInfoTabOrder(const QString& names);
+ // whether dialogs should be centered on their parent
+ //
+ bool centerDialogs() const;
+ void setCenterDialogs(bool b);
+
// assumes the given widget is a top-level
//
void centerOnMainWindowMonitor(QWidget* w);
@@ -177,6 +182,7 @@ private:
void ensureWindowOnScreen(QWidget* w) const;
static void centerOnMonitor(QWidget* w, int monitor);
+ static void centerOnParent(QWidget* w, QWidget* parent=nullptr);
};
diff --git a/src/settingsdialog.ui b/src/settingsdialog.ui
index 40079441..9d1e4da1 100644
--- a/src/settingsdialog.ui
+++ b/src/settingsdialog.ui
@@ -86,97 +86,23 @@ p, li { white-space: pre-wrap; }
-
- User interface
+ User Interface
-
-
-
-
-
- Colors
-
-
-
-
-
-
- When this is enabled, the color defined for a separator will be shown on the mod list scrollbar at the location of the separator. This can be useful for quick navigation between separator sections or to a specific separator section.
-
-
- When this is enabled, the color defined for a separator will be shown on the mod list scrollbar at the location of the separator. This can be useful for quick navigation between separator sections or to a specific separator section.
-
-
- Show mod list separator colors on the scrollbar
-
-
- true
-
-
-
- -
-
-
- Plugin is Contained in selected Mod
-
-
-
- -
-
-
- Is overwritten (loose files)
-
-
-
- -
-
-
- Is overwriting (loose files)
-
-
-
- -
-
-
- Reset Colors
-
-
-
- -
-
-
- Mod Contains selected Plugin
-
-
-
- -
-
-
- Is overwritten (archive files)
-
-
-
- -
-
-
- Is overwriting (archive files)
-
-
-
-
-
-
- -
-
-
- Modify the categories available to arrange your mods.
+
+
-
+
+
+ Dialogs will always be centered on the main window, but will remember their size.
- Modify the categories available to arrange your mods.
+ Dialogs will always be centered on the main window, but will remember their size.
- Configure Mod Categories
+ Always center dialogs
- -
+
-
@@ -195,36 +121,119 @@ p, li { white-space: pre-wrap; }
- -
-
+
-
+
- If checked, the download interface will be more compact.
+ Modify the categories available to arrange your mods.
+
+
+ Modify the categories available to arrange your mods.
- Compact Download Interface
+ Configure Mod Categories
- -
-
-
- Qt::Vertical
+
+
+
+ -
+
+
+ Download List
+
+
+
-
+
+
+ If checked, the download interface will be more compact.
-
-
- 20
- 40
-
+
+ Compact List
-
+
- -
+
-
If checked, the download list will display meta information instead of file names.
- Download Meta Information
+ Show Meta Information
+
+
+
+
+
+
+ -
+
+
+ Colors
+
+
+
-
+
+
+ When this is enabled, the color defined for a separator will be shown on the mod list scrollbar at the location of the separator. This can be useful for quick navigation between separator sections or to a specific separator section.
+
+
+ When this is enabled, the color defined for a separator will be shown on the mod list scrollbar at the location of the separator. This can be useful for quick navigation between separator sections or to a specific separator section.
+
+
+ Show mod list separator colors on the scrollbar
+
+
+ true
+
+
+
+ -
+
+
+ Plugin is Contained in selected Mod
+
+
+
+ -
+
+
+ Is overwritten (loose files)
+
+
+
+ -
+
+
+ Is overwriting (loose files)
+
+
+
+ -
+
+
+ Reset Colors
+
+
+
+ -
+
+
+ Mod Contains selected Plugin
+
+
+
+ -
+
+
+ Is overwritten (archive files)
+
+
+
+ -
+
+
+ Is overwriting (archive files)
@@ -1411,7 +1420,6 @@ programs you are intentionally running.
styleBox
logLevelBox
usePrereleaseBox
- compactBox
categoriesBtn
baseDirEdit
browseBaseDirBtn
diff --git a/src/settingsdialoggeneral.cpp b/src/settingsdialoggeneral.cpp
index 8ecdcbb9..ae924393 100644
--- a/src/settingsdialoggeneral.cpp
+++ b/src/settingsdialoggeneral.cpp
@@ -51,6 +51,7 @@ GeneralSettingsTab::GeneralSettingsTab(Settings& s, SettingsDialog& d)
setContainsColor(settings().colors().modlistContainsPlugin());
setContainedColor(settings().colors().pluginListContained());
+ ui->centerDialogs->setChecked(settings().geometry().centerDialogs());
ui->compactBox->setChecked(settings().interface().compactDownloads());
ui->showMetaBox->setChecked(settings().interface().metaDownloads());
ui->usePrereleaseBox->setChecked(settings().usePrereleases());
@@ -91,6 +92,7 @@ void GeneralSettingsTab::update()
settings().colors().setModlistContainsPlugin(getContainsColor());
settings().colors().setPluginListContained(getContainedColor());
+ settings().geometry().setCenterDialogs(ui->centerDialogs->isChecked());
settings().interface().setCompactDownloads(ui->compactBox->isChecked());
settings().interface().setMetaDownloads(ui->showMetaBox->isChecked());
settings().setUsePrereleases(ui->usePrereleaseBox->isChecked());
--
cgit v1.3.1
From 088f27fe48cd8f218052090a97e8187eedf0c06e Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Mon, 23 Sep 2019 19:10:19 -0400
Subject: changed the layout of the general settings tab added option to
disable checking for updates removed online check, just try it and see
---
src/mainwindow.cpp | 16 ++++
src/mainwindow.h | 1 +
src/organizercore.cpp | 36 ++------
src/organizercore.h | 1 +
src/selfupdater.cpp | 12 ++-
src/selfupdater.h | 14 ++-
src/settings.cpp | 10 +++
src/settings.h | 5 ++
src/settingsdialog.ui | 203 ++++++++++++++++++++++++++----------------
src/settingsdialoggeneral.cpp | 2 +
10 files changed, 187 insertions(+), 113 deletions(-)
(limited to 'src/settings.cpp')
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 42cbe919..cd650d2f 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -263,6 +263,7 @@ MainWindow::MainWindow(Settings &settings
setupToolbar();
toggleMO2EndorseState();
+ toggleUpdateAction();
TaskProgressManager::instance().tryCreateTaskbar();
@@ -5007,6 +5008,7 @@ void MainWindow::on_actionSettings_triggered()
bool oldDisplayForeign(settings.interface().displayForeign());
bool proxy = settings.network().useProxy();
DownloadManager *dlManager = m_OrganizerCore.downloadManager();
+ const bool oldCheckForUpdates = settings.checkForUpdates();
SettingsDialog dialog(&m_PluginContainer, settings, this);
@@ -5084,6 +5086,14 @@ void MainWindow::on_actionSettings_triggered()
m_OrganizerCore.cycleDiagnostics();
toggleMO2EndorseState();
+
+ if (oldCheckForUpdates != settings.checkForUpdates()) {
+ toggleUpdateAction();
+
+ if (settings.checkForUpdates()) {
+ m_OrganizerCore.checkForUpdates();
+ }
+ }
}
void MainWindow::on_actionNexus_triggered()
@@ -5596,6 +5606,12 @@ void MainWindow::toggleMO2EndorseState()
ui->actionEndorseMO->setStatusTip(text);
}
+void MainWindow::toggleUpdateAction()
+{
+ const auto& s = m_OrganizerCore.settings();
+ ui->actionUpdate->setVisible(s.checkForUpdates());
+}
+
void MainWindow::nxmEndorsementsAvailable(QVariant userData, QVariant resultData, int)
{
QVariantList data = resultData.toList();
diff --git a/src/mainwindow.h b/src/mainwindow.h
index 1f997ab1..524e2b6e 100644
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -313,6 +313,7 @@ private:
void sendSelectedPluginsToPriority(int newPriority);
void toggleMO2EndorseState();
+ void toggleUpdateAction();
private:
diff --git a/src/organizercore.cpp b/src/organizercore.cpp
index 0da5b604..a4a89c99 100644
--- a/src/organizercore.cpp
+++ b/src/organizercore.cpp
@@ -74,25 +74,6 @@ using namespace MOBase;
//static
CrashDumpsType OrganizerCore::m_globalCrashDumpsType = CrashDumpsType::None;
-static bool isOnline()
-{
- const auto runningFlags =
- QNetworkInterface::IsUp | QNetworkInterface::IsRunning;
-
- for (auto&& i : QNetworkInterface::allInterfaces()) {
- if (!(i.flags() & QNetworkInterface::IsLoopBack)) {
- if (i.flags() & runningFlags) {
- auto addresses = i.addressEntries();
- if (!addresses.empty()) {
- return true;
- }
- }
- }
- }
-
- return false;
-}
-
static std::wstring getProcessName(HANDLE process)
{
wchar_t buffer[MAX_PATH];
@@ -307,14 +288,15 @@ void OrganizerCore::setUserInterface(IUserInterface *userInterface,
m_InstallationManager.setParentWidget(widget);
m_Updater.setUserInterface(widget);
- if (userInterface != nullptr) {
- // this currently wouldn't work reliably if the ui isn't initialized yet to
- // display the result
- if (isOnline() && !m_Settings.network().offlineMode()) {
- m_Updater.testForUpdate();
- } else {
- log::debug("user doesn't seem to be connected to the internet");
- }
+ checkForUpdates();
+}
+
+void OrganizerCore::checkForUpdates()
+{
+ // this currently wouldn't work reliably if the ui isn't initialized yet to
+ // display the result
+ if (m_UserInterface != nullptr) {
+ m_Updater.testForUpdate(m_Settings);
}
}
diff --git a/src/organizercore.h b/src/organizercore.h
index a14d79a9..5de550df 100644
--- a/src/organizercore.h
+++ b/src/organizercore.h
@@ -109,6 +109,7 @@ public:
void updateExecutablesList();
+ void checkForUpdates();
void startMOUpdate();
Settings &settings();
diff --git a/src/selfupdater.cpp b/src/selfupdater.cpp
index 0ca39b19..8887927a 100644
--- a/src/selfupdater.cpp
+++ b/src/selfupdater.cpp
@@ -122,8 +122,18 @@ void SelfUpdater::setPluginContainer(PluginContainer *pluginContainer)
m_Interface->setPluginContainer(pluginContainer);
}
-void SelfUpdater::testForUpdate()
+void SelfUpdater::testForUpdate(const Settings& settings)
{
+ if (settings.network().offlineMode()) {
+ log::debug("not checking for updates, in offline mode");
+ return;
+ }
+
+ if (!settings.checkForUpdates()) {
+ log::debug("not checking for updates, disabled");
+ return;
+ }
+
// TODO: if prereleases are disabled we could just request the latest release
// directly
try {
diff --git a/src/selfupdater.h b/src/selfupdater.h
index bce49495..0c81efc5 100644
--- a/src/selfupdater.h
+++ b/src/selfupdater.h
@@ -37,7 +37,7 @@ namespace MOBase { class IPluginGame; }
class QNetworkReply;
class QProgressDialog;
-
+class Settings;
/**
* @brief manages updates for Mod Organizer itself
@@ -80,6 +80,11 @@ public:
void setPluginContainer(PluginContainer *pluginContainer);
+ /**
+ * @brief request information about the current version
+ **/
+ void testForUpdate(const Settings& settings);
+
/**
* @brief start the update process
* @note this should not be called if there is no update available
@@ -91,13 +96,6 @@ public:
**/
MOBase::VersionInfo getVersion() const { return m_MOVersion; }
-public slots:
-
- /**
- * @brief request information about the current version
- **/
- void testForUpdate();
-
signals:
/**
diff --git a/src/settings.cpp b/src/settings.cpp
index c3e8781e..462cd92a 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -178,6 +178,16 @@ QString Settings::filename() const
return m_Settings.fileName();
}
+bool Settings::checkForUpdates() const
+{
+ return get(m_Settings, "Settings", "check_for_updates", true);
+}
+
+void Settings::setCheckForUpdates(bool b)
+{
+ set(m_Settings, "Settings", "check_for_updates", b);
+}
+
bool Settings::usePrereleases() const
{
return get(m_Settings, "Settings", "use_prereleases", false);
diff --git a/src/settings.h b/src/settings.h
index ee6ff3fe..1556ba1e 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -692,6 +692,11 @@ public:
bool archiveParsing() const;
void setArchiveParsing(bool b);
+ // whether the user wants to check for updates
+ //
+ bool checkForUpdates() const;
+ void setCheckForUpdates(bool b);
+
// whether the user wants to upgrade to pre-releases
//
bool usePrereleases() const;
diff --git a/src/settingsdialog.ui b/src/settingsdialog.ui
index 9d1e4da1..78bae6d7 100644
--- a/src/settingsdialog.ui
+++ b/src/settingsdialog.ui
@@ -7,7 +7,7 @@
0
0
586
- 486
+ 491
@@ -23,75 +23,67 @@
General
-
- -
-
-
-
-
-
- Language
-
-
-
- -
-
-
- The display language
-
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">The display language. This will only displaye languages for which you have a translation installed.</span></p></body></html>
-
-
-
-
-
- -
-
-
-
-
-
- Style
-
-
-
- -
-
-
- graphical style
-
-
- graphical style of the MO user interface
-
-
-
-
-
- -
-
-
- Update to non-stable releases.
-
-
- If this is enabled, the integrated update mechanism will notify of all releases, including pre-releases (alphas, betas). Please use this only if you're sufficiently tech-savvy to investigate issues, look for known problems in the issue tracker and create meaningful reports.
+
+
-
+
+
+ Qt::Vertical
-
- Install Pre-releases (Betas)
+
+
+ 0
+ 0
+
-
+
- -
+
-
User Interface
-
-
-
+
+
-
+
+
+ Style
+
+
+
+ -
+
+
+ Language
+
+
+
+ -
+
+
+ The display language
+
+
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">The display language. This will only displaye languages for which you have a translation installed.</span></p></body></html>
+
+
+
+ -
+
+
+ graphical style
+
+
+ graphical style of the MO user interface
+
+
+
+ -
-
+
Dialogs will always be centered on the main window, but will remember their size.
@@ -102,7 +94,7 @@ p, li { white-space: pre-wrap; }
- -
+
-
@@ -121,7 +113,7 @@ p, li { white-space: pre-wrap; }
- -
+
-
Modify the categories available to arrange your mods.
@@ -137,36 +129,49 @@ p, li { white-space: pre-wrap; }
- -
+
-
Download List
-
+
-
-
+
- If checked, the download interface will be more compact.
+ If checked, the download list will display meta information instead of file names.
- Compact List
+ Show Meta Information
-
-
+
- If checked, the download list will display meta information instead of file names.
+ If checked, the download interface will be more compact.
- Show Meta Information
+ Compact List
+ -
+
+
+ Qt::Vertical
+
+
+
+ 0
+ 0
+
+
+
+
- -
+
-
Colors
@@ -240,6 +245,54 @@ p, li { white-space: pre-wrap; }
+ -
+
+
+ Updates
+
+
+
-
+
+
+ Mod Organizer checks for updates on Github on startup.
+
+
+ Mod Organizer checks for updates on Github on startup.
+
+
+ Check for updates
+
+
+
+ -
+
+
+ Update to non-stable releases.
+
+
+ If this is enabled, the integrated update mechanism will notify of all releases, including pre-releases (alphas, betas). Please use this only if you're sufficiently tech-savvy to investigate issues, look for known problems in the issue tracker and create meaningful reports.
+
+
+ Install Pre-releases (Betas)
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
@@ -1416,11 +1469,7 @@ programs you are intentionally running.
- languageBox
- styleBox
logLevelBox
- usePrereleaseBox
- categoriesBtn
baseDirEdit
browseBaseDirBtn
downloadDirEdit
diff --git a/src/settingsdialoggeneral.cpp b/src/settingsdialoggeneral.cpp
index ae924393..07aff4a1 100644
--- a/src/settingsdialoggeneral.cpp
+++ b/src/settingsdialoggeneral.cpp
@@ -54,6 +54,7 @@ GeneralSettingsTab::GeneralSettingsTab(Settings& s, SettingsDialog& d)
ui->centerDialogs->setChecked(settings().geometry().centerDialogs());
ui->compactBox->setChecked(settings().interface().compactDownloads());
ui->showMetaBox->setChecked(settings().interface().metaDownloads());
+ ui->checkForUpdates->setChecked(settings().checkForUpdates());
ui->usePrereleaseBox->setChecked(settings().usePrereleases());
ui->colorSeparatorsBox->setChecked(settings().colors().colorSeparatorScrollbar());
@@ -95,6 +96,7 @@ void GeneralSettingsTab::update()
settings().geometry().setCenterDialogs(ui->centerDialogs->isChecked());
settings().interface().setCompactDownloads(ui->compactBox->isChecked());
settings().interface().setMetaDownloads(ui->showMetaBox->isChecked());
+ settings().setCheckForUpdates(ui->checkForUpdates->isChecked());
settings().setUsePrereleases(ui->usePrereleaseBox->isChecked());
settings().colors().setColorSeparatorScrollbar(ui->colorSeparatorsBox->isChecked());
}
--
cgit v1.3.1