[nautilus] pathbar: add clip hack to buttons
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus] pathbar: add clip hack to buttons
- Date: Wed, 3 Sep 2014 22:16:51 +0000 (UTC)
commit 1a05544bf0eb59928d911bf66a7bbf1d1bf7cc0d
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Wed Sep 3 15:09:26 2014 -0700
pathbar: add clip hack to buttons
Not very pretty, but this is the best we can do right now with public
API...
src/nautilus-pathbar.c | 32 ++++++++++++++++++++++++++++++++
1 files changed, 32 insertions(+), 0 deletions(-)
---
diff --git a/src/nautilus-pathbar.c b/src/nautilus-pathbar.c
index 4893a59..a0eed27 100644
--- a/src/nautilus-pathbar.c
+++ b/src/nautilus-pathbar.c
@@ -437,6 +437,35 @@ nautilus_path_bar_map (GtkWidget *widget)
GTK_WIDGET_CLASS (nautilus_path_bar_parent_class)->map (widget);
}
+#define BUTTON_BOTTOM_SHADOW 1
+
+static void
+union_with_clip (GtkWidget *widget,
+ gpointer clip)
+{
+ GtkAllocation widget_clip;
+
+ if (!gtk_widget_is_drawable (widget)) {
+ return;
+ }
+
+ gtk_widget_get_clip (widget, &widget_clip);
+
+ gdk_rectangle_union (&widget_clip, clip, clip);
+}
+
+static void
+_set_simple_bottom_clip (GtkWidget *widget,
+ gint pixels)
+{
+ GtkAllocation clip;
+
+ gtk_widget_get_allocation (widget, &clip);
+ clip.height += pixels;
+
+ gtk_container_forall (GTK_CONTAINER (widget), union_with_clip, &clip);
+ gtk_widget_set_clip (widget, &clip);
+}
static void
child_ordering_changed (NautilusPathBar *path_bar)
@@ -489,6 +518,7 @@ nautilus_path_bar_size_allocate (GtkWidget *widget,
/* No path is set so we don't have to allocate anything. */
if (path_bar->priv->button_list == NULL) {
+ _set_simple_bottom_clip (widget, BUTTON_BOTTOM_SHADOW);
return;
}
direction = gtk_widget_get_direction (widget);
@@ -661,6 +691,8 @@ nautilus_path_bar_size_allocate (GtkWidget *widget,
if (needs_reorder) {
child_ordering_changed (path_bar);
}
+
+ _set_simple_bottom_clip (widget, BUTTON_BOTTOM_SHADOW);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]