summaryrefslogtreecommitdiff
path: root/examples/bp
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-06-16 09:26:15 -0400
committerMatthias Clasen <mclasen@redhat.com>2021-06-16 09:26:15 -0400
commit11916bac7e7ab23a2ba41aa62906f06108903cf5 (patch)
treee02fefd9f57496067e3013cc6fb96eda7295d780 /examples/bp
parentd675ae5cc55d39afccd253a8e4ef423083140ceb (diff)
downloadgtk+-11916bac7e7ab23a2ba41aa62906f06108903cf5.tar.gz
bloatpad: Give the toolbar a facelift
Make it look more like a toolbar.
Diffstat (limited to 'examples/bp')
-rw-r--r--examples/bp/bloatpad.c28
1 files changed, 18 insertions, 10 deletions
diff --git a/examples/bp/bloatpad.c b/examples/bp/bloatpad.c
index c47fb4dbb0..42d7b45f15 100644
--- a/examples/bp/bloatpad.c
+++ b/examples/bp/bloatpad.c
@@ -197,6 +197,17 @@ text_buffer_changed_cb (GtkTextBuffer *buffer,
}
}
+static void
+fullscreen_changed (GObject *object,
+ GParamSpec *pspec,
+ gpointer user_data)
+{
+ if (gtk_window_is_fullscreen (GTK_WINDOW (object)))
+ gtk_button_set_icon_name (GTK_BUTTON (user_data), "view-restore-symbolic");
+ else
+ gtk_button_set_icon_name (GTK_BUTTON (user_data), "view-fullscreen-symbolic");
+}
+
static GActionEntry win_entries[] = {
{ "copy", window_copy, NULL, NULL, NULL },
{ "paste", window_paste, NULL, NULL, NULL },
@@ -214,7 +225,6 @@ new_window (GApplication *app,
GtkWidget *window, *grid, *scrolled, *view;
GtkWidget *toolbar;
GtkWidget *button;
- GtkWidget *sw, *box, *label;
window = gtk_application_window_new (GTK_APPLICATION (app));
gtk_window_set_default_size ((GtkWindow*)window, 640, 480);
@@ -226,6 +236,7 @@ new_window (GApplication *app,
gtk_window_set_child (GTK_WINDOW (window), grid);
toolbar = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_widget_add_css_class (toolbar, "toolbar");
button = gtk_toggle_button_new ();
gtk_button_set_icon_name (GTK_BUTTON (button), "format-justify-left");
gtk_actionable_set_detailed_action_name (GTK_ACTIONABLE (button), "win.justify::left");
@@ -241,21 +252,18 @@ new_window (GApplication *app,
gtk_actionable_set_detailed_action_name (GTK_ACTIONABLE (button), "win.justify::right");
gtk_box_append (GTK_BOX (toolbar), button);
- box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
- gtk_widget_set_halign (box, GTK_ALIGN_END);
- label = gtk_label_new ("Fullscreen:");
- gtk_box_append (GTK_BOX (box), label);
- sw = gtk_switch_new ();
- gtk_widget_set_valign (sw, GTK_ALIGN_CENTER);
- gtk_actionable_set_action_name (GTK_ACTIONABLE (sw), "win.fullscreen");
- gtk_box_append (GTK_BOX (box), sw);
- gtk_box_append (GTK_BOX (toolbar), box);
+ button = gtk_toggle_button_new ();
+ gtk_button_set_icon_name (GTK_BUTTON (button), "view-fullscreen-symbolic");
+ gtk_actionable_set_action_name (GTK_ACTIONABLE (button), "win.fullscreen");
+ gtk_box_append (GTK_BOX (toolbar), button);
+ g_signal_connect (window, "notify::fullscreened", G_CALLBACK (fullscreen_changed), button);
gtk_grid_attach (GTK_GRID (grid), toolbar, 0, 0, 1, 1);
scrolled = gtk_scrolled_window_new ();
gtk_widget_set_hexpand (scrolled, TRUE);
gtk_widget_set_vexpand (scrolled, TRUE);
+ gtk_scrolled_window_set_has_frame (GTK_SCROLLED_WINDOW (scrolled), TRUE);
view = gtk_text_view_new ();
g_object_set_data ((GObject*)window, "bloatpad-text", view);