Commit Graph

241 Commits

Author SHA1 Message Date
Federico Mena Quintero
67f5e595a7 filechooserbutton: Don't show the (None) item when the combo box is popped up
This is surprisingly tricky, since the (None) item *has* to be a visible item while
the combo box is *not* popped up, so that it can show its contents.  But the item
has to be *not* visible when the combo box is popped up.

Also, update the whole button's selection, not just the underlying dialog's, when
the combo box changes its selection - based on a patch by Paul Davis in
https://bugzilla.gnome.org/show_bug.cgi?id=691040#c20

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-03-07 20:45:58 -06:00
Federico Mena Quintero
1074aa0c49 filechooserbutton: In SELECT_FOLDER, when the selection is empty, show (None) in the combo box
We do this by adding a new row type, ROW_TYPE_EMPTY_SELECTION.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-03-07 20:45:58 -06:00
Federico Mena Quintero
bbf915118b filechooserbutton: Update the button/combo at construction time
This way the internal labels will show the correct selection even if nothing
has been selected programmatically.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-03-07 20:45:58 -06:00
Federico Mena Quintero
32aa7f0582 filechooserbutton: Update the button/combo whenever the selection is changed programmatically
We didn't change it when the file chooser button's dialog was inactive, and so
the actual file chooser button would not visually reflect the current selection.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-03-07 20:45:58 -06:00
Federico Mena Quintero
cc75ebec15 filechooserbutton: Test that the expected filename is shown
We do some gymnastics to pull the string out of the GtkButton or the GtkComboBox that is
being used in GtkFileChooserButton to show the current selection when the dialog
is inactive - namely, we look for the subwidget with the correct ATK role, and pull its
accessible name.

Currently the test fails; this is https://bugzilla.gnome.org/show_bug.cgi?id=691040#c18

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-03-07 20:45:58 -06:00
Federico Mena Quintero
a89d420270 filechooser: Use _gtk_file_has_native_path() throughout when testing for local_only
In the case of checking for local_only, g_file_is_native() is not useful, since it
will return FALSE for something in a FUSE mount.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-03-05 17:17:42 -06:00
Federico Mena Quintero
a46976fb79 Merge branch 'origin/master' into places-sidebar 2013-02-27 10:29:35 -06:00
Federico Mena Quintero
1708ae3f1a filechooserbutton: Don't ever use gtk_file_chooser_get_files()
The file chooser button only supports single-selection modes, so
switch the code to a simpler gtk_file_chooser_get_file() to avoid
dealing with GSLists of a single file.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-02-21 18:52:39 -06:00
Federico Mena Quintero
158d74d257 filechooserbutton: Don't emit file-set signal when the change is not the result of a user action
We only emit that signal when the user confirms the button's internal GtkFileChooserDialog,
or when he drags-and-drops stuff into the button.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-02-20 20:13:03 -06:00
Federico Mena Quintero
936045e82b Merge branch 'master' into places-sidebar
Conflicts:
	docs/reference/gtk/gtk-docs.sgml
	gtk/gtkfilechooserdefault.c
	gtk/org.gtk.Settings.FileChooser.gschema.xml
2013-02-13 20:37:36 -06:00
Federico Mena Quintero
c8403f697e filechooserbutton: In SELECT_FOLDER mode, consider an empty selection to mean current_folder
If the user didn't explicitly select anything, BUT the file chooser button has
a current_folder set, do the same as what GtkFileChooserDefault would do:
return the current folder as the selection.

This makes the tests in tests/filechooser pass!

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-02-13 18:01:39 -06:00
Federico Mena Quintero
90a034d800 filechooserbutton: Keep track of the current_folder while the dialog is inactive
This is analogous to keeping the selection while the dialog is inactive.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-02-13 18:01:39 -06:00
Federico Mena Quintero
cf921c353b filechooserbutton: Restore to an empty previous selection properly
If no file was originally selected in the GtkFileChooserButton, then its
internal dialog is brought up and cancelled, then we need to restore the
selection back to none.  GtkFileChooser, though, doesn't like to
select a NULL file, so call _unselect_all() in that condition.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-02-13 18:01:39 -06:00
Federico Mena Quintero
8f6fea1384 filechooserbutton: Fix preserving the selection after cancelling the dialog
The button's underlying file chooser dialog should not be used to store the file selection
while the dialog is unmapped.  Instead, the file chooser button now stores the
selection itself.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-02-13 18:01:39 -06:00
Federico Mena Quintero
cef1465e88 filechooserbutton: Simplify the code to preserve the selection while the dialog is running
It used to fetch a possibly multiple selection from the GtkFileChooserDialog, and then
pick just the first item from the selection list.  But since GtkFileChooserButton
operates in single-selection mode only, it can simply use gtk_file_chooser_get_file()
instead.

