[gnome-font-viewer/wip/cdavis/hdywindow] Use HdyWindow and HdyHeaderBar
- From: Christopher Davis <christopherdavis src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-font-viewer/wip/cdavis/hdywindow] Use HdyWindow and HdyHeaderBar
- Date: Sun, 27 Dec 2020 04:41:20 +0000 (UTC)
commit 8a00dc10d61f29411761dc225ad02ab7b447ca44
Author: Christopher Davis <brainblasted disroot org>
Date: Sat Dec 26 20:38:50 2020 -0800
Use HdyWindow and HdyHeaderBar
Gives us nice rounded bottom corners.
meson.build | 4 +++-
src/font-view.c | 32 ++++++++++++++++++--------------
src/meson.build | 2 +-
3 files changed, 22 insertions(+), 16 deletions(-)
---
diff --git a/meson.build b/meson.build
index aec5596..f088cea 100644
--- a/meson.build
+++ b/meson.build
@@ -23,11 +23,13 @@ servicesdir = join_paths(datadir, 'dbus-1', 'services')
thumbnailerdir = join_paths(datadir, 'thumbnailers')
glib_req_version = '>= 2.56.0'
-gtk_req_version = '>= 3.20.0'
+gtk_req_version = '>= 3.24.1'
+libhandy_req_version = '>= 1.0.0'
harfbuzz_req_version = '>= 0.9.9'
glib_dep = dependency('glib-2.0', version: glib_req_version)
gtk_dep = dependency('gtk+-3.0', version: gtk_req_version)
+libhandy_dep = dependency('libhandy-1', version: libhandy_req_version)
harfbuzz_dep = dependency('harfbuzz', version: harfbuzz_req_version)
fontconfig_dep = dependency('fontconfig')
freetype2_dep = dependency('freetype2')
diff --git a/src/font-view.c b/src/font-view.c
index 26679cb..8d9f373 100644
--- a/src/font-view.c
+++ b/src/font-view.c
@@ -33,6 +33,7 @@
#include <gio/gio.h>
#include <gtk/gtk.h>
#include <glib/gi18n.h>
+#include <libhandy-1/handy.h>
#include <hb.h>
#include <hb-ot.h>
#include <hb-ft.h>
@@ -1034,13 +1035,13 @@ font_widget_loaded_cb (SushiFontWidget *font_widget,
self->font_file = g_file_new_for_uri (uri);
if (face->family_name) {
- gtk_header_bar_set_title (GTK_HEADER_BAR (self->header), face->family_name);
+ hdy_header_bar_set_title (HDY_HEADER_BAR (self->header), face->family_name);
} else {
g_autofree gchar *basename = g_file_get_basename (self->font_file);
- gtk_header_bar_set_title (GTK_HEADER_BAR (self->header), basename);
+ hdy_header_bar_set_title (HDY_HEADER_BAR (self->header), basename);
}
- gtk_header_bar_set_subtitle (GTK_HEADER_BAR (self->header), face->style_name);
+ hdy_header_bar_set_subtitle (HDY_HEADER_BAR (self->header), face->style_name);
install_button_refresh_appearance (self, NULL);
}
@@ -1156,7 +1157,7 @@ font_view_application_do_open (FontViewApplication *self,
gtk_widget_set_valign (self->install_button, GTK_ALIGN_CENTER);
gtk_style_context_add_class (gtk_widget_get_style_context (self->install_button),
"text-button");
- gtk_header_bar_pack_end (GTK_HEADER_BAR (self->header), self->install_button);
+ hdy_header_bar_pack_end (HDY_HEADER_BAR (self->header), self->install_button);
g_signal_connect (self->install_button, "clicked",
G_CALLBACK (install_button_clicked_cb), self);
@@ -1167,7 +1168,7 @@ font_view_application_do_open (FontViewApplication *self,
gtk_widget_set_valign (self->info_button, GTK_ALIGN_CENTER);
gtk_style_context_add_class (gtk_widget_get_style_context (self->info_button),
"text-button");
- gtk_header_bar_pack_end (GTK_HEADER_BAR (self->header), self->info_button);
+ hdy_header_bar_pack_end (HDY_HEADER_BAR (self->header), self->info_button);
g_signal_connect (self->info_button, "toggled",
G_CALLBACK (info_button_clicked_cb), self);
@@ -1184,7 +1185,7 @@ font_view_application_do_open (FontViewApplication *self,
gtk_widget_set_valign (self->back_button, GTK_ALIGN_CENTER);
gtk_style_context_add_class (gtk_widget_get_style_context (self->back_button),
"image-button");
- gtk_header_bar_pack_start (GTK_HEADER_BAR (self->header), self->back_button);
+ hdy_header_bar_pack_start (HDY_HEADER_BAR (self->header), self->back_button);
gtk_actionable_set_action_name (GTK_ACTIONABLE (self->back_button), "app.back");
}
@@ -1258,8 +1259,8 @@ font_view_application_do_overview (FontViewApplication *self)
font_view_ensure_model (self);
- gtk_header_bar_set_title (GTK_HEADER_BAR (self->header), _("All Fonts"));
- gtk_header_bar_set_subtitle (GTK_HEADER_BAR (self->header), NULL);
+ hdy_header_bar_set_title (HDY_HEADER_BAR (self->header), _("All Fonts"));
+ hdy_header_bar_set_subtitle (HDY_HEADER_BAR (self->header), NULL);
if (self->flow_box == NULL) {
GtkWidget *flow_box;
@@ -1412,21 +1413,22 @@ ensure_window (FontViewApplication *self)
if (self->main_window)
return;
- self->main_window = window = gtk_application_window_new (GTK_APPLICATION (self));
+ self->main_window = window = hdy_application_window_new ();
+ gtk_window_set_application (GTK_WINDOW (window), GTK_APPLICATION (self));
gtk_window_set_resizable (GTK_WINDOW (window), TRUE);
gtk_window_set_default_size (GTK_WINDOW (window), 800, 600);
gtk_window_set_icon_name (GTK_WINDOW (window), FONT_VIEW_ICON_NAME);
- self->header = gtk_header_bar_new ();
- gtk_header_bar_set_show_close_button (GTK_HEADER_BAR (self->header), TRUE);
+ self->header = hdy_header_bar_new ();
+ hdy_header_bar_set_show_close_button (HDY_HEADER_BAR (self->header), TRUE);
gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (self->header)),
"titlebar");
- gtk_window_set_titlebar (GTK_WINDOW (self->main_window), self->header);
g_signal_connect (window, "key-press-event",
G_CALLBACK (font_view_window_key_press_event_cb), self);
self->main_grid = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+ gtk_container_add (GTK_CONTAINER (self->main_grid), self->header);
gtk_container_add (GTK_CONTAINER (self->main_window), self->main_grid);
self->stack = gtk_stack_new ();
@@ -1449,7 +1451,7 @@ ensure_window (FontViewApplication *self)
gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (self->menu_button), menu);
gtk_widget_set_no_show_all (self->menu_button, TRUE);
gtk_widget_show (self->menu_button);
- gtk_header_bar_pack_end (GTK_HEADER_BAR (self->header), self->menu_button);
+ hdy_header_bar_pack_end (HDY_HEADER_BAR (self->header), self->menu_button);
self->search_bar = gtk_search_bar_new ();
gtk_container_add (GTK_CONTAINER (box), self->search_bar);
@@ -1462,7 +1464,7 @@ ensure_window (FontViewApplication *self)
image = gtk_image_new_from_icon_name ("edit-find-symbolic", GTK_ICON_SIZE_BUTTON);
gtk_widget_show (image);
gtk_container_add (GTK_CONTAINER (self->search_toggle), image);
- gtk_header_bar_pack_end (GTK_HEADER_BAR (self->header), self->search_toggle);
+ hdy_header_bar_pack_end (HDY_HEADER_BAR (self->header), self->search_toggle);
g_object_bind_property (self->search_bar, "search-mode-enabled",
self->search_toggle, "active",
G_BINDING_BIDIRECTIONAL);
@@ -1494,6 +1496,8 @@ font_view_application_startup (GApplication *application)
G_APPLICATION_CLASS (font_view_application_parent_class)->startup (application);
+ hdy_init ();
+
if (!FcInit ())
g_critical ("Can't initialize fontconfig library");
diff --git a/src/meson.build b/src/meson.build
index 6abf610..1f54bef 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -33,7 +33,7 @@ executable('gnome-thumbnail-font', thumbnail_sources,
executable('gnome-font-viewer', viewer_sources + resources,
include_directories: [ root_inc, include_directories('.') ],
- dependencies: [ mathlib_dep, glib_dep, gtk_dep, harfbuzz_dep, fontconfig_dep, freetype2_dep,
gnomedesktop_dep ],
+ dependencies: [ mathlib_dep, glib_dep, gtk_dep, libhandy_dep, harfbuzz_dep, fontconfig_dep, freetype2_dep,
gnomedesktop_dep ],
install: true)
desktop_file = 'org.gnome.font-viewer.desktop'
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]