diff options
author | Hans Breuer <hans@breuer.org> | 2004-03-07 13:40:19 +0000 |
---|---|---|
committer | Hans Breuer <hans@src.gnome.org> | 2004-03-07 13:40:19 +0000 |
commit | 985e3a24a3ed44a1c83acc3dd6a4f643e2dba723 (patch) | |
tree | f9807768734785b8214401672ab6186a8f3bdf66 /gdk/win32 | |
parent | 754d302f01ad222dc57c92f625667777f50e5f1e (diff) | |
download | gdk-pixbuf-985e3a24a3ed44a1c83acc3dd6a4f643e2dba723.tar.gz |
some more settings from system, also reflect some name changes done a
2004-03-07 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkproperty-win32.c (gdk_screen_get_setting) :
some more settings from system, also reflect some name changes
done a while ago in the x11 backend
* gdk/win32/makefile.msc : build gdkspawn-win32.c
* gtk/gtkdnd.c : gtk_drag_source_[gs]et_target_list, added "Since: 2.4"
* gtk/makefile.msc.in : build gtkpathbar, link shell32.lib
* tests/makefile.msc : some more tests get build
Diffstat (limited to 'gdk/win32')
-rw-r--r-- | gdk/win32/gdkproperty-win32.c | 97 | ||||
-rw-r--r-- | gdk/win32/makefile.msc | 1 |
2 files changed, 92 insertions, 6 deletions
diff --git a/gdk/win32/gdkproperty-win32.c b/gdk/win32/gdkproperty-win32.c index 5a0adc728..d372d9f87 100644 --- a/gdk/win32/gdkproperty-win32.c +++ b/gdk/win32/gdkproperty-win32.c @@ -489,6 +489,40 @@ gdk_property_delete (GdkWindow *window, } } +/* + for reference copied from gdk/x11/gdkevents-x11.c + + { "Net/DoubleClickTime", "gtk-double-click-time" }, + { "Net/DoubleClickDistance", "gtk-double-click-distance" }, + { "Net/DndDragThreshold", "gtk-dnd-drag-threshold" }, + { "Gtk/CanChangeAccels", "gtk-can-change-accels" }, + { "Gtk/ColorPalette", "gtk-color-palette" }, + { "Gtk/FontName", "gtk-font-name" }, + { "Gtk/IconSizes", "gtk-icon-sizes" }, + { "Gtk/KeyThemeName", "gtk-key-theme-name" }, + { "Gtk/ToolbarStyle", "gtk-toolbar-style" }, + { "Gtk/ToolbarIconSize", "gtk-toolbar-icon-size" }, + { "Gtk/IMPreeditStyle", "gtk-im-preedit-style" }, + { "Gtk/IMStatusStyle", "gtk-im-status-style" }, + { "Net/CursorBlink", "gtk-cursor-blink" }, + { "Net/CursorBlinkTime", "gtk-cursor-blink-time" }, + { "Net/ThemeName", "gtk-theme-name" }, + { "Net/IconThemeName", "gtk-icon-theme-name" }, + { "Gtk/ButtonImages", "gtk-button-images" }, + { "Gtk/MenuImages", "gtk-menu-images" }, + { "Xft/Antialias", "gtk-xft-antialias" }, + { "Xft/Hinting", "gtk-xft-hinting" }, + { "Xft/HintStyle", "gtk-xft-hintstyle" }, + { "Xft/RGBA", "gtk-xft-rgba" }, + { "Xft/DPI", "gtk-xft-dpi" }, + + // more spread in gtk sources + gtk-entry-select-on-focus + gtk-cursor-blink + gtk-cursor-blink-time + gtk-split-cursor + +*/ gboolean gdk_screen_get_setting (GdkScreen *screen, const gchar *name, @@ -500,16 +534,67 @@ gdk_screen_get_setting (GdkScreen *screen, * XXX : if these values get changed through the Windoze UI the * respective gdk_events are not generated yet. */ - if (strcmp ("double-click-timeout", name) == 0) + if (strcmp ("gtk-double-click-time", name) == 0) { - g_value_set_int (value, GetDoubleClickTime ()); + gint i = GetDoubleClickTime (); + GDK_NOTE(MISC, g_print("gdk_screen_get_setting(\"%s\") : %d\n", name, i)); + g_value_set_int (value, i); return TRUE; } - else if (strcmp ("drag-threshold", name) == 0) + else if (strcmp ("gtk-double-click-distance", name) == 0) { - g_value_set_int (value, MAX(GetSystemMetrics (SM_CXDRAG), GetSystemMetrics (SM_CYDRAG))); + gint i = MAX(GetSystemMetrics (SM_CXDOUBLECLK), GetSystemMetrics (SM_CYDOUBLECLK)); + GDK_NOTE(MISC, g_print("gdk_screen_get_setting(\"%s\") : %d\n", name, i)); + g_value_set_int (value, i); return TRUE; } - else - return FALSE; + else if (strcmp ("gtk-dnd-drag-threshold", name) == 0) + { + gint i = MAX(GetSystemMetrics (SM_CXDRAG), GetSystemMetrics (SM_CYDRAG)); + GDK_NOTE(MISC, g_print("gdk_screen_get_setting(\"%s\") : %d\n", name, i)); + g_value_set_int (value, i); + return TRUE; + } + else if (strcmp ("gtk-split-cursor", name) == 0) + { + GDK_NOTE(MISC, g_print("gdk_screen_get_setting(\"%s\") : FALSE\n", name)); + g_value_set_boolean (value, FALSE); + return TRUE; + } +#if 0 + /* + * With 'MS Sans Serif' as windows menu font (default on win98se) you'll get a + * bunch of : + * WARNING **: Couldn't load font "MS Sans Serif 8" falling back to "Sans 8" + * at least with testfilechooser (regardless of the bitmap check below) + * so just disabling this code seems to be the best we can do --hb + */ + else if (strcmp ("gtk-font-name", name) == 0) + { + NONCLIENTMETRICS ncm; + ncm.cbSize = sizeof(NONCLIENTMETRICS); + if (SystemParametersInfo (SPI_GETNONCLIENTMETRICS, ncm.cbSize, &ncm, FALSE)) + { + /* Pango finally uses GetDeviceCaps to scale, we use simple approximation here */ + int nHeight = (0 > ncm.lfMenuFont.lfHeight ? -3*ncm.lfMenuFont.lfHeight/4 : 10); + if (OUT_STRING_PRECIS == ncm.lfMenuFont.lfOutPrecision) + GDK_NOTE(MISC, g_print("gdk_screen_get_setting(%s) : ignoring bitmap font '%s'\n", + name, ncm.lfMenuFont.lfFaceName)); + else if (ncm.lfMenuFont.lfFaceName && strlen(ncm.lfMenuFont.lfFaceName) > 0 && + /* avoid issues like those described in bug #135098 */ + g_utf8_validate (ncm.lfMenuFont.lfFaceName, -1, NULL)) + { + char* s = g_strdup_printf ("%s %d", ncm.lfMenuFont.lfFaceName, nHeight); + GDK_NOTE(MISC, g_print("gdk_screen_get_setting(%s) : %s\n", name, s)); + g_value_set_string (value, s); + + g_free(s); + return TRUE; + } + } + } +#endif + + GDK_NOTE(MISC, g_print("gdk_screen_get_setting(%s) not handled\n", name)); + return FALSE; } diff --git a/gdk/win32/makefile.msc b/gdk/win32/makefile.msc index 3f03b3b77..ac5779615 100644 --- a/gdk/win32/makefile.msc +++ b/gdk/win32/makefile.msc @@ -47,6 +47,7 @@ gdk_win32_OBJECTS = \ # gdkregion-win32.obj \ gdkscreen-win32.obj \ gdkselection-win32.obj \ + gdkspawn-win32.obj \ gdkvisual-win32.obj \ gdkwin32id.obj \ gdkwindow-win32.obj |