forked from AuroraMiddleware/gtk
Add -lole32, needed for CoTaskMemFree in get_special_folder() below.
2005-01-02 Tor Lillqvist <tml@iki.fi> * gtk/Makefile.am (libgtk_target_ldflags): Add -lole32, needed for CoTaskMemFree in get_special_folder() below. * gtk/gtkfilesystem.h: Implement case-insensitive path compare on Win32 using _gtk_file_system_win32_path_compare(). * gtk/gtk.symbols: Add _gtk_file_system_win32_path_compare. * gtk/gtkfilechooserbutton.c (model_add_special) * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Use _gtk_file_system_win32_get_desktop() to get correct Desktop folder on Win32. (#144003) * gtk/gtkfilesystemwin32.c: Remove unnecessary includes. Do consider all drives "mounted", including floppies. Trying to inspect the contents of a nonexistent floppy will cause errors later that are handled normally, no need to avoid them completely. Keep the drive type in the GtkFileSystemVolume. Support UNC paths. (#161797) Fix error message capitalizations as in gtkfilesystemunix.c. (gtk_file_system_win32_init): Start one timeout per GtkFileSystemWin32. (gtk_file_system_win32_finalize): Remove the timeout. (get_special_folder): Copied from GLib. (_gtk_file_system_win32_get_desktop): New function, uses get_special_folder(). (gtk_file_system_win32_list_volumes): Don't start a timeout at each call to this function. Don't assume A: and B: are floppies. (gtk_file_system_win32_get_volume_for_path): Don't assume all volumes are drive roots, i.e. support share roots of UNC paths (\\server\share). (gtk_file_system_win32_get_folder): Don't assume errno is set after g_file_test() returns FALSE. It isn't on Win32 (and even on Unix I don't think one should assume anything about errno after g_file_test()). (gtk_file_system_win32_volume_get_is_mounted): Always return TRUE. (gtk_file_system_win32_volume_get_display_name): Don't call GetVolumeInformation() on drives A: or B: if they are removable, as they might then be floppies, causing an unnecessary delay. (#157820) (gtk_file_system_win32_volume_render_icon): Use network icon for unrecognized drive types. (canonicalize_filename, gtk_file_system_win32_parse): Don't get confused by UNC paths. (bookmarks_serialize): Use _gtk_file_system_win32_path_compare() for case-insensitive UTF-8 path comparison. (extract_icon): Use SHGetFileInfo() which is faster than ExtractAssociatedIcon(). Icon extraction is still slow, though, needs work. (win32_pseudo_mime_lookup): Don't use the same icon for all shortcuts or executables. Cache only other file type icons. (gtk_file_system_win32_render_icon): Use network stock icon for remote drives and UNC server share roots. Compare home directory case-insensitively. Do lookup icons also for executable files, after all, it's these files that can have individual icons in the first place. Yes, it can be slow. Needs work. (filename_is_drive_root): Require also the slash after the colon. (filename_is_server_share): New function. (_gtk_file_system_win32_path_compare): New function, does case-folded UTF-8 comparison. * gtk/gtkfilesystemwin32.h: Declare _gtk_file_system_win32_path_compare().
This commit is contained in:
parent
0a4ddf1f7f
commit
c668f46d9e
84
ChangeLog
84
ChangeLog
@ -1,3 +1,87 @@
|
||||
2005-01-02 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gtk/Makefile.am (libgtk_target_ldflags): Add -lole32, needed for
|
||||
CoTaskMemFree in get_special_folder() below.
|
||||
|
||||
* gtk/gtkfilesystem.h: Implement case-insensitive path compare on
|
||||
Win32 using _gtk_file_system_win32_path_compare().
|
||||
|
||||
* gtk/gtk.symbols: Add _gtk_file_system_win32_path_compare.
|
||||
|
||||
* gtk/gtkfilechooserbutton.c (model_add_special)
|
||||
* gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Use
|
||||
_gtk_file_system_win32_get_desktop() to get correct Desktop folder
|
||||
on Win32. (#144003)
|
||||
|
||||
* gtk/gtkfilesystemwin32.c: Remove unnecessary includes. Do
|
||||
consider all drives "mounted", including floppies. Trying to
|
||||
inspect the contents of a nonexistent floppy will cause errors
|
||||
later that are handled normally, no need to avoid them
|
||||
completely. Keep the drive type in the GtkFileSystemVolume.
|
||||
Support UNC paths. (#161797) Fix error message capitalizations
|
||||
as in gtkfilesystemunix.c.
|
||||
|
||||
(gtk_file_system_win32_init): Start one timeout per
|
||||
GtkFileSystemWin32.
|
||||
|
||||
(gtk_file_system_win32_finalize): Remove the timeout.
|
||||
|
||||
(get_special_folder): Copied from GLib.
|
||||
|
||||
(_gtk_file_system_win32_get_desktop): New function, uses
|
||||
get_special_folder().
|
||||
|
||||
(gtk_file_system_win32_list_volumes): Don't start a timeout at
|
||||
each call to this function. Don't assume A: and B: are floppies.
|
||||
|
||||
(gtk_file_system_win32_get_volume_for_path): Don't assume all
|
||||
volumes are drive roots, i.e. support share roots of UNC paths
|
||||
(\\server\share).
|
||||
|
||||
(gtk_file_system_win32_get_folder): Don't assume errno is set
|
||||
after g_file_test() returns FALSE. It isn't on Win32 (and even on
|
||||
Unix I don't think one should assume anything about errno after
|
||||
g_file_test()).
|
||||
|
||||
(gtk_file_system_win32_volume_get_is_mounted): Always return TRUE.
|
||||
|
||||
(gtk_file_system_win32_volume_get_display_name): Don't call
|
||||
GetVolumeInformation() on drives A: or B: if they are removable,
|
||||
as they might then be floppies, causing an unnecessary
|
||||
delay. (#157820)
|
||||
|
||||
(gtk_file_system_win32_volume_render_icon): Use network icon for
|
||||
unrecognized drive types.
|
||||
|
||||
(canonicalize_filename, gtk_file_system_win32_parse): Don't get
|
||||
confused by UNC paths.
|
||||
|
||||
(bookmarks_serialize): Use _gtk_file_system_win32_path_compare()
|
||||
for case-insensitive UTF-8 path comparison.
|
||||
|
||||
(extract_icon): Use SHGetFileInfo() which is faster than
|
||||
ExtractAssociatedIcon(). Icon extraction is still slow, though,
|
||||
needs work.
|
||||
|
||||
(win32_pseudo_mime_lookup): Don't use the same icon for all
|
||||
shortcuts or executables. Cache only other file type icons.
|
||||
|
||||
(gtk_file_system_win32_render_icon): Use network stock icon for
|
||||
remote drives and UNC server share roots. Compare home directory
|
||||
case-insensitively. Do lookup icons also for executable files,
|
||||
after all, it's these files that can have individual icons in the
|
||||
first place. Yes, it can be slow. Needs work.
|
||||
|
||||
(filename_is_drive_root): Require also the slash after the colon.
|
||||
|
||||
(filename_is_server_share): New function.
|
||||
|
||||
(_gtk_file_system_win32_path_compare): New function, does
|
||||
case-folded UTF-8 comparison.
|
||||
|
||||
* gtk/gtkfilesystemwin32.h: Declare
|
||||
_gtk_file_system_win32_path_compare().
|
||||
|
||||
2005-01-01 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtkbutton.c (gtk_button_set_image): Allow unsetting the
|
||||
|
@ -1,3 +1,87 @@
|
||||
2005-01-02 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gtk/Makefile.am (libgtk_target_ldflags): Add -lole32, needed for
|
||||
CoTaskMemFree in get_special_folder() below.
|
||||
|
||||
* gtk/gtkfilesystem.h: Implement case-insensitive path compare on
|
||||
Win32 using _gtk_file_system_win32_path_compare().
|
||||
|
||||
* gtk/gtk.symbols: Add _gtk_file_system_win32_path_compare.
|
||||
|
||||
* gtk/gtkfilechooserbutton.c (model_add_special)
|
||||
* gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Use
|
||||
_gtk_file_system_win32_get_desktop() to get correct Desktop folder
|
||||
on Win32. (#144003)
|
||||
|
||||
* gtk/gtkfilesystemwin32.c: Remove unnecessary includes. Do
|
||||
consider all drives "mounted", including floppies. Trying to
|
||||
inspect the contents of a nonexistent floppy will cause errors
|
||||
later that are handled normally, no need to avoid them
|
||||
completely. Keep the drive type in the GtkFileSystemVolume.
|
||||
Support UNC paths. (#161797) Fix error message capitalizations
|
||||
as in gtkfilesystemunix.c.
|
||||
|
||||
(gtk_file_system_win32_init): Start one timeout per
|
||||
GtkFileSystemWin32.
|
||||
|
||||
(gtk_file_system_win32_finalize): Remove the timeout.
|
||||
|
||||
(get_special_folder): Copied from GLib.
|
||||
|
||||
(_gtk_file_system_win32_get_desktop): New function, uses
|
||||
get_special_folder().
|
||||
|
||||
(gtk_file_system_win32_list_volumes): Don't start a timeout at
|
||||
each call to this function. Don't assume A: and B: are floppies.
|
||||
|
||||
(gtk_file_system_win32_get_volume_for_path): Don't assume all
|
||||
volumes are drive roots, i.e. support share roots of UNC paths
|
||||
(\\server\share).
|
||||
|
||||
(gtk_file_system_win32_get_folder): Don't assume errno is set
|
||||
after g_file_test() returns FALSE. It isn't on Win32 (and even on
|
||||
Unix I don't think one should assume anything about errno after
|
||||
g_file_test()).
|
||||
|
||||
(gtk_file_system_win32_volume_get_is_mounted): Always return TRUE.
|
||||
|
||||
(gtk_file_system_win32_volume_get_display_name): Don't call
|
||||
GetVolumeInformation() on drives A: or B: if they are removable,
|
||||
as they might then be floppies, causing an unnecessary
|
||||
delay. (#157820)
|
||||
|
||||
(gtk_file_system_win32_volume_render_icon): Use network icon for
|
||||
unrecognized drive types.
|
||||
|
||||
(canonicalize_filename, gtk_file_system_win32_parse): Don't get
|
||||
confused by UNC paths.
|
||||
|
||||
(bookmarks_serialize): Use _gtk_file_system_win32_path_compare()
|
||||
for case-insensitive UTF-8 path comparison.
|
||||
|
||||
(extract_icon): Use SHGetFileInfo() which is faster than
|
||||
ExtractAssociatedIcon(). Icon extraction is still slow, though,
|
||||
needs work.
|
||||
|
||||
(win32_pseudo_mime_lookup): Don't use the same icon for all
|
||||
shortcuts or executables. Cache only other file type icons.
|
||||
|
||||
(gtk_file_system_win32_render_icon): Use network stock icon for
|
||||
remote drives and UNC server share roots. Compare home directory
|
||||
case-insensitively. Do lookup icons also for executable files,
|
||||
after all, it's these files that can have individual icons in the
|
||||
first place. Yes, it can be slow. Needs work.
|
||||
|
||||
(filename_is_drive_root): Require also the slash after the colon.
|
||||
|
||||
(filename_is_server_share): New function.
|
||||
|
||||
(_gtk_file_system_win32_path_compare): New function, does
|
||||
case-folded UTF-8 comparison.
|
||||
|
||||
* gtk/gtkfilesystemwin32.h: Declare
|
||||
_gtk_file_system_win32_path_compare().
|
||||
|
||||
2005-01-01 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtkbutton.c (gtk_button_set_image): Allow unsetting the
|
||||
|
@ -1,3 +1,87 @@
|
||||
2005-01-02 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gtk/Makefile.am (libgtk_target_ldflags): Add -lole32, needed for
|
||||
CoTaskMemFree in get_special_folder() below.
|
||||
|
||||
* gtk/gtkfilesystem.h: Implement case-insensitive path compare on
|
||||
Win32 using _gtk_file_system_win32_path_compare().
|
||||
|
||||
* gtk/gtk.symbols: Add _gtk_file_system_win32_path_compare.
|
||||
|
||||
* gtk/gtkfilechooserbutton.c (model_add_special)
|
||||
* gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Use
|
||||
_gtk_file_system_win32_get_desktop() to get correct Desktop folder
|
||||
on Win32. (#144003)
|
||||
|
||||
* gtk/gtkfilesystemwin32.c: Remove unnecessary includes. Do
|
||||
consider all drives "mounted", including floppies. Trying to
|
||||
inspect the contents of a nonexistent floppy will cause errors
|
||||
later that are handled normally, no need to avoid them
|
||||
completely. Keep the drive type in the GtkFileSystemVolume.
|
||||
Support UNC paths. (#161797) Fix error message capitalizations
|
||||
as in gtkfilesystemunix.c.
|
||||
|
||||
(gtk_file_system_win32_init): Start one timeout per
|
||||
GtkFileSystemWin32.
|
||||
|
||||
(gtk_file_system_win32_finalize): Remove the timeout.
|
||||
|
||||
(get_special_folder): Copied from GLib.
|
||||
|
||||
(_gtk_file_system_win32_get_desktop): New function, uses
|
||||
get_special_folder().
|
||||
|
||||
(gtk_file_system_win32_list_volumes): Don't start a timeout at
|
||||
each call to this function. Don't assume A: and B: are floppies.
|
||||
|
||||
(gtk_file_system_win32_get_volume_for_path): Don't assume all
|
||||
volumes are drive roots, i.e. support share roots of UNC paths
|
||||
(\\server\share).
|
||||
|
||||
(gtk_file_system_win32_get_folder): Don't assume errno is set
|
||||
after g_file_test() returns FALSE. It isn't on Win32 (and even on
|
||||
Unix I don't think one should assume anything about errno after
|
||||
g_file_test()).
|
||||
|
||||
(gtk_file_system_win32_volume_get_is_mounted): Always return TRUE.
|
||||
|
||||
(gtk_file_system_win32_volume_get_display_name): Don't call
|
||||
GetVolumeInformation() on drives A: or B: if they are removable,
|
||||
as they might then be floppies, causing an unnecessary
|
||||
delay. (#157820)
|
||||
|
||||
(gtk_file_system_win32_volume_render_icon): Use network icon for
|
||||
unrecognized drive types.
|
||||
|
||||
(canonicalize_filename, gtk_file_system_win32_parse): Don't get
|
||||
confused by UNC paths.
|
||||
|
||||
(bookmarks_serialize): Use _gtk_file_system_win32_path_compare()
|
||||
for case-insensitive UTF-8 path comparison.
|
||||
|
||||
(extract_icon): Use SHGetFileInfo() which is faster than
|
||||
ExtractAssociatedIcon(). Icon extraction is still slow, though,
|
||||
needs work.
|
||||
|
||||
(win32_pseudo_mime_lookup): Don't use the same icon for all
|
||||
shortcuts or executables. Cache only other file type icons.
|
||||
|
||||
(gtk_file_system_win32_render_icon): Use network stock icon for
|
||||
remote drives and UNC server share roots. Compare home directory
|
||||
case-insensitively. Do lookup icons also for executable files,
|
||||
after all, it's these files that can have individual icons in the
|
||||
first place. Yes, it can be slow. Needs work.
|
||||
|
||||
(filename_is_drive_root): Require also the slash after the colon.
|
||||
|
||||
(filename_is_server_share): New function.
|
||||
|
||||
(_gtk_file_system_win32_path_compare): New function, does
|
||||
case-folded UTF-8 comparison.
|
||||
|
||||
* gtk/gtkfilesystemwin32.h: Declare
|
||||
_gtk_file_system_win32_path_compare().
|
||||
|
||||
2005-01-01 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtkbutton.c (gtk_button_set_image): Allow unsetting the
|
||||
|
@ -1,3 +1,87 @@
|
||||
2005-01-02 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gtk/Makefile.am (libgtk_target_ldflags): Add -lole32, needed for
|
||||
CoTaskMemFree in get_special_folder() below.
|
||||
|
||||
* gtk/gtkfilesystem.h: Implement case-insensitive path compare on
|
||||
Win32 using _gtk_file_system_win32_path_compare().
|
||||
|
||||
* gtk/gtk.symbols: Add _gtk_file_system_win32_path_compare.
|
||||
|
||||
* gtk/gtkfilechooserbutton.c (model_add_special)
|
||||
* gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Use
|
||||
_gtk_file_system_win32_get_desktop() to get correct Desktop folder
|
||||
on Win32. (#144003)
|
||||
|
||||
* gtk/gtkfilesystemwin32.c: Remove unnecessary includes. Do
|
||||
consider all drives "mounted", including floppies. Trying to
|
||||
inspect the contents of a nonexistent floppy will cause errors
|
||||
later that are handled normally, no need to avoid them
|
||||
completely. Keep the drive type in the GtkFileSystemVolume.
|
||||
Support UNC paths. (#161797) Fix error message capitalizations
|
||||
as in gtkfilesystemunix.c.
|
||||
|
||||
(gtk_file_system_win32_init): Start one timeout per
|
||||
GtkFileSystemWin32.
|
||||
|
||||
(gtk_file_system_win32_finalize): Remove the timeout.
|
||||
|
||||
(get_special_folder): Copied from GLib.
|
||||
|
||||
(_gtk_file_system_win32_get_desktop): New function, uses
|
||||
get_special_folder().
|
||||
|
||||
(gtk_file_system_win32_list_volumes): Don't start a timeout at
|
||||
each call to this function. Don't assume A: and B: are floppies.
|
||||
|
||||
(gtk_file_system_win32_get_volume_for_path): Don't assume all
|
||||
volumes are drive roots, i.e. support share roots of UNC paths
|
||||
(\\server\share).
|
||||
|
||||
(gtk_file_system_win32_get_folder): Don't assume errno is set
|
||||
after g_file_test() returns FALSE. It isn't on Win32 (and even on
|
||||
Unix I don't think one should assume anything about errno after
|
||||
g_file_test()).
|
||||
|
||||
(gtk_file_system_win32_volume_get_is_mounted): Always return TRUE.
|
||||
|
||||
(gtk_file_system_win32_volume_get_display_name): Don't call
|
||||
GetVolumeInformation() on drives A: or B: if they are removable,
|
||||
as they might then be floppies, causing an unnecessary
|
||||
delay. (#157820)
|
||||
|
||||
(gtk_file_system_win32_volume_render_icon): Use network icon for
|
||||
unrecognized drive types.
|
||||
|
||||
(canonicalize_filename, gtk_file_system_win32_parse): Don't get
|
||||
confused by UNC paths.
|
||||
|
||||
(bookmarks_serialize): Use _gtk_file_system_win32_path_compare()
|
||||
for case-insensitive UTF-8 path comparison.
|
||||
|
||||
(extract_icon): Use SHGetFileInfo() which is faster than
|
||||
ExtractAssociatedIcon(). Icon extraction is still slow, though,
|
||||
needs work.
|
||||
|
||||
(win32_pseudo_mime_lookup): Don't use the same icon for all
|
||||
shortcuts or executables. Cache only other file type icons.
|
||||
|
||||
(gtk_file_system_win32_render_icon): Use network stock icon for
|
||||
remote drives and UNC server share roots. Compare home directory
|
||||
case-insensitively. Do lookup icons also for executable files,
|
||||
after all, it's these files that can have individual icons in the
|
||||
first place. Yes, it can be slow. Needs work.
|
||||
|
||||
(filename_is_drive_root): Require also the slash after the colon.
|
||||
|
||||
(filename_is_server_share): New function.
|
||||
|
||||
(_gtk_file_system_win32_path_compare): New function, does
|
||||
case-folded UTF-8 comparison.
|
||||
|
||||
* gtk/gtkfilesystemwin32.h: Declare
|
||||
_gtk_file_system_win32_path_compare().
|
||||
|
||||
2005-01-01 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtkbutton.c (gtk_button_set_image): Allow unsetting the
|
||||
|
@ -665,7 +665,7 @@ libgtk_win32_2_0_la_LIBADD = $(libadd) $(gtk_win32res_lo)
|
||||
libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32res_lo)
|
||||
|
||||
if USE_WIN32
|
||||
libgtk_target_ldflags = $(gtk_win32_symbols) -lwsock32
|
||||
libgtk_target_ldflags = $(gtk_win32_symbols) -lole32 -lwsock32
|
||||
endif
|
||||
EXTRA_LTLIBRARIES = libgtk-x11-2.0.la libgtk-linux-fb-2.0.la libgtk-win32-2.0.la
|
||||
|
||||
|
@ -3009,3 +3009,6 @@ gtk_window_unfullscreen
|
||||
gtk_window_unmaximize
|
||||
gtk_window_unstick
|
||||
gtk_wrap_mode_get_type G_GNUC_CONST
|
||||
#ifdef G_OS_WIN32
|
||||
_gtk_file_system_win32_path_compare
|
||||
#endif
|
||||
|
@ -52,6 +52,9 @@
|
||||
|
||||
#include "gtkfilechooserbutton.h"
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
#include "gtkfilesystemwin32.h"
|
||||
#endif
|
||||
|
||||
/* **************** *
|
||||
* Private Macros *
|
||||
@ -1273,27 +1276,26 @@ static inline void
|
||||
model_add_special (GtkFileChooserButton *button)
|
||||
{
|
||||
const gchar *homedir;
|
||||
gchar *desktopdir = NULL;
|
||||
GtkListStore *store;
|
||||
GtkTreeIter iter;
|
||||
GtkFilePath *path;
|
||||
GdkPixbuf *pixbuf;
|
||||
gint pos;
|
||||
|
||||
store = GTK_LIST_STORE (button->priv->model);
|
||||
pos = model_get_type_position (button, ROW_TYPE_SPECIAL);
|
||||
|
||||
homedir = g_get_home_dir ();
|
||||
|
||||
if (homedir)
|
||||
{
|
||||
GtkListStore *store;
|
||||
GtkTreeIter iter;
|
||||
GtkFilePath *path;
|
||||
GdkPixbuf *pixbuf;
|
||||
gchar *desktopdir;
|
||||
gint pos;
|
||||
|
||||
store = GTK_LIST_STORE (button->priv->model);
|
||||
|
||||
pos = model_get_type_position (button, ROW_TYPE_SPECIAL);
|
||||
|
||||
path = gtk_file_system_filename_to_path (button->priv->fs, homedir);
|
||||
pixbuf = gtk_file_system_render_icon (button->priv->fs, path,
|
||||
GTK_WIDGET (button),
|
||||
button->priv->icon_size, NULL);
|
||||
gtk_list_store_insert (store, &iter, pos);
|
||||
pos++;
|
||||
gtk_list_store_set (store, &iter,
|
||||
ICON_COLUMN, pixbuf,
|
||||
DISPLAY_NAME_COLUMN, _(HOME_DISPLAY_NAME),
|
||||
@ -1304,15 +1306,24 @@ model_add_special (GtkFileChooserButton *button)
|
||||
g_object_unref (pixbuf);
|
||||
button->priv->n_special++;
|
||||
|
||||
#ifndef G_OS_WIN32
|
||||
desktopdir = g_build_filename (homedir, DESKTOP_DISPLAY_NAME, NULL);
|
||||
pos++;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
desktopdir = _gtk_file_system_win32_get_desktop ();
|
||||
#endif
|
||||
|
||||
if (desktopdir)
|
||||
{
|
||||
path = gtk_file_system_filename_to_path (button->priv->fs, desktopdir);
|
||||
g_free (desktopdir);
|
||||
pixbuf = gtk_file_system_render_icon (button->priv->fs, path,
|
||||
GTK_WIDGET (button),
|
||||
button->priv->icon_size, NULL);
|
||||
gtk_list_store_insert (store, &iter, pos);
|
||||
pos++;
|
||||
gtk_list_store_set (store, &iter,
|
||||
TYPE_COLUMN, ROW_TYPE_SPECIAL,
|
||||
ICON_COLUMN, pixbuf,
|
||||
|
@ -1235,15 +1235,19 @@ shortcuts_append_home (GtkFileChooserDefault *impl)
|
||||
static void
|
||||
shortcuts_append_desktop (GtkFileChooserDefault *impl)
|
||||
{
|
||||
const char *home;
|
||||
char *name;
|
||||
GtkFilePath *path;
|
||||
|
||||
home = g_get_home_dir ();
|
||||
#ifdef G_OS_WIN32
|
||||
name = _gtk_file_system_win32_get_desktop ();
|
||||
#else
|
||||
const char *home = g_get_home_dir ();
|
||||
if (home == NULL)
|
||||
return;
|
||||
|
||||
name = g_build_filename (home, "Desktop", NULL);
|
||||
#endif
|
||||
|
||||
path = gtk_file_system_filename_to_path (impl->file_system, name);
|
||||
g_free (name);
|
||||
|
||||
|
@ -345,8 +345,16 @@ GType gtk_file_path_get_type (void) G_GNUC_CONST;
|
||||
#endif/* __GNUC__ */
|
||||
|
||||
#define gtk_file_path_copy(path) gtk_file_path_new_dup (gtk_file_path_get_string(path))
|
||||
#ifdef G_OS_WIN32
|
||||
int _gtk_file_system_win32_path_compare (const gchar *path1,
|
||||
const gchar *path2);
|
||||
#define gtk_file_path_compare(path1,path2) \
|
||||
_gtk_file_system_win32_path_compare (gtk_file_path_get_string (path1), \
|
||||
gtk_file_path_get_string (path2))
|
||||
#else
|
||||
#define gtk_file_path_compare(path1,path2) strcmp (gtk_file_path_get_string (path1), \
|
||||
gtk_file_path_get_string (path2))
|
||||
#endif
|
||||
|
||||
GSList *gtk_file_paths_sort (GSList *paths);
|
||||
GSList *gtk_file_paths_copy (GSList *paths);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -35,6 +35,8 @@ typedef struct _GtkFileSystemWin32 GtkFileSystemWin32;
|
||||
GtkFileSystem *gtk_file_system_win32_new (void);
|
||||
GType gtk_file_system_win32_get_type (void) G_GNUC_CONST;
|
||||
|
||||
gchar *_gtk_file_system_win32_get_desktop (void);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GTK_FILE_SYSTEM_WIN32_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user