Commit Graph

26 Commits

Author SHA1 Message Date
Federico Mena Quintero
5af2f825c3 Ref/sink the buttons. Also, free them correctly upon failure. Based on a
2004-04-05  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Ref/sink the
	buttons.  Also, free them correctly upon failure.  Based on a
	patch by Morten Welinder, fixes #137956.
2004-04-06 01:23:26 +00:00
Federico Mena Quintero
8e661364c6 Fix #136077.
2004-04-01  Federico Mena Quintero  <federico@ximian.com>

	Fix #136077.

	* gtk/gtkpathbar.h (struct _GtkPathBarClass): Add a
	"child_is_hidden" boolean argument to the "path-clicked" signal.

	* gtk/gtkpathbar.c (struct _ButtonData): Added a file_is_hidden
	field.
	(make_directory_button): Take a file_is_hidden argument; put it in
	the ButtonData.
	(_gtk_path_bar_set_path): See whether each path component path is
	a hidden file.
	(gtk_path_bar_class_init): Add the file_is_hidden argument to the
	"path-clicked" signal.
	(button_clicked_cb): See if the downwards button represents a
	hidden file for the file_is_hidden argument in the signal
	emission.

	* gtk/gtkmarshalers.list: Added a signal type VOID:POINTER,BOOLEAN.

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_select_path): If we fail to switch
	folders, don't try to select the path in the file system model.
	Also, return the result from _gtk_file_system_model_path_do().
	(gtk_file_chooser_default_select_path): Turn on show_hidden in the
	file system model if we are asked to select a hidden file.
	(path_bar_clicked): Show hidden files based on whether the
	immediate downwards folder in the path bar is a hidden file
	itself.
	(struct _GtkFileChooserDefault): Added fields
	browse_files_popup_menu and browse_files_popup_menu_hidden_files_item.
	(create_file_list): Set an object data key of
	"GtkFileChooserDefault" on the tree view so that we can find the
	impl from the popup menu callbacks.  Also, hook up to the
	"button-press-event" and "popup-menu" signals in the file list to
	bring up a popup menu.
	(list_popup_menu_cb): New callback.
	(list_button_press_event_cb): New callback.

	Fix #138763:

	* gtk/gtkfilesystemmodel.c
	(_gtk_file_system_model_new): Oops, connect_object to
	"finished-loading".
2004-04-02 00:35:07 +00:00
Morten Welinder
feba65f266 Make this work when the slider buttons have been destroyed.
2004-03-17  Morten Welinder  <terra@gnome.org>

	* gtk/gtkpathbar.c (gtk_path_bar_forall): Make this work when the
	slider buttons have been destroyed.
	(gtk_path_bar_remove): Make this work for slider buttons too.
	Fixes http://bugzilla.gnome.org/show_bug.cgi?id=137257
2004-03-17 15:29:06 +00:00
Federico Mena Quintero
77c7092489 Only show the title string in OPEN/SELECT_FOLDER mode as it's
Mon Mar 15 12:51:17 2004  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtkfilechooserdefault.c (location_popup_handler): Only show
	the title string in OPEN/SELECT_FOLDER mode as it's open-specific.
	Put a blank title for SAVE/CREATE_FOLDER; we are in string freeze,
	so we'll fix it for 2.4.1 as #137272.

	* gtk/gtkpathbar.c (gtk_path_bar_scroll_down): calculate
	space_available correctly for RTL mode.  w/o this, you can't
	scroll down again.  Fixes #137021.

2004-03-15  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkpathbar.c (gtk_path_bar_scroll_up): Queue a resize.
	(gtk_path_bar_scroll_down): Likewise.
2004-03-15 18:12:51 +00:00
Federico Mena Quintero
084bb2fe39 Allow the path to be NULL, so that people can ask for information about a
2004-03-14  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilesystem.c (gtk_file_folder_get_info): Allow the path
	to be NULL, so that people can ask for information about a
	parent-less file system root (e.g. get_info (get_folder ("/"), NULL)).

	* gtk/gtkfilesystemunix.c (gtk_file_folder_unix_get_info): Allow
	the condition describe above.

	* gtk/gtkfilechooserdefault.c (get_file_info): Allow getting
	information of root paths.

	* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Handle root paths correctly.
