diff options
author | Louis-Bertrand Varin <louisbvarin@gmail.com> | 2017-03-07 01:12:07 +0300 |
---|---|---|
committer | Louis-Bertrand Varin <louisv@unito.io> | 2017-03-18 20:19:57 +0300 |
commit | 15a288aa5bb5477ab01304a8660daff9862b4df5 (patch) | |
tree | 61112b17c191be3440091b215dcdfe532adaa4eb | |
parent | c4d6fa855c399a347b5be6159eb3599deea00507 (diff) |
Adding warning messages when config access error.
-rw-r--r-- | src/core/Config.cpp | 14 | ||||
-rw-r--r-- | src/core/Config.h | 2 | ||||
-rw-r--r-- | src/gui/SettingsWidget.cpp | 5 | ||||
-rw-r--r-- | src/gui/SettingsWidgetGeneral.ui | 9 |
4 files changed, 30 insertions, 0 deletions
diff --git a/src/core/Config.cpp b/src/core/Config.cpp index 28b17536f..e3a1cb633 100644 --- a/src/core/Config.cpp +++ b/src/core/Config.cpp @@ -35,6 +35,16 @@ QVariant Config::get(const QString& key, const QVariant& defaultValue) return m_settings->value(key, defaultValue); } +bool Config::hasAccessError() +{ + return m_settings->status() & QSettings::AccessError; +} + +QString Config::getFileName() +{ + return m_settings->fileName(); +} + void Config::set(const QString& key, const QVariant& value) { m_settings->setValue(key, value); @@ -92,6 +102,10 @@ void Config::init(const QString& fileName) { m_settings.reset(new QSettings(fileName, QSettings::IniFormat)); + if (hasAccessError()) { + qWarning("Access error with config file %s", qPrintable(fileName)); + } + m_defaults.insert("RememberLastDatabases", true); m_defaults.insert("RememberLastKeyFiles", true); m_defaults.insert("OpenPreviousDatabasesOnStartup", true); diff --git a/src/core/Config.h b/src/core/Config.h index 09aa02fb1..1fb937cf9 100644 --- a/src/core/Config.h +++ b/src/core/Config.h @@ -31,7 +31,9 @@ public: ~Config(); QVariant get(const QString& key); QVariant get(const QString& key, const QVariant& defaultValue); + QString getFileName(); void set(const QString& key, const QVariant& value); + bool hasAccessError(); static Config* instance(); static void createConfigFromFile(const QString& file); diff --git a/src/gui/SettingsWidget.cpp b/src/gui/SettingsWidget.cpp index 62af276e8..2002bc733 100644 --- a/src/gui/SettingsWidget.cpp +++ b/src/gui/SettingsWidget.cpp @@ -62,6 +62,11 @@ SettingsWidget::SettingsWidget(QWidget* parent) addPage(tr("General"), FilePath::instance()->icon("categories", "preferences-other"), m_generalWidget); addPage(tr("Security"), FilePath::instance()->icon("status", "security-high"), m_secWidget); + if (config()->hasAccessError()) { + m_generalUi->messageWidget->showMessage( + tr("Access error with config file ") + config()->getFileName(), MessageWidget::Error); + } + if (!autoType()->isAvailable()) { m_generalUi->generalSettingsTabWidget->removeTab(1); } diff --git a/src/gui/SettingsWidgetGeneral.ui b/src/gui/SettingsWidgetGeneral.ui index 88d7cad45..fb9fb1709 100644 --- a/src/gui/SettingsWidgetGeneral.ui +++ b/src/gui/SettingsWidgetGeneral.ui @@ -24,6 +24,9 @@ <number>0</number> </property> <item> + <widget class="MessageWidget" name="messageWidget" native="true"/> + </item> + <item> <widget class="QTabWidget" name="generalSettingsTabWidget"> <property name="currentIndex"> <number>0</number> @@ -368,6 +371,12 @@ <extends>QLineEdit</extends> <header>autotype/ShortcutWidget.h</header> </customwidget> + <customwidget> + <class>MessageWidget</class> + <extends>QWidget</extends> + <header>gui/MessageWidget.h</header> + <container>1</container> + </customwidget> </customwidgets> <resources/> <connections/> |