gnome-games r7777 - trunk/aisleriot



Author: chpe
Date: Mon Jul 14 22:00:50 2008
New Revision: 7777
URL: http://svn.gnome.org/viewvc/gnome-games?rev=7777&view=rev

Log:
Add statusbar toggle to View menu. Makes the game more playable on small screens (e.g. eeepc) by allowing to enlarge the vertical space available.


Modified:
   trunk/aisleriot/aisleriot.schemas.in
   trunk/aisleriot/conf.c
   trunk/aisleriot/conf.h
   trunk/aisleriot/window.c

Modified: trunk/aisleriot/aisleriot.schemas.in
==============================================================================
--- trunk/aisleriot/aisleriot.schemas.in	(original)
+++ trunk/aisleriot/aisleriot.schemas.in	Mon Jul 14 22:00:50 2008
@@ -21,7 +21,17 @@
       <default>TRUE</default>
       <locale name="C">
         <short>Whether or not to show the toolbar</short>
-        <long>Whether or not to show the toolbar.</long>
+      </locale>
+    </schema>
+
+    <schema>
+      <key>/schemas/apps/aisleriot/show_statusbar</key>
+      <applyto>/apps/aisleriot/show_statusbar</applyto>
+      <owner>aisleriot</owner>
+      <type>bool</type>
+      <default>TRUE</default>
+      <locale name="C">
+        <short>Whether or not to show the status bar</short>
       </locale>
     </schema>
 

Modified: trunk/aisleriot/conf.c
==============================================================================
--- trunk/aisleriot/conf.c	(original)
+++ trunk/aisleriot/conf.c	Mon Jul 14 22:00:50 2008
@@ -36,10 +36,11 @@
   "recent_games_list\0"
   "show_toolbar\0"
   "click_to_move\0"
-  "sound";
+  "sound\0"
+  "show_statusbar";
 
 static const guint8 key_name_offsets[] = {
-  0, 11, 21, 39, 52, 66
+  0, 11, 21, 39, 52, 66, 72
 };
 
 static const char statistics_key[] = "/apps/aisleriot/statistics";
@@ -52,16 +53,17 @@
   "Recent\0"
   "ShowToolbar\0"
   "ClickToMove\0"
-  "Sound";
+  "Sound\0"
+  "ShowStatusbar";
 
 static const guint8 key_name_offsets[] = {
-  0, 6, 16, 23, 35, 47
+  0, 6, 16, 23, 35, 47, 53
 };
 
 #endif /* HAVE_GNOME */
 
 #ifdef HAVE_GNOME
-  
+
 static GConfClient *gconf_client;
 static GHashTable *stats;
 
@@ -172,6 +174,7 @@
   if (!games_conf_initialise ("Aisleriot")) {
     /* Set defaults */
     games_conf_set_boolean (NULL, aisleriot_conf_get_key (CONF_SHOW_TOOLBAR), TRUE);
+    games_conf_set_boolean (NULL, aisleriot_conf_get_key (CONF_SHOW_STATUSBAR), TRUE);
 
 #ifdef HAVE_HILDON
     games_conf_set_boolean (NULL, aisleriot_conf_get_key (CONF_CLICK_TO_MOVE), TRUE);

Modified: trunk/aisleriot/conf.h
==============================================================================
--- trunk/aisleriot/conf.h	(original)
+++ trunk/aisleriot/conf.h	Mon Jul 14 22:00:50 2008
@@ -31,7 +31,8 @@
   CONF_SHOW_TOOLBAR,
   CONF_CLICK_TO_MOVE,
   CONF_SOUND,
-  CONF_STATISTICS
+  CONF_SHOW_STATUSBAR,
+  CONF_STATISTICS /* must be last */
 } AisleriotConfKey;
 
 typedef struct {

Modified: trunk/aisleriot/window.c
==============================================================================
--- trunk/aisleriot/window.c	(original)
+++ trunk/aisleriot/window.c	Mon Jul 14 22:00:50 2008
@@ -148,6 +148,7 @@
   guint changing_game_type : 1;
   guint freecell_mode : 1;
   guint toolbar_visible : 1;
+  guint statusbar_visible : 1;
 };
 
 enum {
@@ -980,6 +981,22 @@
 }
 
 static void
+statusbar_toggled_cb (GtkToggleAction *action,
+                      AisleriotWindow *window)
+{
+  AisleriotWindowPrivate *priv = window->priv;
+  gboolean state;
+
+  state = gtk_toggle_action_get_active (action);
+
+  g_object_set (priv->statusbar, "visible", state, NULL);
+
+  priv->statusbar_visible = state != FALSE;
+
+  games_conf_set_boolean (NULL, aisleriot_conf_get_key (CONF_SHOW_STATUSBAR), state);
+}
+
+static void
 set_fullscreen_actions (AisleriotWindow *window,
                         gboolean is_fullscreen)
 {
@@ -2144,7 +2161,12 @@
     { "Toolbar", NULL, N_("_Toolbar"), NULL,
       ACTION_TOOLTIP (N_("Show or hide the toolbar")),
       G_CALLBACK (toolbar_toggled_cb),
-      TRUE /* active by default */
+      FALSE
+    },
+    { "Statusbar", NULL, N_("_Statusbar"), NULL,
+      ACTION_TOOLTIP (N_("Show or hide statusbar")),
+      G_CALLBACK (statusbar_toggled_cb),
+      FALSE
     },
     { "ClickToMove", NULL, N_("_Click to Move"), NULL,
       ACTION_TOOLTIP (N_("Pick up and drop cards by clicking")),
@@ -2234,6 +2256,7 @@
         "<menu action='ViewMenu'>"
           "<menuitem action='Fullscreen'/>"
           "<menuitem action='Toolbar'/>"
+          "<menuitem action='Statusbar'/>"
           "<separator/>"
           "<menu action='ThemeMenu'/>"
         "</menu>"
@@ -2483,6 +2506,10 @@
   priv->toolbar_visible = games_conf_get_boolean (NULL, aisleriot_conf_get_key (CONF_SHOW_TOOLBAR), NULL) != FALSE;
   gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action),
                                 priv->toolbar_visible);
+  action = gtk_action_group_get_action (priv->action_group, "Statusbar");
+  priv->statusbar_visible = games_conf_get_boolean (NULL, aisleriot_conf_get_key (CONF_SHOW_STATUSBAR), NULL) != FALSE;
+  gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action),
+                                priv->statusbar_visible);
   action = gtk_action_group_get_action (priv->action_group, "ClickToMove");
   gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action),
                                 games_conf_get_boolean (NULL, aisleriot_conf_get_key (CONF_CLICK_TO_MOVE), NULL));
@@ -2507,7 +2534,6 @@
   gtk_box_pack_start (GTK_BOX (main_vbox), priv->main_menu, FALSE, FALSE, 0);
   gtk_box_pack_start (GTK_BOX (main_vbox), priv->toolbar, FALSE, FALSE, 0);
   gtk_box_pack_end (GTK_BOX (main_vbox), GTK_WIDGET (priv->statusbar), FALSE, FALSE, 0);
-  gtk_widget_show (GTK_WIDGET (priv->statusbar));
 #endif /* HAVE_HILDON */
 
   gtk_box_pack_start (GTK_BOX (main_vbox), GTK_WIDGET (priv->board), TRUE, TRUE, 0);



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