Also, the right way to reset the selection for GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER
is with gtk_file_chooser_select_file(), not with _set_current_folder_file().

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-02-13 18:01:39 -06:00
Federico Mena Quintero
7df00df6b6 filechooserbutton: Don't set a starting folder in the underlying dialog
Let the dialog decide by itself.
2013-02-13 18:01:39 -06:00
Philip Withnall
ceb866dfe6 Bug 595615 — Use proper ellipses
Use ‘…’ instead of ‘...’ in translatable strings.

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=595615
2012-11-26 08:59:27 +00:00
Federico Mena Quintero
06bfe5bd43 Make GtkFileChooserButton use GtkBookmarksManager
It's unfortunate that now we have two instances of the bookmarks manager
for each GtkFileChooserButton; one for the button itself and one for the
underlying GtkFileChooserDefault.  We may refactor that in the future.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2012-09-03 20:42:36 -05:00
Sebastian Geiger
afc7466dfd [GtkFileChooserButton] bgo#645065 - Restore the previously-selected file when the button's GtkFileChooserDialog is canceled
The file chooser is asynchronous, so doing 'select_file (old_file)' and subsequently querying
the file for updating the labels is not going to work.  However, the underlying file chooser
will emit 'selection-changed' as appropriate when it finishes restoring the old file.  So,
we only need to update the labels when the file chooser dialog is confirmed, not cancelled.
2012-08-31 12:02:00 -05:00
Benjamin Otte
7844e8089c types: Clean up gtkwidget.h includes
In particular gtksettings.h and gtkstylecontext.h needed to be included
in lots of places now.

Also, I order the includes alphabetically in a bunch of headers.
2012-03-03 19:45:03 +01:00
Javier Jardón
9d0febc9a6 Change FSF Address 2012-02-27 17:06:11 +00:00
Matthias Clasen
353c7c622e GtkFileChooserButton: Expand like other 'pickers'
Reported in bug 658774.
2011-09-12 21:33:11 -04:00
Javier Jardón
bf0d8402f5 gtk: Use const instead G_CONST_RETURN 2011-06-10 13:07:54 +01:00
Javier Jardón
a1ce49c30e gtk: Clean some includes 2011-06-08 15:23:53 +01:00
Matthias Clasen
b9a59c2ad6 Clean up more includes
Mainly removing unused h/v includes, but also adding some that
will be necessary as replacements.
2011-06-07 20:54:23 -04:00
Matthias Clasen
34085147e9 GtkFileChooserButton: derive from GtkBox, not GtkHBox 2011-06-07 19:54:40 -04:00
Diego Celix
ee18c5fef3 gtk/gtkfilechooserbutton: gtk_misc_set_alignment
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkfilechooserbutton.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-05-31 20:02:39 -04:00
Javier Jardón
2da9a5791f Move documentation to inline comments: GtkFileChooserButton 2011-04-14 00:07:42 +01:00
Federico Mena Quintero
eb02dacb37 [filechooser] Free things which got duplicated or reffed by gtk_tree_model_get()
We had forgotten to do that in a few places; this is a systematic search for those.

https://bugzilla.gnome.org/show_bug.cgi?id=646461
2011-04-01 17:00:17 -06:00
Federico Mena Quintero
58609cfdaf [filechooser] Unref cancellables we got from the model, not the ones that come into the callback
The model_cancellables have an extra ref when we get them from gtk_tree_model_get().
So, we need to unref them always.  On the other hand, the cancellables that get
passed as arguments to the callbacks in question are memory-managed by
GtkFileSystemModel.

