Commit Graph

37 Commits

Author SHA1 Message Date
Federico Mena Quintero
faaee051d1 Don't call button_data_free() explicitly; the button is weak-reffed and
2005-01-05  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Don't call
	button_data_free() explicitly; the button is weak-reffed and the
	callback will free the button data.  Fixes #163010.
	(_gtk_path_bar_set_path): Don't ref/sink the button.  And for the
	failure case, call gtk_widget_destroy() on it.

	* gtk/gtkfilechooserdefault.c (check_is_folder): Use
	gtk_file_system_get_folder() again (see the ChangeLog entry from
	2004-08-25).  We can't first get the parent folder and then
	request the info for the path in question, as the parent folder
	may not be readable.  See bug #162617.
	(gtk_file_chooser_default_set_current_folder): Assert that the
	passed-in path is not null.
	(shortcuts_find_current_folder): Likewise.
	(shortcuts_add_current_folder): Likewise.
	(set_list_model): Likewise.
	(gtk_file_chooser_default_map): Only reload the current folder if
	it exists.
	(bookmarks_check_add_sensitivity): Check for the current folder
	being NULL.
	(browse_files_select_first_row): Don't set the cursor if there is
	no model loaded.
2005-01-06 01:46:39 +00:00
Federico Mena Quintero
038236d42b Merged from gtk-2-4:
2004-11-19  Federico Mena Quintero  <federico@ximian.com>

	Merged from gtk-2-4:

	Fix #158475:

	* gtk/gtkpathbar.c (make_directory_button): Make the button a drag
	source.
	(button_drag_data_get_cb): New callback to let us drag the
	button's path as a text/uri-list.
2004-11-20 04:52:57 +00:00
Matthias Clasen
d5f92150d4 Fix many sparse warnings. 2004-10-28 15:00:05 +00:00
Matthias Clasen
393285778f Scroll to make the current folder visible. (#152921)
2004-09-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkpathbar.c (gtk_path_bar_check_parent_path): Scroll
	to make the current folder visible.  (#152921)
2004-09-26 05:54:59 +00:00
Matthias Clasen
32e685c8d4 Revert the button state to !button_down, if we're missing the release
2004-09-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkbutton.c: Revert the button state to !button_down,
	if we're missing the release event due to grab shadowing
	or insensitivation.

	* gtk/gtkpathbar.c: Make the slider buttons scroll.
2004-09-26 05:47:11 +00:00
Matthias Clasen
594cc47dbe Give the path bar arrows some more space.
2004-09-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkpathbar.c (gtk_path_bar_size_request): Give the path
	bar arrows some more space.
2004-09-21 20:20:09 +00:00
Jonathan Blandford
50efeb816c Change the Down button to be end-justified, so that clicking on it is a
Wed Aug 25 15:15:56 2004  Jonathan Blandford  <jrb@redhat.com>

        * gtk/gtkpathbar.c (gtk_path_bar_size_allocate): Change the Down
        button to be end-justified, so that clicking on it is a stable
        operation.
2004-08-25 19:19:43 +00:00
Tor Lillqvist
ae6d3a2214 gtk/gtkfilechooserdefault.c (shortcuts_append_home,
2004-08-14  Tor Lillqvist  <tml@iki.fi>

	* gtk/gtkfilechooserdefault.c (shortcuts_append_home,
	shortcuts_append_desktop, set_local_only)
	* gtk/gtkfilesystemwin32.c (gtk_file_system_win32_render_icon)
	* gtk/gtkpathbar.c (find_button_type, _gtk_path_bar_set_file_system):
	Guard against g_get_home_dir() returning NULL. (#150007)
2004-08-14 16:47:48 +00:00
Matthias Clasen
3612aee585 Add hidden aliases for exported symbols which are used internally in order
Mon Aug  9 12:48:04 2004  Matthias Clasen  <maclas@gmx.de>

	Add hidden aliases for exported symbols which are
	used internally in order to get rid of many PLT
	entries.  (#145519, Arjan van de Ven)

	* gtk/Makefile.am: Add rules to generate gtk.def and
	from gtk.symbols, and make make check check the abi
	with abicheck.sh.
	(gtk_private_h_sources): Add gtkinternals.h
	(gtk_built_private_headers): Add gtkalias.h
	(gtk_extra_sources): Add gtk.symbols
	(EXTRA_DIST): Add makegtkalias.pl and abicheck.sh

	* gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
	The file can be processed by cpp to filter out certain
	subsets of symbols.

	* gtk/abicheck.sh: New file. Script to check the actually
	symbols exported from libgtk-x11.2.0.so against the symbols
	found in gtk.symbols.

	* gtk/makegtkalias.pl: New file. Perl script to generate the
	header containing the alias definitions for internally used
	exported symbols from a list of symbols.

	* gtk/gtkinternals.h: New file. An uninstalled header listing
	symbols which must be exported for some reason and do not appear
	in any other header.

	* gtk/*.c: Include gtkalias.h
2004-08-09 16:59:53 +00:00
Jonathan Blandford
5d3a68a829 remove spurious gtk_box_pack_start.
Wed Apr 14 03:32:58 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkpathbar.c (make_directory_button): remove spurious
        gtk_box_pack_start.
2004-04-14 07:34:11 +00:00
Jonathan Blandford
1d87e028a8 patch from Owen to make the buttons sized by a bold label. This makes the
Tue Apr 13 16:19:23 2004  Jonathan Blandford  <jrb@redhat.com>

        * gtk/gtkpathbar.c (make_directory_button): patch from Owen to
        make the buttons sized by a bold label.  This makes the text
        'swim' a little, but stops the buttons from resizign, #137210
2004-04-13 20:56:50 +00:00
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