2004-03-15 05:42:51 +00:00
Owen Taylor
f8b3e6fe42 Add _gtk_path_bar_up()/ _gtk_path_bar_down().
Sun Mar 14 21:03:15 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkpathbar.[ch]: Add _gtk_path_bar_up()/
        _gtk_path_bar_down().

        * gtk/gtkfilechooserdefault.c: Use _gtk_path_bar_up()/
        _gtk_path_bar_down() as bindings for Alt-Up
        and new Alt-Down. (Partly based on a patch by
        Mark McLoughlin, #136987)
2004-03-15 02:12:08 +00:00
Owen Taylor
dcb6900c61 Swap GTK_ARROW_LEFT and GTK_ARROW_RIGHT for GTK_TEXT_DIR_LTR. (#129159,
Fri Mar 12 17:20:15 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkarrow.c (gtk_arrow_expose): Swap GTK_ARROW_LEFT
        and GTK_ARROW_RIGHT for GTK_TEXT_DIR_LTR. (#129159,
        Semion Chichelnitsky)

        * gtk/gtkpathbar.c gtk/gtktoolbar.c: Remove no-longer-needed
        gtk_toolbar_direction-changed handlers and explicit
        flipping of GtkArrow widgets.
2004-03-12 22:51:13 +00:00
Morten Welinder
83384bd070 Plug leak.
2004-03-11  Morten Welinder  <terra@gnome.org>

	* gtk/gtkpathbar.c (_gtk_path_bar_set_file_system): Plug leak.
2004-03-11 21:55:59 +00:00
Jonathan Blandford
c630462c18 Support changes in icon themes.
Wed Mar 10 02:41:05 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkpathbar.c: (gtk_path_bar_init), (gtk_path_bar_class_init),
        (remove_settings_signal), (gtk_path_bar_dispose),
        (gtk_path_bar_style_set), (gtk_path_bar_screen_changed),
        (gtk_path_bar_scroll_up), (reload_icons), (change_icon_theme),
        (settings_notify_cb), (gtk_path_bar_check_icon_theme),
        (get_button_image), (gtk_path_bar_update_button_appearance),
        (make_directory_button), (gtk_path_bar_check_parent_path): Support
        changes in icon themes.

        * gtk/gtkpathbar.h: add two elements

        * tests/testfilechooser.c: (main): use gnome-vfs method again to
        get more testing.
2004-03-10 07:42:20 +00:00
Jonathan Blandford
9727b4d2ed added 'Desktop' to the list of volumes. We don't have any more untranlated
Wed Mar 10 01:17:40 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkpathbar.c: added 'Desktop' to the list of volumes.  We
        don't have any more untranlated strings in the dialog.
2004-03-10 06:20:48 +00:00
Jonathan Blandford
58d6014c4d Encapsulate all of the information about a button in a struct instead of
Tue Mar  9 16:19:09 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkpathbar.c (struct _ButtonData): Encapsulate all of the
        information about a button in a struct instead of ugly
        g_object_set_data.
        (gtk_path_bar_size_request): Use ButtonData.
        (gtk_path_bar_update_slider_buttons): ditto
        (gtk_path_bar_size_allocate): ditto
        (gtk_path_bar_remove): ditto
        (gtk_path_bar_forall): ditto
        (gtk_path_bar_scroll_down): ditto
        (gtk_path_bar_clear_buttons): ditto
        (button_clicked_cb): ditto.  Also, add an ignore_changes variable
        (button_data_free): destroy ButtonData
        (update_button_appearance): Use ButtonData
        (make_directory_button): ditto
        (gtk_path_bar_check_parent_path): ditto
        (_gtk_path_bar_set_path): ditto
2004-03-09 21:29:59 +00:00
Jonathan Blandford
1aae6878fc unref the correct icon.
Tue Mar  9 11:01:45 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkpathbar.c (gtk_path_bar_finalize): unref the correct icon.
2004-03-09 16:08:49 +00:00
Federico Mena Quintero
8383c8f7fe Patch "1a" from #136185, by Morten Welinder.
2004-03-08  Federico Mena Quintero  <federico@ximian.com>

	Patch "1a" from #136185, by Morten Welinder.

	* gtk/gtkfilechooserdefault.c (get_file_info): Take in an argument
	that says whether the caller just wants the display name.
	(shortcuts_insert_path): We only want the name in the call to
	get_file_info().

	* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Don't request more
	info than needed from the file_folder.
2004-03-08 22:53:35 +00:00
Morten Welinder
d558abfe51 If we fail, leave widget unchanged. Explicitly verify final directory.
2004-03-08  Morten Welinder  <terra@gnome.org>

	* gtk/gtkpathbar.c (_gtk_path_bar_set_path): If we fail, leave
	widget unchanged.  Explicitly verify final directory.
2004-03-08 16:16:26 +00:00
Jonathan Blandford
59938d927c new function to consolidate creating the path_bar.
Mon Mar  8 04:50:12 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkfilechooserdefault.c (create_path_bar): new function to
        consolidate creating the path_bar.
        (gtk_file_chooser_default_set_current_folder): no longer need to
        pass in the filesystem.

        * gtk/gtkpathbar.h: Removed unused set_pixbuf functions in favor
        of just setting the filesystem.

        * gtk/gtkpathbar.c (gtk_path_bar_finalize): Free root path and
        home_dir.
        (get_button_image): Add images to path_bar.
        (update_button_appearance): use images
        (make_directory_button): Clasify buttons based upon location.
        (_gtk_path_bar_set_path): no longer need a file-system.  Also, add
        rerooting, #135845, #135914

        * tests/testfilechooser.c: Fix reused error handling.
2004-03-08 09:56:34 +00:00
Federico Mena Quintero
80581c3011 Fixes #136082 and #135265, patch by Morten Welinder.
2004-03-05  Federico Mena Quintero  <federico@ximian.com>

	Fixes #136082 and #135265, patch by Morten Welinder.

	* configure.in: Use AC_SYS_LARGEFILE.

	* */*.c: #include <config.h>
2004-03-06 03:38:59 +00:00
Jonathan Blandford
778d6904c4 Modified patch from muppet <scott@asofyet.org> to keep child directories
Thu Mar  4 01:32:19 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkpathbar.c (gtk_path_bar_set_path): Modified patch from
        muppet <scott@asofyet.org> to keep child directories around if we
        change to a child.

        * gtk/gtkpathbar.c (_gtk_path_bar_set_home_icon): Start of
        icon-setting functions.  Not used yet.
        (_gtk_path_bar_set_root_icon): Ditto.
2004-03-04 06:47:54 +00:00
Federico Mena Quintero
e50fb68763 Handle errors in setting the path bar's path. Fixes #136000, based on a
2004-03-02  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_set_current_folder): Handle errors in
	setting the path bar's path.  Fixes #136000, based on a patch by
	Morten Welinder.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_insert_bookmark):
	Don't free our own propagated error.

	* gtk/gtkpathbar.c (gtk_path_bar_set_path): Likewise, and free the
	parent_path upon error.  Fixes #136006, patch by Morten Welinder.
	(gtk_path_bar_set_path): Unref the file_folder upon error.
	(gtk_path_bar_set_path): Return a boolean success code.
2004-03-03 00:38:19 +00:00
Morten Welinder
8ddff5b098 Simplify semantics and check for errors.
2004-03-01  Morten Welinder  <terra@gnome.org>

	* gtk/gtkfilesystemmodel.c (file_model_node_is_visible): Simplify
	semantics and check for errors.

	* gtk/gtkpathbar.c (gtk_path_bar_set_path): Propagate errors.

	* gtk/gtkfilefilter.c (gtk_file_filter_filter): Don't crash if
	display_name is NULL.
2004-03-01 19:48:28 +00:00
Jonathan Blandford
2ef8bbc976 use gtk_widget_push/pop_composite_child around internal buttons.
Wed Feb 25 03:52:58 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkpathbar.c: use gtk_widget_push/pop_composite_child around
        internal buttons.

        * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
        rename some widgets to make it clear where they are packed.
        (update_appearance): New function to handle all the 'logic' of
        layout in one place.  We aren't trying to keep all our properties
        in sync.
        (gtk_file_chooser_default_set_property): use update_appearance()
2004-02-25 08:55:48 +00:00
Jonathan Blandford
4b041f8241 Display the root a bit more cleanly.
Mon Feb 23 15:23:23 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkpathbar.c (gtk_path_bar_set_path): Display the root a bit
        more cleanly.

        * gtk/gtkpathbar.h (struct _GtkPathBarClass): fix the signal.
2004-02-23 20:24:01 +00:00
Jonathan Blandford
8f3d4b4ba6 for (i = 0; i < 10; i++) g_print ("I will compile before committing.\n");
Mon Feb 23 02:26:53 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkpathbar.c (gtk_path_bar_finalize):
        for (i = 0; i < 10; i++)
          g_print ("I will compile before committing.\n");
2004-02-23 07:31:44 +00:00
Jonathan Blandford
decffc9d95 Use the GtkPathBar by default now.
Mon Feb 23 02:08:42 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkfilechooserdefault.c (file_pane_create): Use the
        GtkPathBar by default now.

        * gtk/gtkpathbar.c (gtk_path_bar_set_path): Correctly set the
        current path from the path.
        (gtk_path_bar_class_init): new signal
        (button_clicked_cb): emit the signal when we're selected.
        (gtk_path_bar_clear_buttons): Fix a crasher when we weren't
        clearing thr first_scrolled_button.
2004-02-23 07:11:31 +00:00
Matthias Clasen
e9a92e6e6e Fix bug 134982, reported by Morten Welinder:
Mon Feb 23 00:38:21 2004  Matthias Clasen  <maclas@gmx.de>

	Fix bug 134982, reported by Morten Welinder:

	* gtk/gtkpathbar.c (gtk_path_bar_destroy):
	* gtk/gtktooltips.c (gtk_tooltips_destroy):
	* gtk/gtkinvisible.c (gtk_invisible_destroy): Chain up to the
	parent's ::destroy handler.

	* gdk/gdkdisplay.c (gdk_display_dispose): Chain up to the
	parent's ::dispose handler.
2004-02-22 23:35:16 +00:00
Jonathan Blandford
b379bc580e conditional compile for GtkPathBar
Fri Feb 20 18:20:22 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkfilechooserdefault.c: conditional compile for GtkPathBar

        * gtk/gtkpathbar.c (gtk_path_bar_size_allocate): Clean up
        allocation code.  Works fully in RTL languages, I think.
        (gtk_path_bar_scroll_up): Scroll up.
        (gtk_path_bar_scroll_down): Scroll down.
2004-02-20 23:21:01 +00:00
Jonathan Blandford
9c3ac4d1bb New widget to handle the path in the fileselector implementation. Not
Thu Feb 19 19:58:53 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkpathbar.[ch]: New widget to handle the path in the
        fileselector implementation.  Not hooked up to anything yet.

        * gtk/Makefile.am: support the path bar.
2004-02-20 01:10:28 +00:00