diff options
author | David Härdeman <david@hardeman.nu> | 2015-08-17 20:54:45 +0200 |
---|---|---|
committer | David Härdeman <david@hardeman.nu> | 2015-08-17 20:54:45 +0200 |
commit | f3f7d5445e6f64a7c946f6e0144452952f0809e8 (patch) | |
tree | f8c44ce38bd28624eacd06de0d88e25452386fd6 /rcm-client-main.c | |
parent | c420b38a5a4bac32b1086e0359e5f5646880d9f4 (diff) |
Revamp advanced UI
Diffstat (limited to 'rcm-client-main.c')
-rw-r--r-- | rcm-client-main.c | 30 |
1 files changed, 27 insertions, 3 deletions
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)); |