Commit Graph

273 Commits

Author SHA1 Message Date
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
Michael Natterer
6f25f771c5 fix local prototype of _gtk_file_chooser_label_for_file() (takes a GFile,
2008-06-11  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkfilechooserbutton.c: fix local prototype of
	_gtk_file_chooser_label_for_file() (takes a GFile, not const gchar*).


svn path=/trunk/; revision=20352
2008-06-11 15:14:26 +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
Sven Neumann
845a4632d9 fixed a typo in the documentation of the GtkFileChooserButtons::file-set
2008-03-03  Sven Neumann  <sven@gimp.org>

	* gtk/gtkfilechooserbutton.c (G_DEFINE_TYPE_WITH_CODE): fixed a
	typo in the documentation of the GtkFileChooserButtons::file-set
	signal (see bug #353196).

svn path=/trunk/; revision=19696
2008-03-03 12:35:43 +00:00
Matthias Clasen
d5eb6847e5 Don't use guint8 for bitfields, since some compilers choke on that.
2007-11-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c:
        * gtk/gtktoolbar.c: Don't use guint8 for bitfields, since
        some compilers choke on that.  (#467722)


svn path=/trunk/; revision=19051
2007-11-26 17:10:00 +00:00
Michael Natterer
a5bebb2e7b remove useless member "has_title" from the private struct and simply set
2007-09-11  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkfilechooserbutton.c: remove useless member "has_title"
	from the private struct and simply set the default title in
	constructor() whenever we create a dialog or the supplied one has
	no title. Also accept RESPONSE_ACCEPT *and* RESPONSE_OK as
	affirmative responses and document that accordingly. Fixes bug
	#436576. Fixed all compiler warnings in the file.


svn path=/trunk/; revision=18796
2007-09-11 18:54:00 +00:00
Matthias Clasen
9046ebc9f1 Plug a memleak. (#455721, Christian Persch)
2007-07-16  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c (model_add_special_get_info_cb):
        Plug a memleak. (#455721, Christian Persch)



svn path=/trunk/; revision=18476
2007-07-16 15:30:43 +00:00
Xan Lopez
960b4fcd39 Remove extra braces.
svn path=/trunk/; revision=18174
2007-06-17 12:02:44 +00:00
Xan Lopez
ee0411ae72 Update changelog
svn path=/trunk/; revision=18173
2007-06-17 12:02:42 +00:00
Matthias Clasen
232f30f1ba Use g_get_user_special_dir() to obtain the path for the DESKTOP directory.
2007-06-06  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c (model_add_special):
        * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop):
        * gtk/gtkfilesystemunix.c (get_icon_name_for_directory):
        * gtk/gtkpathbar.c (_gtk_path_bar_set_file_system):
        Use g_get_user_special_dir() to obtain the path for the
        DESKTOP directory.

svn path=/trunk/; revision=18070
2007-06-07 04:23:10 +00:00
Matthias Clasen
b8673de8cd Handle the row reference path being NULL. (#410565, Joe Markus Clarke,
2007-03-12  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c (change_icon_theme_get_info_cb):
        Handle the row reference path being NULL.  (#410565, Joe Markus
        Clarke, patch by Chris Wilson)

svn path=/trunk/; revision=17487
2007-03-12 04:09:25 +00:00
Mariano Suárez-Alvarez
0b0746e44d Add a file-set signal to the filechooser button. Bug 353196.
2006-12-26  Mariano Suárez-Alvarez  <mariano@gnome.org>

	* gtk/gtkfilechooserbuuton.[hc]: Add a file-set signal to the
	filechooser button. Bug 353196.
2006-12-26 22:20:06 +00:00
Matthias Clasen
2dc9ec7c43 Allow any GtkDialog that implements GtkFileChooser as dialog. (#335473,
2006-12-20  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new_with_dialog):
        Allow any GtkDialog that implements GtkFileChooser as
        dialog.  (#335473, Tommi Komulainen)
2006-12-20 19:02:21 +00:00
Matthias Clasen
07e7719441 Apply a cleanup patch by Kjartan Maraas (#341812)
2006-10-08  Matthias Clasen  <mclasen@redhat.com>

	* Apply a cleanup patch by Kjartan Maraas  (#341812)
2006-10-08 05:07:55 +00:00
Matthias Clasen
1077a08e5d Protect against base_path being NULL. (#358405, many reporters)
2006-09-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c (update_combo_box): Protect
        against base_path being NULL.  (#358405, many reporters)
2006-09-30 13:30:55 +00:00
Matthias Clasen
6323f98da8 make it build 2006-09-22 17:48:57 +00:00
Matthias Clasen
09f461b01e Make remote bookmarks work better (#354887)
2006-09-22  Matthias Clasen  <mclasen@redhat.com>

	Make remote bookmarks work better (#354887)

	* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons):
	(shortcuts_insert_path):
	* gtk/gtkfilechooserbutton.c (change_icon_theme):
	(model_add_bookmarks):
	(model_update_current_folder):
	(update_label_and_image):
	If the bookmark points to a remote file, don't call get_info(),
	since that may a) take a long time and b) pop up an auth dialog.
	Instead, just use a folder icon and create a display name
	from the uri.

	* gtk/gtkfilechooserdefault.c (_gtk_file_chooser_label_for_uri):
	New function to create a suitable display name for a remote
	uri. This should really be done in GtkFileSystem.
2006-09-22 16:11:04 +00:00
Matthias Clasen
ec62ff149d Use bookmark labels in the combobox.
2006-09-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c: Use bookmark labels in
	the combobox.
2006-09-17 04:20:43 +00:00
Matthias Clasen
993e1a1e76 Don't add remote volumes and bookmarks to the model in local-only mode, to
2006-09-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c: Don't add remote volumes and
	bookmarks to the model in local-only mode, to avoid
	authentication dialogs pop up for invisible bookmarks, and
	to fix issues with separators not being hidden when
	they should.  (#354887, Dennis Cranston)
2006-09-17 03:34:17 +00:00
Matthias Clasen
e7d8f0575c Request the display name too, otherwise "Desktop" does not appear in the
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (model_add_special): Request
	the display name too, otherwise "Desktop" does not appear
	in the file chooser button.
2006-09-11 02:39:26 +00:00
Kristian Rietveld
254b684e4c First part of file chooser fixes.
2006-09-02  Kristian Rietveld  <kris@imendio.com>

	First part of file chooser fixes.

	* gtk/gtkfilechooserbutton.c (model_add_special): also set the
	handle in the model for the desktopdir case.

	* gtk/gtkfilechooserdefault.c (shortcuts_add_current_folder): free
	volume in case we retrieved it but don't pass it on to insert_path,
	(shortcuts_model_create): change the column type for the handles
	to pointer instead of GObject so our handle ref counting is not
	disturbed,
	(show_and_select_paths_finished_loading): don't forget to unref
	the dialog.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_class_init),
	(gtk_file_system_unix_init), (gtk_file_system_unix_dispose):
	remove pending execute_callbacks_idle during dispose, also
	execute all callbacks waiting to be run in the next idle,
	(queue_*callback), (execute_callbacks_idle): refactor to maintain
	a list of callbacks to call per file system instead of globally,
	guard the file system during callback invocation,
	(gtk_file_system_unix_get_folder): only add load folder idle if
	none has been added yet.
2006-09-02 14:26:12 +00:00
Matthias Clasen
23b37da67d Handle the case where the filechooser button is destroyed quickly.
2006-08-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (set_info_get_info_cb)
	(model_add_special_get_info_cb): Handle the case where the
	filechooser button is destroyed quickly.
2006-08-17 04:42:27 +00:00
Matthias Clasen
8e552c4144 Fix some memory handling issues. (#347043, Chris Wilson)
2006-07-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c: Fix some memory handling
	issues.  (#347043, Chris Wilson)
2006-07-10 16:51:52 +00:00
Matthias Clasen
a6497203fd Fix a small leak 2006-07-09 00:44:15 +00:00
Matthias Clasen
dbecb7995f Get the display name for the home directory. (#346498, Dennis Cranston,
2006-07-06  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c: Get the display name
        for the home directory.  (#346498, Dennis Cranston,
        patch by Andreas Köhler)
2006-07-06 22:09:49 +00:00
Matthias Clasen
f8794cccca Improve consistency of signal and property names 2006-07-06 05:14:03 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +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
Murray Cumming
5cb13a7512 _GtkFileChooserButtonPrivate: Added has_title flag so we can remember
2006-04-19  Murray Cumming  <murrayc@murrayc.com>

        * gtk/gtkfilechooserbutton.c: _GtkFileChooserButtonPrivate:
        Added has_title flag so we can remember whether a title has
        been set.
        (gtk_file_chooser_button_constructor): If no title has been
        set then set it to the default title. This means that the
        default title will be used if the dialog was instantiated with
        g_object_new(), without using the gtk_file_chooser_button_new()
        convenience function. This helps language bindings.
        (gtk_file_chooser_button_set_property): Set has_title when
        setting the title.
2006-04-19 17:21:55 +00:00
Matthias Clasen
78d9ea1ddc Don't put relevant callss in g_assert(). (#329876, Kristian Rietveld)
2006-02-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c: Don't put relevant callss
	in g_assert().  (#329876, Kristian Rietveld)
2006-02-08 19:35:08 +00:00
Matthias Clasen
82b5d16dd6 And free the string... 2006-01-06 21:54:09 +00:00
Matthias Clasen
fd96117f72 Just use the directory name for the home dir. (#325817, Federico Mena
2006-01-06  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (model_add_special): Just use the
	directory name for the home dir.  (#325817, Federico Mena Quintero)
2006-01-06 21:49:59 +00:00
Matthias Clasen
0ce29ee614 Add a focus-on-click property with setter and getter. (#318945, Christian
2005-11-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtkfilechooserbutton.h:
	* gtk/gtkfilechooserbutton.c: Add a focus-on-click property
	with setter and getter.  (#318945, Christian Persch)
2005-11-07 15:57:19 +00:00
Matthias Clasen
60ec536ce3 Doc updates 2005-10-26 19:10:08 +00:00
Federico Mena Quintero
cca9302927 Fixes bug #317999:
2005-10-07  Federico Mena Quintero  <federico@ximian.com>

	Fixes bug #317999:

	* tests/autotestfilechooser.c (test_reload_sequence): Ensure that
	the the result of gtk_file_chooser_get_folder() is NULL or
	non-NULL at the right times.  Log the tests.
	(test_button_folder_states): New test for the initial states of
	the current folder in GtkFileChooserButton.
	(main): Test that the number of warnings/errors/critical errors is
	zero.

	* gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder):
	Clarify the documentation on when this can return NULL.
	(gtk_file_chooser_get_current_folder_uri): Likewise.

	* gtk/gtkfilechooserbutton.c (struct
	_GtkFileChooserButtonPrivate): Added a folder_has_been_set flag;
	we use it to keep track of whether a folder has been set.
	(gtk_file_chooser_button_map):  Implement.  If no folder has been
	loaded before, we at least try to load $cwd here.
	(gtk_file_chooser_button_constructor): If the construct-time
	dialog already has a folder set, turn on our folder_has_been_set
	flag.
	(dialog_current_folder_changed_cb): Turn on our
	folder_has_been_set flag.
2005-10-07 19:54:32 +00:00
Matthias Clasen
463aab93dd Various cleanups. (#315360, Kjartan Maraas)
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)
2005-09-13 19:57:42 +00:00
Matthias Clasen
313b8ffabf Handle pixbuf being NULL without warnings. Also, don't leak pixbuf
2005-08-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (change_icon_theme)
	(model_add_special, model_add_special, model_add_volumes):
	Handle pixbuf being NULL without warnings. Also, don't
	leak pixbuf references when the icon theme is changed.
2005-08-19 18:21:31 +00:00
Matthias Clasen
6f74e05c5a Add GTK_FILE_CHOOSER_PROP_DO_OVERWRITE_CONFIRMATION.
2005-07-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_[sg]et_property):
	Add GTK_FILE_CHOOSER_PROP_DO_OVERWRITE_CONFIRMATION.
2005-07-20 17:55:49 +00:00
Matthias Clasen
ae1e9866d0 Free the data of the row before overwriting it. (#307490, Kjartan Maraas)
2005-06-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (model_update_current_folder):
	Free the data of the row before overwriting it.  (#307490,
	Kjartan Maraas)
2005-06-13 13:50:49 +00:00
Kjartan Maraas
471b638bd3 Merge leak fix from stable. Bug 306754.
2005-06-07  Kjartan Maraas  <kmaraas@gnome.org>

	* gtk/gtkfilechooserbutton.c: (update_label_and_image):
	Merge leak fix from stable. Bug 306754.
2005-06-07 21:24:19 +00:00
Matthias Clasen
116c3e66af Handle the Cancel button properly. (#304234, Sven Neumann)
2005-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (dialog_response_cb): Handle the
	Cancel button properly.  (#304234, Sven Neumann)
2005-05-18 20:34:30 +00:00
Matthias Clasen
382fa5c382 Make sure the action of the button and the dialog are in sync, when the
2005-05-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_constructor):
	Make sure the action of the button and the dialog are in sync,
	when the dialog is provided by the app.  (#303987, David A Knight)
2005-05-16 21:07:16 +00:00
Matthias Clasen
4c28ce0877 Use canonical names for g_object_notify() as well.
2005-03-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/*.c:
	* gdk/gdkdisplaymanager.c:
	Use canonical names for g_object_notify() as well.
2005-03-26 05:49:15 +00:00
Matthias Clasen
340cf63e28 Remove a call whose result was unused and leaked. (#170776, Kjartan
2005-03-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (update_combo_box): Remove
	a call whose result was unused and leaked.  (#170776,
	Kjartan Maraas)
2005-03-23 14:07:21 +00:00
Matthias Clasen
269d89c79c Define macros GTK_PARAM_READABLE, GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE
2005-03-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprivate.h: Define macros GTK_PARAM_READABLE,
	GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE which are like
	their G_ counterparts, but also mark the name, nick
	and blurb as static.

	* gtk/*.c: Mark param spec strings as static, using
	the new macros.
2005-03-22 02:14:55 +00:00
Matthias Clasen
cca8dd6347 Make PLT-reduction work with gcc4, and don't include everything in
2005-03-20  Matthias Clasen  <mclasen@redhat.com>

	Make PLT-reduction work with gcc4, and don't include
	everything in gdkalias.h:

	* gtk/grk.symbols: Group symbols by header and source file.
	* gtk/makegtkalias.pl: Protect definitions by the same
	preprocessor symbols used to guard the headers. Move
	the alias declarations to a separate file which is
	produced when calling makegtkalias.pl -def
	* gdk/Makefile.am (gtkaliasdef.c): Add a rule to generate
	this file.
	* gtk/*.c: Include gtkalias.h after the other headers,
	include gtkaliasdef.c at the bottom.
	* gtk/*.h: Small cleanups.
2005-03-20 07:01:23 +00:00
Matthias Clasen
1c10200c25 Complete the fix for #165770, Vincent Untz:
2005-02-11  Matthias Clasen  <mclasen@redhat.com>

	Complete the fix for #165770, Vincent Untz:

	* gtk/gtkfilechooserbutton.c (FALLBACK_ICON_SIZE): Make the
	fallback size be 16, to be equal to the default for
	GTK_ICON_SIZE_MENU (in gtkiconfactory.c:init_icon_sizes()).
	(gtk_file_chooser_button_init):
	(change_icon_theme): Use GTK_ICON_SIZE_MENU instead of
	GTK_ICON_SIZE_SMALL_TOOLBAR.
2005-02-11 06:17:16 +00:00
James M. Cape
977a557a67 Use default title if NULL is passed.
2005-01-06  James M. Cape  <jcape@ignore-your.tv>

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new)
	(gtk_file_chooser_button_new_with_backend): Use default title if
	NULL is passed.

	* docs/reference/gtk/tmpl/gtkfilechooserbutton.sgml: Make examples
	match API.
2005-01-06 06:25:30 +00:00
Matthias Clasen
27c23e4dd5 Don't add a shortcut here. (#162752, Tor Lillqvist)
2005-01-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_remove_shortcut_folder):
	Don't add a shortcut here.  (#162752, Tor Lillqvist)
2005-01-03 04:26:33 +00:00
Tor Lillqvist
c668f46d9e 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().
2005-01-02 23:15:21 +00:00
Matthias Clasen
6b62d82581 2.6.0 second try 2004-12-16 19:13:58 +00:00
Matthias Clasen
6cd1c58c92 Only unblock the handlers if they are blocked.
2004-12-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (dialog_response_cb): Only unblock the handlers
	if they are blocked.
2004-12-16 14:18:52 +00:00
Matthias Clasen
860228fa36 Don't crash if enable_search is FALSE. (#161267, Jorn Baayen)
2004-12-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search): Don't
	crash if enable_search is FALSE.  (#161267, Jorn Baayen)

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_mnemonic_activate):
	Re-fix #152925, reported by Dennis Cranston.
2004-12-16 13:33:43 +00:00
Matthias Clasen
521c21e0a3 Add missing includes.
2004-12-15  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c: Add missing includes.
2004-12-16 04:57:18 +00:00
James M. Cape
b418bf3aa4 Use a GtkComboBox in SELECT_FOLDER mode (#157726).
2004-12-15  James M. Cape  <jcape@ignore-your.tv>

        * gtk/gtkfilechooserbutton.c (struct _GtkFileChooserButtonPrivate)
        (gtk_file_chooser_button_init)
        (gtk_file_chooser_button_file_chooser_iface_init)
        (gtk_file_chooser_button_add_shortcut_folder)
        (gtk_file_chooser_button_remove_shortcut_folder)
        (gtk_file_chooser_button_constructor)
        (gtk_file_chooser_button_set_property)
        (gtk_file_chooser_button_destroy)
        (gtk_file_chooser_button_finalize)
        (get_icon_theme) (get_display_name_for_path) (model_get_type_position)
        (model_free_row_data) (model_add_special) (model_add_other)
        (model_add_volumes) (model_add_bookmarks)
        (model_update_current_folder) (model_remove_rows)
        (filter_model_visible_func) (combo_box_row_separator_func)
        (name_cell_data_func) (update_combo_box) (fs_volumes_changed_cb)
        (fs_bookmarks_changed_cb) (combo_box_changed_cb)
        (change_icon_size): Use a GtkComboBox in SELECT_FOLDER mode (#157726).

        * gtk/gtkfilechooserbutton.c:
        * gtk/gtkfilechooserbutton.h (gtk_file_chooser_button_new)
        (gtk_file_chooser_button_new_with_backend): Add @action to constructors
        to match other GtkFileChooser impls. API CHANGE.

        * docs/tools/widgets.c (create_file_button):
        * tests/testfilechooserbutton.c (main): Update callers.

        * docs/reference/gtk/tmpl/gtkfilechooserbutton.sgml: Reflect API
        change.

        * tests/testfilechooserbutton.c: Add LGPL license.
        (main): Added GOption parser for --backend and --right-to-left cmd line
        args.
        (add_pwds_parent_as_shortcut_clicked_cb)
        (del_pwds_parent_as_shortcut_clicked_cb) (tests_button_clicked_cb):
        Add shortcut_folders test.
        (chooser_current_folder_changed_cb) (chooser_selection_changed_cb)
        (chooser_file_activated_cb) (chooser_update_preview_cb): Print URIS,
        not filenames.
2004-12-15 14:58:39 +00:00
James M. Cape
1b45c64014 removed "GtkFileChooserButton:active" property and getter/setter.
2004-11-30  James M. Cape  <jcape@ignore-your.tv>

        * gtk/gtkfilechooserbutton.h (gtk_file_chooser_button_get_active)
        (gtk_file_chooser_button_set_active):
        * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_class_init)
        (gtk_file_chooser_button_get_active)
        (gtk_file_chooser_button_set_active):
        * docs/reference/gtk/gtk-sections.txt:
        * docs/reference/gtk/tmpl/gtkfilechooserbutton.sgml:
        * gtk/gtk.symbols: removed "GtkFileChooserButton:active" property and
        getter/setter.

        * gtk/gtkfilechooserbutton.c (struct _GtkFileChooserButtonPrivate)
        (button_toggled_cb) (dialog_response_cb) (button_notify_active_cb)
        (gtk_file_chooser_button_init) (button_clicked_cb)
        (gtk_file_chooser_button_show): Use a GtkButton instead of a
        GtkToggleButton.
        (struct _GtkFileChooserButtonPrivate)
        (gtk_file_chooser_button_destroy) (gtk_file_chooser_button_style_set)
        (gtk_file_chooser_button_screen_changed): Don't bother with the
        (remove_settings_signal) (settings_notify_cb) (check_icon_theme):
        Don't use GtkSettings at all, just call change_icon_theme() directly.
        (struct _GtkFileChooserButtonPrivate)
        (gtk_file_chooser_button_init)
        (gtk_file_chooser_button_drag_data_received)
        (gtk_file_chooser_button_mnemonic_activate)
        (gtk_file_chooser_button_set_width_chars)
        (gtk_file_chooser_button_get_width_chars)
        (entry_changed_cb) (update_idler) (update_entry) (update_dialog)
        (dialog_selection_changed_cb) (dialog_response_cb)
        (entry_size_allocate_cb): Remove all references to the now-defunct
        entry, store the old path (to support "Cancel") in an instance member.
        (update_label_and_image) (update_label) (update_image)
        (gtk_file_chooser_button_init) (dialog_response_cb)
        (dialog_selection_changed_cb): Merge label/image updates, only display
        the filename (not the whole path, fixes #157725).
        (struct _GtkFileChooserButtonPrivate)
        (dialog_selection_changed_cb)
        (dialog_selection_changed_proxy_cb): Merge "selection-changed"
        handlers, block while dialog is visible (fixes #158482).

        * tests/testfilechooserbutton.c (delete_event_cb)
        (properties_button_clicked_cb) (print_selected_path_clicked_cb)
        (tests_button_clicked_cb) (main): Add per-chooser "tests" window,
        don't delete on WM close, update properties_button_clicked_cb()
        "delete-event" callback.
2004-11-30 21:06:48 +00:00
Manish Singh
60b30ff513 gdk/linux-fb/gdkgc-fb.c gdk/win32/gdkgc-win32.c
Fri Nov 19 14:54:09 2004  Manish Singh  <yosh@gimp.org>

        * gdk/linux-fb/gdkgc-fb.c
        * gdk/win32/gdkgc-win32.c
        * gdk/win32/gdkwindow-win32.c
        * gtk/gtkaboutdialog.c
        * gtk/gtkaction.c
        * gtk/gtkactiongroup.c
        * gtk/gtkcellrendererprogress.c
        * gtk/gtkcellview.c
        * gtk/gtkcolorbutton.c
        * gtk/gtkcombobox.c
        * gtk/gtkcomboboxentry.c
        * gtk/gtkentrycompletion.c
        * gtk/gtkfilechooserbutton.c
        * gtk/gtkmenutoolbutton.c
        * gtk/gtkrc.c
        * gtk/gtksettings.c
        * gtk/gtkstyle.c
        * gtk/gtktoggletoolbutton.c
        * gtk/gtktoolbutton.c
        * gtk/gtktoolitem.c
        * gtk/gtktreemodelfilter.c
        * gtk/gtktreeselection.c
        * gtk/gtktreeviewcolumn.c
        * gtk/gtkuimanager.c: get rid of unnecessary casts.

        * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_set_property):
        cast away the const for g_value_set_enum. This is after the g_warning,
        so this is a hack to begin with.

        * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_set_property):
        add a cast to GTK_FILE_CHOOSER for impl here.
2004-11-19 23:18:38 +00:00
Jonathan Blandford
7b1c2c1bea return FALSE instead of TRUE. This is just a quick fix to prevent the idle
Thu Nov 11 11:34:32 2004  Jonathan Blandford  <jrb@redhat.com>

        * gtk/gtkfilechooserbutton.c (update_idler): return FALSE instead
        of TRUE.  This is just a quick fix to prevent the idle from
        looping indefinitely.
2004-11-11 16:46:14 +00:00
Matthias Clasen
384b1c4886 Remove debugging printfs.
2004-11-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (update_idler): Remove debugging
	printfs.
2004-11-10 03:13:43 +00:00
Matthias Clasen
48afbb90e0 Add uri targets before text targets, to make file dnd work better.
2004-11-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_init): Add
	uri targets before text targets, to make file dnd work
	better.  (#157651, Christian Persch)
2004-11-08 17:43:52 +00:00
Matthias Clasen
52a7d49bcb Don't support CREATE_FOLDER and SAVE for now. UI authorities object to it.
2004-11-06  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_set_property):
	Don't support CREATE_FOLDER and SAVE for now. UI authorities
	object to it.  (#157384, Seth Nickell)
2004-11-07 04:57:04 +00:00
James M. Cape
3eb76c0940 Don't mysteriously go to the parent dir when hitting "Cancel" in folder
2004-11-03  James M. Cape  <jcape@ignore-your.tv>

        * gtk/gtkfilechooserbutton.c (update_dialog), (dialog_response_cb):
        Don't mysteriously go to the parent dir when hitting "Cancel" in
        folder mode (fixes #156971).
2004-11-03 10:26:18 +00:00
Matthias Clasen
1a8de55702 Fix a doc comment.
2004-11-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_class_init):
	Fix a doc comment.
2004-11-02 05:40:33 +00:00
Matthias Clasen
63360de5e1 Move some docs inline.
2004-11-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tmpl/gtkfilechooserbutton.sgml: Move some docs inline.
2004-11-01 20:20:25 +00:00
Matthias Clasen
d81632108c Add missing includes. (#156503, Kazuki IWAMOTO)
2004-10-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmessagedialog.c:
	* gtk/gtkfilechooserbutton.c: Add missing includes.  (#156503, Kazuki IWAMOTO)
2004-10-26 20:06:18 +00:00
James M. Cape
ede3c39918 Rework of GtkFileChooserButton, some cleanups. Fixes #154388, #154390,
2004-10-25  James M. Cape  <jcape@ignore-your.tv>

	Rework of GtkFileChooserButton, some cleanups. Fixes #154388,
	#154390, #154390, #156272.

	* docs/reference/gtk/gtk-docs.sgml: Moved GtkFileChooserButton
	below GtkFileChooser.
	* docs/reference/gtk/gtk-sections.txt: Added
	gtk_file_chooser_button_get_width_chars(),
	gtk_file_chooser_button_set_width_chars(),
	gtk_label_set_width_chars(), gtk_label_get_width_chars().
	* docs/reference/gtk/gtk.types: Added
	gtk_cell_renderer_combo_get_type,
	gtk_cell_view_get_type,
	gtk_text_iter_get_type.
	* docs/reference/gtk/tmpl/gtkaboutdialog.sgml: Add
	"logo-icon-name" property.
	* docs/reference/gtk/tmpl/gtkcellview.sgml: Updates for
	properties
	(b/c of get_type() inclusion above).
	* docs/reference/gtk/tmpl/gtkfilechooserbutton.sgml:
	* docs/reference/gtk/tmpl/gtklabel.sgml: Add "width-chars"
	property,
	getters/setters.
	* docs/reference/gtk/tmpl/gtkcellrenderercombo.sgml: Added.
	* gtk/gtkentrycompletion.c:
	(_gtk_entry_completion_popdown): Don't show if the entry isn't
	mapped.
	* gtk/gtkfilechooserbutton.[c,h]: (*): About 45%
	rewritten, adds "width-chars" property, icons, working save
	modes, volume/Home/Desktop friendly-naming support.
	* gtk/gtklabel.[c,h]:
	(gtk_label_class_init), (gtk_label_init),
	(gtk_label_get_property), (gtk_label_set_property),
	(gtk_label_get_width_chars), (gtk_label_set_width_chars),
	(gtk_label_size_request): Add "width-chars" property.
	* tests/testfilechooserbutton.c: Update, use 4 different buttons
	for the different ACTIONs.
	* gtk/.cvsignore: Ignore gtk-update-icon-cache.
	* tests/.cvsignore: Ignore testimage.
2004-10-26 04:29:56 +00:00
Matthias Clasen
a811584d01 Use the new file DND api.
2004-10-22  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_drag_data_received)
	(gtk_file_chooser_button_init): Use the new file DND api.

	* gtk/gtkdnd.h:
	* gtk/gtkdnd.c (gtk_drag_dest_add_uri_targets)
	(gtk_drag_source_add_uri_targets):

	* gtk/gtkselection.h:
	* gtk/gtkselection.c (gtk_target_list_add_uri_targets):
	(gtk_selection_data_set_uris):
	(gtk_selection_data_get_uris): New functions to allow
	handling file DND "without knowing jack shit".

	* configure.in: Bump glib requirement to 2.5.4.

	* gtk/gtkfilechooserdefault.c (shortcuts_drop_uris): Use
	g_uri_list_extract_uris().
2004-10-22 22:50:32 +00:00
Matthias Clasen
542a674e7c 2.5.3 2004-09-19 05:40:00 +00:00
Matthias Clasen
350559dea8 Remove leftover debug code.
2004-09-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): Remove
	leftover debug code.

	Improve the behaviour of the file chooser in save mode. Fixes bugs
	#151031, #151608, #151994 reported by Owen Taylor and Alexander
	Larsson.

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_set_property):
	(location_entry_create): Propagate the action to the file
	chooser entries.
	(gtk_file_chooser_default_should_respond): Switch folders if
	the user enters a directory name in the entry and clear the entry
	after switching folders.
	(gtk_file_chooser_default_should_respond, shortcuts_row_activated_cb):
	Move focus to the file list when activating a shortcut.
	(gtk_file_chooser_default_should_respond): Handle the case where the
	user clicks on "Save" after selecting a folder in the file list.

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_set_property):
	Propagate the action to the file chooser entries.

	* gtk/gtkfilechooserentry.h:
	* gtk/gtkfilechooserentry.c (_gtk_file_chooser_entry_set_action):
	(_gtk_file_chooser_entry_get_action): New functions to propagate
	the GtkFileChooserAction of the file chooser to the file chooser
	entry.
	(check_completion_callback): If we are in save mode, only do
	inline completion for directories.
2004-09-17 18:13:26 +00:00
Matthias Clasen
951e6a1eb9 Protect the unistd.h include by HAVE_UNISTD_H.
2004-09-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilesystemunix.c:
	* gtk/gtkfilechooserbutton.c: Protect the unistd.h include
	by HAVE_UNISTD_H.
2004-09-01 16:42:09 +00:00
Matthias Clasen
5210bf17c6 Make it compile.
2004-08-30  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_delete_surrounding_handler): Make it compile.

2004-08-27  Matthias Clasen  <mclasen@redhat.com>

	Fix #151112, Olexiy Avramchenko:

	* gtk/gtktreeview.c (gtk_tree_view_search_entry_flush_timeout):
	* gtk/gtkiconview.c (scroll_timeout, layout_callback)
	(gtk_icon_view_item_accessible_idle_do_action):
	* gtk/gtkcombobox.c (list_popup_resize_idle, popdown_idle)
	(popup_idle): Protect idle callbacks and timeouts with
	GDK_THREADS_ENTER/_LEAVE.

	* gtk/gtkfilechooserbutton.c (update_dialog_idle): New function to
	call update_dialog() from an idle with the necessary protection.
2004-08-30 13:16:39 +00:00
Matthias Clasen
3cc0ae605a Use g_message() throughout, add RTL envar for rtl testing.
2004-08-17  Matthias Clasen  <mclasen@redhat.com>

	* tests/testfilechooserbutton.c: Use g_message() throughout, add RTL envar for
	rtl testing.

	* gtk/gtkfilechooserbutton.c: Get rid of HAVE_CONFIG_H.
	(gtk_file_chooser_button_init): Use gtk_drag_dest_add_text_targets().
	(gtk_file_chooser_button_drag_data_received): Use gtk_selection_data_get_text().
	(gtk_file_chooser_button_set_dialog): _gtk_file_chooser_entry_set_base_folder()
	seems to expect a path, not an uri.
	(update_dialog): Handle g_filename_from_uri() returning NULL, don't free
	info if it is NULL.

	* gtk/gtkfilechooserbutton.h: Minor stylistic changes.
2004-08-17 16:52:04 +00:00
Matthias Clasen
a3aa10e5a6 New widget to go along with GtkFontButton and GtkColorButton for use in
2004-08-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.[hc]: New widget to go along with
	GtkFontButton and GtkColorButton for use in preference dialogs.
	Replaces GnomeFileEntry.  (#148108, James M. Cape)

	* gtk/gtk.h: Include gtkfilechooserbutton.h

	* gtk/Makefile.am (gtk_public_h_sources): Add gtkfilechooserbutton.h
	(gtk_c_sources): Add gtkfilechooserbutton.c

	* gtk/gtk.symbols: Add the GtkFileChooserButton symbols.

	* gtk/gtkfilechooserutils.[hc]: Make the delegate quark available.

	* gtk/gtkfilechooserentry.[hc] (_gtk_file_chooser_entry_new): Allow
	to suppress tab-eating using the new eat_tabs argument. Adjust all
	callers.

	* tests/testfilechooserbutton.c: Test for GtkFileChooserButton.

	* tests/Makefile.am (noinst_PROGRAMS): Add testfilechooserbutton
2004-08-17 16:06:39 +00:00