gtk+ r19887 - in trunk: . modules/engines/ms-windows modules/engines/ms-windows/Theme/gtk-2.0
- From: aruiz svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk+ r19887 - in trunk: . modules/engines/ms-windows modules/engines/ms-windows/Theme/gtk-2.0
- Date: Sun, 16 Mar 2008 03:39:15 +0000 (GMT)
Author: aruiz
Date: Sun Mar 16 03:39:15 2008
New Revision: 19887
URL: http://svn.gnome.org/viewvc/gtk+?rev=19887&view=rev
Log:
2008-03-16 Alberto Ruiz <aruiz gnome org>
* modules/engines/ms-windows/Theme/gtk-2.0/gtkrc:
* modules/engines/ms-windows/msw_style.c (draw_box) (draw_arrow)
(combo_box_draw_arrow) (setup_msw_rc_style): draw box does more intelligent
separation for the xp theming engine and the classic theme while drawing the
GtkComboBox button.
combobox_draw_arrow is not used anymore, commented.
The style has been updated to fix border/thickness glitches in the combobox
according to the fixes commited regarding bug #521442. (bug #461805)
Modified:
trunk/ChangeLog
trunk/modules/engines/ms-windows/Theme/gtk-2.0/gtkrc
trunk/modules/engines/ms-windows/msw_style.c
Modified: trunk/modules/engines/ms-windows/Theme/gtk-2.0/gtkrc
==============================================================================
--- trunk/modules/engines/ms-windows/Theme/gtk-2.0/gtkrc (original)
+++ trunk/modules/engines/ms-windows/Theme/gtk-2.0/gtkrc Sun Mar 16 03:39:15 2008
@@ -55,3 +55,15 @@
}
class "GtkTreeView" binding "ms-windows-tree-view"
+
+style "cosa" = "msw-default"
+{
+ xthickness = 0
+ ythickness = 0
+} widget_class "*TreeView*ComboBox*" style "cosa"
+
+style "cosa" = "msw-default"
+{
+ xthickness = 0
+ ythickness = 0
+} widget_class "*ComboBox*GtkFrame*" style "cosa"
Modified: trunk/modules/engines/ms-windows/msw_style.c
==============================================================================
--- trunk/modules/engines/ms-windows/msw_style.c (original)
+++ trunk/modules/engines/ms-windows/msw_style.c Sun Mar 16 03:39:15 2008
@@ -902,24 +902,25 @@
"ythickness = %d\n"
"}\n"
"class \"GtkComboBox\" style \"msw-combobox\"\n",
- GetSystemMetrics (SM_CXEDGE), GetSystemMetrics (SM_CYEDGE));
+ xp_theme_is_active()? 1 : GetSystemMetrics (SM_CXEDGE),
+ xp_theme_is_active()? 1 : GetSystemMetrics (SM_CYEDGE));
gtk_rc_parse_string (buf);
/* size of tree view header */
g_snprintf (buf, sizeof (buf),
"style \"msw-header-button\" = \"msw-default\"\n"
"{\n"
- "xthickness = 4\n"
- "ythickness = %d\n"
- "GtkButton::default-border = { 0, 0, 0, 0 }\n"
+ "xthickness = 0\n"
+ "ythickness = 0\n"
+ "GtkWidget::draw-border = {0, 0, 0, 0}\n"
+ "GtkButton::default-border = { 0, 0, 0, 0 }\n"
"GtkButton::default-outside-border = { 0, 0, 0, 0 }\n"
- "GtkButton::child-displacement-x = 1\n"
- "GtkButton::child-displacement-y = 1\n"
+ "GtkButton::child-displacement-x = 0\n"
+ "GtkButton::child-displacement-y = 0\n"
"GtkWidget::focus-padding = 0\n"
"GtkWidget::focus-line-width = 0\n"
"}\n"
- "widget_class \"*TreeView*Button*\" style \"msw-header-button\"\n",
- xp_theme_is_active ()? 2 : 0);
+ "widget_class \"*TreeView*Button*\" style \"msw-header-button\"\n");
gtk_rc_parse_string (buf);
/* FIXME: This should be enabled once gtk+ support GtkNotebok::prelight-tab */
@@ -1078,7 +1079,8 @@
return FALSE;
}
-static gboolean
+/* This function is not needed anymore */
+/* static gboolean
combo_box_draw_arrow (GtkStyle *style,
GdkWindow *window,
GtkStateType state,
@@ -1107,7 +1109,7 @@
}
return FALSE;
-}
+}*/
static void
draw_part (GdkDrawable *drawable,
@@ -1494,13 +1496,8 @@
sanitize_size (window, &width, &height);
- if (GTK_IS_ARROW (widget) && is_combo_box_child (widget))
- {
- if (combo_box_draw_arrow (style, window, state, area, widget))
- {
- return;
- }
- }
+ if (GTK_IS_ARROW (widget) && is_combo_box_child (widget) && xp_theme_is_active ())
+ return;
if (detail && strcmp (detail, "spinbutton") == 0)
{
@@ -1973,22 +1970,29 @@
if (is_combo_box_child (widget) && detail && !strcmp (detail, "button"))
{
RECT rect;
+ DWORD border;
HDC dc;
int cx;
- dc = get_window_dc (style, window, state_type, x, y, width - cx, height, &rect);
- FillRect (dc, &rect, GetSysColorBrush (COLOR_WINDOW));
- release_window_dc (style, window, state_type);
+ border = (GTK_TOGGLE_BUTTON (widget)->active ? DFCS_PUSHED | DFCS_FLAT : 0);
- cx = GetSystemMetrics(SM_CXVSCROLL);
- x += width - cx;
- width = cx;
+ dc = get_window_dc (style, window, state_type, x, y, width, height, &rect);
+ DrawFrameControl (dc, &rect, DFC_SCROLL, DFCS_SCROLLDOWN | border);
+ release_window_dc (style, window, state_type);
if (xp_theme_is_active ()
&& xp_theme_draw (window, XP_THEME_ELEMENT_COMBOBUTTON, style, x, y,
width, height, state_type, area))
{
- return;
+ cx = GetSystemMetrics(SM_CXVSCROLL);
+ x += width - cx;
+ width = cx;
+
+
+ dc = get_window_dc (style, window, state_type, x, y, width - cx, height, &rect);
+ FillRect (dc, &rect, GetSysColorBrush (COLOR_WINDOW));
+ release_window_dc (style, window, state_type);
+ return;
}
}
@@ -1996,8 +2000,8 @@
(!strcmp (detail, "button") || !strcmp (detail, "buttondefault")))
{
if (GTK_IS_TREE_VIEW (widget->parent) || GTK_IS_CLIST (widget->parent))
- {
- if (xp_theme_draw
+ {
+ if (xp_theme_draw
(window, XP_THEME_ELEMENT_LIST_HEADER, style, x, y,
width, height, state_type, area))
{
@@ -2950,12 +2954,14 @@
HDC dc;
RECT rect;
- if (is_combo_box_child (widget))
- return;
- dc = get_window_dc (style, window, state_type, x, y, width, height, &rect);
- if (is_popup_window_child (widget))
+ dc = get_window_dc (style, window, state_type, x, y, width, height, &rect);
+ if (is_combo_box_child (widget))
+ {
+ FillRect (dc, &rect, GetSysColorBrush (COLOR_WINDOW));
+ }
+ else if (is_popup_window_child (widget))
{
FrameRect (dc, &rect, GetSysColorBrush (COLOR_WINDOWFRAME));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]