tags 885037 + patch thanks Attached are patches which remove the libgnome and gconfmm dependencies. (I know nothing about C++ so please bear with me. The code appears to work but is likely to have some issues like memory management bugs.)
Apart from removing libgnome2-dev and libgconfmm-2.6-dev from B-D, please consider adding gconf2 to Recommends; see #907826.
Description: Eliminate libgnome dependency. Bug-Debian: https://bugs.debian.org/885037 Author: Yavor Doganov <ya...@gnu.org> Forwarded: no Last-Update: 2018-10-21 --- --- monster-masher-1.8.1.orig/configure.ac +++ monster-masher-1.8.1/configure.ac @@ -14,8 +14,7 @@ AC_PROG_CXX dnl checks for libraries -PKG_CHECK_MODULES(DEPS, libgnome-2.0 >= 2.0.0 \ - gconfmm-2.6 >= 2.6.0 \ +PKG_CHECK_MODULES(DEPS, gconfmm-2.6 >= 2.6.0 \ gtkmm-2.4 >= 2.6.0 \ libgnomecanvasmm-2.6 >= 2.6.0 \ libglademm-2.4 >= 2.4.0 \ --- monster-masher-1.8.1.orig/src/main.cpp +++ monster-masher-1.8.1/src/main.cpp @@ -29,9 +29,6 @@ #include <gconfmm/init.h> #include <gtkmm/main.h> -#include <libgnome/gnome-program.h> -#include <libgnome/gnome-init.h> - #include <sigc++/slot.h> #include "main-window.hpp" @@ -40,11 +37,10 @@ int main(int argc, char *argv[]) { - Gtk::Main main(argc, argv); + Glib::OptionContext ctxt; + Gtk::Main main(argc, argv, ctxt); Gnome::Conf::init(); Gnome::Canvas::init(); - - gnome_program_init(PACKAGE, VERSION, LIBGNOME_MODULE, argc, argv, NULL); try { // i18n
Description: Port to Gio::Settings. Debian-Bug: https://bugs.debian.org/885037 Author: Yavor Doganov <ya...@gnu.org> Forwarded: no Last-Update: 2018-10-21 --- --- monster-masher-1.8.1.orig/Makefile.am +++ monster-masher-1.8.1/Makefile.am @@ -6,11 +6,12 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@ -# GConf schema -schema_in_files = monster-masher.schemas.in -schemadir = $(sysconfdir)/gconf/schemas -schema_DATA = $(schema_in_files:.schemas.in=.schemas) -@INTLTOOL_SCHEMAS_RULE@ +data_convertdir = $(datadir)/GConf/gsettings +dist_data_convert_DATA = monster-masher.convert + +# GSettings schema +gsettings_SCHEMAS = dk.iola.olau.monster-masher.gschema.xml +@GSETTINGS_RULES@ # icon icondir = $(datadir)/pixmaps @@ -18,14 +19,7 @@ pixmapdir = $(datadir)/$(PACKAGE)/pixmaps/ -EXTRA_DIST = $(desktop_in_files) $(schema_in_files) \ +EXTRA_DIST = $(desktop_in_files) $(gsettings_SCHEMAS) \ $(desktop_DATA) $(icon_DATA) \ intltool-merge.in intltool-extract.in intltool-update.in \ MAINTAINERS - -install-data-local: - if test -z "$(DESTDIR)" ; then \ - for p in $(schema_DATA) ; do \ - GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(top_builddir)/$$p; \ - done \ - fi --- monster-masher-1.8.1.orig/configure.ac +++ monster-masher-1.8.1/configure.ac @@ -14,8 +14,7 @@ AC_PROG_CXX dnl checks for libraries -PKG_CHECK_MODULES(DEPS, gconfmm-2.6 >= 2.6.0 \ - gtkmm-2.4 >= 2.6.0 \ +PKG_CHECK_MODULES(DEPS, gtkmm-2.4 >= 2.6.0 \ libgnomecanvasmm-2.6 >= 2.6.0 \ libglademm-2.4 >= 2.4.0 \ libcanberra) @@ -23,15 +22,7 @@ AC_SUBST(DEPS_LIBS) -dnl GConf -AC_PATH_PROG(GCONFTOOL, gconftool-2, no) - -if test x"$GCONFTOOL" = xno; then -AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf]) -fi - -AM_GCONF_SOURCE_2 - +GLIB_GSETTINGS dnl i18n ALL_LINGUAS="ar az bg ca cs cy da de dz el en_CA en_GB es eu fi fr ga gu hr hu it ka lt lv nb ne nl oc pa pl pt pt_BR rw sl sq sr sr@Latn sv ta tr uk vi zh_CN zh_HK zh_TW" --- /dev/null +++ monster-masher-1.8.1/monster-masher.convert @@ -0,0 +1,24 @@ +[dk.iola.olau.monster-masher] +fullscreen = /apps/monster-masher/fullscreen + +[dk.iola.olau.monster-masher.player1] +left-key = /apps/monster-masher/player1/left_key +left-up-key = /apps/monster-masher/player1/left_up_key +up-key = /apps/monster-masher/player1/up_key +right-up-key = /apps/monster-masher/player1/right_up_key +right-key = /apps/monster-masher/player1/right_key +right-down-key = /apps/monster-masher/player1/right_down_key +down-key = /apps/monster-masher/player1/down_key +left-down-key = /apps/monster-masher/player1/left_down_key +pull-key = /apps/monster-masher/player1/pull_key + +[dk.iola.olau.monster-masher.player2] +left-key = /apps/monster-masher/player2/left_key +left-up-key = /apps/monster-masher/player2/left_up_key +up-key = /apps/monster-masher/player2/up_key +right-up-key = /apps/monster-masher/player2/right_up_key +right-key = /apps/monster-masher/player2/right_key +right-down-key = /apps/monster-masher/player2/right_down_key +down-key = /apps/monster-masher/player2/down_key +left-down-key = /apps/monster-masher/player2/left_down_key +pull-key = /apps/monster-masher/player2/pull_key --- /dev/null +++ monster-masher-1.8.1/dk.iola.olau.monster-masher.gschema.xml @@ -0,0 +1,104 @@ +<schemalist gettext-domain="monster-masher"> + <schema id="dk.iola.olau.monster-masher" path="/dk/iola/olau/monster-masher/"> + <key name="fullscreen" type="b"> + <default>true</default> + <summary>Use fullscreen</summary> + </key> + <child name="player1" schema="dk.iola.olau.monster-masher.player1"/> + <child name="player2" schema="dk.iola.olau.monster-masher.player2"/> + </schema> + <schema id="dk.iola.olau.monster-masher.player1" path="/dk/iola/olau/monster-masher/player1/"> + <key name="left-key" type="s"> + <default>'KP_Left'</default> + <summary>Key for moving to the left</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="left-up-key" type="s"> + <default>'KP_Home'</default> + <summary>Key for moving to the left and up</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="up-key" type="s"> + <default>'KP_Up'</default> + <summary>Key for moving up</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="right-up-key" type="s"> + <default>'KP_Page_Up'</default> + <summary>Key for moving to the right and up</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="right-key" type="s"> + <default>'KP_Right'</default> + <summary>Key for moving to the right</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="right-down-key" type="s"> + <default>'KP_Page_Down'</default> + <summary>Key for moving to the right and down</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="down-key" type="s"> + <default>'KP_Down'</default> + <summary>Key for moving down</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="left-down-key" type="s"> + <default>'KP_End'</default> + <summary>Key for moving to the left and down</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="pull-key" type="s"> + <default>'Control_R'</default> + <summary>Key for activating pulling of blocks</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + </schema> + <schema id="dk.iola.olau.monster-masher.player2" path="/dk/iola/olau/monster-masher/player2/"> + <key name="left-key" type="s"> + <default>'d'</default> + <summary>Key for moving to the left</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="left-up-key" type="s"> + <default>'e'</default> + <summary>Key for moving to the left and up</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="up-key" type="s"> + <default>'r'</default> + <summary>Key for moving up</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="right-up-key" type="s"> + <default>'t'</default> + <summary>Key for moving to the right and up</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="right-key" type="s"> + <default>'g'</default> + <summary>Key for moving to the right</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="right-down-key" type="s"> + <default>'b'</default> + <summary>Key for moving to the right and down</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="down-key" type="s"> + <default>'v'</default> + <summary>Key for moving down</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="left-down-key" type="s"> + <default>'c'</default> + <summary>Key for moving to the left and down</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + <key name="pull-key" type="s"> + <default>'Control_L'</default> + <summary>Key for activating pulling of blocks</summary> + <description>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</description> + </key> + </schema> +</schemalist> --- monster-masher-1.8.1.orig/src/main-window.cpp +++ monster-masher-1.8.1/src/main-window.cpp @@ -60,7 +60,6 @@ } MainWindow::MainWindow() - : gconf_dir("/apps/monster-masher") { // load icon std::string icon_name = GNOMEICONDIR "/monster-masher.png"; @@ -76,8 +75,9 @@ } // setup gconf - gconf_client = Gnome::Conf::Client::get_default_client(); - gconf_client->add_dir(gconf_dir); + settings = Gio::Settings::create("dk.iola.olau.monster-masher"); + p1_settings = settings->get_child("player1"); + p2_settings = settings->get_child("player2"); // start constructing window ui = get_glade_xml("main_window"); @@ -96,7 +96,7 @@ level_label->set_text(""); // setup window - fullscreen = gconf_client->get_bool(gconf_dir + "/fullscreen"); + fullscreen = settings->get_boolean("fullscreen"); if (fullscreen) window->fullscreen(); @@ -113,8 +113,8 @@ generate_main_menu(); // connect GConf - gconf_client->notify_add(gconf_dir + "/fullscreen", - sigc::mem_fun(*this, &MainWindow::fullscreen_listener)); + settings->signal_changed() + .connect(sigc::mem_fun(*this, &MainWindow::fullscreen_listener)); // connect various window->signal_key_press_event() @@ -301,13 +301,9 @@ // callbacks -void MainWindow::fullscreen_listener(unsigned int, - Gnome::Conf::Entry entry) +void MainWindow::fullscreen_listener(const Glib::ustring &key) { - if (entry.get_value().get_type() != Gnome::Conf::VALUE_BOOL) - return; - - bool b = entry.get_value().get_bool(); + bool b = settings->get_boolean(key); if (b != fullscreen) { if (b) --- monster-masher-1.8.1.orig/src/main-window.hpp +++ monster-masher-1.8.1/src/main-window.hpp @@ -30,8 +30,7 @@ #include <sigc++/trackable.h> -#include <gconfmm/client.h> -#include <gconfmm/entry.h> +#include <giomm/settings.h> #include "helpers.hpp" #include "vector.hpp" @@ -67,8 +66,9 @@ Gtk::Window &get_window(); - Glib::RefPtr<Gnome::Conf::Client> gconf_client; - const Glib::ustring gconf_dir; + Glib::RefPtr<Gio::Settings> settings; + Glib::RefPtr<Gio::Settings> p1_settings; + Glib::RefPtr<Gio::Settings> p2_settings; private: MainWindow(); @@ -90,7 +90,7 @@ void calculate_tile_size(); // GConf callbacks - void fullscreen_listener(unsigned int, Gnome::Conf::Entry entry); + void fullscreen_listener(const Glib::ustring &key); // callbacks for main menu void on_new_game_activated(); --- monster-masher-1.8.1.orig/src/preferences-window.hpp +++ monster-masher-1.8.1/src/preferences-window.hpp @@ -27,7 +27,7 @@ #include <gtkmm/checkbutton.h> #include <gtkmm/window.h> -#include <gconfmm/entry.h> +#include <giomm/settings.h> #include <sigc++/trackable.h> #include <sigc++/connection.h> @@ -53,14 +53,21 @@ sigc::connection grab_connection; bool on_key_press_event(GdkEventKey* event, Gtk::Button *button, + Glib::RefPtr<Gio::Settings> &settings, Glib::ustring key); - void setup_button(const Glib::ustring &widget, const Glib::ustring &key); - void on_button_pressed(Gtk::Button *button, Glib::ustring key); - void button_listener(unsigned int, Gnome::Conf::Entry conf_entry, - Gtk::Button *button); + void setup_button(const Glib::ustring &widget, + Glib::RefPtr<Gio::Settings> &settings, + const Glib::ustring &key); + void on_button_pressed(Gtk::Button *button, + Glib::RefPtr<Gio::Settings> &settings, + Glib::ustring key); + void button_listener(const Glib::ustring &key, + Glib::RefPtr<Gio::Settings> &settings, + Gtk::Button *button); void on_fullscreen_toggled(); - void fullscreen_listener(unsigned int, Gnome::Conf::Entry entry); + void fullscreen_listener(const Glib::ustring &key, + Glib::RefPtr<Gio::Settings> &settings); void on_close_clicked(); bool on_closed(GdkEventAny *); --- monster-masher-1.8.1.orig/src/main.cpp +++ monster-masher-1.8.1/src/main.cpp @@ -26,20 +26,64 @@ #include <libintl.h> #include <libgnomecanvasmm/init.h> -#include <gconfmm/init.h> -#include <gtkmm/main.h> +#include <gtkmm.h> #include <sigc++/slot.h> #include "main-window.hpp" #include "i18n.hpp" +static void +migrate_gconf_settings(const Glib::ustring &name) +{ + Glib::KeyFile kf; + Glib::ustring msg; + std::string path; + bool needed = true; + + if (!kf.load_from_data_dirs("gsettings-data-convert", path)) + return; + + Glib::ArrayHandle<Glib::ustring> list + = kf.get_string_list("State", "converted"); + + for (Glib::ArrayHandle<Glib::ustring>::iterator it = list.begin(); + it < list.end(); it++) + if (!name.compare(*it)) { + needed = false; + break; + } + + if (needed) { + Gtk::MessageDialog dialog(_("GConf Migration")); + + try { + Glib::spawn_command_line_sync("gsettings-data-convert"); + msg = _("Old GConf settings were migrated successfully."); + + /* Allow some time for the GSettings backend to record the + changes, otherwise the default values from the new schema + might be set. */ + sleep (1); + } + catch(const Glib::Error &ex) { + msg = Glib::ustring::compose(_("Could not migrate old GConf settings: %1" + "\nPlease make sure that GConf is " + "installed and the gsettings-data-convert" + " tool is in your PATH.\nAlternatively, " + "ignore this message and convert your " + "old settings manually."), ex.what()); + } + + dialog.set_secondary_text(msg); + dialog.run(); + } +} int main(int argc, char *argv[]) { Glib::OptionContext ctxt; Gtk::Main main(argc, argv, ctxt); - Gnome::Conf::init(); Gnome::Canvas::init(); try { @@ -50,6 +94,8 @@ g_set_application_name(_("Monster Masher")); + migrate_gconf_settings("monster-masher.convert"); + std::srand(std::time(0)); main.run(MainWindow::instance().get_window()); --- monster-masher-1.8.1.orig/src/player.cpp +++ monster-masher-1.8.1/src/player.cpp @@ -167,19 +167,19 @@ if (keyval == lookup_key("left")) hero->order_move(make_vector(-1, 0), pull_pressed); - if (keyval == lookup_key("left_up")) + if (keyval == lookup_key("left-up")) hero->order_move(make_vector(-1, -1), pull_pressed); if (keyval == lookup_key("up")) hero->order_move(make_vector(0, -1), pull_pressed); - if (keyval == lookup_key("right_up")) + if (keyval == lookup_key("right-up")) hero->order_move(make_vector(1, -1), pull_pressed); if (keyval == lookup_key("right")) hero->order_move(make_vector(1, 0), pull_pressed); - if (keyval == lookup_key("right_down")) + if (keyval == lookup_key("right-down")) hero->order_move(make_vector(1, 1), pull_pressed); if (keyval == lookup_key("down")) hero->order_move(make_vector(0, 1), pull_pressed); - if (keyval == lookup_key("left_down")) + if (keyval == lookup_key("left-down")) hero->order_move(make_vector(-1, 1), pull_pressed); } @@ -191,12 +191,16 @@ unsigned int Player::lookup_key(const Glib::ustring &key) { - Glib::RefPtr<Gnome::Conf::Client> &client - = MainWindow::instance().gconf_client; + Glib::RefPtr<Gio::Settings> settings; + + if (player_no == 1) + settings = MainWindow::instance().p1_settings; + else + settings = MainWindow::instance().p2_settings; + Glib::ustring path = - String::ucompose("%1/player%2/%3_key", - MainWindow::instance().gconf_dir, player_no, key); + String::ucompose("%1-key", key); - return gdk_keyval_from_name(client->get_string(path).c_str()); + return gdk_keyval_from_name(settings->get_string(path).c_str()); } --- monster-masher-1.8.1.orig/src/preferences-window.cpp +++ monster-masher-1.8.1/src/preferences-window.cpp @@ -42,37 +42,42 @@ // setup fullscreen check button ui->get_widget("fullscreen_checkbutton", fullscreen_checkbutton); - Glib::RefPtr<Gnome::Conf::Client> &client - = MainWindow::instance().gconf_client; - Glib::ustring dir = MainWindow::instance().gconf_dir; + Glib::RefPtr<Gio::Settings> &main + = MainWindow::instance().settings; + Glib::RefPtr<Gio::Settings> &p1 + = MainWindow::instance().p1_settings; + Glib::RefPtr<Gio::Settings> &p2 + = MainWindow::instance().p2_settings; - fullscreen_listener(0, client->get_entry(dir + "/fullscreen")); + fullscreen_listener("fullscreen", main); fullscreen_checkbutton->signal_toggled() .connect(sigc::mem_fun(*this, &PreferencesWindow::on_fullscreen_toggled)); - client->notify_add(dir + "/fullscreen", - sigc::mem_fun(*this, &PreferencesWindow::fullscreen_listener)); + main->signal_changed() + .connect(sigc::bind(sigc::mem_fun(*this, + &PreferencesWindow::fullscreen_listener), + main)); // setup player keys - setup_button("player1_left", "/player1/left_key"); - setup_button("player1_left_up", "/player1/left_up_key"); - setup_button("player1_up", "/player1/up_key"); - setup_button("player1_right_up", "/player1/right_up_key"); - setup_button("player1_right", "/player1/right_key"); - setup_button("player1_right_down", "/player1/right_down_key"); - setup_button("player1_down", "/player1/down_key"); - setup_button("player1_left_down", "/player1/left_down_key"); - setup_button("player1_pull_block", "/player1/pull_key"); - - setup_button("player2_left", "/player2/left_key"); - setup_button("player2_left_up", "/player2/left_up_key"); - setup_button("player2_up", "/player2/up_key"); - setup_button("player2_right_up", "/player2/right_up_key"); - setup_button("player2_right", "/player2/right_key"); - setup_button("player2_right_down", "/player2/right_down_key"); - setup_button("player2_down", "/player2/down_key"); - setup_button("player2_left_down", "/player2/left_down_key"); - setup_button("player2_pull_block", "/player2/pull_key"); + setup_button("player1_left", p1, "left-key"); + setup_button("player1_left_up", p1, "left-up-key"); + setup_button("player1_up", p1, "up-key"); + setup_button("player1_right_up", p1, "right-up-key"); + setup_button("player1_right", p1, "right-key"); + setup_button("player1_right_down", p1, "right-down-key"); + setup_button("player1_down", p1, "down-key"); + setup_button("player1_left_down", p1, "left-down-key"); + setup_button("player1_pull_block", p1, "pull-key"); + + setup_button("player2_left", p2, "left-key"); + setup_button("player2_left_up", p2, "left-up-key"); + setup_button("player2_up", p2, "up-key"); + setup_button("player2_right_up", p2, "right-up-key"); + setup_button("player2_right", p2, "right-key"); + setup_button("player2_right_down", p2, "right-down-key"); + setup_button("player2_down", p2, "down-key"); + setup_button("player2_left_down", p2, "left-down-key"); + setup_button("player2_pull_block", p2, "pull-key"); Gtk::Button *button; ui->get_widget("close_button", button); @@ -100,47 +105,42 @@ } void PreferencesWindow::setup_button(const Glib::ustring &widget, + Glib::RefPtr<Gio::Settings> &settings, const Glib::ustring &key) { - Glib::RefPtr<Gnome::Conf::Client> &client - = MainWindow::instance().gconf_client; - Glib::ustring dir = MainWindow::instance().gconf_dir; - Gtk::Button *button; ui->get_widget(widget, button); button->set_use_underline(false); - button->set_label(client->get_string(dir + key)); + button->set_label(settings->get_string(key)); button->signal_clicked() .connect(sigc::bind(sigc::mem_fun(*this, &PreferencesWindow::on_button_pressed), - button, key)); - client->notify_add(dir + key, - sigc::bind(sigc::mem_fun(*this, &PreferencesWindow - ::button_listener), - button)); + button, settings, key)); + settings->signal_changed(key) + .connect(sigc::bind(sigc::mem_fun(*this, + &PreferencesWindow::button_listener), + settings, button)); } bool PreferencesWindow::on_key_press_event(GdkEventKey* event, Gtk::Button *button, + Glib::RefPtr<Gio::Settings> &settings, Glib::ustring key) { - Glib::RefPtr<Gnome::Conf::Client> &client - = MainWindow::instance().gconf_client; - Glib::ustring dir = MainWindow::instance().gconf_dir; - grab_connection.disconnect(); button->remove_modal_grab(); Glib::ustring name = gdk_keyval_name(event->keyval); button->set_label(name); - client->set(dir + key, name); + settings->set_string(key, name); return true; } void PreferencesWindow::on_button_pressed(Gtk::Button *button, + Glib::RefPtr<Gio::Settings> &settings, Glib::ustring key) { button->set_label(" "); @@ -149,14 +149,14 @@ grab_connection = button->signal_key_press_event() .connect(sigc::bind(sigc::mem_fun(*this, &PreferencesWindow ::on_key_press_event), - button, key)); + button, settings, key)); } -void PreferencesWindow::button_listener(unsigned int, - Gnome::Conf::Entry conf_entry, +void PreferencesWindow::button_listener(const Glib::ustring &key, + Glib::RefPtr<Gio::Settings> &settings, Gtk::Button *button) { - button->set_label(conf_entry.get_value().get_string()); + button->set_label(settings->get_string(key)); } @@ -164,20 +164,16 @@ { bool b = fullscreen_checkbutton->get_active(); - Glib::RefPtr<Gnome::Conf::Client> &client - = MainWindow::instance().gconf_client; - Glib::ustring dir = MainWindow::instance().gconf_dir; + Glib::RefPtr<Gio::Settings> &main + = MainWindow::instance().settings; - client->set(dir + "/fullscreen", b); + main->set_boolean("fullscreen", b); } -void PreferencesWindow::fullscreen_listener(unsigned int, - Gnome::Conf::Entry entry) +void PreferencesWindow::fullscreen_listener(const Glib::ustring &key, + Glib::RefPtr<Gio::Settings> &settings) { - if (entry.get_value().get_type() != Gnome::Conf::VALUE_BOOL) - return; - - bool b = entry.get_value().get_bool(); + bool b = settings->get_boolean(key); if (fullscreen_checkbutton->get_active() != b) fullscreen_checkbutton->set_active(b); } --- monster-masher-1.8.1.orig/monster-masher.schemas.in +++ /dev/null @@ -1,214 +0,0 @@ -<?xml version="1.0"?> -<gconfschemafile> - <schemalist> - <schema> - <key>/schemas/apps/monster-masher/fullscreen</key> - <applyto>/apps/monster-masher/fullscreen</applyto> - <owner>monster-masher</owner> - <type>bool</type> - <default>true</default> - <locale name="C"> - <short>Use fullscreen</short> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player1/left_key</key> - <applyto>/apps/monster-masher/player1/left_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>KP_Left</default> - <locale name="C"> - <short>Key for moving to the left</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player1/left_up_key</key> - <applyto>/apps/monster-masher/player1/left_up_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>KP_Home</default> - <locale name="C"> - <short>Key for moving to the left and up</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player1/up_key</key> - <applyto>/apps/monster-masher/player1/up_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>KP_Up</default> - <locale name="C"> - <short>Key for moving up</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player1/right_up_key</key> - <applyto>/apps/monster-masher/player1/right_up_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>KP_Page_Up</default> - <locale name="C"> - <short>Key for moving to the right and up</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player1/right_key</key> - <applyto>/apps/monster-masher/player1/right_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>KP_Right</default> - <locale name="C"> - <short>Key for moving to the right</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player1/right_down_key</key> - <applyto>/apps/monster-masher/player1/right_down_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>KP_Page_Down</default> - <locale name="C"> - <short>Key for moving to the right and down</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player1/down_key</key> - <applyto>/apps/monster-masher/player1/down_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>KP_Down</default> - <locale name="C"> - <short>Key for moving down</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player1/left_down_key</key> - <applyto>/apps/monster-masher/player1/left_down_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>KP_End</default> - <locale name="C"> - <short>Key for moving to the left and down</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player1/pull_key</key> - <applyto>/apps/monster-masher/player1/pull_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>Control_R</default> - <locale name="C"> - <short>Key for activating pulling of blocks</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - - <schema> - <key>/schemas/apps/monster-masher/player2/left_key</key> - <applyto>/apps/monster-masher/player2/left_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>d</default> - <locale name="C"> - <short>Key for moving to the left</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player2/left_up_key</key> - <applyto>/apps/monster-masher/player2/left_up_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>e</default> - <locale name="C"> - <short>Key for moving to the left and up</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player2/up_key</key> - <applyto>/apps/monster-masher/player2/up_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>r</default> - <locale name="C"> - <short>Key for moving up</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player2/right_up_key</key> - <applyto>/apps/monster-masher/player2/right_up_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>t</default> - <locale name="C"> - <short>Key for moving to the right and up</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player2/right_key</key> - <applyto>/apps/monster-masher/player2/right_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>g</default> - <locale name="C"> - <short>Key for moving to the right</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player2/right_down_key</key> - <applyto>/apps/monster-masher/player2/right_down_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>b</default> - <locale name="C"> - <short>Key for moving to the right and down</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player2/down_key</key> - <applyto>/apps/monster-masher/player2/down_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>v</default> - <locale name="C"> - <short>Key for moving down</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player2/left_down_key</key> - <applyto>/apps/monster-masher/player2/left_down_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>c</default> - <locale name="C"> - <short>Key for moving to the left and down</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - <schema> - <key>/schemas/apps/monster-masher/player2/pull_key</key> - <applyto>/apps/monster-masher/player2/pull_key</applyto> - <owner>monster-masher</owner> - <type>string</type> - <default>Control_L</default> - <locale name="C"> - <short>Key for activating pulling of blocks</short> - <long>The string should be the GDK name of the key value to use (can be found in gdk/gdkkeynames.c).</long> - </locale> - </schema> - </schemalist> -</gconfschemafile> --- monster-masher-1.8.1.orig/po/POTFILES.in +++ monster-masher-1.8.1/po/POTFILES.in @@ -9,4 +9,4 @@ src/ui.glade monster-masher.desktop.in -monster-masher.schemas.in +[type: gettext/gsettings]dk.iola.olau.monster-masher.gschema.xml