[Libreoffice-commits] core.git: 3 commits - vcl/unx
Caolán McNamara
caolanm at redhat.com
Mon Mar 9 05:19:18 PDT 2015
vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
New commits:
commit c1a227600d0b16df283162d24f1a31f5c9cee474
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Mar 9 11:22:31 2015 +0000
draw menu items with gtk theme
Change-Id: I65f0ec335d4d0008af002857f48f4a6765d44dfd
diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
index f6b71ee..770e857 100644
--- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
@@ -837,6 +837,11 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co
case CTRL_MENU_POPUP:
switch(nPart)
{
+ case PART_MENU_ITEM:
+ styleClass = GTK_STYLE_CLASS_MENUITEM;
+ context = mpMenuItemStyle;
+ renderType = RENDER_BACKGROUND_AND_FRAME;
+ break;
case PART_MENU_ITEM_CHECK_MARK:
styleClass = GTK_STYLE_CLASS_CHECK;
context = mpMenuItemStyle;
@@ -1423,7 +1428,7 @@ bool GtkSalGraphics::IsNativeControlSupported( ControlType nType, ControlPart nP
( (nPart == PART_DRAW_BACKGROUND_HORZ) || (nPart == PART_DRAW_BACKGROUND_VERT) ||
(nPart == PART_ENTIRE_CONTROL) || (nPart == HAS_THREE_BUTTONS))) ||
(nType == CTRL_MENU_POPUP &&
- ( (nPart==PART_ENTIRE_CONTROL) ||
+ ( (nPart == PART_ENTIRE_CONTROL) || (nPart == PART_MENU_ITEM) ||
(nPart == PART_MENU_ITEM_CHECK_MARK) || (nPart == PART_MENU_ITEM_RADIO_MARK) ||
(nPart == PART_MENU_SEPARATOR) || (nPart == PART_MENU_SUBMENU_ARROW) ))
)
commit a68fb13dffb9db33e63f41c6afdc83a6e6134c6b
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Mar 9 11:23:03 2015 +0000
fix various native themeing issues because of lacking restore
Change-Id: Ie91b3fc3090906b321f7b0d3073de129627c0407
diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
index c532824..f6b71ee 100644
--- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
@@ -960,6 +960,7 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co
break;
}
+ gtk_style_context_restore(context);
cairo_surface_flush(cairo_get_target(cr));
cairo_destroy(cr); // unref
mpFrame->damaged(basegfx::B2IBox(rControlRegion.Left(), rControlRegion.Top(), rControlRegion.Right(), rControlRegion.Bottom()));
commit d535a78315023dcbe5b5c67a625d79885b210270
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Mar 9 11:00:06 2015 +0000
draw menu bg with gtk theme
Change-Id: Ia525130e8c378b784b7ee8439153daa1f2a43283
diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
index f294b80..c532824 100644
--- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
@@ -835,7 +835,6 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co
}
break;
case CTRL_MENU_POPUP:
- /* FIXME: missing ENTIRE_CONTROL, as it doesn't seem to work */
switch(nPart)
{
case PART_MENU_ITEM_CHECK_MARK:
@@ -857,6 +856,10 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co
context = mpMenuStyle;
renderType = RENDER_ARROW;
break;
+ case PART_ENTIRE_CONTROL:
+ context = mpMenuStyle;
+ renderType = RENDER_BACKGROUND;
+ break;
}
break;
case CTRL_TOOLBAR:
@@ -1419,9 +1422,13 @@ bool GtkSalGraphics::IsNativeControlSupported( ControlType nType, ControlPart nP
( (nPart == PART_DRAW_BACKGROUND_HORZ) || (nPart == PART_DRAW_BACKGROUND_VERT) ||
(nPart == PART_ENTIRE_CONTROL) || (nPart == HAS_THREE_BUTTONS))) ||
(nType == CTRL_MENU_POPUP &&
- ((nPart == PART_MENU_ITEM_CHECK_MARK) || (nPart == PART_MENU_ITEM_RADIO_MARK) ||
- (nPart == PART_MENU_SEPARATOR) || (nPart == PART_MENU_SUBMENU_ARROW))))
- return true;
+ ( (nPart==PART_ENTIRE_CONTROL) ||
+ (nPart == PART_MENU_ITEM_CHECK_MARK) || (nPart == PART_MENU_ITEM_RADIO_MARK) ||
+ (nPart == PART_MENU_SEPARATOR) || (nPart == PART_MENU_SUBMENU_ARROW) ))
+ )
+ {
+ return true;
+ }
printf( "Unhandled is native supported for Type: %d, Part %d\n",
(int)nType, (int)nPart );
More information about the Libreoffice-commits
mailing list