Reported by Morten Welinder <mortenw@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=646460
2011-04-01 17:00:17 -06:00
Matthias Clasen
d9fcc4c630 Silence new gcc warnings
gcc 4.6.0 has started to warn about set-but-unused variables.
So don't do that, then.
2011-01-23 21:51:38 -05:00
Luca Ferretti
a29b4c6a51 Fix case (s/A/a) in translatable string (Select A Folder) 2011-01-17 21:43:33 +01:00
Matthias Clasen
98440ad031 Remove gtktypeutils altogether
Based on patches by Javier Jardón.

https://bugzilla.gnome.org/show_bug.cgi?id=629955
2011-01-04 14:51:19 -05:00
Carlos Garnacho
8e18c2cfd2 Make GtkFileChooserButton use ::style-updated 2011-01-04 03:06:21 +01:00
Javier Jardón
499aa2b3b9 gtk/gtkfilechooserbutton.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:16 +00:00
Matthias Clasen
9dfeee8127 Make GtkFileChooserButton behave as expected when expanding 2010-11-07 11:22:07 -05:00
Christian Dywan
1c14268687 Only show Desktop in file chooser button if there is one
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=632894
2010-11-03 19:19:19 +01:00
Michael Natterer
3a0afce509 gtk: remove "gboolean homogeneous" from gtk_box_new()
Because it's FALSE in virtually all use cases.
2010-10-31 19:22:28 +01:00
Javier Jardón
a9894d4cf4 Use gtk_box_new() instead gtk_[v|h]box_new() 2010-10-30 05:22:58 +02:00
Javier Jardón
8d008790be Use gtk_separator_new() instead gtk_[v|h]separator_new() 2010-10-30 02:26:23 +02:00
Matthias Clasen
d1a9d764a8 Remove gtk_widget_hide_all()
it's useless and a trap for programmers

https://bugzilla.gnome.org/show_bug.cgi?id=438318
2010-10-19 19:31:38 +02:00
Javier Jardón
eac1959d2c Move destroy signal to GtkWidget
Also make GtkWidget derive from GInitiallyUnowned
2010-09-26 22:18:18 -04:00
Javier Jardón
64fca99a89 gtk/gtkfilechooserbutton.c: Use accessor functions to access GtkWindow 2010-08-23 20:18:34 +02:00
Javier Jardón
01bdc682fd gtkfilechooserbutton: unseal private pointer 2010-07-13 19:40:47 +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
Christian Dywan
d21bf0c1ec Remove deprecated GtkFileChooser functions 2010-05-03 01:40:41 +02:00
Matthias Clasen
bf88eee131 Fix file chooser refcounting issues
This was reported in bug 600992.
2010-03-08 23:56:43 -05:00
Javier Jardón
214a023e91 Deprecate widget flag: GTK_WIDGET_VISIBLE
Use gtk_widget_get_visible() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 07:52:07 +01:00
Christian Dywan
bb1824c131 Deprecate flag macros for toplevel, state, no window and composite child
Deprecate widget flag macros GTK_WIDGET_STATE, GTK_WIDGET_SAVED_STATE,
GTK_WIDGET_FLAGS, GTK_WIDGET_TOPLEVEL, GTK_WIDGET_NO_WINDOW and
GTK_WIDGET_COMPOSITE_CHILD.

Also deprecate the type macros GTK_WIDGET_TYPE, GTK_OBJECT_TYPE_NAME and
GTK_OBJECT_TYPE which have become redundant.

Instances of GTK_WIDGET_TOPLEVEL are replaced with gtk_widget_is_toplevel,
GTK_WIDGET_TYPE is replaced with G_OBJECT_TYPE, GTK_WIDGET_COMPOSITE_CHILD
is replaced with use of the "composite-child" property and uses of
GTK_WIDGET_NO_WINDOW are adjusted to use gtk_widget_get_has_window.

Uses of GTK_WIDGET_SAVED_STATE and GTK_WIDGET_FLAGS inside GtkWidget are
changed to direct flag usage.

Documentation is updated to refer to gtk_widget_set_has_window and
gtk_widget_get_has_window.

