From f3f7d5445e6f64a7c946f6e0144452952f0809e8 Mon Sep 17 00:00:00 2001 From: David Härdeman Date: Mon, 17 Aug 2015 20:54:45 +0200 Subject: Revamp advanced UI --- rcm-client-main.c | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) (limited to 'rcm-client-main.c') diff --git a/rcm-client-main.c b/rcm-client-main.c index 1467f16..420ab6c 100644 --- a/rcm-client-main.c +++ b/rcm-client-main.c @@ -138,6 +138,33 @@ manager_ready_cb(GObject *source, GAsyncResult *res, gpointer user_data) } +GtkWidget * +create_header_button(GtkHeaderBar *header, const gchar *tooltip, + const gchar *icon_name, gboolean end, GCallback callback, + gpointer user_data) +{ + GtkWidget *button; + + button = gtk_button_new_from_icon_name(icon_name, GTK_ICON_SIZE_BUTTON); + + if (tooltip) + gtk_widget_set_tooltip_text(button, tooltip); + + g_signal_connect(button, "clicked", callback, user_data); + gtk_widget_set_valign(button, GTK_ALIGN_CENTER); + gtk_widget_show_all(button); + + if (!header) + header = GTK_HEADER_BAR(gtk_builder_get_object(global->builder, "main_headerbar")); + + if (end) + gtk_header_bar_pack_end(header, button); + else + gtk_header_bar_pack_start(header, button); + + return button; +} + int main(int argc, char *argv[]) { GtkCssProvider *css; @@ -158,9 +185,6 @@ int main(int argc, char *argv[]) global->window = GTK_WINDOW(gtk_builder_get_object(global->builder, "main_window")); g_signal_connect(global->window, "destroy", G_CALLBACK(gtk_main_quit), NULL); - global->header = GTK_HEADER_BAR(gtk_builder_get_object(global->builder, "headerbar")); - gtk_header_bar_set_show_close_button(global->header, TRUE); - global->stack = GTK_STACK(gtk_builder_get_object(global->builder, "main_stack")); gtk_widget_show_all(GTK_WIDGET(global->window)); -- cgit v1.2.3