diff options
author | Marcin Kolny <marcin.kolny@gmail.com> | 2015-08-08 14:45:12 +0200 |
---|---|---|
committer | Marcin Kolny <marcin.kolny@gmail.com> | 2015-08-08 14:45:59 +0200 |
commit | 0d5f63b18f5766760cf39e82ee11482984e0a938 (patch) | |
tree | e3f74b9b37e7618c92840024077dff43e6d08f0d /examples/settings/settings.cc | |
parent | dce7a844e48a582e42eb2b60eef5c1f2527540ac (diff) | |
parent | d94115843f38967b5e883f5f7d8057882ae364cb (diff) | |
download | glibmm-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.cc | 16 |
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)); |