Gail and tests are updated as well.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-01-04 07:57:05 +01:00
Matthias Clasen
4116baef32 Handle reading the create-folders property 2009-12-20 19:17:24 -05:00
Federico Mena Quintero
48f1b89eae bgo#563010 - Fix clearing the selection in GtkFileChooserButton
Previously the filename would get re-set on the button if one cleared the selection,
as an async cancellable was not getting canceled in that case.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-21 12:29:03 -05:00
Pascal Terjan
a4514f993e Allow disabling New Folder button in File Choser
Bug #570516. Add a new property "create-folders" meaning that the
"New Folder" button should be displayed in the modes where it used
to be.
2009-07-30 16:58:42 +02:00
Matthias Clasen
6bd8756269 Fix emission of file-set signal
svn path=/trunk/; revision=22307
2009-02-11 06:52:43 +00:00
Matthias Clasen
89c1bb49bd Remove GTK_SIGNAL_ACTION from the file-set signal, that wasn't supposed to
* gtk/gtkfilechooserbutton.c: Remove GTK_SIGNAL_ACTION
        from the file-set signal, that wasn't supposed to have it.


svn path=/trunk/; revision=22306
2009-02-11 06:29:24 +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
8a11a01ae9 Bug 563991 – gtk_file_chooser_button_new_with_backend is deprecated --
2008-12-10  Matthias Clasen  <mclasen@redhat.com>

        Bug 563991 – gtk_file_chooser_button_new_with_backend is deprecated
        -- but what should be used instead?

        * gtk/gtkfilechooserbutton.c: Enhanced deprecation annotation.


svn path=/trunk/; revision=21868
2008-12-10 18:02:30 +00:00
Matthias Clasen
50d7cf9db4 Don't leak a GFile
svn path=/trunk/; revision=21468
2008-09-21 05:21:00 +00:00
Michael Natterer
d9d3379698 gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkentry.c
2008-08-12  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkaccellabel.c
	* gtk/gtkcalendar.c
	* gtk/gtkclist.c
	* gtk/gtkentry.c
	* gtk/gtkeventbox.c
	* gtk/gtkfilechooserbutton.c
	* gtk/gtkfilechooserdefault.c
	* gtk/gtkhandlebox.c
	* gtk/gtkhsv.c
	* gtk/gtkiconview.c
	* gtk/gtkimage.c
	* gtk/gtklayout.c
	* gtk/gtklistitem.c
	* gtk/gtkmenuitem.c
	* gtk/gtkmessagedialog.c
	* gtk/gtknotebook.c
	* gtk/gtkpaned.c
	* gtk/gtkpathbar.c
	* gtk/gtkplug.c
	* gtk/gtkprintunixdialog.c
	* gtk/gtkrange.c
	* gtk/gtkrecentchooserdefault.c
	* gtk/gtkruler.c
	* gtk/gtksocket.c
	* gtk/gtktext.c
	* gtk/gtktextview.c
	* gtk/gtktoolbar.c
	* gtk/gtktreeitem.c
	* gtk/gtktreeview.c
	* gtk/gtkviewport.c
	* gtk/gtkwin32embedwidget.c: chain up unconditionally in
	realize(), unrealize(), map(), unmap(), style_set(),
	key_press_event() and size_request()


