1. 29 Mar, 2004 1 commit
    • Federico Mena Quintero's avatar
      Fix #137520. · 7f62edf3
      Federico Mena Quintero authored
      2004-03-29  Federico Mena Quintero  <federico@ximian.com>
      
      	Fix #137520.
      
      	* gtk/gtkfilesystem.h (struct _GtkFileFolderIface): Added slots
      	for an ::is_finished_loading() method and a ::finished_loading()
      	signal at the end of the struct.
      
      	* gtk/gtkfilesystem.c (gtk_file_folder_base_init): Create the
      	"finished-loading" signal.
      	(gtk_file_folder_is_finished_loading): New function.
      
      	* gtk/gtkfilesystemunix.c
      	(gtk_file_folder_unix_is_finished_loading): Implement.
      
      	* gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModelClass): New
      	slot for a "finished-loading" signal.
      	(gtk_file_system_model_class_init): Create the "finished-loading"
      	signal.
      	(struct _GtkFileSystemModel): New field
      	idle_finished_loading_source.  We emit the "finished-loading"
      	signal in an idle if the root folder was done loading right in
      	_gtk_file_system_model_new(), so that the caller has a chance to
      	connect to the signal.
      	(_gtk_file_system_model_new): Connect to the normal signals of the
      	folder even if the initial _list_children() fails.  Also, see if
      	the folder is finished loading; connect to the "finished-loading"
      	signal otherwise.
      	(gtk_file_system_model_finalize): Remove the idle handler.
      
      	* gtk/gtkfilechooserdefault.c (set_list_model): Set a busy cursor
      	and connect to the model's "finished-loading" signal.
      	(get_toplevel): New helper function.
      	(error_message): Use get_toplevel().
      	(trap_activate_cb): Likewise.
      	(location_popup_handler): Likewise.
      	(set_busy_cursor): New function.
      	(browse_files_model_finished_loading_cb): New callback.
      7f62edf3
  2. 25 Mar, 2004 2 commits
  3. 24 Mar, 2004 4 commits
    • J. Ali Harlow's avatar
      Bare drive designators (eg., "c:") are no longer considered as root · d52dda30
      J. Ali Harlow authored
      2004-03-24  J. Ali Harlow  <ali@juiblex.co.uk>
      
              * gtk/gtkfilesystemwin32.c
              (filename_is_root): Bare drive designators (eg., "c:") are
              no longer considered as root filenames.  Fixed #137942
      d52dda30
    • J. Ali Harlow's avatar
      Invert test for error in mkdir. Fixes #137945 · a788d2ff
      J. Ali Harlow authored
      2004-03-24  J. Ali Harlow  <ali@juiblex.co.uk>
      
              * gtk/gtkfilesystemwin32.c
              (gtk_file_system_win32_create_folder): Invert test for error in
              mkdir.  Fixes #137945
      a788d2ff
    • J. Ali Harlow's avatar
      Fixed #138004 using Federico's code from #132327. · 7056b157
      J. Ali Harlow authored
      2004-03-24  J. Ali Harlow  <ali@juiblex.co.uk>
      
              Fixed #138004 using Federico's code from #132327.
      
              * gtk/gtkfilesystemwin32.c (struct _GtkFileSystemWin32): Add a
              folder_hash field to keep a list of live folder objects.
              (gtk_file_system_win32_init): Create the folder_hash.
              (gtk_file_system_win32_finalize): Destroy the folder_hash.
              (gtk_file_system_win32_get_folder): Ref and return an existing
              folder if we have it around, otherwise return a new folder object.
              (struct _GtkFileFolderWin32): Add a field for the parent file system.
              (gtk_file_folder_win32_finalize): Remove the folder from the file
              system's hash table.
              (gtk_file_system_win32_create_folder):  Emit "files-added" on the
              newly-created folder's parent.  Fixes #138004.
      7056b157
    • J. Ali Harlow's avatar
      Test that path is actually a directory and throw error if not. Fixed bug · d9441cc6
      J. Ali Harlow authored
      2004-03-24  J. Ali Harlow  <ali@juiblex.co.uk>
      
              * gtk/gtkfilesystemwin32.c
      	(gtk_file_system_win32_get_folder): Test that path is actually
      	a directory and throw error if not. Fixed bug #137950
      d9441cc6
  4. 22 Mar, 2004 1 commit
    • J. Ali Harlow's avatar
      Ignore empty volume labels; assume that GetVolumeInformation would fail if · c1b6f772
      J. Ali Harlow authored
      2004-03-22  J. Ali Harlow  <ali@juiblex.co.uk>
      
      	* gtk/gtkfilesystemwin32.c
      	(gtk_file_system_win32_volume_get_display_name): Ignore empty
      	volume labels; assume that GetVolumeInformation would fail if
      	GetVolumeInformationW does; catches a small memory leak;
      	pass the buffer size to GetVolumeInformationW in wide
      	characters instead of bytes. Fixes bug #137543
      	(list_volumes): Cope with the theoretical possibility of
      	more than 26 logical drives. Fixes bug #137940
      	(bookmarks_serialize): Now actually removes bookmarks.
      	Fixes bug #137943
      c1b6f772
  5. 21 Mar, 2004 1 commit
    • Tor Lillqvist's avatar
      Include the backslash. Otherwise gtk_file_system_win32_path_to_uri() · 46b3a117
      Tor Lillqvist authored
      2004-03-21  Tor Lillqvist  <tml@iki.fi>
      
      	* gtk/gtkfilesystemwin32.c
      	(gtk_file_system_win32_volume_get_base_path): Include the
      	backslash. Otherwise gtk_file_system_win32_path_to_uri() returns
      	NULL for a volume base path, as g_filename_to_uri() requires an
      	absolute path, and just a drive letter and colon isn't. (#137543)
      46b3a117
  6. 20 Mar, 2004 1 commit
    • Hans Breuer's avatar
      applied the undisputable and required [due to recent gtkfilesystem · f0afa3a4
      Hans Breuer authored
      2004-03-20  Hans Breuer  <hans@breuer.org>
      
      	* gtk/gtkfilesystemwin32.c : applied the undisputable and
      	required [due to recent gtkfilesystem internal api semantic
      	changes] part of patches to fix bug #137543 (Tor Lillqvist,
      	J. Ali Harlow)
      
      	* gdk/gdkevents-win32.c (handle_configure_event) :
                   (gdk_event_translate), WM_WINDOWPOSCHANGED : initialize
      	GdkWindowObject::x, y with screen coords to make
      	gdk_window_get_position () return the right thing and thus fix
      	drag and drop positioning (e.g. Gimp tabs, fixes bug #137192)
      f0afa3a4
  7. 19 Mar, 2004 3 commits
    • Federico Mena Quintero's avatar
      Revert the patch to #137520, as 2.4.1 is for conservative bug fixes only. · da83c1cb
      Federico Mena Quintero authored
      2004-03-19  Federico Mena Quintero  <federico@ximian.com>
      
      	* Revert the patch to #137520, as 2.4.1 is for conservative bug
      	fixes only.  The patch is attached to the bug report, for
      	reference.
      
      2004-03-19  Morten Welinder  <terra@gnome.org>
      
      	* gtk/gtkfilechooserdefault.c
      da83c1cb
    • Morten Welinder's avatar
      Test existance of the path after checking for locality, if needed. · f1c18d57
      Morten Welinder authored
      2004-03-19  Morten Welinder  <terra@gnome.org>
      
      	* gtk/gtkfilechooserdefault.c
      	(gtk_file_chooser_default_set_current_folder): Test existance of
      	the path after checking for locality, if needed.
      f1c18d57
    • Federico Mena Quintero's avatar
      Fix #137520. · 68030a7e
      Federico Mena Quintero authored
      2004-03-19  Federico Mena Quintero  <federico@ximian.com>
      
      	Fix #137520.
      
      	* gtk/gtkfilesystem.h (struct _GtkFileFolderIface): Added slots
      	for an ::is_finished_loading() method and a ::finished_loading()
      	signal at the end of the struct.
      
      	* gtk/gtkfilesystem.c (gtk_file_folder_base_init): Create the
      	"finished-loading" signal.
      	(gtk_file_folder_is_finished_loading): New function.
      
      	* gtk/gtkfilesystemunix.c
      	(gtk_file_folder_unix_is_finished_loading): Implement.
      
      	* gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModelClass): New
      	slot for a "finished-loading" signal.
      	(gtk_file_system_model_class_init): Create the "finished-loading"
      	signal.
      	(struct _GtkFileSystemModel): New field
      	idle_finished_loading_source.  We emit the "finished-loading"
      	signal in an idle if the root folder was done loading right in
      	_gtk_file_system_model_new(), so that the caller has a chance to
      	connect to the signal.
      	(_gtk_file_system_model_new): Connect to the normal signals of the
      	folder even if the initial _list_children() fails.  Also, see if
      	the folder is finished loading; connect to the "finished-loading"
      	signal otherwise.
      	(gtk_file_system_model_finalize): Remove the idle handler.
      
      	* gtk/gtkfilechooserdefault.c (set_list_model): Set a busy cursor
      	and connect to the model's "finished-loading" signal.
      	(get_toplevel): New helper function.
      	(error_message): Use get_toplevel().
      	(trap_activate_cb): Likewise.
      	(location_popup_handler): Likewise.
      	(set_busy_cursor): New function.
      	(browse_files_model_finished_loading_cb): New callback.
      68030a7e
  8. 18 Mar, 2004 1 commit
  9. 17 Mar, 2004 4 commits
  10. 16 Mar, 2004 2 commits
  11. 15 Mar, 2004 20 commits
    • Matthias Clasen's avatar
      Block the ::changed handler during the emission of ::match-selected. · bf86da9d
      Matthias Clasen authored
      Tue Mar 16 00:56:11 2004  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkentrycompletion.c (gtk_entry_completion_list_button_press):
      	Block the ::changed handler during the emission of ::match-selected.
      	Partial fix for #137226.
      
      	* gtk/gtkfilechooserentry.c: Remove the no longer needed
      	no_pop_down flag.
      bf86da9d
    • Federico Mena Quintero's avatar
      Only hide the "create folder" button in OPEN mode; all the others should · 7cd0c268
      Federico Mena Quintero authored
      2004-03-15  Federico Mena Quintero  <federico@ximian.com>
      
      	* gtk/gtkfilechooserdefault.c (update_appearance): Only hide the
      	"create folder" button in OPEN mode; all the others should show it
      	it.
      	(get_paths_foreach): Handle the editable row.
      
      	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_create_folder):
      	Force a re-get of the folder so that the new directory gets added
      	to its hash table of file info.
      7cd0c268
    • Federico Mena Quintero's avatar
      In the Save modes, set the Name entry of the file chooser if we get a · 3e3ca555
      Federico Mena Quintero authored
      2004-03-15  Federico Mena Quintero  <federico@ximian.com>
      
      	* gtk/gtkfilechooserdefault.c (update_from_entry): In the Save
      	modes, set the Name entry of the file chooser if we get a
      	nonexistent filename from the file entry.  Fixes #135911.
      	(gtk_file_chooser_default_set_current_name): Oops, this should
      	also work if we are in CREATE_FOLDER mode.
      
      	* gtk/gtkfilesystem.c (gtk_file_path_real_copy): Use
      	gtk_file_path_copy().
      
      	* gtk/gtkfilechooserentry.c (check_completion_callback): Free the
      	path that we got from the model.
      	(completion_match_func): Use DISPLAY_NAME_COLUMN rather than a
      	hard-coded constant.
      3e3ca555
    • Owen Taylor's avatar
      Don't leak the temporary font description. (Nils O. Selåsdal) · cc77c2c8
      Owen Taylor authored
      Mon Mar 15 13:50:14 2004  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
              Don't leak the temporary font description. (Nils O. Selåsdal)
      cc77c2c8
    • Federico Mena Quintero's avatar
      Only show the title string in OPEN/SELECT_FOLDER mode as it's · 77c70924
      Federico Mena Quintero authored
      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.
      77c70924
    • Owen Taylor's avatar
      Store the position of the file part and use that in · 84fecde8
      Owen Taylor authored
      Mon Mar 15 11:40:43 2004  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkfilechooserentry.c: Store the position of the
              file part and use that in check_completion_callback()
              and match_selected_callback() to figure out where
              to operate on the text, rather than recomputing the
              information.
      84fecde8
    • Jonathan Blandford's avatar
      set changing_folders to be true so we don't trigger a callback when we · e8095cc8
      Jonathan Blandford authored
      Mon Mar 15 10:35:19 2004  Jonathan Blandford  <jrb@gnome.org>
      
              * gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): set
              changing_folders to be true so we don't trigger a callback when we
              remove the selection
              (shortcuts_add_bookmarks): ditto
      e8095cc8
    • Owen Taylor's avatar
      s/seperator/separator/. · 2ede6713
      Owen Taylor authored
      Mon Mar 15 10:47:18 2004  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkfilechooserentry.c: s/seperator/separator/.
      2ede6713
    • Owen Taylor's avatar
      Check for Control-Tab or Control-Shift-Tab, not any Control-key as a · 4bbe84b5
      Owen Taylor authored
      Mon Mar 15 09:54:36 2004  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtklabel.c (gtk_label_focus): Check for
              Control-Tab or Control-Shift-Tab, not any Control-key
              as a current event ... handles the case where a dialog
              is triggered from a control accelerator better.
      4bbe84b5
    • Jonathan Blandford's avatar
      implement correctly. (completion_match_func): Allow surpressing popdowns. · 486fc4fe
      Jonathan Blandford authored
      Mon Mar 15 08:48:48 2004  Jonathan Blandford  <jrb@gnome.org>
      
              * gtk/gtkfilechooserentry.c (match_selected_callback): implement
              correctly.
              (completion_match_func): Allow surpressing popdowns.
              (maybe_append_seperator_to_path): New function to add a separator
              item to a display_name.  Bad hack.
              (check_completion_callback): Implement select-ahead as an idle.
              (add_completion_idle): new function to handle select-ahead
              (gtk_file_chooser_entry_do_insert_text): starf the select-ahead
              idle.
              (gtk_file_chooser_entry_focus): Override tab for completion.
              (gtk_file_chooser_entry_activate): commit select_ahead when
              activated.
      
              * gtk/gtkfilechooserdefault.c (location_popup_handler): grab the
              appropriate widget for the mode.
      486fc4fe
    • Mark McLoughlin's avatar
      remove the unused "lowest_folder" GtkFileChooserDefault member. Leftover · 2d23e05a
      Mark McLoughlin authored
      2004-03-15  Mark McLoughlin  <mark@skynet.ie>
      
              * gtk/gtkfilechooserdefault.c: remove the unused "lowest_folder"
              GtkFileChooserDefault member. Leftover from my original patch
              for bug #136987.
      2d23e05a
    • Jonathan Blandford's avatar
      Rewritten to use the GtkEntryCompletion API more correctly. Now pops down · 20808790
      Jonathan Blandford authored
      Mon Mar 15 01:50:28 2004  Jonathan Blandford  <jrb@gnome.org>
      
              * gtkfilechooserentry.c: Rewritten to use the GtkEntryCompletion
              API more correctly.  Now pops down the dropdown well.
      
              * gtkfilesystem.c (gtk_file_path_get_type): New boxed type for the
              FilePath.
      
              * test/testfilechooser.c: disable preview widget temporarily.
              It's not representative of a good preview widget.
      20808790
    • Federico Mena Quintero's avatar
      Renamed from shortcuts_unselect_all(); now selects the row that · f956e3ae
      Federico Mena Quintero authored
      2004-03-15  Federico Mena Quintero  <federico@ximian.com>
      
      	* gtk/gtkfilechooserdefault.c (shortcuts_find_current_folder):
      	Renamed from shortcuts_unselect_all(); now selects the row that
      	corresponds to the current folder, if any.  Fixes #135916.
      
      	* gtk/gtkpathbar.h: Added prototypes for _gtk_path_bar_up() and
      	_gtk_path_bar_down().
      f956e3ae
    • Federico Mena Quintero's avatar
      Surround the drag-outside-to-remove-bookmarks code with "#if 0" blocks; · 0abde229
      Federico Mena Quintero authored
      2004-03-15  Federico Mena Quintero  <federico@ximian.com>
      
      	* gtk/gtkfilechooserdefault.c: Surround the
      	drag-outside-to-remove-bookmarks code with "#if 0" blocks; it's
      	too unstable right now.
      0abde229
    • Owen Taylor's avatar
      Implement local_only by filtering the shortcuts and bookmarks list by · 2c9d190c
      Owen Taylor authored
      Sun Mar 14 23:36:15 2004  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkfilechooserdefault.c: Implement local_only by
              filtering the shortcuts and bookmarks list by
              gtk_file_system_path_to_filename (file_system, path) != NULL.
              (#132894)
      
              * gtk/gtkfilesystem.c (gtk_file_system_path_is_local): Add
              a convenience function, may by interesting to push to the
              file system vtable later for performance.
      2c9d190c
    • Federico Mena Quintero's avatar
      Allow the path to be NULL, so that people can ask for information about a · 084bb2fe
      Federico Mena Quintero authored
      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.
      084bb2fe
    • Owen Taylor's avatar
      Mention GtkTreeViewSearchEqualFunc return value oddity here as well. · 6bc9b7f5
      Owen Taylor authored
      Sun Mar 14 22:32:36 2004  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtktreeview.c (gtk_tree_view_set_search_equal_func): Mention
              GtkTreeViewSearchEqualFunc return value oddity here as well.
      
              * gtk/gtktreeview.c (gtk_tree_view_search_equal_func): On failure
              to get a string to compare to, return TRUE (no match), not
              FALSE (match). Handle %NULL string values gracefully.
              Remove unused variable. (#135962, Mark McLoughlin)
      6bc9b7f5
    • Morten Welinder's avatar
      Kill g_prints. · 538ca81c
      Morten Welinder authored
      538ca81c
    • Owen Taylor's avatar
      Add _gtk_path_bar_up()/ _gtk_path_bar_down(). · f8b3e6fe
      Owen Taylor authored
      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)
      f8b3e6fe
    • Federico Mena Quintero's avatar
      Fixes #136185, patch by Morten Welinder, with some changes. · dfa36bb4
      Federico Mena Quintero authored
      2004-03-14  Federico Mena Quintero  <federico@ximian.com>
      
      	Fixes #136185, patch by Morten Welinder, with some changes.
      
      	* gtk/gtkfilechooserdefault.c (check_is_folder): New helper function.
      	(shortcuts_insert_path): Check the path first with check_is_folder().
      	(gtk_file_chooser_default_set_current_folder): Likewise.
      	(gtk_file_chooser_default_add_shortcut_folder): Likewise.
      	(browse_widgets_create): Unref the size group.
      
      	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder):
      	Handle the case where the file exists but it is not a directory.
      	(IconType): Add value for ICON_UNDECIDED.
      	(struct stat_info_entry): New structure to hold a file's struct
      	stat, its MIME type and its icon type.
      	(struct _GtkFileFolderUnix): Added a hash of struct
      	stat_info_entry, and flags to remember which info types we've read
      	so far.
      	(get_icon_type): Use a helper function for the icons-from-stat
      	types.
      	(gtk_file_system_unix_render_icon): Use the cached file info.
      	(gtk_file_folder_unix_get_info): Put the info in the cache.
      	(gtk_file_system_unix_get_folder): Create the cache of file info
      	structures.
      
      	* gtk/gtkfilesystem.c (gtk_file_info_set_display_name): Handle the
      	case where display_name is the same as the existing
      	info->display_name.
      dfa36bb4