[Xfce4-commits] [panel-plugins/xfce4-places-plugin] 23/30: Improve appearance of preferences dialog

noreply at xfce.org noreply at xfce.org
Mon Apr 22 12:08:14 CEST 2019


This is an automated email from the git hooks/post-receive script.

b   l   u   e   s   a   b   r   e       p   u   s   h   e   d       a       c   o   m   m   i   t       t   o       b   r   a   n   c   h       m   a   s   t   e   r   
   in repository panel-plugins/xfce4-places-plugin.

commit 5616aeb9e931831d9578fe467052463ef2a2b70c
Author: Sean Davis <smd.seandavis at gmail.com>
Date:   Sun Apr 21 10:42:59 2019 -0400

    Improve appearance of preferences dialog
---
 panel-plugin/cfg.c | 255 ++++++++++++++++++++++++++++-------------------------
 1 file changed, 137 insertions(+), 118 deletions(-)

diff --git a/panel-plugin/cfg.c b/panel-plugin/cfg.c
index 70c4d65..6dc02c0 100644
--- a/panel-plugin/cfg.c
+++ b/panel-plugin/cfg.c
@@ -407,193 +407,212 @@ pcfg_make_empty_dialog(PlacesCfg *cfg)
     return dlg;
 }
 
+static GtkWidget*
+get_label (const gchar *str,
+           gboolean     bold,
+           gboolean     upper_margin)
+{
+    GtkWidget *label;
+
+    if (bold) {
+        const char *format = "<b>\%s</b>";
+        char *markup;
+
+        label = gtk_label_new (NULL);
+        markup = g_markup_printf_escaped(format, str);
+        gtk_label_set_markup(GTK_LABEL(label), markup);
+        g_free(markup);
+    } else {
+        label = gtk_label_new_with_mnemonic(str);
+    }
+
+    gtk_label_set_xalign (GTK_LABEL (label), 0);
+
+    if (upper_margin)
+        gtk_widget_set_margin_top (label, 12);
+
+    return label;
+}
+
+static void
+attach_to_grid (GtkGrid   *grid,
+                GtkWidget *child,
+                gint       left,
+                gint       top,
+                gint       width,
+                gint       height,
+                gint       margin_start)
+{
+    gtk_grid_attach (grid, child, left, top, width, height);
+    gtk_widget_set_margin_start (child, margin_start);
+}
+
 void
 places_cfg_open_dialog(PlacesCfg *cfg)
 {
-    GtkWidget *dlg;
-    GtkWidget *frame_button, *vbox_button;
-    GtkWidget *frame_menu,   *vbox_menu;
-    GtkWidget *frame_recent, *vbox_recent;
-    GtkWidget *frame_search, *vbox_search;
-
-    GtkWidget *tmp_box, *tmp_label, *tmp_widget;
     GtkAdjustment *adj;
+    GtkWidget     *dlg;
+    GtkWidget     *grid;
+    GtkWidget     *label;
+    GtkWidget     *widget;
+
+    gint margin_size = 12;
+    gint row = 0;
 
     DBG("configure plugin");
 
     dlg = pcfg_make_empty_dialog(cfg);
 
-    /* BUTTON: frame, vbox */
-    vbox_button = gtk_box_new(GTK_ORIENTATION_VERTICAL, 4);
-    gtk_widget_show(vbox_button);
-
-    frame_button = xfce_gtk_frame_box_new_with_content(_("Button"), vbox_button);
-    gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area (GTK_DIALOG(dlg))), frame_button, FALSE, FALSE, 0);
+    grid = gtk_grid_new ();
+    gtk_grid_set_row_spacing (GTK_GRID (grid), 6);
+    gtk_grid_set_column_spacing (GTK_GRID (grid), 12);
+    gtk_container_set_border_width (GTK_CONTAINER (grid), 12);
+    gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dlg))), grid, FALSE, FALSE, 0);
 
+    /* BUTTON */
+    label = get_label (_("Button"), TRUE, FALSE);
+    attach_to_grid (GTK_GRID (grid), label, 0, row, 3, 1, 0);
+    row++;
 
     /* BUTTON: Show Icon/Label */
-    tmp_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 15);
-    gtk_widget_show(tmp_box);
-    gtk_box_pack_start(GTK_BOX(vbox_button), tmp_box, FALSE, FALSE, 0);
+    label = get_label (_("_Show"), FALSE, FALSE);
+    attach_to_grid (GTK_GRID(grid), label, 0, row, 1, 1, margin_size);
 
