Tighten up the spacing of the category views

This commit is contained in:
William Jon McCann 2010-10-30 23:40:32 -04:00
parent aa11bf827f
commit b9b2767d33
2 changed files with 18 additions and 48 deletions

View file

@ -38,8 +38,6 @@ struct _CcShellCategoryViewPrivate
{ {
gchar *name; gchar *name;
GtkTreeModel *model; GtkTreeModel *model;
GtkWidget *header;
GtkWidget *iconview; GtkWidget *iconview;
}; };
@ -120,8 +118,8 @@ static void
cc_shell_category_view_constructed (GObject *object) cc_shell_category_view_constructed (GObject *object)
{ {
CcShellCategoryViewPrivate *priv = CC_SHELL_CATEGORY_VIEW (object)->priv; CcShellCategoryViewPrivate *priv = CC_SHELL_CATEGORY_VIEW (object)->priv;
gchar *header_name; GtkWidget *iconview, *vbox, *self;
GtkWidget *iconview, *vbox, *header, *self; GtkWidget *alignment;
self = GTK_WIDGET (object); self = GTK_WIDGET (object);
@ -132,67 +130,40 @@ cc_shell_category_view_constructed (GObject *object)
gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW (iconview), COL_PIXBUF); gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW (iconview), COL_PIXBUF);
gtk_icon_view_set_text_column (GTK_ICON_VIEW (iconview), COL_NAME); gtk_icon_view_set_text_column (GTK_ICON_VIEW (iconview), COL_NAME);
gtk_icon_view_set_item_width (GTK_ICON_VIEW (iconview), 120); gtk_icon_view_set_item_width (GTK_ICON_VIEW (iconview), 100);
/* create the header if required */ /* create the header if required */
if (priv->name) if (priv->name)
{ {
header_name = g_strdup_printf ("<b>%s</b>", priv->name); GtkWidget *label;
PangoAttrList *attrs;
header = g_object_new (GTK_TYPE_LABEL, label = gtk_label_new (priv->name);
"use-markup", TRUE, attrs = pango_attr_list_new ();
"label", header_name, pango_attr_list_insert (attrs, pango_attr_weight_new (PANGO_WEIGHT_BOLD));
"wrap", TRUE, gtk_label_set_attributes (GTK_LABEL (label), attrs);
"xalign", 0.0, pango_attr_list_unref (attrs);
"xpad", 6, gtk_frame_set_label_widget (GTK_FRAME (object), label);
NULL);
g_free (header_name);
gtk_box_pack_start (GTK_BOX (vbox), header, FALSE, TRUE, 3);
priv->header = header;
} }
/* add the iconview to the vbox */ /* add the iconview to the vbox */
gtk_box_pack_start (GTK_BOX (vbox), iconview, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), iconview, FALSE, TRUE, 0);
/* add the main vbox to the view */ /* add the main vbox to the view */
gtk_container_add (GTK_CONTAINER (object), vbox); alignment = gtk_alignment_new (0, 0, 1, 1);
gtk_widget_show_all (vbox); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0);
gtk_container_add (GTK_CONTAINER (alignment), vbox);
gtk_container_add (GTK_CONTAINER (object), alignment);
gtk_widget_show_all (alignment);
priv->iconview = iconview; priv->iconview = iconview;
} }
static void
cc_shell_category_view_style_set (GtkWidget *widget,
GtkStyle *old_style)
{
CcShellCategoryViewPrivate *priv = CC_SHELL_CATEGORY_VIEW (widget)->priv;
GtkStyle *style = gtk_widget_get_style (widget);
if (priv->header)
{
gtk_widget_modify_bg (priv->header, GTK_STATE_NORMAL,
&style->base[GTK_STATE_NORMAL]);
gtk_widget_modify_fg (priv->header, GTK_STATE_NORMAL,
&style->text[GTK_STATE_NORMAL]);
}
if (priv->iconview)
{
gtk_widget_modify_bg (priv->iconview, GTK_STATE_NORMAL,
&style->base[GTK_STATE_NORMAL]);
gtk_widget_modify_fg (priv->iconview, GTK_STATE_NORMAL,
&style->text[GTK_STATE_NORMAL]);
}
}
static void static void
cc_shell_category_view_class_init (CcShellCategoryViewClass *klass) cc_shell_category_view_class_init (CcShellCategoryViewClass *klass)
{ {
GParamSpec *pspec; GParamSpec *pspec;
GObjectClass *object_class = G_OBJECT_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
g_type_class_add_private (klass, sizeof (CcShellCategoryViewPrivate)); g_type_class_add_private (klass, sizeof (CcShellCategoryViewPrivate));
@ -202,8 +173,6 @@ cc_shell_category_view_class_init (CcShellCategoryViewClass *klass)
object_class->finalize = cc_shell_category_view_finalize; object_class->finalize = cc_shell_category_view_finalize;
object_class->constructed = cc_shell_category_view_constructed; object_class->constructed = cc_shell_category_view_constructed;
widget_class->style_set = cc_shell_category_view_style_set;
pspec = g_param_spec_string ("name", pspec = g_param_spec_string ("name",
"Name", "Name",
"Name of the category", "Name of the category",

View file

@ -607,6 +607,7 @@ fill_model (GnomeControlCenter *shell)
GnomeControlCenterPrivate *priv = shell->priv; GnomeControlCenterPrivate *priv = shell->priv;
vbox = W (priv->builder, "main-vbox"); vbox = W (priv->builder, "main-vbox");
gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
sw = W (priv->builder, "scrolledwindow1"); sw = W (priv->builder, "scrolledwindow1");
gtk_container_set_focus_vadjustment (GTK_CONTAINER (vbox), gtk_container_set_focus_vadjustment (GTK_CONTAINER (vbox),
gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (sw))); gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (sw)));
@ -648,7 +649,7 @@ fill_model (GnomeControlCenter *shell)
g_strdup (dir_name), g_free); g_strdup (dir_name), g_free);
categoryview = cc_shell_category_view_new (dir_name, filter); categoryview = cc_shell_category_view_new (dir_name, filter);
gtk_box_pack_start (GTK_BOX (vbox), categoryview, FALSE, TRUE, 6); gtk_box_pack_start (GTK_BOX (vbox), categoryview, FALSE, TRUE, 0);
g_signal_connect (cc_shell_category_view_get_item_view (CC_SHELL_CATEGORY_VIEW (categoryview)), g_signal_connect (cc_shell_category_view_get_item_view (CC_SHELL_CATEGORY_VIEW (categoryview)),
"desktop-item-activated", "desktop-item-activated",
G_CALLBACK (item_activated_cb), shell); G_CALLBACK (item_activated_cb), shell);