[frogr] Fixed issues in the Mac after switching to GtkActions.



commit 314b47fc43a3ea4d7bdf3aa09927f5de7c98bd78
Author: Mario Sanchez Prada <msanchez igalia com>
Date:   Thu Jul 7 16:31:35 2011 +0200

    Fixed issues in the Mac after switching to GtkActions.
    
    Also, renamed during the process the separators in the glade file.

 data/gtkbuilder/frogr-main-view.xml |   18 +++++++-------
 src/frogr-main-view.c               |   40 +++++++++++++++++++---------------
 2 files changed, 31 insertions(+), 27 deletions(-)
---
diff --git a/data/gtkbuilder/frogr-main-view.xml b/data/gtkbuilder/frogr-main-view.xml
index 9008ba8..0a34d4f 100644
--- a/data/gtkbuilder/frogr-main-view.xml
+++ b/data/gtkbuilder/frogr-main-view.xml
@@ -146,7 +146,7 @@
       </object>
     </child>
     <child>
-      <object class="GtkSeparatorMenuItem" id="menuitem3">
+      <object class="GtkSeparatorMenuItem" id="separator1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="use_action_appearance">False</property>
@@ -291,7 +291,7 @@
               </object>
             </child>
             <child>
-              <object class="GtkSeparatorMenuItem" id="separatormenuitem1">
+              <object class="GtkSeparatorMenuItem" id="separator2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="use_action_appearance">False</property>
@@ -314,7 +314,7 @@
               </object>
             </child>
             <child>
-              <object class="GtkSeparatorMenuItem" id="menuitem5">
+              <object class="GtkSeparatorMenuItem" id="separator3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="use_action_appearance">False</property>
@@ -330,7 +330,7 @@
               </object>
             </child>
             <child>
-              <object class="GtkSeparatorMenuItem" id="separatormenuitem2">
+              <object class="GtkSeparatorMenuItem" id="separator4">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="use_action_appearance">False</property>
@@ -416,7 +416,7 @@
               </object>
             </child>
             <child>
-              <object class="GtkSeparatorMenuItem" id="menuitem6">
+              <object class="GtkSeparatorMenuItem" id="separator5">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="use_action_appearance">False</property>
@@ -482,7 +482,7 @@
                       </object>
                     </child>
                     <child>
-                      <object class="GtkSeparatorMenuItem" id="separatormenuitem4">
+                      <object class="GtkSeparatorMenuItem" id="separator6">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="use_action_appearance">False</property>
@@ -500,7 +500,7 @@
               </object>
             </child>
             <child>
-              <object class="GtkSeparatorMenuItem" id="separatormenuitem3">
+              <object class="GtkSeparatorMenuItem" id="separator7">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="use_action_appearance">False</property>
@@ -518,14 +518,14 @@
       </object>
     </child>
     <child>
-      <object class="GtkMenuItem" id="menuitem4">
+      <object class="GtkMenuItem" id="help_menu_item">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="use_action_appearance">False</property>
         <property name="label" translatable="yes">_Help</property>
         <property name="use_underline">True</property>
         <child type="submenu">
-          <object class="GtkMenu" id="menu3">
+          <object class="GtkMenu" id="help_submenu">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
diff --git a/src/frogr-main-view.c b/src/frogr-main-view.c
index 5115ce1..1c85548 100644
--- a/src/frogr-main-view.c
+++ b/src/frogr-main-view.c
@@ -250,27 +250,29 @@ _tweak_menu_bar_for_mac (FrogrMainView *self)
 
   GtkOSXApplication *osx_app = g_object_new (GTK_TYPE_OSX_APPLICATION, NULL);
 
-  /* Preferences menu item (platform dependent) */
-  menu_item = GTK_WIDGET (gtk_builder_get_object (priv->builder,
-                                                  "preferences_menu_item"));
-  gtk_osxapplication_insert_app_menu_item (osx_app, menu_item, 1);
-  gtk_osxapplication_insert_app_menu_item (osx_app, gtk_separator_menu_item_new (), 2);
-  gtk_widget_show_all (menu_item);
-
-  menu_item = GTK_WIDGET (gtk_builder_get_object (priv->builder,
-                                                  "quit_menu_item"));
-  gtk_menu_item_remove_submenu (GTK_MENU_ITEM (menu_item));
-
-  menu_item = GTK_WIDGET (gtk_builder_get_object (priv->builder,
-                                                  "contents_menu_item"));
-  gtk_menu_item_remove_submenu (GTK_MENU_ITEM (menu_item));
+  /* Relocate the 'about' menu item in the app menu */
+  menu_item = GTK_WIDGET (gtk_builder_get_object (priv->builder, "about_menu_item"));
   gtk_osxapplication_insert_app_menu_item (osx_app, menu_item, 0);
+  gtk_osxapplication_insert_app_menu_item (osx_app, gtk_separator_menu_item_new (), 1);
+  gtk_widget_show_all (menu_item);
 
-  menu_item = GTK_WIDGET (gtk_builder_get_object (priv->builder,
-                                                  "about_menu_item"));
-  gtk_menu_item_remove_submenu (GTK_MENU_ITEM (menu_item));
-  gtk_osxapplication_insert_app_menu_item (osx_app, priv->about_menu, 0);
+  /* Relocate the 'preferences' menu item in the app menu */
+  menu_item = GTK_WIDGET (gtk_builder_get_object (priv->builder, "preferences_menu_item"));
+  gtk_osxapplication_insert_app_menu_item (osx_app, menu_item, 2);
+  gtk_osxapplication_insert_app_menu_item (osx_app, gtk_separator_menu_item_new (), 3);
   gtk_widget_show_all (menu_item);
+
+  /* Hide menus, menu items and separators that won't be shown in the Mac */
+  menu_item = GTK_WIDGET (gtk_builder_get_object (priv->builder, "help_submenu"));
+  gtk_widget_hide (menu_item);
+  menu_item = GTK_WIDGET (gtk_builder_get_object (priv->builder, "help_menu_item"));
+  gtk_widget_hide (menu_item);
+  menu_item = GTK_WIDGET (gtk_builder_get_object (priv->builder, "separator3"));
+  gtk_widget_hide (menu_item);
+  menu_item = GTK_WIDGET (gtk_builder_get_object (priv->builder, "separator4"));
+  gtk_widget_hide (menu_item);
+  menu_item = GTK_WIDGET (gtk_builder_get_object (priv->builder, "quit_menu"));
+  gtk_widget_hide (menu_item);
 }
 #endif
 
@@ -1600,8 +1602,10 @@ frogr_main_view_init (FrogrMainView *self)
   priv->reverse_order_action =
     GTK_TOGGLE_ACTION (gtk_builder_get_object (builder,
                                                "reverse_order_action"));
+#ifndef MAC_INTEGRATION
   priv->quit_action =
     GTK_ACTION (gtk_builder_get_object (builder, "quit_action"));
+#endif
 
   /* Initialize sorting criteria and reverse */
   priv->sorting_criteria = frogr_config_get_mainview_sorting_criteria (priv->config);



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