-    tmp_label = gtk_label_new_with_mnemonic(_("_Show"));
-    gtk_widget_show(tmp_label);
-    gtk_box_pack_start(GTK_BOX(tmp_box), tmp_label, FALSE, FALSE, 0);
-
-    tmp_widget = gtk_combo_box_text_new();
-    gtk_label_set_mnemonic_widget(GTK_LABEL(tmp_label), tmp_widget);
-    gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(tmp_widget), _("Icon Only"));
-    gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(tmp_widget), _("Label Only"));
-    gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(tmp_widget), _("Icon and Label"));
+    widget = gtk_combo_box_text_new();
+    gtk_label_set_mnemonic_widget (GTK_LABEL (label), widget);
+    gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), _("Icon Only"));
+    gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), _("Label Only"));
+    gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), _("Icon and Label"));
 
     exo_mutual_binding_new (G_OBJECT (cfg), "show-button-type",
-                            G_OBJECT (tmp_widget), "active");
+                            G_OBJECT (widget), "active");
 
-    gtk_widget_show(tmp_widget);
-    gtk_box_pack_start(GTK_BOX(tmp_box), tmp_widget, FALSE, FALSE, 0);
+    attach_to_grid (GTK_GRID (grid), widget, 1, row, 2, 1, 0);
+    row++;
 
     /* BUTTON: Label text entry */
-    tmp_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 15);
-    gtk_widget_show(tmp_box);
-    gtk_box_pack_start(GTK_BOX(vbox_button), tmp_box, FALSE, FALSE, 0);
-
-    tmp_label = gtk_label_new_with_mnemonic(_("_Label"));
-    gtk_widget_show(tmp_label);
-    gtk_box_pack_start(GTK_BOX(tmp_box), tmp_label, FALSE, FALSE, 0);
+    label = get_label (_("_Label"), FALSE, FALSE);
+    attach_to_grid (GTK_GRID (grid), label, 0, row, 1, 1, margin_size);
 
-    tmp_widget = gtk_entry_new();
-    gtk_label_set_mnemonic_widget(GTK_LABEL(tmp_label), tmp_widget);
+    widget = gtk_entry_new();
+    gtk_label_set_mnemonic_widget (GTK_LABEL (label), widget);
     exo_mutual_binding_new (G_OBJECT (cfg), "button-label",
-                            G_OBJECT (tmp_widget), "text");
+                            G_OBJECT (widget), "text");
 
-    gtk_widget_show(tmp_widget);
-    gtk_box_pack_start(GTK_BOX(tmp_box), tmp_widget, FALSE, FALSE, 0);
+    attach_to_grid (GTK_GRID (grid), widget, 1, row, 2, 1, 0);
+    row++;
 
-    /* MENU: frame, vbox */
-    vbox_menu = gtk_box_new(GTK_ORIENTATION_VERTICAL, 4);
-    gtk_widget_show(vbox_menu);
-
-    frame_menu = xfce_gtk_frame_box_new_with_content(_("Menu"), vbox_menu);
-    gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area (GTK_DIALOG(dlg))), frame_menu, FALSE, FALSE, 0);
+    /* MENU */
+    label = get_label (_("Menu"), TRUE, TRUE);
+    attach_to_grid (GTK_GRID (grid), label, 0, row, 3, 1, 0);
+    row++;
 
     /* MENU: Show Icons */
-    tmp_widget = gtk_check_button_new_with_mnemonic(_("Show _icons in menu"));
+    widget = gtk_check_button_new_with_mnemonic (_("Show _icons in menu"));
     exo_mutual_binding_new (G_OBJECT (cfg), "show-icons",
-                            G_OBJECT (tmp_widget), "active");
-
-    gtk_widget_show(tmp_widget);
-    gtk_box_pack_start(GTK_BOX(vbox_menu), tmp_widget, FALSE, FALSE, 0);
+                            G_OBJECT (widget), "active");
 
+    attach_to_grid (GTK_GRID (grid), widget, 0, row, 3, 1, margin_size);
+    row++;
 
     /* MENU: Show Removable Media */
-    tmp_widget = gtk_check_button_new_with_mnemonic(_("Show _removable media"));
+    widget = gtk_check_button_new_with_mnemonic(_("Show _removable media"));
     exo_mutual_binding_new (G_OBJECT (cfg), "show-volumes",
-                            G_OBJECT (tmp_widget), "active");
+                            G_OBJECT (widget), "active");
 
-    gtk_widget_show(tmp_widget);
-    gtk_box_pack_start(GTK_BOX(vbox_menu), tmp_widget, FALSE, FALSE, 0);
+    attach_to_grid (GTK_GRID (grid), widget, 0, row, 3, 1, margin_size);
+    row++;
 
     /* MENU: - Mount and Open (indented) */
