Commit Graph

100 Commits

Author SHA1 Message Date
Benjamin Otte
9d09028970 filechooserentry: Move _gtk_file_system_parse()
It's very specific to the file chooser entry, so it's better kept there.
It's also not used anywhere else in the code.
2011-12-16 20:09:12 +01:00
Benjamin Otte
036195e7a8 gtkfolder: Remove
It's not used anymore. And new code should of course use gio.
2011-12-16 20:09:12 +01:00
John Ralls
7550157d66 bgo#514843 - [filechooser] Deal with corrupted .gtk-bookmarks gracefully
We weren't checking for the lines in that file being valid UTF-8 strings.
2011-09-12 14:30:44 -05:00
Federico Mena Quintero
ae42f286bb Allow resolving absolute paths even if there is no base_folder
This lets us do proper completion in GtkFileChooserEntry even when no base folder
has been set.  Completion for relative paths won't work, as usual, as expected.
2011-07-01 19:07:11 -05:00
Alexander Larsson
e274dbbdce Ensure we always grab the gdk lock in async callbacks
Async callbacks are delivered in idles, so we need to make sure
we get the gdk lock before calling any gdk/gtk stuff. This was
missing in a few places.
2011-03-28 12:49:17 +02:00
Jonh Wendell
0fa0e653d5 Initialize private structure 2010-09-30 16:56:11 -03:00
Javier Jardón
1e5d7c0225 Use GtkFooPrivate instead GtkFooPriv 2010-08-27 04:48:23 +02:00
Javier Jardón
8d983a4547 gtk/gtkfilesystem: Do not use GET_PRIVATE macro all the time
Use a private pointer instead
2010-08-26 15:58:20 +02:00
Javier Jardón
0a07e9733b gtk/: fully remove gtkalias hacks
https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:51:26 +02:00
Matthias Clasen
bf88eee131 Fix file chooser refcounting issues
This was reported in bug 600992.
2010-03-08 23:56:43 -05:00
Federico Mena Quintero
e4bc68ba04 Don't do completion in the middle of an incomplete hostname
Fix completion so it doesn't pop up for every character in a URI
	hostname:

	* gtk/gtkfilechooser.h (GtkFileChooserError): Add a
	GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME.

	* gtk/gtkfilesystem.c (_gtk_file_system_parse): Return an
	"incomplete hostname" error if the user has not typed a full
	hostname yet in an URI.

	* gtk/gtkfilechooserentry.c (append_common_prefix): If we get an
	incomplete hostname, just don't pop up an error, since that is a
	transient state and the user doesn't need to be notified about it.
	(refresh_current_folder_and_file_part): Don't revert to showing
	the base folder if we have an incomplete hostname.
	(reload_current_folder): Handle the passed folder being NULL, even
	if we must force a reload.  Also, reload the folder if we didn't
	have a cancellable for it (i.e. we hadn't started to load it
	before).

Signed-off-by: Federico Mena Quintero <federico@novell.com>

svn path=/trunk/; revision=22157
2009-01-21 03:17:01 +00:00
Federico Mena Quintero
9f62525f2b bgo545980 - parse URIs in GtkFileChooserEntry
2009-01-15  Federico Mena Quintero  <federico@novell.com>

	http://bugzilla.gnome.org/show_bug.cgi?id=545980 -
	GtkFileChooserEntry should handle URIs

	* gtk/gtkfilesystem.c (_gtk_file_system_parse): Detect URI schemes
	and parse the full URI.
	(has_uri_scheme): New function, stolen from the old
	gtkfilesystemgnomevfs.c.

Signed-off-by: Federico Mena Quintero <federico@novell.com>

