X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/119cd341931c5f1266af4de39048eb46900fd3c0..5a6371b940e970417874b2b3895c27a92e8f0871:/src/gtk/settings.cpp diff --git a/src/gtk/settings.cpp b/src/gtk/settings.cpp index d838381c99..99a09be81e 100644 --- a/src/gtk/settings.cpp +++ b/src/gtk/settings.cpp @@ -308,7 +308,8 @@ wxFont wxSystemSettingsNative::GetFont( wxSystemFont index ) if ( def && def->font_desc ) { wxNativeFontInfo info; - info.description = def->font_desc; + info.description = + pango_font_description_copy(def->font_desc); gs_objects.m_fontSystem = wxFont(info); } else @@ -347,9 +348,32 @@ int wxSystemSettingsNative::GetMetric( wxSystemMetric index ) case wxSYS_HSCROLL_Y: return 15; case wxSYS_VSCROLL_X: return 15; +#if defined(__WXGTK20__) && GTK_CHECK_VERSION(2, 4, 0) + case wxSYS_DCLICK_X: + case wxSYS_DCLICK_Y: + gint dclick_distance; + g_object_get(gtk_settings_get_default(), "gtk-double-click-distance", &dclick_distance, NULL); + return dclick_distance * 2; +#endif + +#if defined(__WXGTK20__) + case wxSYS_DRAG_X: + case wxSYS_DRAG_Y: + gint drag_threshold; + g_object_get(gtk_settings_get_default(), "gtk-dnd-drag-threshold", &drag_threshold, NULL); + return drag_threshold * 2; +#endif + // VZ: is there any way to get the cursor size with GDK? + // Mart Raudsepp: Yes, there is a way to get the default cursor size for a display ever since GDK 2.4 +#if defined(__WXGTK20__) && GTK_CHECK_VERSION(2, 4, 0) + case wxSYS_CURSOR_X: + case wxSYS_CURSOR_Y: + return gdk_display_get_default_cursor_size(gdk_display_get_default()); +#else case wxSYS_CURSOR_X: return 16; case wxSYS_CURSOR_Y: return 16; +#endif // MBN: ditto for icons case wxSYS_ICON_X: return 32; case wxSYS_ICON_Y: return 32;