2004-02-06 Alexander Larsson <alexl@redhat.com>
* cut-n-paste-code/libegg/egg-recent-model.c (egg_recent_model_lock_file):
Update to latest to fix locking issue.
2004-01-27 Jason Leach <leach@wam.umd.edu>
* cut-n-paste-code/libegg/egg-recent-item.c:
* cut-n-paste-code/libegg/egg-recent-item.h:
* cut-n-paste-code/libegg/egg-recent-model.c:
* cut-n-paste-code/libegg/eggtreemultidnd.c:
Sync these files with their latest copies from libegg so as to
include any bugfixes since 2003-04-16, the previous sync.
(#121455, Laurent Vivier)
Sun Jan 4 14:39:49 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* cut-n-paste-code/gsequence/gsequence.c
(g_sequence_ptr_is_begin): Compare to ptr instead of NULL, since
g_sequence_node_prev() never returns NULL. (pointed out by
Jeffrey Yasskin).
2003-09-16 Alexander Larsson <alexl@redhat.com>
* cut-n-paste-code/gsequence/gsequence.c:
Patch from Soeren Sandmann to fix removes.
Thanks to Martin Wehner for tracking this down.
2003-06-27 Alexander Larsson <alexl@redhat.com>
Patch by Soren Sandmann
* configure.in:
CFLAGS for gsequence
* cut-n-paste-code/Makefile.am:
* cut-n-paste-code/gsequence/.cvsignore:
* cut-n-paste-code/gsequence/Makefile.am:
* cut-n-paste-code/gsequence/gsequence.[ch]:
New cut-n-paste lib for gsequence (by Soren Sandmann)
* src/Makefile.am:
Link to gsequence
* src/file-manager/fm-list-model.c:
Use gsequence plus a reverse mapping hashtable.
2003-04-16 Alexander Larsson <alexl@redhat.com>
* cut-n-paste-code/libegg/Makefile.am:
* cut-n-paste-code/libegg/egg-recent-vfs-util.c:
* cut-n-paste-code/libegg/egg-recent-vfs-util.h:
Remove old files
* cut-n-paste-code/libegg/egg-recent-item.c:
(egg_recent_item_set_uri), (egg_recent_item_get_uri_for_display):
* cut-n-paste-code/libegg/egg-recent-model.c:
(egg_recent_model_update_item), (egg_recent_model_filter),
(egg_recent_model_read), (egg_recent_model_add_full),
(egg_recent_model_get_list), (egg_recent_model_changed):
* cut-n-paste-code/libegg/egg-screen-exec.c:
(egg_screen_exec_environment),
(egg_screen_execute_command_line_async):
Update libegg stuff.
Among other stuff this makes nautilus scripts execute in the
right directory.
* check-signals.pl: Remove.
* components/adapter/bonobo-stream-vfs.c: Remove.
* components/adapter/bonobo-stream-vfs.h: Remove.
* components/adapter/nautilus-adapter-progressive-load-strategy.c: Remove.
* components/adapter/nautilus-adapter-progressive-load-strategy.h: Remove.
* components/adapter/Makefile.am:
* components/hardware/Makefile.am:
* components/history/Makefile.am:
* components/image-viewer/Makefile.am:
* components/music/Makefile.am:
* components/news/Makefile.am:
* components/notes/Makefile.am:
* components/text/Makefile.am:
* components/throbber/Makefile.am:
* components/tree/Makefile.am:
* libnautilus-private/Makefile.am:
* test/Makefile.am:
General cleanups, mostly formatting.
* configure.in: Remove libiconv stuff, since we don't use it
any more. Do esound stuff in the main call to pkg-config, not
a separate set of variables.
* components/image-viewer/nautilus-image-view.c: Remove unused
libart includes.
* cut-n-paste-code/widgets/gimphwrapbox/gtkwrapbox.h: Remove
the use of "decrement" as a synonym for "remove".
* test/test.c: Remove unused libart include.
* configure.in:
* cut-n-paste-code/widgets/Makefile.am:
* cut-n-paste-code/widgets/e-paned:
* libnautilus-private/Makefile.am:
* libnautilus-private/nautilus-horizontal-splitter.c:
* libnautilus-private/nautilus-horizontal-splitter.h:
* src/nautilus-window.c: (nautilus_window_constructed),
(nautilus_window_set_content_view_widget),
(nautilus_window_hide_sidebar), (nautilus_window_show_sidebar),
(nautilus_window_sidebar_showing):
Remove e-paned.
* configure.in:
* data/Makefile.am:
* data/linksets/
* libnautilus-private/Makefile.am:
* libnautilus-private/nautilus-file-utilities.c:
* libnautilus-private/nautilus-link-set.c:
* libnautilus-private/nautilus-link-set.h:
* src/Makefile.am:
* src/nautilus-link-set-window.c:
* src/nautilus-link-set-window.h:
* src/nautilus-sidebar.c: (metadata_button_callback):
Remove link sets.
* libnautilus-private/nautilus-program-chooser.c:
(launch_mime_capplet_on_ok),
(launch_mime_capplet_and_close_dialog):
* src/nautilus-window-menus.c: (forget_history_if_yes),
(remove_bookmarks_for_uri_if_yes):
Destroy dialogs when done, since GtkDialog doesn't do this for us.
* src/nautilus-preferences-dialog.c: (preferences_dialog_create):
Get rid of close signal handler, since default close handler does
the same thing as a delete_event, which is what we want. We still
might have to do something fancier on a delete_event.
* cut-n-paste-code/widgets/e-paned/e-paned.c:
(e_paned_class_init): Turn off e_paned_expose for now.
* libnautilus-private/nautilus-icon-container.c:
(nautilus_icon_container_class_init): Marshaller said the
parameters were strings, but they were actually pointers to
strings.
* libnautilus/nautilus-view.c: (queue_incoming_call): Pass
servant, not bonobo object.
* src/nautilus-view-frame.c: (nautilus_view_frame_init),
(attach_view): Switch to eel versions of connect_while_alive
functions, since the gtk versions work only on gtk objects.
* cut-n-paste-code/widgets/e-paned/e-paned.c:
(e_paned_handle_shown): Fix a G_OBJECT_CLASS that should
have been G_OBJECT_GET_CLASS.
* libnautilus-private/Makefile.am: Add back the dependency on
the cut-n-paste libraries.
* libnautilus-private/nautilus-bonobo-extensions.c:
(nautilus_bonobo_get_hidden): Silently ignore when there's no
"hidden" attribute rather than warning every time.
* libnautilus-private/nautilus-icon-factory.c:
(nautilus_icon_factory_get_pixbuf_for_icon): Ref all the pixbufs
on their way out of the icon factory since we don't have a new
strategy for removing them from the cache when the caller is done
yet.
* src/nautilus-sidebar-title.c:
(sidebar_title_create_more_info_label): Don't call make_smaller
so Havoc won't complain every time we do it.
* src/nautilus-view-frame.c: (nautilus_view_frame_destroy): Check
for NULL so we can call destroy any number of times.
* src/nautilus-window-toolbars.c:
(nautilus_window_initialize_toolbars): Turn off the code that
tries to load the throbber since we aren't compiling it yet.
* components/loser/content/nautilus-content-loser-ui.xml:
* components/loser/sidebar/nautilus-sidebar-loser-ui.xml:
* components/sample/nautilus-sample-content-view-ui.xml:
* libnautilus/nautilus-clipboard-ui.xml:
* src/nautilus-shell-ui.xml:
Update for new names of stock icons.
* Lots of files:
More GNOME 2 work. We now compile up to libnautilus-private and
I'm working my way through the files in there. Also changed all
the initialize_class and initialize to class_init and init.
* Makefile.am: Don't build intl since we don't need it the way we
use gettext.
* applets/launcher/Makefile.am: Remove redundant -I$(srcdir).
* applets/preferences-applet/Makefile.am: Remove redundant
-I$(srcdir).
* components/adapter/Makefile.am: Remove redundant -I.
* components/mozilla/Makefile.am: Mark private headers as SOURCES,
not noinst_HEADERS, as suggested by automake book and manual.
* components/news/Makefile.am: Remove unneeded
-I$(top_srcdir)/components/news.
* configure.in: Don't build intl since we don't need it the way we
use gettext.
* libnautilus-adapter/Makefile.am: Remove redundant -I.
* libnautilus-private/Makefile.am: Change -I for new
cut-n-paste-code scheme. Also mark private headers as SOURCES, not
noinst_HEADERS, as suggested by automake book and manual.
* libnautilus/Makefile.am: Remove redundant -I.
* src/Makefile.am: Change -I for new cut-n-paste-code scheme. Also
mark private headers as SOURCES, not noinst_HEADERS, as suggested
by automake book and manual.
* src/file-manager/Makefile.am: Mark private headers as SOURCES,
not noinst_HEADERS, as suggested by automake book and manual.
* check-THANKS.pl: Change Seth's preferred email address.
* cut-n-paste-code/widgets/e-paned/Makefile.am:
* cut-n-paste-code/widgets/gimphwrapbox/Makefile.am:
Don't use -static, since we plan to link
Remove unneeded -I directives now that we handle includes
differently. Also mark private headers as SOURCES, not
noinst_HEADERS, as suggested by automake book and manual.
* cut-n-paste-code/widgets/e-paned/e-hpaned.h:
* cut-n-paste-code/widgets/e-paned/e-vpaned.h:
* libnautilus-private/nautilus-horizontal-splitter.h:
* src/nautilus-complex-search-bar.c:
* src/nautilus-search-bar-criterion.c:
Simpler include scheme for cut-n-paste code.
* cut-n-paste-code/widgets/gimphwrapbox/gtkwrapbox.c:
(gtk_wrap_box_expose): Fix a cast so that 64-bit systems
won't warn. This is similar to the e-paned.c fix I did
already.
* configure.in: Bump version to 1.0.4.1
* cut-n-paste-code/widgets/e-paned/e-paned.c: (e_paned_expose):
Fix type cast that was causing Ben trouble compiling on Solaris.
Take a cut at removing the problem where opening a new window
causes all the old windows to act as if all items were re-added.
* libnautilus-private/nautilus-directory.h:
* libnautilus-private/nautilus-directory.c:
(nautilus_directory_file_monitor_add),
(nautilus_self_check_directory):
* libnautilus-private/nautilus-directory-async.c:
(nautilus_directory_monitor_add_internal):
* libnautilus-private/nautilus-directory-private.h:
* libnautilus-private/nautilus-merged-directory.c:
(build_merged_callback_list), (merged_file_monitor_add),
(forward_files_added_cover), (forward_files_changed_cover),
(monitor_add_directory), (merged_add_real_directory):
* libnautilus-private/nautilus-trash-file.c: (real_monitor_add):
* libnautilus-private/nautilus-trash-monitor.c:
(nautilus_trash_monitor_initialize):
* libnautilus-private/nautilus-vfs-directory.c:
(vfs_file_monitor_add):
* libnautilus-private/nautilus-vfs-file.c: (vfs_file_monitor_add):
Change monitor_add to take a parameter for a callback function, and
call that instead of sending out a files_added message when someone
starts monitoring files.
* components/tree/nautilus-tree-model.c:
(nautilus_tree_model_node_begin_monitoring_no_connect),
(nautilus_tree_model_node_begin_monitoring),
(nautilus_tree_model_directory_files_changed_callback):
* src/file-manager/fm-directory-view.c: (connect_script_handlers),
(finish_loading):
Pass in a callback function to monitor_add, and don't hook up the
files_added and files_changed signals until after the monitor is
added.
* cut-n-paste-code/freetype/.cvsignore: Removing this file so that
this empty directory will become completely empty.
* cut-n-paste-code/.cvsignore: Tweak.
* cut-n-paste-code/widgets/.cvsignore: Tweak.
* configure.in:
Remove nautilusclist cut-n-paste code.
* cut-n-paste-code/widgets/Makefile.am:
* cut-n-paste-code/widgets/nautilusclist/.cvsignore:
* cut-n-paste-code/widgets/nautilusclist/Makefile.am:
* cut-n-paste-code/widgets/nautilusclist/nautilusclist.c:
* cut-n-paste-code/widgets/nautilusclist/nautilusclist.h:
Remove nautilusclist cut-n-paste code.
* libnautilus-extensions/nautilus-file-dnd.h:
* libnautilus-extensions/nautilus-file-dnd.c:
New file with Drag and Drop code that operated on NautilusFile
objects.
* libnautilus-extensions/Makefile.am:
* libnautilus-extensions/nautilus-list-column-title.c:
* libnautilus-extensions/nautilus-list-column-title.h:
* libnautilus-extensions/nautilus-list.c:
* libnautilus-extensions/nautilus-list.h:
* libnautilus-extensions/nautilus-ctree.c:
* libnautilus-extensions/nautilus-ctree.h:
* libnautilus-extensions/nautilus-drag.c:
* libnautilus-extensions/nautilus-drag.h:
Move these widget into eel.
* libnautilus-extensions/nautilus-icon-dnd.h:
* libnautilus-extensions/nautilus-icon-dnd.c:
Update for eel dnd code move.
* nautilus-installer/install-lib/Makefile.am:
* nautilus-installer/libtrilobite/Makefile.am:
Remove some voodoo that was needed for cut-n-paste code in
trilobite that no longer is among us.
* components/help/hyperbola-nav-tree.c:
* components/music/nautilus-music-view.c:
* components/rpmview/nautilus-rpm-verify-window.c:
* components/rpmview/nautilus-rpm-view-private.h:
* components/rpmview/nautilus-rpm-view.c:
* components/tree/nautilus-tree-view-dnd.c:
* components/tree/nautilus-tree-view-dnd.h:
* components/tree/nautilus-tree-view-private.h:
* components/tree/nautilus-tree-view.c:
* src/file-manager/fm-directory-view.c:
* src/file-manager/fm-list-view.c: (fm_list_view_initialize),
* src/nautilus-sidebar.c:
Update for clist, ctree, list and dnd code that now lives in eel.
Also do more #include cleanup.
Followup on my recent tree change to get rid of some flicker.
* components/tree/nautilus-tree-view.c:
(set_selected_row_position): Only scroll the view if the row isn't
already in the right position. Prevents the case where it scrolls
by less than a whole row.
* cut-n-paste-code/widgets/nautilusclist/nautilusclist.h:
* cut-n-paste-code/widgets/nautilusclist/nautilusclist.c:
(nautilus_clist_thaw), (nautilus_clist_check_unfrozen),
(real_resize_column), (real_row_move), (resync_selection),
(nautilus_clist_map), (nautilus_clist_style_set),
(real_sort_list):
Add code to detect changes and only redraw when actual changes
happen. Also make freeze/thaw with no changes between them a no-op
by having the frozen check schedule a refresh at thaw time as a
side effect. It used to do a refresh every time it got thawed. Add
calls to do refresh for all cases where the old code was counting
on thaw implying a full refresh.
* libnautilus-extensions/nautilus-ctree.c: (real_tree_move),
(real_select_all), (nautilus_ctree_insert_gnode),
(nautilus_ctree_remove_node), (nautilus_ctree_expand_recursive),
(nautilus_ctree_expand_to_depth),
(nautilus_ctree_collapse_recursive),
(nautilus_ctree_collapse_to_depth),
(nautilus_ctree_toggle_expansion_recursive),
(nautilus_ctree_real_select_recursive),
(nautilus_ctree_set_node_info), (nautilus_ctree_set_indent),
(nautilus_ctree_set_spacing), (nautilus_ctree_set_line_style),
(nautilus_ctree_sort_recursive), (nautilus_ctree_sort_node),
(nautilus_ctree_sort_single_node):
Use the new unfrozen check that has a side effect of making the
next thaw do a refresh. Add the new refresh calls that are needed
now that thaw doesn't always do a refresh. Removed some
unnecessary drawing for cases where things haven't changed.
* libnautilus-extensions/nautilus-list.c:
(nautilus_list_track_new_column_width):
Use the new unfrozen check that has a side effect of making the
next thaw do a refresh.
* src/file-manager/fm-list-view.c: (fm_list_view_set_zoom_level):
Formatting tweak.
Some tree view changes so it only does work when the tree view is
open, not when it's closed. Also improved speed by not creating so
many pixmaps, which required changing lots of classes to use
pixbufs instead of pixmaps.
* components/tree/libmain.c: (tree_shlib_object_destroyed),
(tree_shlib_make_object): Changed to use NautilusTreeView
subclass of NautilusView, not widget.
* components/tree/main.c: (main): Use standard main.
* components/rpmview/nautilus-rpm-view.c:
(file_activation_callback), (fill_filename_tree_int),
(fill_filename_tree), (nautilus_rpm_view_update_from_uri):
Update to use NautilusCList instead of GtkCList.
* components/tree/nautilus-tree-change-queue.h: Got rid of ADDED
(it's now the same as CHANGED).
* components/tree/nautilus-tree-model.h:
* components/tree/nautilus-tree-model.c:
(nautilus_tree_model_initialize_class): No more ADDED.
(destroy_file_hash): New function.
(nautilus_tree_model_destroy): Destroy deferral hashes.
(nautilus_tree_model_node_begin_monitoring): Use changed instead
of added.
(report_node_changed): Emit changed instead of added.
(process_file_change): New function.
(process_directory_done_loading): New function.
(add_file_to_hash): New function.
(nautilus_tree_model_directory_files_changed_callback),
(nautilus_tree_model_directory_done_loading_callback): Either put
the file in the hash table or send the notification.
(process_one_changed_file), (process_one_done_loading_file):
Helper functions to send notifications.
(nautilus_tree_model_set_defer_notifications): Start deferring
notifications by making hash tables. Stop deferring notifications
by sending out all the notifications and then getting rid of the
hash tables.
* components/tree/nautilus-tree-view.h:
* components/tree/nautilus-tree-view-private.h:
* components/tree/nautilus-tree-view.c:
(nautilus_tree_view_insert_model_node), (ctree_is_node_expanded),
(nautilus_tree_view_update_model_node),
(awaited_node_or_uri_found), (notify_done_loading),
(notify_node_seen), (get_selected_row),
(get_selected_row_position), (set_selected_row_position),
(dequeue_pending_idle_callback), (schedule_pending_idle_callback),
(unschedule_pending_idle_callback),
(nautilus_tree_view_load_from_filesystem), (ctree_compare_rows),
(create_tree), (tree_map_callback), (tree_unmap_callback),
(nautilus_tree_view_initialize), (nautilus_tree_view_destroy),
(get_uri_sequence_to_root),
(call_when_uri_loaded_or_parent_done_loading),
(cancel_selection_in_progress),
(expand_uri_sequence_and_select_end), (select_current_location),
(tree_load_location_callback), (got_activation_uri_callback),
(ctree_get_first_selected_node),
(nautilus_tree_view_update_all_icons),
(nautilus_tree_view_initialize_class):
Convert to use pixbufs instead of pixmaps. Convert to use
NautilusList instead of GtkCList. Fix storage leak of name.
Get rid of weak use of callback function pointers. Add feature
where the selected row is kept in position as new items are added.
Eliminated ADDED and jsut used CHANGED instead. Defer creating the
tree view until the first map. Turn off processing when unmapped.
Change NautilusTreeView to be NautilusView subclass, not a widget.
* components/tree/nautilus-tree-view-dnd.c:
(nautilus_tree_view_drag_begin), (nautilus_tree_view_drag_motion),
(get_data_on_first_target_we_support),
(nautilus_tree_view_button_press),
(nautilus_tree_view_button_release),
(nautilus_tree_view_motion_notify),
(nautilus_tree_view_set_dnd_icon),
(nautilus_tree_view_collapse_node),
(nautilus_tree_view_expand_or_collapse_row),
(nautilus_tree_view_tree_node_at), (auto_scroll_timeout_callback),
(nautilus_tree_view_real_scroll),
(nautilus_tree_view_collapse_all),
(nautilus_tree_view_receive_dropped_icons),
(nautilus_tree_view_drag_destroy),
(nautilus_tree_view_drag_destroy_real):
Switch from GtkCList to NautilusCList. Also get rid of code that
assumes NautilusTreeView is a widget. Also convert to use pixbufs
instead of pixmaps.
* cut-n-paste-code/widgets/nautilusclist/nautilusclist.h:
* cut-n-paste-code/widgets/nautilusclist/nautilusclist.c:
(nautilus_clist_optimal_column_width), (nautilus_clist_set_text),
(nautilus_clist_set_pixbuf), (nautilus_clist_get_pixbuf),
(nautilus_clist_set_pixtext), (nautilus_clist_get_pixtext),
(set_cell_contents), (cell_size_request), (real_insert_row),
(draw_row), (draw_rows), (row_delete):
Change to use pixbufs instead of pixmaps. Remove most of the
drawing code since this can only be used as a base class for
NautilusList anyway. Add boolean to set_cell_contents so it
redraws only if the cell has changed.
* libnautilus-extensions/nautilus-ctree.h:
* libnautilus-extensions/nautilus-ctree.c: (COLUMN_FROM_XPIXEL),
(nautilus_ctree_get_type), (nautilus_ctree_class_init),
(nautilus_ctree_set_arg), (nautilus_ctree_get_arg),
(nautilus_ctree_init), (ctree_attach_styles),
(ctree_detach_styles), (nautilus_ctree_realize),
(nautilus_ctree_event), (nautilus_ctree_unrealize),
(nautilus_ctree_button_press), (draw_drag_highlight),
(nautilus_ctree_row_at), (get_cell_rectangle),
(nautilus_ctree_set_prelight), (draw_cell_pixbuf),
(get_cell_style), (nautilus_ctree_draw_expander),
(nautilus_ctree_draw_lines), (draw_row), (tree_draw_node),
(nautilus_ctree_link), (nautilus_ctree_unlink), (real_row_move),
(real_tree_move), (change_focus_row_expansion), (real_tree_expand),
(real_tree_collapse), (column_auto_resize), (auto_resize_columns),
(cell_size_request), (set_cell_contents), (set_node_info),
(row_new), (row_delete), (real_select_row), (real_unselect_row),
(real_tree_select), (real_tree_unselect), (select_row_recursive),
(real_select_all), (real_unselect_all), (ctree_is_hot_spot),
(nautilus_ctree_construct), (real_insert_row),
(nautilus_ctree_insert_node), (nautilus_ctree_insert_gnode),
(real_remove_row), (nautilus_ctree_remove_node), (real_clear),
(nautilus_ctree_post_recursive),
(nautilus_ctree_post_recursive_to_depth),
(nautilus_ctree_pre_recursive),
(nautilus_ctree_pre_recursive_to_depth),
(nautilus_ctree_find_node_ptr), (nautilus_ctree_node_nth),
(nautilus_ctree_find), (nautilus_ctree_find_by_row_data),
(nautilus_ctree_find_all_by_row_data),
(nautilus_ctree_find_by_row_data_custom),
(nautilus_ctree_find_all_by_row_data_custom),
(nautilus_ctree_is_hot_spot), (nautilus_ctree_expand_recursive),
(nautilus_ctree_expand_to_depth),
(nautilus_ctree_collapse_recursive),
(nautilus_ctree_collapse_to_depth),
(nautilus_ctree_toggle_expansion_recursive),
(nautilus_ctree_real_select_recursive),
(nautilus_ctree_node_set_text), (nautilus_ctree_node_set_pixbuf),
(nautilus_ctree_node_set_pixtext), (nautilus_ctree_set_node_info),
(nautilus_ctree_node_set_shift), (remove_grab),
(nautilus_ctree_node_set_selectable),
(nautilus_ctree_node_get_cell_type),
(nautilus_ctree_node_get_text), (nautilus_ctree_node_get_pixbuf),
(nautilus_ctree_node_get_pixtext), (nautilus_ctree_get_node_info),
(nautilus_ctree_node_set_cell_style),
(nautilus_ctree_node_get_cell_style),
(nautilus_ctree_node_set_row_style), (nautilus_ctree_node_moveto),
(nautilus_ctree_node_is_visible), (nautilus_ctree_set_indent),
(nautilus_ctree_set_spacing), (nautilus_ctree_set_show_stub),
(nautilus_ctree_set_line_style), (tree_sort),
(nautilus_ctree_sort_recursive), (real_sort_list),
(nautilus_ctree_sort_node), (nautilus_ctree_sort_single_node),
(fake_unselect_all), (selection_find), (resync_selection),
(real_undo_selection), (check_drag), (drag_dest_info_destroy),
(drag_dest_cell), (nautilus_ctree_drag_begin),
(nautilus_ctree_drag_motion), (nautilus_ctree_drag_data_received):
Change to use NautilusList instead of GtkCList. Change to use
pixbufs instead of pixmaps. Use set_cell_contents boolean to only
redraw when cell has changed.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c:
(nautilus_gtk_marshal_POINTER__INT): Add new marshal needed for
the pixbuf version of a NautilusList call.
(nautilus_drag_set_icon_pixbuf): Helper to convert pixbuf to
a pixmap and mask for GTK's sake.
* libnautilus-extensions/nautilus-icon-dnd.c:
(nautilus_icon_dnd_begin_drag): Use nautilus_drag_set_icon_pixbuf.
* libnautilus-extensions/nautilus-list.h:
* libnautilus-extensions/nautilus-list.c:
(nautilus_list_initialize_class), (nautilus_list_initialize_dnd),
(nautilus_list_initialize), (nautilus_list_destroy), (draw_cell),
(nautilus_list_mark_cell_as_link),
(nautilus_list_set_cell_contents), (set_list_cell),
(get_list_cell), (nautilus_list_drag_start),
(nautilus_list_receive_dropped_icons):
Take advantage of the new changes in NautilusCList, which now uses
pixmaps directly. Change drag signal to use a pixbuf, not a
pixmap. Change so it doesn't do the DND stuff unless you
explicitly call for it. Use set_cell_contents boolean to only
redraw when cell has changed.
* src/file-manager/fm-list-view.c: (fm_list_get_drag_pixbuf),
(fm_list_get_sort_column_index), (create_list), (set_up_list):
Change to use the new pixbuf signal instead of the old pixmap one.
Make a call to ask NautilusList to do the DND stuff.
2001-03-06 Eric Fischer <eric@eazel.com>
reviewed by: Christian Meyer <chrisime@gnome.org>
(Bug 7315. Thanks to Christian Meyer for tracking down
places where this needed to be fixed.)
* components/help/converters/gnome-db2html2/Makefile.am:
* components/help/converters/gnome-info2html2/Makefile.am:
* cut-n-paste-code/widgets/e-paned/Makefile.am:
* cut-n-paste-code/widgets/gimphwrapbox/Makefile.am:
* cut-n-paste-code/widgets/nautilusclist/Makefile.am:
* libnautilus-extensions/Makefile.am:
In all of these, change GNOME_CFLAGS to GNOMEUI_CFLAGS so that
they get the correct #include path for the GTK headers.
2001-02-27 John Harper <jsh@eazel.com>
* cut-n-paste-code/widgets/e-paned/README.changes: updated this
file to list previous changes to e-paned, as well as the fix I
just made
2001-02-27 John Harper <jsh@eazel.com>
Fixed bug 6294 (Sidebar gets smaller each time you open a new
Window) and probably 6499 (Sidebar grows each time a window is
opened):
* cut-n-paste-code/widgets/e-paned/e-paned.c
(e_paned_compute_position): fixed a bug in when it stores the
last allocation of the widget. This in turn causes the widget
not to do the annoying scaled resizing if the position of the
splitter was set before the first size_allocate invocation
* cut-n-paste-code/widgets/e-paned/README.changes: added this
file describing the changes I had to make to the widget
I'm also going to submit this patch to the gal maintainers
2001-02-11 Rebecca Schulman <rebecka@eazel.com>
reviewed by: Mathieu Lacage <mathieu@gnome.org>
* cut-n-paste-code/widgets/nautilusclist/nautilusclist.c: Use
binary instead of linear search to find the right insert new row
into a sorted clist. This is part of addressing bug 6290
2001-01-09 John Harper <jsh@eazel.com>
reviewed by: Pavel Cisler <pavel@eazel.com>
Work to make icons in list view draw anti-aliased in respect to
the background. Fixes bug 1659
* cut-n-paste-code/widgets/nautilusclist/nautilusclist.h
(NautilusCellType): added new type NAUTILUS_CELL_PIXBUF at end
of this enum
* libnautilus-extensions/nautilus-list.c (NautilusListDetails):
added fields for RGB values of all background colors
(nautilus_gdk_set_shifted_foreground_gc_color): return the
shifted RGB value
(nautilus_list_setup_style_colors): save RGB values of all
background colors into the details structure
(get_cell_style): added another parameter: `bg_rgb', when a non
null pointer it gets set to the RGB value of the chosen
background color
(draw_cell_pixbuf): added another parameter: `bg_rgb'.
Composite the pixbuf onto a square of this color (using the
full 8-bit alpha), then blit the entire square onto the
drawable
(draw_cell): added cases to handle NAUTILUS_CELL_PIXBUF type.
Also pass the extra arg to draw_cell_pixbuf in
NAUTILUS_CELL_PIXBUF_LIST case
(nautilus_list_set_cell_contents): handle NAUTILUS_CELL_PIXBUF
case
(nautilus_list_set_pixbuf_list): broke out contents into the
new function set_list_cell, parameterized by the
NautilusCellType in addition
(nautilus_list_set_pixbuf): new function, calls set_list_cell
* src/file-manager/fm-list-view.c (install_row_images): get the
file's icon as a pixbuf, not a pixmap/mask pair. Then use
nautilus_list_set_pixbuf to install it in the list cell
2000-11-28 Rebecca Schulman <rebecka@eazel.com>
Fixes for bugs 2376, 4553, and 3799
This should make the complex search bar usable
and visible.
reviewed by: Maciej Stachowiak <mjs@eazel.com>
* configure.in:
* libnautilus-extensions/Makefile.am:
* cut-n-paste-code/widgets/Makefile.am:
* cut-n-paste-code/widgets/gimphwrapbox/.cvsignore:
* cut-n-paste-code/widgets/gimphwrapbox/Makefile.am:
* cut-n-paste-code/widgets/gimphwrapbox/gtkhwrapbox.c:
(gtk_hwrap_box_get_type), (gtk_hwrap_box_class_init),
(gtk_hwrap_box_init), (gtk_hwrap_box_new), (get_child_requisition),
(_gtk_hwrap_box_size_request), (get_layout_size),
(gtk_hwrap_box_size_request), (reverse_list_row_children),
(layout_row), (layout_rows), (gtk_hwrap_box_size_allocate):
* cut-n-paste-code/widgets/gimphwrapbox/gtkhwrapbox.h:
* cut-n-paste-code/widgets/gimphwrapbox/gtkwrapbox.c:
(gtk_wrap_box_get_type), (gtk_wrap_box_class_init),
(gtk_wrap_box_init), (gtk_wrap_box_set_arg),
(gtk_wrap_box_get_arg), (gtk_wrap_box_set_child_arg),
(gtk_wrap_box_get_child_arg), (gtk_wrap_box_child_type),
(gtk_wrap_box_set_homogeneous), (gtk_wrap_box_set_hspacing),
(gtk_wrap_box_set_vspacing), (gtk_wrap_box_set_justify),
(gtk_wrap_box_set_line_justify), (gtk_wrap_box_set_aspect_ratio),
(gtk_wrap_box_pack), (gtk_wrap_box_reorder_child),
(gtk_wrap_box_query_child_packing),
(gtk_wrap_box_query_child_forced_break),
(gtk_wrap_box_set_child_packing),
(gtk_wrap_box_set_child_forced_break),
(gtk_wrap_box_query_line_lengths), (gtk_wrap_box_map),
(gtk_wrap_box_unmap), (gtk_wrap_box_draw), (gtk_wrap_box_expose),
(gtk_wrap_box_add), (gtk_wrap_box_remove), (gtk_wrap_box_forall):
* cut-n-paste-code/widgets/gimphwrapbox/gtkwrapbox.h:
Copied and pasted the wrapping hbox from the Gimp.
I made a few modifications, including some resizing requests,
when the chosen size is not the right one for the actual
space available. Sizing wrapping boxes is a tricky problem
with gtk, because they have nonstandard sizing requests
(they can request x or y or z) and my solution is probably
not optimal, since some of the sizing adjustments are visible
on screen. However, a better fix is a lot more time consuming,
and should probably wait for past 1.0.
* src/nautilus-complex-search-bar.c:
(search_bar_criterion_type_changed_callback),
(queue_search_bar_resize_callback),
(nautilus_complex_search_bar_initialize_class),
(nautilus_complex_search_bar_initialize), (real_activate),
(nautilus_complex_search_bar_queue_resize),
(attach_criterion_to_search_bar),
(unattach_criterion_from_search_bar),
(load_find_them_pixmap_widget), (more_options_callback),
(fewer_options_callback), (update_options_buttons_state):
* src/nautilus-complex-search-bar.h:
Changed the criteria layout to be in a vbox instead of a table,
so that we can insert wrapping hboxes. Added a new function
that will effectively resize the complex search bar, and we call
it at appropriate points. Switched the packing order of the
buttons, since the wrap box has only one packing function, and it is
a pack_start, rather than a pack_end function
* src/nautilus-search-bar-criterion-private.h:
* src/nautilus-search-bar-criterion.c: (queue_bar_resize_callback),
(nautilus_search_bar_criterion_new_from_values),
(nautilus_search_bar_criterion_show),
(nautilus_search_bar_criterion_hide),
(nautilus_search_bar_criterion_update_valid_criteria_choices),
(hide_date_widget), (show_date_widget), (make_emblem_value_menu):
Put the criteria into wrapping boxes as part of their creation, and
trigger a resize of the complex search bar when the wrapping box
complains about its allocated size.
2000-10-16 Pavel Cisler <pavel@eazel.com>
* cut-n-paste-code/widgets/gtkclist/Makefile.am:
* cut-n-paste-code/widgets/gtkclist/gtkclist.c:
* cut-n-paste-code/widgets/gtkclist/gtkclist.h:
Get rid of obsolete copy of GtkCList.
2000-09-21 Rebecca Schulman <rebecka@eazel.com>
Cut and pasted the gtkclist widget into
nautilus. Fixed bugzilla.eazel.com 481,
to reflect user file filtering preferences
in directory counts, and in the process,
fixed bug 480.
* configure.in:
* cut-n-paste-code/widgets/.cvsignore:
* cut-n-paste-code/widgets/Makefile.am:
* cut-n-paste-code/widgets/gtkclist/.cvsignore:
* cut-n-paste-code/widgets/gtkclist/Makefile.am:
* cut-n-paste-code/widgets/gtkclist/gtkclist.c:
* cut-n-paste-code/widgets/gtkclist/gtkclist.h:
(COLUMN_FROM_XPIXEL), (LIST_WIDTH), (gtk_clist_get_type),
(gtk_clist_class_init), (gtk_clist_set_arg), (gtk_clist_get_arg),
(gtk_clist_init), (gtk_clist_construct), (gtk_clist_new),
(gtk_clist_new_with_titles), (gtk_clist_set_hadjustment),
(gtk_clist_get_hadjustment), (gtk_clist_set_vadjustment),
(gtk_clist_get_vadjustment), (gtk_clist_set_scroll_adjustments),
(gtk_clist_set_shadow_type), (gtk_clist_set_selection_mode),
(gtk_clist_freeze), (gtk_clist_thaw),
(gtk_clist_column_titles_show), (gtk_clist_column_titles_hide),
(gtk_clist_column_title_active), (gtk_clist_column_title_passive),
(gtk_clist_column_titles_active),
(gtk_clist_column_titles_passive), (gtk_clist_set_column_title),
(gtk_clist_get_column_title), (gtk_clist_set_column_widget),
(gtk_clist_get_column_widget),
(gtk_clist_set_column_justification),
(gtk_clist_set_column_visibility),
(gtk_clist_set_column_resizeable),
(gtk_clist_set_column_auto_resize), (gtk_clist_columns_autosize),
(gtk_clist_optimal_column_width):
* src/file-manager/Makefile.am:
Add include of the cut-n-paste-code directory,
so we can access the clist.
* libnautilus-extensions/Makefile.am:
include the new static gtkclist library
* libnautilus-extensions/nautilus-list.h:
include the cut and pasted widget instead
of the gtk one.
* libnautilus-extensions/nautilus-directory-async.c:
(get_filter_options_for_directory_count),
(start_getting_directory_counts):
Add command to get filtering options for gnome-vfs
based on user preferences. This works niftily
when preferences change thanks to the callbacks
in fm_directory_view
* components/adapter/Makefile.am:
* cut-n-paste-code/freetype/Makefile.am: Make the tinderbox a bit
happier by mentioning some files that were missing from these
makefiles.
* cut-n-paste-code/freetype/ftdebug.h: Fixed compiling with newer
gcc. Freetype was trying to use token pasting to attach the name
of a function (FTMessage) onto the parameters to that
function. There's no need to attempt this, and it's incorrect. I
removed the token pasting attempt. Perhaps Raph should get this
rolled back into the main freetype soruces.
* libnautilus-extensions/bonobo-stream-vfs.c: Cleaned up the code
a bit to match Nautilus coding style and remove some redundant
stuff.
* libnautilus-extensions/nautilus-bookmark.c:
(nautilus_bookmark_update_icon): Fixed a place where we unref the
old value before ref'ing the new one. It's not really a bug, but
it's a good habit to ref the new value first. Ran into this when
I started looking for NautilusScalableIcon leaks.
Tue Aug 29 22:43:15 2000 George Lebl <jirka@5z.com>
This should close bug #1361
* configure.in, cut-n-paste-code/widgets/Makefile.am,
cut-n-paste-code/widgets/nautilus-druid/*,
po/POTFILES.in:
Remove the nautilus druid hack from here. We can do all
that we need from libnautilus extensions without need of
cut and paste code.
* libnautilus-extensions/nautilus-druid.[ch],
libnautilus-extensions/nautilus-druid-page-eazel.[ch],
po/POTFILES.in:
Make NautilusDruid be a derivation of GnomeDruid and
the NautilusDruidPageEazel of GnomeDruidPage. Also make
use of more of the nautilus style of coding in both. Federico
will kill me for using remove/add to move a file, but it's more
then just a move anyway.
* src/nautilus-first-time-druid.c (set_up_proxy_config_page)
(next_update_page_callback) (next_update_feedback_page_callback)
(next_proxy_configuration_page_callback)
(finish_page_back_callback) (nautilus_first_time_druid_show)
(download_callback) (initiate_file_download):
Use the new nautilus druid and the new eazel druid page everywhere.
Also fix one case of double adding things to a GtkBox.