gtk-engines r1140 - in trunk: . engines/clearlooks/src



Author: bberg
Date: Thu Mar 13 10:11:18 2008
New Revision: 1140
URL: http://svn.gnome.org/viewvc/gtk-engines?rev=1140&view=rev

Log:
2008-03-13  Benjamin Berg  <benjamin sipsolutions net>

	* engines/clearlooks/src/support.c: (clearlooks_get_parent_bg):
	Only use the notebooks background if it draws a border.


Modified:
   trunk/ChangeLog
   trunk/engines/clearlooks/src/support.c

Modified: trunk/engines/clearlooks/src/support.c
==============================================================================
--- trunk/engines/clearlooks/src/support.c	(original)
+++ trunk/engines/clearlooks/src/support.c	Thu Mar 13 10:11:18 2008
@@ -66,14 +66,34 @@
 	GtkStateType state_type;
 	const GtkWidget *parent;
 	GdkColor *gcolor;
+	gboolean stop;
 	
 	if (widget == NULL)
 		return;
 	
 	parent = widget->parent;
+	stop = FALSE;
 	
-	while (parent && GTK_WIDGET_NO_WINDOW (parent) && !((GTK_IS_NOTEBOOK (parent)) || (GTK_IS_TOOLBAR (parent))))
-		parent = parent->parent;
+	while (parent && !stop)
+	{
+		stop = FALSE;
+
+		stop |= !GTK_WIDGET_NO_WINDOW (parent);
+		stop |= GTK_IS_NOTEBOOK (parent) &&
+		        !gtk_notebook_get_show_tabs (GTK_NOTEBOOK (parent)) &&
+		        gtk_notebook_get_show_border (GTK_NOTEBOOK (parent));
+
+		if (GTK_IS_TOOLBAR (parent))
+		{
+			GtkShadowType shadow = GTK_SHADOW_OUT;
+			gtk_widget_style_get (GTK_WIDGET (parent), "shadow-type", &shadow, NULL);
+			
+			stop |= (shadow != GTK_SHADOW_NONE);
+		}
+
+		if (!stop)
+			parent = parent->parent;
+	}
 
 	if (parent == NULL)
 		return;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]