[gnome-games] mahjongg: make more use of GtkApplication



commit ce2dc8ce176713a61c740bbd5b5d5b82f6e4ffba
Author: Thomas Hindoe Paaboel Andersen <phomes gmail com>
Date:   Sun May 13 01:33:03 2012 +0200

    mahjongg: make more use of GtkApplication

 mahjongg/src/mahjongg.vala |   28 +++++++++++++---------------
 1 files changed, 13 insertions(+), 15 deletions(-)
---
diff --git a/mahjongg/src/mahjongg.vala b/mahjongg/src/mahjongg.vala
index 21fa890..ed86079 100644
--- a/mahjongg/src/mahjongg.vala
+++ b/mahjongg/src/mahjongg.vala
@@ -6,7 +6,7 @@ public class Mahjongg : Gtk.Application
 
     private List<Map> maps = null;
 
-    private Gtk.Window window;
+    private Gtk.ApplicationWindow window;
     private GameView game_view;
     private Gtk.ToolItem status_item;
     private Gtk.UIManager ui_manager;
@@ -26,6 +26,11 @@ public class Mahjongg : Gtk.Application
     public Mahjongg ()
     {
         Object (application_id: "org.gnome.mahjongg", flags: ApplicationFlags.FLAGS_NONE);
+    }
+
+    protected override void startup ()
+    {
+        base.startup ();
 
         settings = new Settings ("org.gnome.mahjongg");
 
@@ -41,11 +46,10 @@ public class Mahjongg : Gtk.Application
             highscores.add_category (map.score_name, display_name);
         }
 
-        window = new Gtk.Window (Gtk.WindowType.TOPLEVEL);
+        window = new Gtk.ApplicationWindow (this);
         window.title = _("Mahjongg");
         window.set_default_size (530, 440);
         GnomeGamesSupport.settings_bind_window_state ("/org/gnome/mahjongg/", window);
-        add_window (window);
 
         var status_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 10);
 
@@ -97,22 +101,13 @@ public class Mahjongg : Gtk.Application
         vbox.pack_start (game_view, true, true, 0);
 
         window.add (vbox);
+        vbox.show_all ();
 
         settings.changed.connect (conf_value_changed_cb);
 
         new_game ();
 
         game_view.grab_focus ();
-    }
-
-    public override void activate ()
-    {
-        window.show ();
-    }
-
-    public void start ()
-    {
-        window.show_all ();
 
         leave_fullscreen_action.set_visible_policy (GnomeGamesSupport.VisiblePolicy.ON_FULLSCREEN);
         conf_value_changed_cb (settings, "tileset");
@@ -120,6 +115,11 @@ public class Mahjongg : Gtk.Application
         conf_value_changed_cb (settings, "show-toolbar");
     }
 
+    public override void activate ()
+    {
+        window.present ();
+    }
+
     private void update_ui ()
     {
         pause_action.sensitive = game_view.game.move_number > 1;
@@ -802,8 +802,6 @@ public class Mahjongg : Gtk.Application
         Gtk.Window.set_default_icon_name ("mahjongg");
 
         var app = new Mahjongg ();
-        app.start ();
-
         var result = app.run ();
 
         Settings.sync();



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]