[gtk+] Use a toolbar with symbolic icons under scrolled lists
- From: William Jon McCann <mccann src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Use a toolbar with symbolic icons under scrolled lists
- Date: Fri, 28 Jan 2011 01:26:47 +0000 (UTC)
commit b64c6f2fd358c9597e47b3651616a852e7366aed
Author: William Jon McCann <jmccann redhat com>
Date: Thu Jan 27 15:21:10 2011 -0500
Use a toolbar with symbolic icons under scrolled lists
gtk/gtkfilechooserdefault.c | 85 +++++++++++++++++++++++--------------------
1 files changed, 46 insertions(+), 39 deletions(-)
---
diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c
index 2c9fdf0..6375946 100644
--- a/gtk/gtkfilechooserdefault.c
+++ b/gtk/gtkfilechooserdefault.c
@@ -63,6 +63,8 @@
#include "gtksizerequest.h"
#include "gtkstock.h"
#include "gtktable.h"
+#include "gtktoolbar.h"
+#include "gtktoolbutton.h"
#include "gtktooltip.h"
#include "gtktreednd.h"
#include "gtktreeprivate.h"
@@ -2451,27 +2453,24 @@ filter_create (GtkFileChooserDefault *impl)
}
static GtkWidget *
-button_new (GtkFileChooserDefault *impl,
- const char *text,
- const char *stock_id,
- gboolean sensitive,
- gboolean show,
- GCallback callback)
+toolbutton_new (GtkFileChooserDefault *impl,
+ const char *icon_name,
+ gboolean sensitive,
+ gboolean show,
+ GCallback callback)
{
- GtkWidget *button;
- GtkWidget *image;
+ GtkToolItem *item;
- button = gtk_button_new_with_mnemonic (text);
- image = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_BUTTON);
- gtk_button_set_image (GTK_BUTTON (button), image);
+ item = gtk_tool_button_new (NULL, NULL);
+ gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (item), icon_name);
- gtk_widget_set_sensitive (button, sensitive);
- g_signal_connect (button, "clicked", callback, impl);
+ gtk_widget_set_sensitive (GTK_WIDGET (item), sensitive);
+ g_signal_connect (item, "clicked", callback, impl);
if (show)
- gtk_widget_show (button);
+ gtk_widget_show (GTK_WIDGET (item));
- return button;
+ return GTK_WIDGET (item);
}
/* Looks for a path among the shortcuts; returns its index or -1 if it doesn't exist */
@@ -3724,46 +3723,53 @@ shortcuts_pane_create (GtkFileChooserDefault *impl,
GtkSizeGroup *size_group)
{
GtkWidget *vbox;
- GtkWidget *hbox;
+ GtkWidget *toolbar;
GtkWidget *widget;
+ GtkStyleContext *context;
- vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_widget_show (vbox);
/* Shortcuts tree */
widget = shortcuts_list_create (impl);
+
+ gtk_size_group_add_widget (size_group, widget);
+ context = gtk_widget_get_style_context (widget);
+ gtk_style_context_set_junction_sides (context, GTK_JUNCTION_BOTTOM);
+
gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0);
/* Box for buttons */
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
- gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE);
- gtk_size_group_add_widget (size_group, hbox);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
- gtk_widget_show (hbox);
+ toolbar = gtk_toolbar_new ();
+ gtk_toolbar_set_icon_size (GTK_TOOLBAR (toolbar), GTK_ICON_SIZE_MENU);
+
+ gtk_box_pack_start (GTK_BOX (vbox), toolbar, FALSE, FALSE, 0);
+ gtk_widget_show (toolbar);
+
+ context = gtk_widget_get_style_context (toolbar);
+ gtk_style_context_set_junction_sides (context, GTK_JUNCTION_TOP);
/* Add bookmark button */
- impl->browse_shortcuts_add_button = button_new (impl,
- _("_Add"),
- GTK_STOCK_ADD,
- FALSE,
- TRUE,
- G_CALLBACK (add_bookmark_button_clicked_cb));
- gtk_box_pack_start (GTK_BOX (hbox), impl->browse_shortcuts_add_button, TRUE, TRUE, 0);
+ impl->browse_shortcuts_add_button = toolbutton_new (impl,
+ "list-add-symbolic",
+ FALSE,
+ TRUE,
+ G_CALLBACK (add_bookmark_button_clicked_cb));
+ gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (impl->browse_shortcuts_add_button), 0);
gtk_widget_set_tooltip_text (impl->browse_shortcuts_add_button,
_("Add the selected folder to the Bookmarks"));
/* Remove bookmark button */
- impl->browse_shortcuts_remove_button = button_new (impl,
- _("_Remove"),
- GTK_STOCK_REMOVE,
- FALSE,
- TRUE,
- G_CALLBACK (remove_bookmark_button_clicked_cb));
- gtk_box_pack_start (GTK_BOX (hbox), impl->browse_shortcuts_remove_button, TRUE, TRUE, 0);
+ impl->browse_shortcuts_remove_button = toolbutton_new (impl,
+ "list-remove-symbolic",
+ FALSE,
+ TRUE,
+ G_CALLBACK (remove_bookmark_button_clicked_cb));
+ gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (impl->browse_shortcuts_remove_button), 1);
gtk_widget_set_tooltip_text (impl->browse_shortcuts_remove_button,
_("Remove the selected bookmark"));
@@ -4454,6 +4460,7 @@ file_pane_create (GtkFileChooserDefault *impl,
widget = create_file_list (impl);
gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0);
+ gtk_size_group_add_widget (size_group, widget);
/* Preview */
@@ -4470,7 +4477,6 @@ file_pane_create (GtkFileChooserDefault *impl,
gtk_widget_show (widget);
gtk_box_pack_end (GTK_BOX (impl->filter_combo_hbox), widget, FALSE, FALSE, 0);
- gtk_size_group_add_widget (size_group, impl->filter_combo_hbox);
gtk_box_pack_end (GTK_BOX (vbox), impl->filter_combo_hbox, FALSE, FALSE, 0);
return vbox;
@@ -4989,7 +4995,7 @@ browse_widgets_create (GtkFileChooserDefault *impl)
GtkWidget *widget;
GtkSizeGroup *size_group;
- /* size group is used by the [+][-] buttons and the filter combo */
+ /* size group is used by the scrolled windows of the panes */
size_group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
@@ -5032,6 +5038,7 @@ browse_widgets_create (GtkFileChooserDefault *impl)
gtk_box_pack_start (GTK_BOX (impl->location_entry_box), impl->location_label, FALSE, FALSE, 0);
/* Paned widget */
+
hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
gtk_widget_show (hpaned);
gtk_box_pack_start (GTK_BOX (vbox), hpaned, TRUE, TRUE, 0);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]