[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