summaryrefslogtreecommitdiff
path: root/rcm-client-main.c
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2015-08-17 20:54:45 +0200
committerDavid Härdeman <david@hardeman.nu>2015-08-17 20:54:45 +0200
commitf3f7d5445e6f64a7c946f6e0144452952f0809e8 (patch)
treef8c44ce38bd28624eacd06de0d88e25452386fd6 /rcm-client-main.c
parentc420b38a5a4bac32b1086e0359e5f5646880d9f4 (diff)
Revamp advanced UI
Diffstat (limited to 'rcm-client-main.c')
-rw-r--r--rcm-client-main.c30
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));