summaryrefslogtreecommitdiff
path: root/gdk/win32
diff options
context:
space:
mode:
authorHans Breuer <hans@breuer.org>2004-03-07 13:40:19 +0000
committerHans Breuer <hans@src.gnome.org>2004-03-07 13:40:19 +0000
commit985e3a24a3ed44a1c83acc3dd6a4f643e2dba723 (patch)
treef9807768734785b8214401672ab6186a8f3bdf66 /gdk/win32
parent754d302f01ad222dc57c92f625667777f50e5f1e (diff)
downloadgdk-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.c97
-rw-r--r--gdk/win32/makefile.msc1
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