-    tmp_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 15);
+    widget = gtk_check_button_new_with_mnemonic(_("Mount and _Open on click"));
+    exo_mutual_binding_new (G_OBJECT (cfg), "mount-open-volumes",
+                            G_OBJECT (widget), "active");
 
     /* Gray out this box when "Show removable media" is off */
     exo_binding_new (G_OBJECT (cfg), "show-volumes",
-                     G_OBJECT (tmp_box), "sensitive");
+                     G_OBJECT (widget), "sensitive");
 
-    tmp_widget = gtk_label_new(" "); /* TODO: is there a more appropriate widget? */
-    gtk_widget_show(tmp_widget);
-    gtk_box_pack_start(GTK_BOX(tmp_box), tmp_widget, FALSE, FALSE, 0);
-
-    tmp_widget = gtk_check_button_new_with_mnemonic(_("Mount and _Open on click"));
-    exo_mutual_binding_new (G_OBJECT (cfg), "mount-open-volumes",
-                            G_OBJECT (tmp_widget), "active");
-
-    gtk_widget_show(tmp_widget);
-    gtk_box_pack_start(GTK_BOX(tmp_box), tmp_widget, FALSE, FALSE, 0);
-
-    gtk_widget_show(tmp_box);
-    gtk_box_pack_start(GTK_BOX(vbox_menu), tmp_box, FALSE, FALSE, 0);
+    attach_to_grid (GTK_GRID (grid), widget, 0, row, 3, 1, margin_size * 2);
+    row++;
 
     /* MENU: Show GTK Bookmarks */
-    tmp_widget = gtk_check_button_new_with_mnemonic(_("Show GTK _bookmarks"));
+    widget = gtk_check_button_new_with_mnemonic(_("Show GTK _bookmarks"));
     exo_mutual_binding_new (G_OBJECT (cfg), "show-bookmarks",
-                            G_OBJECT (tmp_widget), "active");
+                            G_OBJECT (widget), "active");
 
-    gtk_widget_show(tmp_widget);
-    gtk_box_pack_start(GTK_BOX(vbox_menu), tmp_widget, FALSE, FALSE, 0);
+    attach_to_grid (GTK_GRID (grid), widget, 0, row, 3, 1, margin_size);
+    row++;
 
     /* MENU: Show Recent Documents */
-    tmp_widget = gtk_check_button_new_with_mnemonic(_("Show recent _documents"));
+    widget = gtk_check_button_new_with_mnemonic(_("Show recent _documents"));
     exo_mutual_binding_new (G_OBJECT (cfg), "show-recent",
-                            G_OBJECT (tmp_widget), "active");
+                            G_OBJECT (widget), "active");
 
-    gtk_widget_show(tmp_widget);
-    gtk_box_pack_start(GTK_BOX(vbox_menu), tmp_widget, FALSE, FALSE, 0);
+    attach_to_grid (GTK_GRID (grid), widget, 0, row, 3, 1, margin_size);
+    row++;
 
-    /* RECENT DOCUMENTS: frame, vbox */
-    vbox_recent = gtk_box_new(GTK_ORIENTATION_VERTICAL, 4);
-    gtk_widget_show(vbox_recent);
+    /* RECENT DOCUMENTS */
+    label = get_label (_("Recent Documents"), TRUE, TRUE);
+    attach_to_grid (GTK_GRID (grid), label, 0, row, 3, 1, 0);
+    row++;
 
     /* Gray out this box when "Show recent documents" is off */
     exo_binding_new (G_OBJECT (cfg), "show-recent",
-                     G_OBJECT (vbox_recent), "sensitive");
-
-    frame_recent = xfce_gtk_frame_box_new_with_content(_("Recent Documents"), vbox_recent);
-    gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area (GTK_DIALOG(dlg))), frame_recent, FALSE, FALSE, 0);
+                     G_OBJECT (label), "sensitive");
 
     /* RECENT DOCUMENTS: Show clear option */
-    tmp_widget = gtk_check_button_new_with_mnemonic(_("Show cl_ear option"));
+    widget = gtk_check_button_new_with_mnemonic(_("Show cl_ear option"));
     exo_mutual_binding_new (G_OBJECT (cfg), "show-recent-clear",
-                            G_OBJECT (tmp_widget), "active");
+                            G_OBJECT (widget), "active");
 
