summaryrefslogtreecommitdiff
path: root/examples/settings/settings.cc
diff options
context:
space:
mode:
authorMarcin Kolny <marcin.kolny@gmail.com>2015-08-08 14:45:12 +0200
committerMarcin Kolny <marcin.kolny@gmail.com>2015-08-08 14:45:59 +0200
commit0d5f63b18f5766760cf39e82ee11482984e0a938 (patch)
treee3f74b9b37e7618c92840024077dff43e6d08f0d /examples/settings/settings.cc
parentdce7a844e48a582e42eb2b60eef5c1f2527540ac (diff)
parentd94115843f38967b5e883f5f7d8057882ae364cb (diff)
downloadglibmm-gir-gmmproc.tar.gz
Merge branch 'master' into glibmm-gir-gmmprocglibmm-gir-gmmproc
Diffstat (limited to 'examples/settings/settings.cc')
-rw-r--r--examples/settings/settings.cc16
1 files changed, 15 insertions, 1 deletions
diff --git a/examples/settings/settings.cc b/examples/settings/settings.cc
index b7ce0ca5..84df7a0e 100644
--- a/examples/settings/settings.cc
+++ b/examples/settings/settings.cc
@@ -50,6 +50,18 @@ static void on_key_changed(const Glib::ustring& key, const Glib::RefPtr<Gio::Set
std::cerr << "Unknown key\n";
}
+static void on_key_changed_all(const Glib::ustring& key)
+{
+ std::cout << "on_key_changed_all(" << key << ")\n";
+}
+
+static void on_key_changed_int(const Glib::ustring& key)
+{
+ std::cout << "on_key_changed_int(" << key << ")\n";
+ if (key != INT_KEY)
+ std::cerr << "Unexpected key\n";
+}
+
int main(int, char**)
{
std::locale::global(std::locale(""));
@@ -63,10 +75,12 @@ int main(int, char**)
Glib::setenv("GSETTINGS_SCHEMA_DIR", ".", true);
Glib::setenv("GSETTINGS_BACKEND", "memory", true);
- const Glib::RefPtr<Gio::Settings> settings =
+ const auto settings =
Gio::Settings::create("org.gtkmm.demo");
settings->signal_changed().connect(sigc::bind(sigc::ptr_fun(&on_key_changed), settings));
+ settings->signal_changed("").connect(sigc::ptr_fun(&on_key_changed_all));
+ settings->signal_changed(INT_KEY).connect(sigc::ptr_fun(&on_key_changed_int));
std::cout << Glib::ustring::compose("Initial value of '%1': '%2'\n",
STRING_KEY, settings->get_string(STRING_KEY));