svn path=/trunk/; revision=22154
2009-01-21 03:16:13 +00:00
Tomas Bzatek
d1a0239a18 Mask G_FILE_TYPE_SHORTCUT as a directory (#561494)
2008-12-15  Tomas Bzatek  <tbzatek@redhat.com> 

        * gtk/gtkfilechooserdefault.c: (list_row_activated):
        * gtk/gtkfilesystem.c: (_gtk_file_info_consider_as_directory):
        Mask G_FILE_TYPE_SHORTCUT as a directory (#561494)


svn path=/trunk/; revision=21906
2008-12-15 16:12:09 +00:00
Matthias Clasen
50329fa7c0 Privately export this method. It classifies directories and mountables the
* gtk/gtkfilesystem.[hc] (_gtk_file_info_consider_as_directory):
        Privately export this method. It classifies directories and mountables
        the same.

        * gtk/gtkfilesystem.c (enclosing_volume_mount_cb): Silently drop
        G_IO_ERROR_ALREADY_MOUNTED error for gvfs backends without visible
        mounts.

        * gtk/gtkfilesystemmodel.c:
        * gtk/gtkfilechooserbutton.c:
        * gtk/gtkfilechooserentry.c:
        * gtk/gtkfilechooserdefault.c: Use the new function instead of
        direct checks for G_FILE_TYPE_DIRECTORY throughout.


svn path=/trunk/; revision=21898
2008-12-14 02:14:19 +00:00
Matthias Clasen
43c0ce8971 Filter out shadow mounts
svn path=/trunk/; revision=21838
2008-12-01 05:42:28 +00:00
Alexander Larsson
fb55cf75f0 Bug 528320 - Incorrect icons displayed for files with custom mimetype
2008-10-23  Alexander Larsson  <alexl@redhat.com>

	Bug 528320 - Incorrect icons displayed for files with custom mimetype icons
	
        * gtk/gtkfilesystem.c:
        (_gtk_file_info_render_icon):
	Fall back on default file icon if there was no icon or it
	was not found in the theme. This goes with the corresponding
	change in glib to not add the fallback icon, but is useful
	in other cases too.



svn path=/trunk/; revision=21702
2008-10-23 09:59:46 +00:00
Christian Persch
941abf8780 Bug 554702 – gtkfilesystem leaks GError
Also fixes some "format not a string literal and no format arguments"
warnings.

svn path=/trunk/; revision=21611
2008-10-08 21:00:56 +00:00
Christian Persch
60033fd59d Bug 554701 – filechooser spams console with useless warnings
svn path=/trunk/; revision=21571
2008-10-02 19:47:57 +00:00
Frederic Crozat
d89074b428 use the correct gi18n header. Fixes bug #553000.
2008-09-22  Frederic Crozat  <fcrozat@mandriva.com>

        * gtk/gtkfilesystem.c: use the correct gi18n header.
        Fixes bug #553000.


svn path=/trunk/; revision=21486
2008-09-22 08:55:58 +00:00
Matthias Clasen
f815c34a2b Don't free a GFile. Reported by Sebastien Bacher
* gtk/gtkfilesystem.c (_gtk_file_system_set_bookmark_label): Don't
        free a GFile. Reported by Sebastien Bacher



svn path=/trunk/; revision=20843
2008-07-16 13:51:56 +00:00
Michael Natterer
a51c43f5c6 include the two needed headers instead of <gtk/gtk.h>.
2008-07-07  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkfilesystem.c: include the two needed headers instead of
	<gtk/gtk.h>.


svn path=/trunk/; revision=20804
2008-07-07 09:05:02 +00:00
Matthias Clasen
8f6aa13b05 Fix a memory leak. Patch by Christian Persch.
* gtk/gtkfilesystem.c (get_volumes_list): Fix a memory leak.
        Patch by Christian Persch.


svn path=/trunk/; revision=20752
2008-07-03 22:46:00 +00:00
Cody Russell
57223c9a05 Revert name change
svn path=/trunk/; revision=20724
2008-07-01 22:57:50 +00:00
Cody Russell
fce9c8b7d4 Practically everything changed.
2008-06-30  Cody Russell  <bratsche@gnome.org>

        * Practically everything changed.

        Change	all references	of GIMP	Toolkit	(and variations	of it)
        to GTK+	Toolkit, showing no mercy at all to our	beloved
	ancestry. (#540529)


svn path=/trunk/; revision=20709
2008-06-30 23:01:56 +00:00
Michael Natterer
1a6b0cb1ca #include "config.h"
2008-06-26  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkfilesystem.c: #include "config.h"


svn path=/trunk/; revision=20688
2008-06-26 10:19:23 +00:00
Hans Breuer
8e2ef4982b must return a value of the appropriate type with g_return_val_if_fail
2008-06-20  Hans Breuer  <hans@breuer.org>

	* gtk/gtkmenuitem.c gtk/gtkmessagedialog.c gtk/gtkplug.c : must return
	a value of the appropriate type with g_return_val_if_fail
	
	* gdk/gdkconfig.h.win32 : add the GSEAL definition here as well

	* gtk/gtkfilesystem.c : don't add the "File System" on win32

	* tests/makefile.msc : remove broken autotestfile(system|chooser) 
	from build


svn path=/trunk/; revision=20657
2008-06-20 20:39:22 +00:00
Matthias Clasen
d217ec4f90 Use standard icon names.
2008-06-18  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilesystem.c (_gtk_file_system_volume_render_icon):
        * gtk/gtkfilechooserbutton.c (change_icon_theme):
        (model_add_bookmarks):
        (model_update_current_folder):
        * gtk/gtkfilechooserdefault.c (shortcuts_insert_file):
        (shortcuts_reload_icons): Use standard icon names.


svn path=/trunk/; revision=20454
2008-06-18 16:22:42 +00:00
Carlos Garnacho
6bb24bf6c8 Remove GtkFileSystemError, use GtkFileChooserError instead. (#538378,
2008-06-18  Carlos Garnacho  <carlos@imendio.com>

        * gtk/gtkfilesystem.[ch]: Remove GtkFileSystemError, use
        GtkFileChooserError instead. (#538378, patch by Matthias Clasen)

svn path=/trunk/; revision=20440
2008-06-17 23:33:48 +00:00
Carlos Garnacho
bfe00f9b9b Return full path here as expected, not just the basename.
2008-06-15  Carlos Garnacho  <carlos@imendio.com>

        * gtk/gtkfilechooser.c (gtk_file_chooser_get_filename): Return full
        path here as expected, not just the basename.

        * gtk/gtkfilechooserdefault.c
        (gtk_file_chooser_default_update_current_folder): Ensure that we keep
        a reference to file, since it can be destroyed when switching back to
        browse mode.

        * gtk/gtkfilesystem.c (get_icon_for_special_directory): Removed, home
        and desktop directories are dealt by the filechooser as normal files,
        not volumes, so the icon for these is handled directly by GIO.
        (_gtk_file_system_volume_render_icon): Update caller.

svn path=/trunk/; revision=20393
2008-06-15 23:32:11 +00:00
Matthias Clasen
a434b6bf94 Avoid PLT entries
svn path=/trunk/; revision=20379
2008-06-13 17:02:26 +00:00
Matthias Clasen
f9c7a4bbd0 Really make GtkFileSystem private by _-prefixing all functions.
* gtk/gtkfilechooserbutton.c:
        * gtk/gtkfilechooserdefault.c:
        * gtk/gtkfilechooserentry.c:
        * gtk/gtkfilesystem.c:
        * gtk/gtkfilesystem.h:
        * gtk/gtkfilesystemmodel.c:
        * gtk/gtkpathbar.c: Really make GtkFileSystem private
        by _-prefixing all functions.


svn path=/trunk/; revision=20378
2008-06-13 16:47:41 +00:00
Hans Breuer
8677ed959d check surface status after ceating a pdf. Avoids crashing when the target
2008-05-23  Hans Breuer  <hans@breuer.org>

	* gtk/gtkprintoperation.c : check surface status after ceating a pdf.
	Avoids crashing when the target can not be written, bug #537685

	* gdk/win32/gdkdisplay-win32.c : runtime linking of ProcessIdToSessionId

	* gtk/gtkfilesystem.c : variadic macros are not supported with c89 and
	it was not needed here anyway.


svn path=/trunk/; revision=20370
2008-06-13 08:36:26 +00:00
Matthias Clasen
3dbfc1935f Add standard icon names, and also fall back to builtin gtk stock icons.
* gtk/gtkfilesystem.c (get_icon_for_special_directory):
        (gtk_file_system_volume_render_icon): Add standard icon names,
        and also fall back to builtin gtk stock icons.


svn path=/trunk/; revision=20350
2008-06-11 03:17:55 +00:00
Paolo Borelli
9d73677b5a do not leak the GIcon.
2008-06-10  Paolo Borelli  <pborelli@katamail.com>

	* gtk/gtkfilesystem.c (gtk_file_system_volume_render_icon): do not
	leak the GIcon.


svn path=/trunk/; revision=20346
2008-06-10 11:50:43 +00:00
Carlos Garnacho
640d68778a Bug 520874 - Should use gio directly.
2008-06-10  Carlos Garnacho  <carlos@imendio.com>

        Bug 520874 - Should use gio directly.

        * gtk/gtkfilesystem.[ch]: Turn into a private object, which mostly
        provides helper functions for asynchronous calls, folder abstraction
        and uniform handling of volumes/drives/mounts.

        * gtk/gtkfilesystemwin32.[ch]:
        * gtk/gtkfilesystemunix.[ch]: Removed, these are no longer required.

        * gtk/gtkfilechooser.c:
        * gtk/gtkfilechooserbutton.c:
        * gtk/gtkfilechooserdefault.c:
        * gtk/gtkfilechooserentry.[ch]:
        * gtk/gtkfilechooserprivate.h:
        * gtk/gtkfilechooserutils.c:
        * gtk/gtkfilesystemmodel.[ch]:
        * gtk/gtkpathbar.[ch]: Use GIO internally. Adapt to GtkFileSystem API.
        Do not load filesystem implementation modules.

        * gtk/Makefile.am:
        * gtk/gtk.symbols: the gtkfilesystem.h private header isn't installed
        anymore, nor the unix/win32 implementations.

        * README.in: Add blurb about these changes.

svn path=/trunk/; revision=20342
2008-06-10 00:39:35 +00:00
Tomas Bzatek
340205b955 Fix fallback icon rendering size
2008-04-08  Tomas Bzatek  <tbzatek@redhat.com> 

        * gtk/gtkfilesystem.c: (gtk_file_info_render_icon),
        (gtk_file_system_volume_render_icon):
        Fix fallback icon rendering size


svn path=/trunk/; revision=19982
2008-04-08 13:58:45 +00:00
Kristian Rietveld
87ae968f9e gtk/gtk.symbols rename _gtk_file_system_create to gtk_file_system_create
2007-06-13  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtk.symbols
	* gtk/gtkfilesystem.[ch]: rename _gtk_file_system_create to
	gtk_file_system_create to make it public and bring trunk back
	in sync with gtk-2-10.

	* gtk/gtkfilechooserdefault.c (set_file_system_backend): updated.


svn path=/trunk/; revision=18121
2007-06-13 13:51:07 +00:00
Matthias Clasen
82ce59cd0f Remove unnecessary NULL checks before g_free(). (#369666, Morten Welinder,
2007-03-09  Matthias Clasen <mclasen@redhat.com>

        * Everywhere: Remove unnecessary NULL checks before
        g_free().  (#369666, Morten Welinder, Djihed Afifi)

        * configure.in: Check for ftw.h



svn path=/trunk/; revision=17444
2007-03-09 21:57:37 +00:00
Matthias Clasen
70ae6a0e83 Apply a patch by Behdad Esfahbod to reduce relocations. (#359053)
2006-10-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/*.c, gdk/*.c: Apply a patch by Behdad Esfahbod to
        reduce relocations. (#359053)
2006-10-03 15:54:52 +00:00
Matthias Clasen
f45a35921a Commit a patch by Behdad to fix typos, omissions and other errors in the
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

        * Commit a patch by Behdad to fix typos, omissions and other
        errors in the symbol aliasing, and add checks for local PLT
        entries.  (#354687, Behdad Esfahbod)
2006-09-10 06:39:16 +00:00
Tor Lillqvist
3827704de6 Remove dead code. Reduce spurious differences between this file and
2006-08-23  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkfilesystemwin32.c: Remove dead code. Reduce spurious
	differences between this file and gtkfilesystemunix.c so that it
	is easier to compare them and check if differences are
	intentional. I will later factor out the common functions and code
	snippets from these two files.

2006-08-23  Tor Lillqvist  <tml@novell.com>

	Fix several problems with the file chooser on Windows, for
	instance prevent duplicated directory entries from appearing.

	* gtk/gtkfilesystem.c (gtk_file_paths_sort): Use
	_gtk_file_system_win32_path_compare() on Windows for casefolded
	sorting.

	* gtk/gtkfilesystemwin32.c (casefolded_hash, casefolded_equal):
	case-independent hash and equality functions. Scan the UTF-8
	strings gunichar by gunichar, and ignore special casing rules, to
	more closely match NTFS behaviour.
	(gtk_file_system_win32_init): Use casefolded_hash() and
	casefolded_equal() for the folder hash table.
	(remove_trailing_slash): Don't remove the slash of a drive or
	share root.
	(get_mime_type_for_file): Take also a WIN32_FILE_ATTRIBUTE_DATA as
	argument, and use that to recognize directories. Don't call
	g_file_test() to check for executables, just look at the file name
	extension directly.
	(gtk_file_system_win32_make_path): Check illegal chars in file
	name, like in gtkfilesystemunix.c.
	(create_file_info): Drop unused basename parameter. Call
	g_filename_display_name() directly for roots, as
	g_filename_display_basename() mishandles those.
	(gtk_file_folder_win32_get_info): Skip sanity check for now, as it
	fails for server share roots. Construct basename only in the if
	branch that uses it.
	(fill_in_names): Use casefolded_hash() and casefolded_equal() for
	the folder's stat_info hash table, too.
	(_gtk_file_system_win32_path_compare): Scan the strings gunichar
	by gunichar and ignore special casing here, too, instead of using
	g_utf8_casefold(). Match slash and backslash.
2006-08-23 01:34:53 +00:00
Matthias Clasen
fbf6339700 Do better fallbacks if the icon theme does not have icons. (#345666,
2006-08-15  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilesystem.c (gtk_file_info_render_icon)
	(gtk_file_system_volume_render_icon): Do better fallbacks
	if the icon theme does not have icons.  (#345666,
	Kazuki Iwamoto)
2006-08-15 17:28:34 +00:00
Matthias Clasen
2606a4eb79 Don't return values from void functions.
2006-05-22  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprinter.c (_gtk_printer_prepare_for_print)
	(_gtk_printer_get_settings_from_options)
	(_gtk_printer_request_details): Don't return values from void
	functions.

	* gtk/gtkrecentchooserutils.c (delegate_unselect_uri): Don't
	return a value from a void function.

	* gtk/gtkfilesystem.c (gtk_file_system_cancel_operation): Don't
	return a value from a void function.  Also, don't put
	semicolons behind G_DEFINE_TYPE. (#342543)
2006-05-22 12:53:13 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +00:00
Matthias Clasen
89b5cb6480 Make symbol list mstch reality.
2006-05-04  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtkfilesystem.c:
	* gtk/gtkfilesystemunix.c:
	* gtk/gtkprintbackend.h:
	* gtk/gtkrecentchooserdefault.c:
	* gtk/gtkrecentchooserdefault.h:
	* gtk/paper_names_offsets.c: Make symbol list mstch reality.

	* gtk/Makefile.am: Fix a typo.

	* gdk/x11/Makefile.am (EXTRA_DIST): Add gdksettings.c
2006-05-04 13:36:30 +00:00
Matthias Clasen
f26aad1916 Boilerplate reduction 2006-05-02 23:56:43 +00:00
Kristian Rietveld
2c97a8f6e8 Merge of the GTK+ asynchronous file chooser branch. Please see the
2006-05-01  Kristian Rietveld  <kris@imendio.com>

	Merge of the GTK+ asynchronous file chooser branch.  Please see
	the kris-asynch-branch for more detailed ChangeLog entries.

	* configure.in: increase binary version to 2.9.0.

	* gtk.symbols:
	* gtkfilechooser.c:
	* gtkfilechooserbutton.c:
	* gtkfilechooserdefault.c:
	* gtkfilechooserdialog.c:
	* gtkfilechooserembed.c:
	* gtkfilechooserembed.h:
	* gtkfilechooserentry.c:
	* gtkfilechooserentry.h:
	* gtkfilechooserprivate.h:
	* gtkfilesystem.c:
	* gtkfilesystem.h:
	* gtkfilesystemmodel.c:
	* gtkfilesystemmodel.h:
	* gtkfilesystemunix.c:
	* gtkpathbar.c:
	* gtkpathbar.h:
	Merge from kris-async-branch.
2006-05-01 21:41:12 +00:00
Matthias Clasen
8c8a4c89b8 No point in making the error path fast by caching quarks.
2006-04-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkrecentchooser.c (gtk_recent_chooser_error_quark):
        * gtk/gtkrecentmanager.c (gtk_recent_manager_error_quark):
        * gtk/gtkfilechooser.c (gtk_file_chooser_error_quark):
        * gtk/gtkfilesystem.c (gtk_file_system_error_quark):
        * gtk/gtkicontheme.c (gtk_icon_theme_error_quark): No point
        in making the error path fast by caching quarks.
2006-04-04 03:25:16 +00:00
Behdad Esfahbod
13bcd2c002 Return NULL instead of FALSE in g_return_val_if_fail in a
2006-03-31  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/gtkfilesystem.c (gtk_file_system_get_bookmark_label):
        * gtk/gtklinkbutton.c (gtk_link_button_new_with_label): Return NULL
        instead of FALSE in g_return_val_if_fail in a pointer-returning
        function. (#336764, Morten Welinder)
2006-04-01 00:25:00 +00:00
Matthias Clasen
1ebbe4d376 Copy the display_key as well. (#330389, Markku Vire)
2006-02-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilesystem.c (gtk_file_info_copy): Copy the display_key
	as well.  (#330389, Markku Vire)
2006-02-08 15:19:07 +00:00