[gnome-font-viewer/wip/cdavis/remove-primary-menu] font-view: Remove primary menu




commit ac7b1803e4a113ed8307663050b9e985ad6be3c5
Author: Christopher Davis <christopherdavis gnome org>
Date:   Mon Jul 18 18:34:16 2022 -0400

    font-view: Remove primary menu
    
    Instead of having a primary menu with only one item,
    we should just use a single button for the about window.
    
    Closes #47

 src/font-view-app-menu.ui           | 10 ----------
 src/font-view.c                     | 26 +++++++++-----------------
 src/gnome-font-viewer.gresource.xml |  1 -
 3 files changed, 9 insertions(+), 28 deletions(-)
---
diff --git a/src/font-view.c b/src/font-view.c
index c8934c5..adb0540 100644
--- a/src/font-view.c
+++ b/src/font-view.c
@@ -75,7 +75,7 @@ struct _FontViewApplication
     GtkWidget *search_bar;
     GtkWidget *search_entry;
     GtkWidget *search_toggle;
-    GtkWidget *menu_button;
+    GtkWidget *about_button;
 
     GtkFilter *filter;
     GtkSorter *sorter;
@@ -1016,7 +1016,7 @@ font_view_application_do_open (FontViewApplication *self,
     }
 
     gtk_widget_hide (self->search_toggle);
-    gtk_widget_hide (self->menu_button);
+    gtk_widget_hide (self->about_button);
 
     uri = g_file_get_uri (file);
 
@@ -1084,7 +1084,7 @@ font_view_application_do_overview (FontViewApplication *self)
     }
 
     gtk_widget_show (self->search_toggle);
-    gtk_widget_show (self->menu_button);
+    gtk_widget_show (self->about_button);
 
     font_view_ensure_model (self);
     GtkWidget *title = adw_window_title_new (_ ("All Fonts"), NULL);
@@ -1204,10 +1204,8 @@ search_text_changed (GtkEntry *entry, FontViewApplication *self)
 static void
 ensure_window (FontViewApplication *self)
 {
-    g_autoptr (GtkBuilder) builder = NULL;
     GtkWidget *swin, *box;
     GtkApplicationWindow *window;
-    GMenuModel *menu;
 
     if (self->main_window)
         return;
@@ -1234,17 +1232,11 @@ ensure_window (FontViewApplication *self)
     box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
     gtk_stack_add_named (GTK_STACK (self->stack), box, "overview");
 
-    builder = gtk_builder_new ();
-    gtk_builder_add_from_resource (
-        builder, "/org/gnome/font-viewer/font-view-app-menu.ui", NULL);
-    menu = G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu"));
+    self->about_button = gtk_button_new_from_icon_name ("help-about-symbolic");
+    gtk_actionable_set_action_name (GTK_ACTIONABLE (self->about_button), "app.about");
+    gtk_widget_set_tooltip_text (self->about_button, _("About Fonts"));
 
-    self->menu_button = gtk_menu_button_new ();
-    gtk_menu_button_set_icon_name (GTK_MENU_BUTTON (self->menu_button),
-                                   "open-menu-symbolic");
-    gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (self->menu_button), menu);
-
-    gtk_header_bar_pack_end (GTK_HEADER_BAR (self->header), self->menu_button);
+    gtk_header_bar_pack_end (GTK_HEADER_BAR (self->header), self->about_button);
 
     self->search_bar = gtk_search_bar_new ();
     gtk_box_append (GTK_BOX (box), self->search_bar);
@@ -1257,8 +1249,8 @@ ensure_window (FontViewApplication *self)
 
     gtk_button_set_icon_name (GTK_BUTTON (self->search_toggle),
                               "edit-find-symbolic");
-    gtk_header_bar_pack_end (GTK_HEADER_BAR (self->header),
-                             self->search_toggle);
+    gtk_header_bar_pack_start (GTK_HEADER_BAR (self->header),
+                               self->search_toggle);
     g_object_bind_property (self->search_bar, "search-mode-enabled",
                             self->search_toggle, "active",
                             G_BINDING_BIDIRECTIONAL);
diff --git a/src/gnome-font-viewer.gresource.xml b/src/gnome-font-viewer.gresource.xml
index 2a4ea62..af77be8 100644
--- a/src/gnome-font-viewer.gresource.xml
+++ b/src/gnome-font-viewer.gresource.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <gresources>
   <gresource prefix="/org/gnome/font-viewer">
-    <file preprocess="xml-stripblanks">font-view-app-menu.ui</file>
     <file>style.css</file>
   </gresource>
 </gresources>


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