[four-in-a-row] Fixes #8: removed legacy app menu



commit ae2bbeeba8f39658ee398b334b94264cfd5a11a8
Author: Jacob Humphrey <jacob ryan humphrey gmail com>
Date:   Sat Dec 15 17:32:48 2018 -0600

    Fixes #8: removed legacy app menu

 data/four-in-a-row.ui  | 104 ++++++++++++++++++++++++++++++-------------------
 src/four-in-a-row.vala |   9 +++--
 2 files changed, 68 insertions(+), 45 deletions(-)
---
diff --git a/data/four-in-a-row.ui b/data/four-in-a-row.ui
index 4753453..07bc56c 100644
--- a/data/four-in-a-row.ui
+++ b/data/four-in-a-row.ui
@@ -1,121 +1,143 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.1 -->
 <interface>
-  <!-- interface-requires gtk+ 3.12 -->
   <requires lib="gtk+" version="3.12"/>
   <object class="GtkApplicationWindow" id="fiar-window">
+    <property name="can_focus">False</property>
+    <property name="border_width">25</property>
     <property name="title" translatable="yes">Four-in-a-row</property>
-    <property name="border-width">25</property>
     <child type="titlebar">
       <object class="GtkHeaderBar" id="headerbar">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="show_close_button">True</property>
         <property name="title" translatable="yes">Four-in-a-row</property>
+        <property name="show_close_button">True</property>
         <child>
           <object class="GtkButton">
             <property name="visible">True</property>
             <property name="sensitive">False</property>
-            <property name="valign">center</property>
-            <property name="tooltip-text" translatable="yes">Undo your most recent move</property>
             <property name="can_focus">True</property>
             <property name="focus_on_click">False</property>
-            <property name="action-name">app.undo-move</property>
+            <property name="receives_default">False</property>
+            <property name="tooltip_text" translatable="yes">Undo your most recent move</property>
+            <property name="valign">center</property>
+            <property name="action_name">app.undo-move</property>
+            <child>
+              <object class="GtkImage">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="icon_name">edit-undo-symbolic</property>
+                <property name="icon_size">1</property>
+              </object>
+            </child>
             <style>
               <class name="image-button"/>
             </style>
+          </object>
+        </child>
+        <child>
+          <object class="GtkMenuButton" id="menu_button">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
             <child>
               <object class="GtkImage">
-                <property name="icon_name">edit-undo-symbolic</property>
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="icon_name">open-menu-symbolic</property>
                 <property name="icon_size">1</property>
               </object>
             </child>
           </object>
+          <packing>
+            <property name="pack_type">end</property>
+            <property name="position">1</property>
+          </packing>
         </child>
       </object>
     </child>
     <child>
       <object class="GtkAspectFrame">
         <property name="visible">True</property>
-        <property name="shadow-type">GTK_SHADOW_NONE</property>
-        <property name="obey-child">false</property>
-        <property name="ratio">1.4</property>
-        <property name="xalign">0.5</property>
-        <property name="yalign">0.5</property>
+        <property name="can_focus">False</property>
+        <property name="label_xalign">0</property>
+        <property name="shadow_type">none</property>
+        <property name="ratio">1.3999999761581421</property>
+        <property name="obey_child">False</property>
         <child>
           <object class="GtkBox">
             <property name="visible">True</property>
-            <property name="orientation">horizontal</property>
+            <property name="can_focus">False</property>
             <property name="spacing">25</property>
             <child>
               <object class="GtkAspectFrame" id="frame">
                 <property name="visible">True</property>
-                <property name="shadow-type">GTK_SHADOW_NONE</property>
-                <property name="obey-child">false</property>
-                <property name="ratio">1</property>
-                <property name="xalign">0.5</property>
-                <property name="yalign">0.5</property>
+                <property name="can_focus">False</property>
+                <property name="label_xalign">0</property>
+                <property name="shadow_type">none</property>
+                <property name="obey_child">False</property>
                 <child>
                   <placeholder/>
                 </child>
               </object>
               <packing>
-                <property name="pack-type">start</property>
                 <property name="expand">True</property>
                 <property name="fill">True</property>
-                <property name="padding">0</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
               <object class="GtkButtonBox">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">end</property>
                 <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
-                <property name="valign">end</property>
                 <child>
                   <object class="GtkButton">
-                    <property name="visible">True</property>
-                    <property name="use_underline">True</property>
                     <property name="label" translatable="yes">_Hint</property>
-                    <property name="halign">fill</property>
+                    <property name="width_request">120</property>
+                    <property name="height_request">60</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip_text" translatable="yes">Receive a hint for your next 
move</property>
                     <property name="valign">center</property>
-                    <property name="action-name">app.hint</property>
-                    <property name="tooltip-text" translatable="yes">Receive a hint for your next 
move</property>
-                    <property name="width-request">120</property>
-                    <property name="height-request">60</property>
+                    <property name="action_name">app.hint</property>
+                    <property name="use_underline">True</property>
                   </object>
                   <packing>
-                    <property name="pack-type">start</property>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
-                    <property name="padding">0</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkButton">
-                    <property name="visible">True</property>
-                    <property name="use_underline">True</property>
                     <property name="label" translatable="yes">_Start Over</property>
-                    <property name="halign">fill</property>
+                    <property name="width_request">120</property>
+                    <property name="height_request">60</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip_text" translatable="yes">Start a new game</property>
                     <property name="valign">center</property>
-                    <property name="action-name">app.new-game</property>
-                    <property name="tooltip-text" translatable="yes">Start a new game</property>
-                    <property name="width-request">120</property>
-                    <property name="height-request">60</property>
+                    <property name="action_name">app.new-game</property>
+                    <property name="use_underline">True</property>
                   </object>
                   <packing>
-                    <property name="pack-type">end</property>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
-                    <property name="padding">0</property>
+                    <property name="pack_type">end</property>
+                    <property name="position">1</property>
                   </packing>
                 </child>
               </object>
               <packing>
-                <property name="pack-type">end</property>
                 <property name="expand">False</property>
                 <property name="fill">True</property>
-                <property name="padding">0</property>
+                <property name="pack_type">end</property>
+                <property name="position">1</property>
               </packing>
             </child>
           </object>
diff --git a/src/four-in-a-row.vala b/src/four-in-a-row.vala
index debe9ed..e00a2a5 100644
--- a/src/four-in-a-row.vala
+++ b/src/four-in-a-row.vala
@@ -705,7 +705,7 @@ class FourInARow : Gtk.Application {
 
         Gtk.AspectFrame frame;
         GLib.Menu app_menu, section;
-
+        Gtk.MenuButton menu_button;
         Gtk.Builder builder;
         Gtk.CssProvider css_provider;
 
@@ -734,6 +734,8 @@ class FourInARow : Gtk.Application {
 
         add_actions();
 
+        menu_button = builder.get_object("menu_button") as Gtk.MenuButton;
+
         app_menu = new GLib.Menu();
         section = new GLib.Menu();
         app_menu.append_section(null, section);
@@ -742,10 +744,9 @@ class FourInARow : Gtk.Application {
         section = new GLib.Menu();
         app_menu.append_section(null, section);
         section.append(_("_Help"), "app.help");
-        section.append(_("_About"), "app.about");
-        section.append(_("_Quit"), "app.quit");
+        section.append(_("_About Four-In-A-Row"), "app.about");
 
-        this.app_menu = app_menu;
+        menu_button.menu_model = app_menu;
 
         frame = builder.get_object("frame") as Gtk.AspectFrame;
 


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