svn path=/trunk/; revision=21088
2008-08-12 09:44:32 +00:00
Michael Natterer
e18d3c6fd3 consistently chain up using GTK_FOO_CLASS(parent_class)->bar(instance)
2008-08-12  Michael Natterer  <mitch@imendio.com>

	* gtk/*.c: consistently chain up using
	GTK_FOO_CLASS(parent_class)->bar(instance) instead of
	(*GTK_FOO_CLASS(parent_class))->bar(instance).


svn path=/trunk/; revision=21085
2008-08-12 09:06:34 +00:00
Sven Neumann
2a95978506 gtk/gtkaboutdialog.c gtk/gtkcellrendereraccel.c gtk/gtkcellrenderercombo.c
2008-08-11  Sven Neumann  <sven@gimp.org>

	* gtk/gtkaboutdialog.c
	* gtk/gtkcellrendereraccel.c
	* gtk/gtkcellrenderercombo.c
	* gtk/gtkcellrendererspin.c
	* gtk/gtkcellrenderertext.c
	* gtk/gtkclipboard.c
	* gtk/gtkcolorsel.c
	* gtk/gtkcombo.c
	* gtk/gtkcombobox.c
	* gtk/gtkdnd-quartz.c
	* gtk/gtkdnd.c
	* gtk/gtkentry.c
	* gtk/gtkentrycompletion.c
	* gtk/gtkfilechooserbutton.c
	* gtk/gtkfilechooserdefault.c
	* gtk/gtkfilechooserentry.c
	* gtk/gtkfontsel.c
	* gtk/gtkinputdialog.c
	* gtk/gtkmenutoolbutton.c
	* gtk/gtkpathbar.c
	* gtk/gtktooltip.c: use canonical signal names in 
g_signal_connect().


svn path=/trunk/; revision=21060
2008-08-11 09:17:49 +00:00
Michael Natterer
81934ca8c6 gtk/gtkactiongroup.c gtk/gtkcellrendererspin.c gtk/gtkfilechooserbutton.c
2008-08-07  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkactiongroup.c
	* gtk/gtkcellrendererspin.c
	* gtk/gtkfilechooserbutton.c
	* gtk/gtktoolitem.c: chain up unconditionally in finalize().


svn path=/trunk/; revision=21036
2008-08-07 14:21:47 +00:00
Michael Natterer
8371b465dc gtk/gtkclist.c gtk/gtkcontainer.c gtk/gtkfilechooserbutton.c
2008-08-07  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkclist.c
	* gtk/gtkcontainer.c
	* gtk/gtkfilechooserbutton.c
	* gtk/gtkgamma.c
	* gtk/gtkmenutoolbutton.c
	* gtk/gtkoptionmenu.c
	* gtk/gtkradiobutton.c
	* gtk/gtkradiomenuitem.c
	* gtk/gtktipsquery.c
	* gtk/gtktree.c
	* gtk/gtktreeview.c: chain up unconditionally in destroy().

	* gtk/gtkhandlebox.c: remove empty destroy() implementation.


svn path=/trunk/; revision=21035
2008-08-07 14:12:32 +00:00
Carlos Garnacho
65a53ff251 Fix "/* within comment" warning.
2008-08-04  Carlos Garnacho  <carlos@imendio.com>

        * gtk/gtkfilechooserbutton.c: Fix "/* within comment" warning.

svn path=/trunk/; revision=20975
2008-08-04 15:17:27 +00:00
Carlos Garnacho
7e439efc92 Deprecate gtk_file_chooser_*_new_with_backend(), since GIO is already used
2008-08-04  Carlos Garnacho  <carlos@imendio.com>

        * gtk/gtk.symbols:
        * gtk/gtkfilechooserbutton.[ch]:
        * gtk/gtkfilechooserdefault.[ch]:
        * gtk/gtkfilechooserdialog.[ch]:
        * gtk/gtkfilechooserwidget.[ch]: Deprecate
        gtk_file_chooser_*_new_with_backend(), since GIO is already used
        directly. Fixes #545976.

svn path=/trunk/; revision=20972
2008-08-04 14:43:53 +00:00
Carlos Garnacho
02c65db5c0 Make GFile-oriented API public. Fixes #545978.
2008-08-04  Carlos Garnacho  <carlos@imendio.com>

        * gtk/gtk.symbols:
        * gtk/gtkfilechooser.[ch]: Make GFile-oriented API public. Fixes
        #545978.
        * gtk/gtkfilechooserbutton.c:
        * gtk/gtkfilechooserdefault.c:
        * gtk/gtkfilechooserutils.c: Update to use public GFile API.

svn path=/trunk/; revision=20971
2008-08-04 14:43:05 +00:00
Matthias Clasen
b0ac0f978e Unset the image when the label is set to "(None)". Reported by Neil
* gtk/gtkfilechooserbutton.c (update_label_and_image): Unset
        the image when the label is set to "(None)". Reported by
        Neil Roberts


svn path=/trunk/; revision=20833
2008-07-15 05:29:41 +00:00
Johan Dahlin
d97cdbdf53 Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch and Tim


svn path=/trunk/; revision=20669
2008-06-22 14:28:52 +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
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