summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Davis <christopherdavis@gnome.org>2021-02-17 12:38:28 -0800
committerShaun McCance <shaunm@gnome.org>2021-10-09 16:41:02 +0000
commite75867cfb2e0be5fb03fecea00a48457d59ba828 (patch)
treeef7e98c9c31efefca079580b2989aa60fc83ede3
parent245c0936cd026f0cce5d9a63870a1fdfdbe4fab3 (diff)
downloadyelp-e75867cfb2e0be5fb03fecea00a48457d59ba828.tar.gz
window: Use HdyApplicationWindow for rounded bottom corners
GNOME core apps are now using HdyApplicationWindow to get rounded bottom corners everywhere.
-rw-r--r--configure.ac1
-rw-r--r--src/yelp-application.c3
-rw-r--r--src/yelp-window.c34
-rw-r--r--src/yelp-window.h5
4 files changed, 24 insertions, 19 deletions
diff --git a/configure.ac b/configure.ac
index e948e928..e67463cd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -40,6 +40,7 @@ PKG_CHECK_MODULES(YELP,
gio-unix-2.0
gtk+-unix-print-3.0
gtk+-3.0 >= 3.13.3
+ libhandy-1 >= 1.0.0
libxml-2.0 >= 2.6.5
libxslt >= 1.1.4
libexslt >= 0.8.1
diff --git a/src/yelp-application.c b/src/yelp-application.c
index b284757e..8d046f31 100644
--- a/src/yelp-application.c
+++ b/src/yelp-application.c
@@ -31,6 +31,7 @@
#ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h>
#endif
+#include <libhandy-1/handy.h>
#include <stdlib.h>
#include "yelp-bookmarks.h"
@@ -270,6 +271,8 @@ yelp_application_startup (GApplication *application)
/* chain up */
G_APPLICATION_CLASS (yelp_application_parent_class)->startup (application);
+ hdy_init ();
+
settings = yelp_settings_get_default ();
if (editor_mode)
yelp_settings_set_editor_mode (settings, TRUE);
diff --git a/src/yelp-window.c b/src/yelp-window.c
index 3bf44d0e..5c85c8da 100644
--- a/src/yelp-window.c
+++ b/src/yelp-window.c
@@ -183,7 +183,7 @@ struct _YelpWindowPrivate {
gboolean configured;
};
-G_DEFINE_TYPE_WITH_PRIVATE (YelpWindow, yelp_window, GTK_TYPE_APPLICATION_WINDOW)
+G_DEFINE_TYPE_WITH_PRIVATE (YelpWindow, yelp_window, HDY_TYPE_APPLICATION_WINDOW)
static void
yelp_window_init (YelpWindow *window)
@@ -330,17 +330,17 @@ window_construct (YelpWindow *window)
entries, G_N_ELEMENTS (entries), window);
yelp_view_register_actions (priv->view, G_ACTION_MAP (window));
- priv->vbox_full = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
+ priv->vbox_full = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), priv->vbox_full);
- priv->header = gtk_header_bar_new ();
- gtk_header_bar_set_show_close_button (GTK_HEADER_BAR (priv->header), TRUE);
- gtk_window_set_titlebar (GTK_WINDOW (window), priv->header);
+ priv->header = hdy_header_bar_new ();
+ hdy_header_bar_set_show_close_button (HDY_HEADER_BAR (priv->header), TRUE);
+ gtk_container_add (GTK_CONTAINER (priv->vbox_full), priv->header);
/** Back/Forward **/
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_style_context_add_class (gtk_widget_get_style_context (box), "linked");
- gtk_header_bar_pack_start (GTK_HEADER_BAR (priv->header), box);
+ hdy_header_bar_pack_start (HDY_HEADER_BAR (priv->header), box);
button = gtk_button_new_from_icon_name ("go-previous-symbolic", GTK_ICON_SIZE_MENU);
gtk_widget_set_tooltip_text (button, _("Back"));
@@ -362,7 +362,7 @@ window_construct (YelpWindow *window)
gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
gtk_style_context_add_class (gtk_widget_get_style_context (button), "image-button");
gtk_widget_set_tooltip_text (button, _("Menu"));
- gtk_header_bar_pack_end (GTK_HEADER_BAR (priv->header), button);
+ hdy_header_bar_pack_end (HDY_HEADER_BAR (priv->header), button);
menu = g_menu_new ();
section = g_menu_new ();
@@ -413,7 +413,7 @@ window_construct (YelpWindow *window)
G_BINDING_BIDIRECTIONAL);
g_signal_connect (priv->search_bar, "notify::search-mode-enabled",
G_CALLBACK (window_search_mode), window);
- gtk_header_bar_pack_end (GTK_HEADER_BAR (priv->header), button);
+ hdy_header_bar_pack_end (HDY_HEADER_BAR (priv->header), button);
g_signal_connect (window, "key-press-event", G_CALLBACK (window_key_press), NULL);
@@ -425,7 +425,7 @@ window_construct (YelpWindow *window)
gtk_image_new_from_icon_name ("user-bookmarks-symbolic",
GTK_ICON_SIZE_MENU));
gtk_widget_set_tooltip_text (button, _("Bookmarks"));
- gtk_header_bar_pack_end (GTK_HEADER_BAR (priv->header), button);
+ hdy_header_bar_pack_end (HDY_HEADER_BAR (priv->header), button);
priv->bookmark_menu = gtk_popover_new (button);
g_object_set (priv->bookmark_menu, "border-width", 12, NULL);
@@ -678,7 +678,7 @@ action_ctrll (GSimpleAction *action,
gtk_entry_set_text (GTK_ENTRY (priv->ctrll_entry), "");
- gtk_header_bar_set_custom_title (GTK_HEADER_BAR (priv->header), priv->ctrll_entry);
+ hdy_header_bar_set_custom_title (HDY_HEADER_BAR (priv->header), priv->ctrll_entry);
gtk_widget_show (priv->ctrll_entry);
gtk_widget_grab_focus (priv->ctrll_entry);
@@ -783,7 +783,7 @@ window_key_press (YelpWindow *window,
if (gtk_revealer_get_reveal_child (GTK_REVEALER (priv->find_bar)))
return FALSE;
- if (gtk_header_bar_get_custom_title (GTK_HEADER_BAR (priv->header)))
+ if (hdy_header_bar_get_custom_title (HDY_HEADER_BAR (priv->header)))
return FALSE;
return gtk_search_bar_handle_event (GTK_SEARCH_BAR (priv->search_bar),
@@ -1187,14 +1187,14 @@ view_root_title (YelpView *view,
g_object_get (view, "root-title", &root_title, "page-title", &page_title, NULL);
if (page_title)
- gtk_header_bar_set_title (GTK_HEADER_BAR (priv->header), page_title);
+ hdy_header_bar_set_title (HDY_HEADER_BAR (priv->header), page_title);
else
- gtk_header_bar_set_title (GTK_HEADER_BAR (priv->header), _("Help"));
+ hdy_header_bar_set_title (HDY_HEADER_BAR (priv->header), _("Help"));
if (root_title && (page_title == NULL || strcmp (root_title, page_title)))
- gtk_header_bar_set_subtitle (GTK_HEADER_BAR (priv->header), root_title);
+ hdy_header_bar_set_subtitle (HDY_HEADER_BAR (priv->header), root_title);
else
- gtk_header_bar_set_subtitle (GTK_HEADER_BAR (priv->header), NULL);
+ hdy_header_bar_set_subtitle (HDY_HEADER_BAR (priv->header), NULL);
}
static void
@@ -1207,7 +1207,7 @@ ctrll_entry_activate (GtkEntry *entry,
yelp_window_load_uri (window, uri);
g_object_unref (uri);
- gtk_header_bar_set_custom_title (GTK_HEADER_BAR (priv->header), NULL);
+ hdy_header_bar_set_custom_title (HDY_HEADER_BAR (priv->header), NULL);
}
static gboolean
@@ -1218,7 +1218,7 @@ ctrll_entry_key_press (GtkWidget *widget,
YelpWindowPrivate *priv = yelp_window_get_instance_private (window);
if (event->keyval == GDK_KEY_Escape) {
- gtk_header_bar_set_custom_title (GTK_HEADER_BAR (priv->header), NULL);
+ hdy_header_bar_set_custom_title (HDY_HEADER_BAR (priv->header), NULL);
return TRUE;
}
return FALSE;
diff --git a/src/yelp-window.h b/src/yelp-window.h
index a1303068..5b562504 100644
--- a/src/yelp-window.h
+++ b/src/yelp-window.h
@@ -22,6 +22,7 @@
#define __YELP_WINDOW_H__
#include <gtk/gtk.h>
+#include <libhandy-1/handy.h>
#include "yelp-uri.h"
@@ -36,12 +37,12 @@ typedef struct _YelpWindowClass YelpWindowClass;
struct _YelpWindow
{
- GtkApplicationWindow parent;
+ HdyApplicationWindow parent;
};
struct _YelpWindowClass
{
- GtkApplicationWindowClass parent_class;
+ HdyApplicationWindowClass parent_class;
};
GType yelp_window_get_type (void);