X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e3527f7bc58048611c213a801b20c3d03664c225..be85a191e19ad0e702f4244d424fe7dd066a8f0c:/src/gtk/settings.cpp diff --git a/src/gtk/settings.cpp b/src/gtk/settings.cpp index 89cb46dbad..0712e10fe7 100644 --- a/src/gtk/settings.cpp +++ b/src/gtk/settings.cpp @@ -14,7 +14,6 @@ #include "wx/settings.h" #ifndef WX_PRECOMP - #include "wx/cmndata.h" #include "wx/toplevel.h" #endif @@ -23,6 +22,7 @@ #include #include "wx/gtk/private/win_gtk.h" +#include "wx/gtk/private/gtk2-compat.h" bool wxGetFrameExtents(GdkWindow* window, int* left, int* right, int* top, int* bottom); @@ -61,7 +61,7 @@ static const GtkStyle* ButtonStyle() gtk_widget_ensure_style(s_widget); g_signal_connect(s_widget, "style_set", G_CALLBACK(style_set), NULL); } - return s_widget->style; + return gtk_widget_get_style(s_widget); } static const GtkStyle* ListStyle() @@ -74,7 +74,7 @@ static const GtkStyle* ListStyle() gtk_container_add(ContainerWidget(), s_widget); gtk_widget_ensure_style(s_widget); } - return s_widget->style; + return gtk_widget_get_style(s_widget); } static const GtkStyle* TextCtrlStyle() @@ -86,7 +86,7 @@ static const GtkStyle* TextCtrlStyle() gtk_container_add(ContainerWidget(), s_widget); gtk_widget_ensure_style(s_widget); } - return s_widget->style; + return gtk_widget_get_style(s_widget); } static const GtkStyle* MenuItemStyle() @@ -98,7 +98,7 @@ static const GtkStyle* MenuItemStyle() gtk_container_add(ContainerWidget(), s_widget); gtk_widget_ensure_style(s_widget); } - return s_widget->style; + return gtk_widget_get_style(s_widget); } static const GtkStyle* MenuBarStyle() @@ -110,7 +110,7 @@ static const GtkStyle* MenuBarStyle() gtk_container_add(ContainerWidget(), s_widget); gtk_widget_ensure_style(s_widget); } - return s_widget->style; + return gtk_widget_get_style(s_widget); } static const GtkStyle* ToolTipStyle() @@ -125,7 +125,7 @@ static const GtkStyle* ToolTipStyle() gtk_widget_set_name(s_widget, name); gtk_widget_ensure_style(s_widget); } - return s_widget->style; + return gtk_widget_get_style(s_widget); } wxColour wxSystemSettingsNative::GetColour( wxSystemColour index ) @@ -190,6 +190,12 @@ wxColour wxSystemSettingsNative::GetColour( wxSystemColour index ) color = wxColor(ListStyle()->text[GTK_STATE_NORMAL]); break; + case wxSYS_COLOUR_LISTBOXHIGHLIGHTTEXT: + // This is for the text in a list control (or tree) when the + // item is selected, but not focused + color = wxColor(ListStyle()->text[GTK_STATE_ACTIVE]); + break; + case wxSYS_COLOUR_MENUTEXT: case wxSYS_COLOUR_WINDOWTEXT: case wxSYS_COLOUR_CAPTIONTEXT: @@ -228,7 +234,7 @@ wxColour wxSystemSettingsNative::GetColour( wxSystemColour index ) case wxSYS_COLOUR_MAX: default: - wxFAIL_MSG( _T("unknown system colour index") ); + wxFAIL_MSG( wxT("unknown system colour index") ); color = *wxWHITE; break; } @@ -252,18 +258,20 @@ wxFont wxSystemSettingsNative::GetFont( wxSystemFont index ) case wxSYS_SYSTEM_FONT: case wxSYS_DEVICE_DEFAULT_FONT: case wxSYS_DEFAULT_GUI_FONT: - if (!gs_fontSystem.Ok()) + if (!gs_fontSystem.IsOk()) { wxNativeFontInfo info; info.description = ButtonStyle()->font_desc; gs_fontSystem = wxFont(info); - + +#if wxUSE_FONTENUM // (try to) heal the default font (on some common systems e.g. Ubuntu // it's "Sans Serif" but the real font is called "Sans"): if (!wxFontEnumerator::IsValidFacename(gs_fontSystem.GetFaceName()) && gs_fontSystem.GetFaceName() == "Sans Serif") gs_fontSystem.SetFaceName("Sans"); - +#endif // wxUSE_FONTENUM + info.description = NULL; } font = gs_fontSystem; @@ -273,7 +281,7 @@ wxFont wxSystemSettingsNative::GetFont( wxSystemFont index ) break; } - wxASSERT(font.IsOk() && wxFontEnumerator::IsValidFacename(font.GetFaceName())); + wxASSERT( font.IsOk() ); return font; } @@ -309,8 +317,8 @@ static int GetBorderWidth(wxSystemMetric index, wxWindow* win) int wxSystemSettingsNative::GetMetric( wxSystemMetric index, wxWindow* win ) { GdkWindow *window = NULL; - if(win && GTK_WIDGET_REALIZED(win->GetHandle())) - window = win->GetHandle()->window; + if (win) + window = gtk_widget_get_window(win->GetHandle()); switch (index) {