summaryrefslogtreecommitdiffhomepage
path: root/options
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2016-08-21 22:22:20 +0200
committerStanislaw Halik <sthalik@misaki.pl>2016-08-23 00:05:15 +0200
commite32501906e57e1e45f4363c06f09c4a45aa44da5 (patch)
tree64b114747f8de18366e2b58bb3258af124208588 /options
parent5934ac7dde5289a591d044251a07d046dcd4ca4f (diff)
options/bundle: don't fire signals in reload() with no unsaved changes
Diffstat (limited to 'options')
-rw-r--r--options/bundle.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/options/bundle.cpp b/options/bundle.cpp
index cf75097c..644fe4c6 100644
--- a/options/bundle.cpp
+++ b/options/bundle.cpp
@@ -23,12 +23,16 @@ void bundle::reload()
{
QMutexLocker l(&mtx);
saved = group(group_name);
+ const bool has_changes = transient != saved;
transient = saved;
- connector::notify_all_values();
- emit reloading();
+ if (has_changes)
+ {
+ connector::notify_all_values();
+ emit reloading();
+ emit changed();
+ }
}
- emit changed();
}
void bundle::store_kv(const QString& name, const QVariant& datum)