murrine r70 - in trunk: . src



Author: acimitan
Date: Fri Sep 26 21:30:43 2008
New Revision: 70
URL: http://svn.gnome.org/viewvc/murrine?rev=70&view=rev

Log:
2008-09-26  Andrea Cimitan  <andrea cimitan gmail com>

	* src/murrine_draw.c (murrine_draw_list_view_header):
	* src/murrine_style.c (murrine_style_draw_box):
	* src/murrine_types.h:
	Change the header button position enum to be a bitfield.
	(Bug #511958 of gtk-engines, Marcus Brinkmann)


Modified:
   trunk/ChangeLog
   trunk/src/murrine_draw.c
   trunk/src/murrine_style.c
   trunk/src/murrine_types.h

Modified: trunk/src/murrine_draw.c
==============================================================================
--- trunk/src/murrine_draw.c	(original)
+++ trunk/src/murrine_draw.c	Fri Sep 26 21:30:43 2008
@@ -1233,7 +1233,7 @@
 	cairo_translate (cr, x, y);
 	cairo_set_line_width (cr, 1.0);
 
-	if (header->order == MRN_ORDER_FIRST)
+	if (header->order & MRN_ORDER_FIRST)
 	{
 		cairo_move_to (cr, 0.5, height-1);
 		cairo_line_to (cr, 0.5, 0.5);
@@ -1323,7 +1323,8 @@
 	cairo_stroke (cr);
 
 	/* Draw resize grip */
-	if (header->order != MRN_ORDER_LAST || header->resizable)
+	if ((widget->ltr && !(header->order & MRN_ORDER_LAST)) ||
+	    (!widget->ltr && !(header->order & MRN_ORDER_FIRST)) || header->resizable)
 	{
 		if (header->style == 1 && widget->glazestyle > 0)
 		{

Modified: trunk/src/murrine_style.c
==============================================================================
--- trunk/src/murrine_style.c	(original)
+++ trunk/src/murrine_style.c	Fri Sep 26 21:30:43 2008
@@ -717,6 +717,10 @@
 		gint columns, column_index;
 		gboolean resizable = TRUE;
 
+		/* XXX: This makes unknown treeview header "middle", in need for something nicer */
+		columns = 3;
+		column_index = 1;
+
 		murrine_set_widget_parameters (widget, style, state_type, &params);
 		params.corners = MRN_CORNER_NONE;
 
@@ -734,12 +738,11 @@
 
 		header.resizable = resizable;
 
+		header.order = 0;
 		if (column_index == 0)
-			header.order = params.ltr ? MRN_ORDER_FIRST : MRN_ORDER_LAST;
-		else if (column_index == columns-1)
-			header.order = params.ltr ? MRN_ORDER_LAST : MRN_ORDER_FIRST;
-		else
-			header.order = MRN_ORDER_MIDDLE;
+			header.order |= params.ltr ? MRN_ORDER_FIRST : MRN_ORDER_LAST;
+		if (column_index == columns-1)
+			header.order |= params.ltr ? MRN_ORDER_LAST : MRN_ORDER_FIRST;
 
 		gtk_style_apply_default_background (style, window, FALSE, state_type, area, x, y, width, height);
 

Modified: trunk/src/murrine_types.h
==============================================================================
--- trunk/src/murrine_types.h	(original)
+++ trunk/src/murrine_types.h	Fri Sep 26 21:30:43 2008
@@ -78,9 +78,8 @@
 
 typedef enum
 {
-	MRN_ORDER_FIRST,
-	MRN_ORDER_MIDDLE,
-	MRN_ORDER_LAST
+	MRN_ORDER_FIRST = 1 << 0,
+	MRN_ORDER_LAST = 1 << 1
 } MurrineOrder;
 
 typedef enum



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