-    gtk_widget_show(tmp_widget);
-    gtk_box_pack_start(GTK_BOX(vbox_recent), tmp_widget, FALSE, FALSE, 0);
+    /* Gray out this box when "Show recent documents" is off */
+    exo_binding_new (G_OBJECT (cfg), "show-recent",
+                     G_OBJECT (widget), "sensitive");
+
+    attach_to_grid (GTK_GRID (grid), widget, 0, row, 3, 1, margin_size);
+    row++;
 
     /* RECENT DOCUMENTS: Number to display */
-    tmp_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 15);
-    gtk_widget_show(tmp_box);
-    gtk_box_pack_start(GTK_BOX(vbox_recent), tmp_box, FALSE, FALSE, 0);
+    label = get_label (_("_Number to display"), FALSE, FALSE);
+
+    /* Gray out this box when "Show recent documents" is off */
+    exo_binding_new (G_OBJECT (cfg), "show-recent",
+                     G_OBJECT (label), "sensitive");
 
-    tmp_label = gtk_label_new_with_mnemonic(_("_Number to display"));
-    gtk_widget_show(tmp_label);
-    gtk_box_pack_start(GTK_BOX(tmp_box), tmp_label, FALSE, FALSE, 0);
+    attach_to_grid (GTK_GRID (grid), label, 0, row, 2, 1, margin_size);
 
-    adj = gtk_adjustment_new(cfg->show_recent_number, 1, 25, 1, 5, 0);
+    adj = gtk_adjustment_new (cfg->show_recent_number, 1, 25, 1, 5, 0);
 
-    tmp_widget = gtk_spin_button_new(adj, 1, 0);
-    gtk_label_set_mnemonic_widget(GTK_LABEL(tmp_label), tmp_widget);
+    widget = gtk_spin_button_new (adj, 1, 0);
+    gtk_label_set_mnemonic_widget (GTK_LABEL (label), widget);
 
     exo_mutual_binding_new (G_OBJECT (cfg), "show-recent-number",
                             G_OBJECT (adj), "value");
 
-    gtk_widget_show(tmp_widget);
-    gtk_box_pack_start(GTK_BOX(tmp_box), tmp_widget, FALSE, FALSE, 0);
+    /* Gray out this box when "Show recent documents" is off */
+    exo_binding_new (G_OBJECT (cfg), "show-recent",
+                     G_OBJECT (widget), "sensitive");
 
-    /* Search: frame, vbox */
-    vbox_search = gtk_box_new(GTK_ORIENTATION_VERTICAL, 4);
-    gtk_widget_show(vbox_search);
+    attach_to_grid (GTK_GRID (grid), widget, 2, row, 1, 1, 0);
+    row++;
 
-    frame_search = xfce_gtk_frame_box_new_with_content(_("Search"), vbox_search);
-    gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area (GTK_DIALOG(dlg))), frame_search, FALSE, FALSE, 0);
+    /* SEARCH */
+    label = get_label (_("Search"), TRUE, TRUE);
+    attach_to_grid (GTK_GRID (grid), label, 0, row, 3, 1, 0);
+    row++;
 
     /* Search: command */
-    tmp_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 15);
-    gtk_widget_show(tmp_box);
-    gtk_box_pack_start(GTK_BOX(vbox_search), tmp_box, FALSE, FALSE, 0);
-
-    tmp_label = gtk_label_new_with_mnemonic(_("Co_mmand"));
-    gtk_widget_show(tmp_label);
-    gtk_box_pack_start(GTK_BOX(tmp_box), tmp_label, FALSE, FALSE, 0);
+    label = get_label (_("Co_mmand"), FALSE, FALSE);
+    attach_to_grid (GTK_GRID (grid), label, 0, row, 1, 1, margin_size);
 
-    tmp_widget = gtk_entry_new();
-    gtk_label_set_mnemonic_widget(GTK_LABEL(tmp_label), tmp_widget);
+    widget = gtk_entry_new();
+    gtk_label_set_mnemonic_widget (GTK_LABEL (label), widget);
     exo_mutual_binding_new (G_OBJECT (cfg), "search-cmd",
-                            G_OBJECT (tmp_widget), "text");
+                            G_OBJECT (widget), "text");
 
-    gtk_widget_show(tmp_widget);
-    gtk_box_pack_start(GTK_BOX(tmp_box), tmp_widget, FALSE, FALSE, 0);
+    attach_to_grid (GTK_GRID (grid), widget, 1, row, 2, 1, 0);
 
-    gtk_widget_show_all(dlg);
+    gtk_widget_show_all (dlg);
 }
 
 /********** Initialization & Finalization **********/

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list