1 2000-04-14 Raph Levien <raph@gimp.org>
5 librsvg/art_rgba_svp.c:
6 librsvg/art_rgba_svp.h: Added GPL copyright notice making clear
7 that these files are part of libart_gpl. Also made .h files
10 * librsvg/rsvg-bpath-util.c:
11 librsvg/rsvg-bpath-util.h:
15 librsvg/rsvg.h: Added GPL copyright notice assigning copyright
16 to Eazel. Also made .h files C++ friendly.
18 * librsvg/rsvg-bpath.c: Removed this file, it's subsumed by
21 2000-04-13 Ramiro Estrugo <ramiro@eazel.com>
25 libnautilus/nautilus-view-component.idl,
26 libnautilus/Makefile.am,
27 libnautilus/.cvsignore:
29 Move nautilus view component interface definition into libnautilus.
31 2000-04-13 Ramiro Estrugo <ramiro@eazel.com>
34 .cvsignore file for new rsvg directory.
36 2000-04-13 Andy Hertzfeld <andy@eazel.com>
38 added Raph's scalable icon machinery. Right now the only way to see it
39 is to use the eazel theme and drag a file over a folder; the open folder
40 is a vector icon. Soon we'll add lots more.
44 * libnautilus/nautilus-icon-factory.c:
45 integrate vector icons with the icon factory. Right now, it prefers
46 them to bitmapped ones, which is probably wrong.
47 * Makefile.am: added librsvg
48 * configure.in: added librsvg
49 * src/Makefile.am: link with librsvg
50 * components/*/Makefile.am: link with librsvg
51 * icons/eazel/Makefile.am: added i-directory-accept.svg
52 * icons/eazel/i-directory-accept.svg: our sole vector icon
54 2000-04-13 Darin Adler <darin@eazel.com>
56 * components/html/ntl-web-browser.c: (browser_vfs_read_callback):
57 Fixed a bug my changes to GNOME VFS exposed. The callback couldn't
58 handle a "bytes_read" of 0.
60 * libnautilus/nautilus-directory-private.h:
61 * libnautilus/nautilus-directory.c:
62 * libnautilus/nautilus-directory.h:
63 * src/file-manager/fm-directory-view.c:
64 Added a new interface for monitoring files and directories.
65 Also fixed the self-check code that was failing since the
68 * libnautilus/nautilus-file.h:
69 Added the interface for monitoring single files, but it isn't
72 * libnautilus/nautilus-icon-canvas-item.c:
73 * libnautilus/nautilus-icon-canvas-item.h:
74 * libnautilus/nautilus-icon-container.c:
75 * libnautilus/nautilus-icon-container.h:
76 * libnautilus/nautilus-icon-dnd.c:
77 * libnautilus/nautilus-icon-dnd.h:
78 * libnautilus/nautilus-icon-private.h:
79 Restructured Andy's modifier changes so the canvas item doesn't
80 have to know about modifiers. This makes the canvas item private
81 again. Users of NautilusIconContainer shouldn't have to know
82 about the canvas item.
84 * src/file-manager/fm-icon-view.c:
87 2000-04-13 Andy Hertzfeld <andy@eazel.com>
89 * components/services/startup/nautilus-service-startup-view.c:
90 made configuration upload work again by adding a "Content-Type"
91 header, which is now required by Jonathan's script
93 2000-04-13 Andy Hertzfeld <andy@eazel.com>
95 * components/services/startup/nautilus-service-startup-view.c:
96 fixed problems with the url escaping by unescaping the token
97 return by the service before re-escaping it
98 * components/services/startup/eazel-register.c:
99 added periodic call to gtk_main_iteration during configuration
100 gather to get feedback displayed
102 2000-04-13 Andy Hertzfeld <andy@eazel.com>
104 added Susan's images to service registration and configuration upload
107 added components/services/startup/icons/Makefile
108 * components/services/startup/Makefile.am
109 added icons directory to Makefile
110 * components/services/startup/icons/Makefile.am
111 Makefile for a new directory to hold the images
112 * components/services/startup/icons/.cvsignore
113 .cvsignore file for the new directory
114 * components/services/startup/icons/config-gather.png:
115 new icon for configuration gathering form
116 * components/services/startup/icons/register.png:
117 new icon for registration form
118 * components/services/startup/nautilus-service-startup-view.c:
119 added code to display the new icons
121 2000-04-13 Darin Adler <darin@eazel.com>
123 Updated for new GNOME VFS.
125 * libnautilus/nautilus-directory.c
126 (read_some_metafile_data), (metafile_read_start),
127 (metafile_write_create_callback), (metafile_write_start),
128 (nautilus_directory_monitor_files_ref):
129 * libnautilus/gdk-pixbuf-extensions.c
130 (nautilus_gdk_pixbuf_load_async):
131 * src/ntl-uri-map.c (got_metadata_callback):
132 * components/html/ntl-web-browser.c (browser_vfs_callback),
134 Update for the new GNOME VFS which doesn't return an immediate error
135 code when doing an async. call.
137 2000-04-12 Andy Hertzfeld <andy@eazel.com>
139 * src/ntl-window-msgs.c:
140 improved the title of uri's not handled by gnome-vfs; instead of
141 "Nautilus" use the text after the colon, if there is any
142 * components/services/startup/nautilus-service-startup-view.c:
143 used Gene's escaping routine in gnome-vfs to escape http
144 parameters as necessary
145 * libnautilus/nautilus-directory.c:
146 weakened assert in metadata callback to allow non-vfs uris to
149 2000-04-12 Andy Hertzfeld <andy@eazel.com>
151 * icons/eazel/Makefile.am:
152 added more eazel theme open folder icons at different sizes
153 * icons/eazel/i-directory-accept.png:
154 replaced this one with one that was less crufty
155 * icons/eazel/i-directory-accept-36.png:
156 new open folder icon at smaller size
157 * icons/eazel/i-directory-accept-72.png:
158 new open folder icon at larger size
160 2000-04-12 Pavel Cisler <pavel@eazel.com>
162 * src/file-manager/fm-directory-view.c:
163 (fm_directory_duplicate_selection), (bonobo_menu_duplicate_cb),
164 (append_uri_one), (duplicate_cb), (fm_directory_view_real_update_menus):
165 Added a Duplicate menu item. (task 329)
167 * src/file-manager/dfos-xfer.c:
169 Added support for the duplicate command. Passing in a NULL for
170 target directory now starts a duplicate operation.
172 * src/file-manager/dfos-xfer.c:
174 Made the progress dialog receive the text for the setup state. Pass
175 in proper text for copy and move operations.
177 * src/file-manager/dfos-xfer.c:
179 Pin the values of the bytes_copied to the preflight maximum -- a copy
180 may end up copying more than it estimated when items are added to
181 the hierarchy after the copy started. (I was hitting this when copying
182 a folder into itself, which is a separate bug).
184 2000-04-12 Andy Hertzfeld <andy@eazel.com>
186 added a framework for using custom images for icons to reflect their
187 highlited states. Made folders in the eazel theme open up to reflect
190 * icons/eazel/Makefile.am:
191 added icon for open folder at standard size
192 * icons/eazel/i-directory-accept.png:
193 icon of open folder for drop-highlighting
194 * libnautilus/nautilus-icon-canvas-item.c,h:
195 added a "modifier" text string attribute with appropriate accessors
196 when modifier is changed, update the icon
197 * libnautilus/nautilus-icon-container.c,h:
198 added modifier parameter to "get_icon_images" signal
199 added nautilus_icon_container_request_update_by_item to update
200 the icon corresponding to a given item.
201 * libnautilus/nautilus-icon-factory.c,h:
202 added modifier field to NautilusScalableIcon; modified appropriate
203 lifetime and hashing routines accordingly;
204 use the modifier to select the proper image in get_icon_file_path
205 * src/file-manager/fm-icon-view.c:
206 pass in the modifier from signal to icon_factory_get_icon_for_file.
208 2000-04-12 John Sullivan <sullivan@eazel.com>
210 * data/mime/nautilus.keys:
211 A whole bunch more MIME type descriptions.
213 2000-04-12 Darin Adler <darin@eazel.com>
215 * check-FIXME.pl: This is a new Perl script for searching for FIXME
216 in the code. It reports any FIXME that does not have a bug number
217 next to it, or any with a bug number that's not an open bug.
218 * libnautilus/nautilus-bookmark.c: Attached a bug number to a FIXME
219 for script-testing purposes.
220 * docs/architecture.txt: Removed a FIXME. So sue me!
222 * src/file-manager/fm-icon-text-window.c
223 (create_attributes_option_menu): Added a call to gettext since the
224 attribute_labels are now N_ strings.
225 * po/.cvsignore: Ignore the generated files.
227 * libnautilus/nautilus-icon-factory.c: Formatting tweak.
229 2000-04-12 Ramiro Estrugo <ramiro@eazel.com>
231 * src/file-manager/fm-icon-text-window.c:
232 Change usage of _("foo") to N_("foo")
234 2000-04-12 Valek Filippov <frob@df.ru>
236 * po/POTFILES.in: added files for i18n
239 * aconfig.h: changed for i18n
240 * po/ru.po: added russian translation.
242 2000-04-12 Pavel Cisler <pavel@eazel.com>
244 * libnautilus/nautilus-icon-dnd.c:
245 * libnautilus/nautilus-icon-dnd.h:
246 Fix a problem where drag actions did't update properly when dragging
247 between two windows. The pointer to the private GtkDragStatus needs
248 to be global, not stored in the drag originator widget.
250 2000-04-11 Andy Hertzfeld <andy@eazel.com>
252 * components/services/startup/eazel-register.c:
253 added hostname to configuration node to distinguish machines when
254 the user has more than one
255 * components/services/startup/nautilus-service-startup-view.c:
256 changed protocol for configuration upload to match Jonathans's new
257 cgi; configuration upload is now working with Jonathan's stuff!
259 2000-04-11 Darin Adler <darin@eazel.com>
261 * libnautilus/nautilus-directory.c
262 (nautilus_directory_call_when_ready),
263 (nautilus_directory_call_when_ready_internal): Handle case where
264 directory is NULL which is needed for URIs that Nautilus
265 understand but GNOME VFS does not.
267 2000-04-11 John Sullivan <sullivan@eazel.com>
269 Addressed most of task 148 (Better type-as-string for
270 directory views). Added new directory to CVS, so make
271 sure you do a "cvs update -d" and not just "cvs update".
273 "make install" now installs a file of mime-type-to-English
274 descriptions in the gnome-mime directory.
276 * data/mime/nautilus.keys: The actual mapping between
277 MIME types and English descriptions. Read these and send
279 * data/mime/Makefile.am: New file, copies nautilus.keys to
280 gnome-mime directory.
281 * data/Makefile.am: includes "mime" subdirectory
282 * configure.in: configures "data/mime" directory
284 * libnautilus/nautilus-file.c:
285 (nautilus_file_get_mime_type_as_string_attribute):
286 New function, returns the raw MIME type as a string,
287 and handles the no-MIME-type case.
288 (nautilus_file_get_string_attribute): handle attribute
289 "mime_type", distinct from "type" which is now the
291 (nautilus_file_get_type_as_string): Use gnome-mime
292 to get human-language descriptions based on the MIME
294 (nautilus_file_is_executable): Fixed this function which
295 was reading info->flags instead of info->permissions. Now
296 the special executable icon appears much more often (though
297 we still don't know what it's supposed to be).
298 * src/file-manager/fm-error-reporting.c:
299 (fm_report_error_renaming_file): Use "directory" instead of
300 "folder" to match our terminology elsewhere.
301 * src/file-manager/fm-icon-text-window.c:
302 add "mime type" to list of choices of text that can appear
303 beneath icons (in addition to just plain "type", which is
304 the human-language one).
306 2000-04-11 Gene Z. Ragan <gzr@eazel.com>
310 * components/sample/nautilus-sample-content-view.c
311 Added icon data to BonoboUiHandler. This is GdkPixbuf
312 data and demonstrates the pixbuf data features
313 added to bonobo ui handlers.
315 * libnautilus/nautilus-bookmark.c
316 bonobo_ui_handler_menu_new_item modified to take advantage
317 of new bonobo ui handler pixbuf functionality. Components and
318 menu items can now display pixbuf data.
319 Added nautilus_bookmark_get_pixbuf() routine.
321 * libnautilus/nautilus-bookmark.h
322 Added nautilus_bookmark_get_pixbuf() routine.
324 * src/nautilus-window-menus.c
325 bonobo_ui_handler_menu_new_item modified to take advantage
326 of new bonobo ui handler pixbuf functionality.
328 2000-04-11 Darin Adler <darin@eazel.com>
330 Finished task 226 (Read metadata asynchronously instead of
333 Requires new GNOME VFS.
335 * libnautilus/nautilus-directory-private.h:
336 * libnautilus/nautilus-directory.c:
337 * libnautilus/nautilus-directory.h:
338 Changed code to read and write metafiles async. Too many functions
339 modified for me to list here.
341 * libnautilus/nautilus-file-private.h:
342 * libnautilus/nautilus-file.c:
343 * libnautilus/nautilus-file.h:
344 (nautilus_file_changed), (nautilus_file_emit_changed),
345 (nautilus_file_get_metadata), (nautilus_file_set_metadata),
346 (nautilus_file_call_when_ready), (nautilus_file_cancel_callback):
347 Changes to NautilusFile so it can participate in the new.
349 * components/notes/ntl-notes.c (notes_load_metainfo):
350 Fixed a bug in my recent changes where it would use a bad file
351 object when getting metadata.
353 * src/file-manager/fm-directory-view.c (notes_load_metainfo):
354 Renamed "tags" to "keys".
356 2000-04-11 Andy Hertzfeld <andy@eazel.com>
358 * components/rpmview/nautilus-rpmview.c:
359 added install, update and uninstall buttons to the package view,
360 that are shown/hidden based on the install state, but they don't
361 actually do anything yet.
363 2000-04-11 Darin Adler <darin@eazel.com>
365 Updated for new GdkPixbuf.
367 * HACKING: gnome-print must be built before bonobo.
368 * RENAMING: New renaming ideas.
369 * libnautilus/nautilus-graphic-effects.c (create_new_pixbuf),
370 (nautilus_create_spotlight_pixbuf),
371 (nautilus_create_darkened_pixbuf),
372 (nautilus_create_colorized_pixbuf),
373 (nautilus_make_semi_transparent): Updated for new GdkPixbuf.
374 * libnautilus/nautilus-icon-canvas-item.c (pixbuf_is_acceptable):
375 Updated for new GdkPixbuf.
376 * libnautilus/nautilus-icon-container.c (icon_get_actual_size):
377 Updated for new GdkPixbuf.
378 * libnautilus/nautilus-icon-factory.c
379 (nautilus_icon_factory_possibly_free_cached_image): Put in a
380 temporary hack that allows us to keep working until we get a
381 suitable feature in GdkPixbuf for implementing the cache. For now,
382 we don't free any pixbufs ever, so the cache grows unbounded.
383 (load_image_for_scaling), (load_image_scale_if_necessary):
384 (nautilus_icon_factory_make_thumbnails), Updated for new
386 * src/nautilus-index-title (nautilus_index_title_update_icon):
387 Updated for new GdkPixbuf.
389 2000-04-11 Pavel Cisler <pavel@eazel.com>
391 * libnautilus/nautilus-icon-dnd.c:
392 * libnautilus/nautilus-icon-dnd.h:
393 (nautilus_icon_dnd_update_drop_target):
394 Determine if a drop target can accept drop, update highlight for
396 (nautilus_icon_dnd_update_drop_target):
397 Add drop highlighting for dragged items that can be accepted by a
399 (nautilus_icon_canvas_item_can_accept_item):
401 (nautilus_icon_canvas_item_can_accept_items):
402 Put a cap on the number of items checked as accepted by drop target
403 to not lock up the machine when dragging lots of items.
404 (nautilus_icon_dnd_modifier_based_action):
405 Tweak the modifier keys -- use Alt to force copy.
407 * libnautilus/nautilus-icon-container.c:
408 * libnautilus/nautilus-icon-container.h:
409 * src/file-manager/fm-directory-view.c:
410 * src/file-manager/fm-directory-view.h:
411 * src/file-manager/fm-icon-view.c:
412 (can_accept_item), (fm_directory_view_can_accept_item):
413 New signal -- helps figuring out if potential drop target can
414 accept dropped URIs. For now returns TRUE for any directory that
415 doesn't match the dragged item.
417 * libnautilus/nautilus-icon-container.c:
418 (item_event_callback):
419 Support for turning the "highlight for drop" state of an icon on/off --
420 during drag&drop don't let the "enter notify" signal reach the canvas item
421 so that the item won't get prelit.
423 * libnautilus/nautilus-icon-canvas-item.c:
424 (nautilus_icon_canvas_item_event):
425 Turn off highlight for drop as well as prelight on leave event.
426 This is a fallback in case the drag&drop for some reason leaves
427 the target icon highlighted for drop after a drag ends.
429 * libnautilus/nautilus-gtk-extensions.c:
430 * libnautilus/nautilus-gtk-extensions.h:
431 (nautilus_gtk_marshal_INT__POINTER_POINTER):
432 Added another binder function.
434 * libnautilus/nautilus-file.c:
435 * libnautilus/nautilus-file.h:
436 (nautilus_file_matches_uri): Added a utility call used to detect
439 2000-04-10 Andy Hertzfeld <andy@eazel.com>
441 * components/rpmview/nautilus-rpmview.c:
442 made the package view determine if a package is installed or not and display
443 a message accordingly. Command buttons are coming soon.
445 2000-04-10 Pavel Cisler <pavel@eazel.com>
446 Nasty hack to allow drag&drop actions to respond to modifier keys
447 and the drop context properly. This will one day get fixed by
448 adding proper hooks to Gtk+ and using them. For now we have to
451 * libnautilus/nautilus-icon-dnd.h:
452 * libnautilus/nautilus-icon-dnd.c:
453 (nautilus_icon_dnd_update_drop_action),
454 (nautilus_icon_dnd_modifier_based_action),
455 (nautilus_icon_dnd_get_event_actions),
456 (nautilus_icon_dnd_get_event_time),
457 (nautilus_icon_dnd_source_check_selection),
458 (nautilus_icon_dnd_update),
459 (nautilus_icon_drag_key_callback),
460 (nautilus_icon_dnd_begin_drag), (drag_drop_callback):
461 Pull in a bunch of code from gtkdnd.c. Add new call to
462 allow overriding drop actions based on modifiers and the drop
463 context. Connect the "key_press_event" and "key_release_event"
464 to the copied code. All this to be able to call
465 nautilus_icon_dnd_get_event_actions instead of the broken
466 and private gtk_drag_get_event_actions.
467 I still have to add code to change the default action based
468 on the drop target between copy and move based whether the
469 source and drop containers are the same, etc.
471 2000-04-10 Andy Hertzfeld <andy@eazel.com>
473 * components/rpmview/nautilus-rpmview.c:
474 made the package view component display a scrolling list of the
475 constituent files in the package.
477 2000-04-10 Darin Adler <darin@eazel.com>
479 Finished changing all callers that use metadata to use it in a way
480 that is compatible with async. metadata reading.
482 * components/notes/ntl-notes.c:
483 (notes_load_metainfo): Changed to use nautilus_file_call_when_ready
484 to wait for the metadata. Also fixed a bug that was causing an assert
485 inside the call to gtk_editable_insert_text.
486 (main): Made warnings and criticals stop in the debugger.
488 * libnautilus/nautilus-directory.c:
489 * libnautilus/nautilus-directory.h:
490 (nautilus_directory_call_when_ready): Renamed the call to indicate
491 it can wait for more than just metadata. For now it does only wait
492 for metadata, though.
493 (nautilus_directory_cancel_callback): Renamed this too.
495 * libnautilus/nautilus-file.c:
496 (nautilus_file_call_when_ready), (nautilus_file_cancel_callback):
497 Made a corresponding call for the metadata of a single file.
499 * libnautilus/nautilus-gdk-extensions.c:
500 * src/nautilus-index-title.c:
503 * libnautilus/nautilus-metadata.h:
504 Clarified that ANNOTATION is a per-file piece of metadata.
507 * src/file-manager/fm-directory-view.c:
508 Use new names of calls.
510 * src/file-manager/fm-icon-view.c:
511 * src/file-manager/fm-list-view.c:
514 2000-04-10 Andy Hertzfeld <andy@eazel.com>
516 * src/nautilus-index-title.c:
517 fixed bug where multi-line titles in index panel would have a big
518 vertical gap. Fixed by breaking out of the loop after it finds a
519 split point. Also, removed an unneccesary justification call.
521 2000-04-10 Andy Hertzfeld <andy@eazel.com>
523 * components/services/startup/eazel-register.c:
524 added io ports to hardware configuration synopsis
526 2000-04-10 John Sullivan <sullivan@eazel.com>
528 Fixed bug 377 (clipping emblems in list view looks bad
529 and loses information)
531 * libnautilus/nautilus-list.c:
532 (draw_row): Made it draw the ellipsis character if there's
533 not enough room to show all emblems.
535 2000-04-10 John Sullivan <sullivan@eazel.com>
537 * libnautilus/nautilus-list.c:
538 (nautilus_list_initialize_class), (nautilus_list_initialize),
539 (select_or_unselect_row_callback), (emit_selection_changed),
540 (select_range), (select_row), (select_row_from_mouse),
541 (row_set_selected), (select_row_unselect_others),
542 (nautilus_list_select_all), (nautilus_list_unselect_all),
543 (nautilus_list_button_press), (nautilus_list_keyboard_move_to),
544 (nautilus_list_motion), (nautilus_list_set_selection):
545 Reworked selection such that the SELECTION_CHANGED signal is
546 emitted only once for every selection-affecting operation,
547 and never if the selection hasn't changed at all. This makes
548 such operations as Select All, switch-from-icon-view-with-lots-
549 selected, and arrow-key-to-end-of-list significantly faster.
551 2000-04-09 Andy Hertzfeld <andy@eazel.com>
553 * components/services/startup/nautilus-service-startup-view.c:
554 now it saves the account token assigned by the service, and passes
555 it back in the header of subsequent requests
556 * libnautilus/nautilus-icon-factory.c:
557 fixed bug #293, thumbnails of thumbnails endlessly, by explicitly
558 testing for thumbnails of thumbnails as part of the criteria for
559 making them also, make a "snapshot" frame for thumbnails (task
562 2000-04-09 John Sullivan <sullivan@eazel.com>
564 Finished task 307 (keyboard navigation in list view should
565 use same keys/behavior as in icon view). There are a few
566 minor bugs remaining that I'll write up separately.
568 * libnautilus/nautilus-list.c:
569 NautilusListDetails struct: added fields for
570 keyboard_row_to_reveal and keyboard_row_reveal_timer_id;
571 (nautilus_list_initialize_class): Removed key binding set for
572 this class (uses key_press_event function instead); used
573 gtk_binding_entry_clear to get rid of all the unwanted GtkCList
574 key bindings; wire up key_press_event function; wire up
576 (nautilus_list_destroy): New function, destroy details struct
577 (this was storage leak) and clean up pending timer.
578 (nautilus_list_clear_keyboard_focus), (nautilus_list_set_keyboard_focus),
579 (nautilus_list_keyboard_move_to), (keyboard_row_reveal_timeout_callback),
580 (unschedule_keyboard_row_reveal), (schedule_keyboard_row_reveal),
581 (reveal_row), (nautilus_list_keyboard_navigation_key_press),
582 (nautilus_list_keyboard_home), (nautilus_list_keyboard_end),
583 (nautilus_list_keyboard_up), (nautilus_list_keyboard_down),
584 (nautilus_list_keyboard_page_up), (nautilus_list_keyboard_page_down),
585 (nautilus_list_keyboard_space), (nautilus_list_activate_selected_items),
586 (nautilus_list_get_first_selected_row),
587 (nautilus_list_get_last_selected_row),
588 (nautilus_list_key_press): New functions, all the mechanism for
589 handling key presses similarly to NautilusIconContainer. Bonus
590 key handling for Page Up and Page Down.
591 (nautilus_list_move_focus_row), (scroll_vertical): Removed these
592 functions that were used by the GtkCList key bindings in favor of
593 nautilus_list_key_press and friends.
595 2000-04-07 Andy Hertzfeld <andy@eazel.com>
597 * libnautilus/nautilus-icon-canvas-item.c:
598 inspired by John's list view underlining, the text beneath icons
599 is now underlined when the icon is pre-lit
601 2000-04-07 John Sullivan <sullivan@eazel.com>
603 Fixed bug Andy pointed out where list view "links" could
604 be activated by clicking in white space past the name.
605 Also started making changes in the direction of getting
606 keyboard selection working properly in list view (but
607 most of the work remains).
609 * libnautilus/nautilus-gdk-extensions.h,
610 * libnautilus/nautilus-gdk-extensions.c:
611 (nautilus_stipple_bitmap): New function, returns pointer to
612 static 50% stipple bitmap.
613 * libnautilus/nautilus-icon-cvanvas-item.c:
614 remove global stipple object;
615 (nautilus_icon_canvas_item_initialize_class): Remove initialization
616 of global stipple object.
617 (draw_or_measure_label_text), (draw_stretch_handles): Use
618 nautilus_stipple_bitmap () in lieu of global stipple object
620 * libnautilus/nautilus-list.c:
621 (get_cell_horizontal_start_position): New function, extracted
622 from draw_row so I could use it elsewhere.
623 (nautilus_list_key): Removed function.
624 (nautilus_list_draw_focus): New function, draws keyboard-focussed
625 row with the same stipple outline used in icon view.
626 (nautilus_list_move_function_row): New function, copied & simplified
627 from GtkCList. Will probably rewrite entirely or eliminate very soon.
628 (nautilus_list_scroll_vertical): New function, copied & simplified
629 from GtkCList. Handles various keyboard commands, though not yet with
630 the behavior we actually want.
631 (nautilus_list_initialize_class): Begin to override and eliminate
632 GtkCList key bindings that we want to change. I've just started this
633 work -- all I've done so far is make space do nothing but Control-space
634 toggle the selection status of the keyboard-focussed row. I need to
635 go through and fix up all the bad inherited bindings. Also in this
636 function replace GtkCList's scroll_vertical and draw_focus function
637 pointers, and removed the key_press_event and key_release_event
638 overrides that were deliberately preventing us from inheriting any
639 of GtkCList's keyboard behavior.
640 (nautilus_list_button_release): Only activate link-text if the click
641 is in the horizontal bounds of the text.
642 (draw_row) Use get_cell_horizontal_start_position that was extracted
645 2000-04-07 Andy Hertzfeld <andy@eazel.com>
647 * components/services/startup/nautilus-service-startup-view.c:
648 switched over to using Jonathan's prototype service, which is only
649 accessible from eazel's intranet for now. Registration now works with
652 * libnautilus/nautilus-icon-canvas-item.c:
653 first, simple version of drag/swallow highliting - it just darkens the
654 icon and emboldens the text, exactly like selection highlighting.
655 Pavel's going to set the flag during dragging soon, so this will help
656 him see what he's doing. Soon, we'll have a more elaborate approach.
658 2000-04-06 Andy Hertzfeld <andy@eazel.com>
660 * components/services/startup/nautilus-service-startup-view.c:
661 made configuration upload make the HTTP request and handle errors, but still not
662 quite finished, since it's not passing the cookie back yet. Also, created a stub
663 summary page plus minor clean-ups
665 2000-04-06 Pavel Cisler <pavel@eazel.com>
667 * src/file-manager/dfos-xfer-progress-dialog.c:
668 * src/file-manager/dfos-xfer-progress-dialog.h:
669 (dfos_xfer_progress_dialog_new_file):
670 Pass in the current copied file index so that the progress
671 dialog doesn't need to get called for every file copied.
673 * src/file-manager/dfos-xfer.c:
674 (handle_xfer_vfs_error), (handle_xfer_overwrite),
675 (handle_xfer_duplicate), (handle_xfer_ok):
676 Add error handling with error alerts.
677 Add file overwrite alerts.
678 Fix up calling the progress to deal with not being
679 called for every single file.
681 * src/file-manager/dfos-xfer.c:
683 Fix a bug where the async job handle was not being set properly.
685 * src/file-manager/dfos-xfer.c:
686 * src/file-manager/dfos-xfer.h:
687 (file_operation_alert):
690 * src/file-manager/dfos-xfer.c:
691 * src/file-manager/dfos-xfer.h:
693 New copy engine main entry.
695 2000-04-06 Andy Hertzfeld <andy@eazel.com>
697 * components/services/startup/nautilus-service-startup-view.c:
698 more work to polish registration and implement configuration upload,
699 plus various clean-ups
701 2000-04-06 John Sullivan <sullivan@eazel.com>
703 Finished task 376 (Resolve single-click behavior)
705 * libnautilus/nautilus-gdk-extensions.h:
706 #defines for colors NAUTILUS_RGB_COLOR_RED, _GREEN,
707 _BLUE, _WHITE, and _BLACK.
708 * libnautilus/nautilus-gdk-extensions.c:
709 (nautilus_parse_rgb_with_white_default): Replaced
710 hard-wired numbers with these #defines.
712 * libnautilus/nautilus-list.h,
713 * libnautilus/nautilus-list.c:
714 added enum entry for NAUTILUS_CELL_LINK_TEXT;
715 (nautilus_list_mark_cell_as_link): New functions, converts
716 an ordinary text cell into a link-text cell.
717 (nautilus_list_button_release): Only activate link-text
718 cells on single click; other cells select as in other lists.
719 (draw_row): draw link-text cells with blue text and an
720 underline, so they look like typical web links.
721 (nautilus_list_set_cell_contents): Convert link-text cell
722 back to ordinary text cell before cleaning up old
723 contents so parent function will do the right thing.
725 * src/file-manager/fm-list-view.c:
726 (add_to_list): mark file name cell as link-text cell.
727 (remove_from_list): New function, extracted from...
728 (fm_list_view_file_changed): Followed Darin's advice on
729 how to simultaneously clarify this code and fix a
732 For Darin, fixed a typo that caused every file to be
733 displayed as if it were a directory.
736 (my_notify_when_ready): Added two missing "== 0"s.
738 2000-04-06 Maciej Stachowiak <mjs@eazel.com>
740 * src/file-manager/fm-directory-view.c
741 (notify_selection_change_cb, display_pending_files): Add a boolean
742 field have_pending_uris_selected to distinguish the case where we
743 have _no_ pending selection from the case where we have an empty
744 one (in both cases, the pending_uris_selected field should be
747 2000-04-06 Darin Adler <darin@eazel.com>
749 Added the hooks needed to make metafile reading asynchronous.
750 Next I'll change the actual metafile access to work that way.
752 * libnautilus/nautilus-directory.h:
753 * libnautilus/nautilus-directory.c:
754 (nautilus_directory_metadata_call_when_ready): Added function
755 that requests a read of some metadata and calls back when the
758 * src/ntl-app.c: (nautilus_app_startup): Got rid of call to
759 nautilus_navinfo_init.
761 * src/ntl-types.h: Moved the NautilusNavigationInfo struct
762 and related defines to ntl-uri-map.h.
766 Reformatted and changed the names of many functions.
767 Added code to use the new metadata callback.
769 * src/ntl-index-panel.c:
772 * src/ntl-window-msgs.c:
775 Had to change includes a bit because of my changes to what
776 header files are including.
778 * src/ntl-window-msgs.c: (nautilus_window_update_state):
780 Use the new nautilus_navigation_info_cancel call instead of
781 reaching right in to cancel the underlying call.
783 * src/ntl-view-private.h:
786 2000-04-06 Darin Adler <darin@eazel.com>
788 * libnautilus/nautilus-directory-background.c:
789 (nautilus_connect_background_to_directory_metadata):
790 Fixed code that was trying to disconnect the handler from the
791 new directory, not the old one.
793 2000-04-06 John Sullivan <sullivan@eazel.com>
795 * src/file-manager/fm-list-view.c:
796 (fm_list_view_file_changed): Only call nautilus_file_unref if
797 the file isn't gone. This cures some GTK-CRITICALS I ran into.
799 * src/file-manager/fm-properties-window.c:
800 (name_field_update): Renamed to name_field_update_to_match_file;
801 handle case where file name was changed elsewhere.
802 (create_properties_window): Hook up name_field_update_to_match_file
803 to get called when file changes externally.
804 (remove_properties_window_from_hash_table): New function.
805 (fm_properties_window_get_or_create): Use hash table so there's
806 only one Properties window per file. This was intended to be the
807 design but we forgot to implement it earlier.
809 2000-04-05 Andy Hertzfeld <andy@eazel.com>
811 * components/services/startup/nautilus-service-startup-view.c:
812 made the registration code display errors on various conditions; made it make an
813 HTTP request to the service cgi and give appropriate error feedback or move to
814 the configuration form if successful. Disabled the registration button unless something
815 is typed into each field.
817 2000-04-05 John Sullivan <sullivan@eazel.com>
819 Fixed bug 394 (clicking Home button segfaults)
821 * src/ntl-window-msgs.c: (nautilus_window_update_internals):
822 Don't update Back list when the location hasn't actually
823 changed, since (A) it would be silly and (B) the code that
824 sets up last_location_bookmark and current_location_bookmark
825 doesn't work right if you do.
827 2000-04-05 John Sullivan <sullivan@eazel.com>
829 Some cleanups from the file-renaming checkin I did
830 yesterday. The largest change was making NautilusDirectory
831 send "files-changed" signal instead of "files-removed"
832 signal when a file is removed. That way interested callers
833 need register only for one signal. The callers can use
834 nautilus_file_is_gone () to test whether the file was removed.
836 * libnautilus/nautilus-directory-private.h:
837 (nautilus_directory_files_removed): Removed function.
838 * libnautilus/nautilus-directory.h:
839 (files_removed): Removed signal definition, updated comments.
840 * libnautilus/nautilus-directory.c:
841 Removed FILES_REMOVED signal enum entry;
842 (nautilus_directory_initialize_class): Removed FILES_REMOVED
844 (nautilus_directory_files_removed): Removed function.
845 * libnautilus/nautilus-file.c:
846 (get_file_for_parent_directory): New private function.
847 (nautilus_file_can_rename): This function was quite broken in
848 its initial check-in. It worked only on a random basis. Now it
849 works quite a bit better. It should only return FALSE if it's
850 darn well sure that the user can't rename the file; it returns
851 TRUE even if it isn't sure, so clients must handle failed
852 renames (which they would have to anyway).
853 (nautilus_file_delete): Call nautilus_file_changed instead of
854 nautilus_directory_files_removed when file is deleted.
856 * src/file-manager/fm-directory-view.h:
857 (remove_file): Remove signal definition, update comments.
858 * src/file-manager/fm-directory-view.c:
859 remove REMOVE_FILE signal enum entry;
860 remove files_removed_handler_id and pending_files_removed from
862 (fm_directory_view_initialize_class): remove REMOVE_FILE signal
864 (display_pending_files): remove "removed" case; made "changed"
865 case handle updating uri table; made "changed" case send signal
866 even if file is gone.
867 (files_removed_cb): Removed function.
868 (fm_directory_view_load_uri): removed connection to "files_removed"
870 (disconnect_model_handlers): removed disconnect of files_removed_handler.
872 * src/file-manager/fm-icon-view.c:
873 (fm_icon_view_remove_file): Removed function.
874 (fm_icon_view_initialize_class): Remove remove_file signal handler override.
875 (fm_icon_view_file_changed): check if file is gone and do what
876 fm_icon_view_remove_file used to do if so.
877 * src/file-manager/fm-list-view.c:
878 (fm_list_view_remove_file): Removed function.
879 (fm_list_view_initialize_class): Remove remove_file signal handler override.
880 (fm_list_view_file_changed): check if file is gone and do what
881 fm_list_view_remove_file used to do if so.
883 * src/file-manager/fm-properties-window.c:
884 (properties_window_file_changed_callback): Don't update the window title
885 if you just nuked the window -- Doh! Now the Properties window will
886 vanish silently if the file is deleted.
888 2000-04-05 Darin Adler <darin@eazel.com>
890 Improved the background handling code so more is shared.
891 There's even more we could do in this direction.
893 * components/music/nautilus-music-view.c:
894 (nautilus_music_view_initialize): Got rid of redundant background
895 color initialization.
896 (nautilus_music_view_realize): Got rid of background color
898 (nautilus_music_view_update_from_uri): Changed background color
899 handling to use new nautilus_directory_background calls.
900 (nautilus_music_view_background_changed): Not needed any more.
902 * components/notes/ntl-notes.c:
903 Did some cleanup and reformatting.
905 * libnautilus/Makefile.am:
906 * libnautilus/nautilus-directory-background.c:
907 * libnautilus/nautilus-directory-background.h:
908 Created a new file with functions that manage the background for
909 a window connected with a particular directory. Later we might
910 generalize it further to work for windows that are connected to
911 any URI, not just a directory.
913 * libnautilus/nautilus-directory.c:
914 * libnautilus/nautilus-directory.h:
915 Added a new "metdata_changed" signal so that the background can
916 be updated if the underlying data changes.
917 (nautilus_directory_initialize_class): Create the new signal.
918 (nautilus_directory_ref), (nautilus_directory_unref): Made these
919 functions quietly do nothing for NULL. This simplifies life for
921 (nautilus_directory_set_metadata): Emit the "metadata_changed"
924 * libnautilus/nautilus-file.c:
925 (nautilus_file_ref), (nautilus_file_unref): Made these
926 functions quietly do nothing for NULL. This simplifies life for
929 * libnautilus/nautilus-metadata.h:
930 Renamed all the constants to be consistent. Got rid of separate
931 constants for the icon view and list view backgrounds. Changed
932 some of the underlying XML tags as well.
934 * libnautilus/nautilus-icon-factory.c:
935 (nautilus_icon_factory_get_icon_for_file):
936 * src/nautilus-index-title.c: (nautilus_index_title_update_info):
937 * src/ntl-index-panel: (nautilus_index_panel_update_info),
938 (receive_dropped_uri_list),
939 (nautilus_index_panel_background_changed):
940 * src/ntl-uri-map.c: (set_initial_content_iid),
941 (add_components_from_metadata):
942 * src/ntl-window-msgs.c: (view_menu_switch_views_cb):
943 * src/file-manager/fm-icon-view.c: (add_icon_if_already_positioned),
944 (fm_icon_view_begin_loading), (fm_icon_view_set_zoom_level),
945 (fm_icon_view_icon_changed_callback):
946 * src/file-manager/fm-list-view.c: (fm_list_view_begin_loading),
947 (fm_list_view_set_zoom_level), (fm_list_view_sort_items):
948 Updated uses of metadata constants to use the new names.
950 * src/ntl-index-panel: (nautilus_index_panel_destroy),
951 (nautilus_index_panel_update_info):
952 * src/ntl-uri-map.c: (add_components_from_metadata):
953 * src/file-manager/fm-directory-view.c:
954 (fm_directory_view_destroy), (fm_directory_view_load_uri):
955 Used new nautilus_directory_unref to simplify code.
957 * src/ntl-uri-map.c: (set_initial_content_iid):
958 * src/ntl-window-msgs.c: (view_menu_switch_views_cb):
959 Added missing nautilus_directory_unref (storage leak).
961 * src/file-manager/fm-icon-view.c: (create_icon_container),
962 (fm_icon_view_background_changed_callback): Removed "changed"
963 signal handler on NautilusBackground since that's now handled
964 by the new nautilus_directory_background calls instead.
965 (fm_icon_view_begin_loading): Used nautilus_directory_background
966 to replace background customization code.
968 * src/file-manager/fm-icon-view.c: (fm_icon_view_get_zoom_level):
969 Fixed a bug where it would try to use view as an FMIconView after
970 the FM_IS_ICON_VIEW check failed.
972 * src/file-manager/fm-list-view.c: (create_list),
973 (fm_list_view_background_changed_callback): Removed "changed"
974 signal handler on NautilusBackground since that's now handled
975 by the new nautilus_directory_background calls instead.
976 (fm_list_view_begin_loading): Used nautilus_directory_background
977 to replace background customization code.
979 2000-04-05 John Sullivan <sullivan@eazel.com>
981 Fixed bug in Ramiro's recent checkin that broke booting
982 if the icon theme had never been set.
984 * libnautilus/nautilus-icon-factory.c:
985 (nautilus_icon_factory_initialize_class),
986 (nautilus_get_current_icon_factory): Moved theme initialization
987 from the former to the latter, because theme needs to be non-NULL
988 before initialize_class is called.
990 2000-04-05 Darin Adler <darin@eazel.com>
992 * components/services/startup/eazel-register.c:
994 * libnautilus/nautilus-file-utilities.c:
995 (nautilus_user_top_directory):
996 * libnautilus/nautilus-global_preferences.c:
997 (global_preferences_get_dialog):
998 * libnautilus/nautilus-icon-factory.c:
999 (nautilus_icon_factory_get_thumbnail_uri):
1000 Removed unnecessary \n characters from g_warning, g_error, and
1003 * components/html/ntl-web-browser.c (browser_url_load_done):
1004 Ettore says we should stop calling gtk_html_private_calc_scrollbars
1005 and if it causes any problems then it's just a bug in GtkHTML
1006 that should be fixed,.
1008 * src/ntl-window-msgs.c:
1009 Reformatted the code as a first step for some changes
1010 that will make the state machine easier to understand.
1012 2000-04-05 Ramiro Estrugo <ramiro@eazel.com>
1014 Preferences work. Make preference registration implicit.
1016 * nautilus-widgets/nautilus-preferences.c,
1017 nautilus-widgets/nautilus-preferences.h:
1018 (prefs_hash_lookup_with_implicit_registration): New function to do
1019 preference lookup with implicit registration. If the pref is not
1020 found at first, it will be automatically added.
1022 (preference_get): Replace the old badly named prefs_get_pref with
1025 (preference_set): Same here.
1027 (nautilus_preferences_set_info): Add a function that allows
1028 tweaking the default values and other info for a pref.
1030 (nautilus_preferences_add_enum_callback):
1031 (nautilus_preferences_add_boolean_callback):
1032 (nautilus_preferences_add_string_callback): New callback adding
1033 functions that work with implicit registration. The caller needs
1034 to know the type of preference they want to munge beforehand for
1035 the implicit registration to work.
1037 Also cleanup a bunch bucnhsome of style issues.
1039 * nautilus-widgets/test-nautilus-widgets.c:
1040 Update for all the pref changes.
1042 * libnautilus/nautilus-global-preferences.c,
1043 libnautilus/nautilus-global-preferences.h:
1044 (global_preferences_register_for_ui): Add a new private function
1045 to register only preferences used in the pref dialog ui.
1047 (global_preferences_static_info): Remove
1048 NAUTILUS_PREFERENCES_ICON_VIEW_TEXT_ATTRIBUTE_NAMES and
1049 NAUTILUS_PREFERENCES_ICON_THEME since they dont have a ui and can
1052 (nautilus_global_preferences_initialize): Removed.
1054 * libnautilus/nautilus-icon-factory.c:
1055 (icon_theme_changed_callback): Doesnt take a type paramater no
1058 (nautilus_get_current_icon_factory): Remove the global preferences
1059 initialization code and blurb. Not needed since prefs are
1060 registered implicitly as needed. Use
1061 nautilus_preferences_add_string_callback instead of obsolete
1062 nautilus_preferences_add_callback.
1064 (nautilus_icon_factory_initialize_class): Add a preferences call
1065 to set the default value for the ICON_THEME string.
1066 We might want to change things such that no default has to be installed
1067 for this preference. If so, then the code that fetches the preference
1068 would have to deal with either a NULL return value (or "").
1071 (nautilus_app_startup): Remove global preferences initialization
1074 * src/file-manager/fm-directory-view.c:
1075 (user_level_changed_callback):
1076 (use_new_window_changed_callback): Callbacks dont take a
1077 preference type argument no more.
1079 (fm_directory_view_initialize): Use
1080 nautilus_preferences_add_{enum,boolean}_callback instead of obsolete
1081 nautilus_preferences_add_callback.
1083 * src/file-manager/fm-icon-text-window.c:
1084 (preference_changed_callback): Doesnt take a type paramater no
1087 (create_icon_text_window): Use
1088 nautilus_preferences_add_string_callback instead of obsolete
1089 nautilus_preferences_add_callback.
1091 * src/file-manager/fm-icon-view.c:
1092 (text_attribute_names_changed_callback): Doesnt take a type paramater no
1095 (fm_icon_view_initialize_class): Add a preferences call
1096 to set the default value for the ICON_VIEW_TEXT_ATTRIBUTE_NAMES string.
1097 We might want to change things such that no default has to be installed
1098 for this preference. If so, then the code that fetches the preference
1099 would have to deal with either a NULL return value (or "").
1101 2000-04-05 Andy Hertzfeld <andy@eazel.com>
1103 * components/services/startup/nautilus-service-startup-view.c:
1104 made the register button make an HTTP request to the service using ghttp.
1105 * components/services/startup/Makefile.am:
1106 made the component link with lghttp
1108 2000-04-04 Maciej Stachowiak <mjs@eazel.com>
1110 Make selection persistent across content view changes (task 105).
1112 * src/file-manager/fm-directory-view.c,
1113 src/file-manager/fm-directory-view.h
1114 (fm_directory_view_set_selection): New function.
1115 (set_selection): New virtual method that must by implemented by
1117 (add_nautilus_file_to_uri_map, remove_nautilus_file_from_uri_map,
1118 free_file_by_uri_map_entry, free_file_by_uri_map): New functions
1119 to manage a hash table mapping from uri strings to NautilusFile
1121 (notify_selection_change_cb): New function; on a selection change
1122 notification, either set the selection immediately if the view has
1123 completed loading, or establish it as pending.
1124 (display_pending_files): Maintain the uri -> file hash table on
1125 notifications from the model; do any pending selections required
1126 when loading completes.
1128 * src/file-manager/fm-list-view.c (fm_list_view_set_selection):
1129 New function to implement `set_selection' virtual method.
1131 * src/file-manager/fm-icon-view.c (fm_icon_view_set_selection):
1132 New function to implement `set_selection' virtual method.
1134 * libnautilus/nautilus-list.c (nautilus_list_set_selection): New
1135 function: set the selection to a specified set of rows.
1137 * libnautilus/nautilus-icon-container.c,
1138 libnautilus/nautilus-icon-container.h
1139 (nautilus_icon_container_set_selection): New function: set the
1140 selection to a specified set of icons.
1142 2000-04-04 Andy Hertzfeld <andy@eazel.com>
1144 * components/services/startup/nautilus-service-startup-view.c:
1145 changed the account name field to e-mail address; make the submit
1146 button initially insensitive; turned off the visibility property of
1147 the gtk_entry objects used for passwords
1149 2000-04-04 Ramiro Estrugo <ramiro@eazel.com>
1151 * components/services/startup/nautilus-service-startup-view.c:
1152 (register_later_cb): Fix cast for stricter -Werror compliance.
1154 2000-04-04 Darin Adler <darin@eazel.com>
1156 Finished task 54 (Set background image by drag/drop).
1157 Fixed bug 346 (Bad icon positions when you change user level).
1158 Fixed bug 372 (Better icons for common file types).
1160 * libnautilus/nautilus-background-canvas-group.c:
1161 (nautilus_background_canvas_group_draw): Got rid of the colormap
1162 which is not needed now that we use gtk_rgb instead of gtk_color
1163 calls. Passed in the corner of the canvas as a parameter to
1164 nautilus_background_draw so it knows where the origin of any
1165 repeating pattern should be.
1166 * libnautilus/nautilus-background.h:
1167 * libnautilus/nautilus-background.c: (nautilus_background_draw):
1168 Added parameters to determine where the origin of any repeating
1169 pattern should be. Removed colormap parameter (see above).
1170 (nautilus_background_draw_flat_box): Passed in origin parameters
1171 in call to nautilus_background_draw.
1172 * libnautilus/nautilus-gdk-extensions.h:
1173 * libnautilus/nautilus-gdk-extensions.c:
1174 (nautilus_fill_rectangle_with_gradient): Removed colormap
1175 parameter (see above).
1176 * libnautilus/nautilus-gdk-pixbuf-extensions.c:
1177 (nautilus_gdk_pixbuf_render_to_drawable_tiled): Fixed the tiling
1178 so it will use the dither parameters to set the origin of the
1181 * libnautilus/nautilus-icon-dnd.c: (receive_dropped_tile_image),
1182 (nautilus_icon_container_receive_dropped_icons): Added code so that
1183 dropping an image file on the window with the shift key held down
1184 will customize the background tile image.
1186 * libnautilus/nautilus-icon-factory.c: (make_full_icon_path),
1187 (get_themed_icon_file_path): Fixed two bugs that prevented
1188 MIME-type-based icons from working correctly. First, got rid of
1189 code that tried to prepend the theme name and "nautilus/" to the
1190 beginning of a full path. Then made sure that it tries the file
1191 name without adding a suffix before it starts trying out suffixes.
1193 * libnautilus/nautilus-icon-grid.c: (nautilus_icon_grid_clear):
1194 Fixed bug where clearing the grid was resetting the visible width.
1196 * components/sample/Makefile.am:
1197 * components/services/startup/Makefile.am:
1198 Turned on -Werror for these two directories.
1199 * components/sample/nautilus-sample-content-view.h:
1200 * components/sample/nautilus-sample-content-view.c:
1201 (nautilus_sample_content_view_destroy), (bonobo_sample_callback):
1202 Fixed warnings and did some small cleanup.
1204 2000-04-04 John Sullivan <sullivan@eazel.com>
1206 Renaming a file from its Set Properties dialog now works, though
1207 there are various odds and ends I still need to clean up.
1208 It turned out (surprise!) that there was a lot of
1209 underpinnings work involved in implementing this feature.
1210 Fortunately most of it will be shared by rename-in-place.
1212 * libnautilus/nautilus-directory-private.h:
1213 add #define for METADATA_NODE_NAME_FOR_FILE_NAME
1214 * libnautilus/nautilus-directory.c:
1215 (nautilus_directory_get_file_metadata_node): Use
1216 METADATA_NODE_NAME_FOR_FILE_NAME #define
1217 (nautilus_directory_set_file_metadata): Use g_return_val_if_fail
1218 to prevent callers from changing the file name this way, since
1219 that wouldn't work right.
1221 * libnautilus/nautilus-file.h:
1222 * libnautilus/nautilus-file.c:
1223 (nautilus_file_can_rename): New function, returns TRUE if the
1224 user has write permission for this file.
1225 (nautilus_file_rename): New function, uses gnome_vfs_move to
1226 try to rename the file, updating metadata as appropriate.
1227 Returns the GnomeVFSResult from gnome_vfs_move.
1229 * libnautilus/nautilus-list.c
1230 (row_selected): Renamed this formerly private function to
1231 nautilus_list_is_row_selected and made it check its parameters
1233 * libnautilus/nautilus-list.h:
1234 (nautilus_list_is_row_selected): Made this public.
1236 * src/file-manager/fm-error-reporting.c,
1237 * src/file-manager/fm-error-reporting.h: New files, home for
1238 UI code to display user error messages and such. It's initial
1240 (fm_report_error_renaming_file): New function, puts up a non-modal
1241 alert reporting the renaming failure.
1242 * src/file-manager/Makefile.am: Add these two new files to the build.
1244 * src/file-manager/fm-directory-view.c:
1245 (bonobo_menu_open_properties_window_cb): New function, opens a
1246 Properties window for each selected item using the Bonobo callback API.
1247 (fm_directory_view_real_merge_menus): Include Set Properties item in
1248 File menu, and rearrange other items a little.
1249 (fm_directory_view_real_update_menus): Update sensitivity of Set
1250 Properties menu item.
1252 * src/file-manager/fm-list-view.c:
1253 (add_to_list): Return the new row index.
1254 (fm_list_view_file_changed): Remove and reinsert the changed file; this
1255 not only does less sorting but also recomputes all the text so name
1256 changes will be displayed.
1258 * src/file-manager/fm-properties-window.c:
1259 (get_pixmap_and_mask_for_properties_window),
1260 (update_properties_window_icon),
1261 (create_pixmap_widget_for_file),
1262 (name_field_done_editing),
1263 (name_field_update),
1264 (update_properties_window_title),
1265 (properties_window_file_changed_callback):
1266 New functions used to wire up the new editable name field
1267 and new icon pixmap widget in the properties window.
1268 (create_properties_window): Added notebook tabs, first
1269 one is Basic and currently contains icon & name; second
1270 is Emblems and has all those checkboxes. Use all the
1271 new functions to create and wire up things so that name
1272 changes & icon changes are propagated and reflected correctly.
1274 * src/nautilus-bookmarks-window.c:
1275 (create_bookmarks_window): Removed a bunch of unnecessary
1276 and leak-causing gtk_widget_refs that I happened to notice
1277 in here. I left these behind when modifying code originally
1278 created by glade, where the refs are necessary.
1280 2000-04-04 Andy Hertzfeld <andy@eazel.com>
1282 * components.services/startup/nautilus-service-startup-view.c:
1283 more work on the registration and configuration form
1285 2000-04-04 Andy Hertzfeld <andy@eazel.com>
1287 * src/ntl=window-msgs.c:
1288 fixed bug where it was allocating a uri for a null string by only
1289 trying the actual_uri if it's non-null
1290 * components.services/startup/nautilus-service-startup-view.c:
1291 more work on the registration form
1293 2000-04-03 Andy Hertzfeld <andy@eazel.com>
1295 more work on the service component
1297 * components.services/startup/nautilus-service-startup-view.h:
1298 changed it to inherit from eventbox so it can have a background
1299 * components.services/startup/nautilus-service-startup-view.c:
1300 restructured code for displaying multiple forms
1301 made it use a Nautilus background
1302 added test form, registration form and configuration form placeholders
1303 added most of configuration form
1304 * icons/eazel-logo.gif: added Eazel logo image
1305 * icons/Makefile.am: added Eazel logo to Makefile
1307 2000-04-03 Andy Hertzfeld <andy@eazel.com>
1309 added configuration inventory to nascent service component. This only
1310 builds if --enable-eazel-services is set
1312 * components/services/startup/Makefile.am:
1313 added eazel-register.c,h to the build
1314 * components/services/startup/eazel-register.c,h:
1315 contains to build an xml file that expresses the hardware and software
1316 configuration, using the package database and the proc filesystem.
1317 * components/services/startup/nautilus-service-startup-view.c:
1318 added a button to generate the configuration inventory file in the
1319 user's home directory. This is temporary scaffolding and will be
1321 * src/ntl-uri-map.c:
1322 made it invoke the service component for uri's starting with "eazel:";
1323 also, fixed a bug where an uninitialized variable was being freed.
1324 * nautilus-clean.sh:
1325 added the rpm view to the list of cleaned components.
1327 2000-04-03 Darin Adler <darin@eazel.com>
1329 First cut at tiled background images.
1331 There's no UI for setting them yet, they are only in
1332 the icon view, and they don't work properly with scrolling yet.
1334 * libnautilus/Makefile.am:
1335 * libnautilus/nautilus-gdk-extensions.c:
1336 * libnautilus/nautilus-gdk-extensions.h:
1337 * libnautilus/nautilus-gdk-pixbuf-extensions.c:
1338 * libnautilus/nautilus-gdk-pixbuf-extensions.h:
1339 Split the GdkPixbuf stuff into its own file.
1341 * libnautilus/nautilus-background.c:
1342 (nautilus_background_destroy): Fixed a bunch of leaks
1343 and added new code to stop pixbuf loading.
1344 (nautilus_background_draw): Added call to draw tiled
1345 background image. Converted gradients to use gdk_rgb
1346 instead of gdk_color.
1347 (nautilus_background_get_tile_image_uri): Implemented.
1348 (nautilus_background_set_color): Added short-circuit
1349 for background image case.
1350 (load_image_callback),
1351 (nautilus_background_set_tile_image_uri): Implemented.
1352 Include code to load in the tiled image when its URI is set.
1353 (nautilus_background_receive_dropped_color): Set the
1354 tile image to NULL when a color is dropped.
1356 * libnautilus/nautilus-gdk-extensions.c:
1357 * libnautilus/nautilus-gdk-extensions.h:
1358 (nautilus_fill_rectangle_with_color),
1359 (nautilus_fill_rectangle_with_color),
1360 (nautilus_interpolate_color): Changed from gdk_color
1362 (nautilus_parse_rgb_with_white_default): Added function
1363 for gdk_rgb similar to what we already have for gdk_color.
1365 * libnautilus/nautilus-icon-canvas-item.c:
1366 * libnautilus/nautilus-icon-container.c:
1367 * libnautilus/nautilus-list.c:
1368 Use gdk-pixbuf extensions in new location.
1370 * libnautilus/nautilus-metadata.h:
1371 Added metadata keys for background images.
1374 Added lots of stronger checks for NAUTILUS_IS_VIEW since
1375 this is where we run into trouble with a bug I ran into.
1377 * src/file-manager/icon-view.c: Added code to handle
1378 the new background images.
1379 (create_icon_container): Keep around the handler ID when
1380 connecting to the "changed" message of the background so
1381 we can block the handler as needed.
1382 (fm_icon_view_begin_loading): Load the background image
1383 as well as the background color. We need to block the
1384 background changed signal handler so we don't get
1385 confused while the color but not the image is set up.
1386 (fm_icon_view_background_changed_callback): Save the
1387 background image URI as well as the background color in
1390 2000-04-03 Darin Adler <darin@eazel.com>
1392 Fix the build. Changes in GtkHtml and Bonobo required us
1395 * libnautilus/ntl-meta-view-frame.h:
1396 * libnautilus/ntl-meta-view-frame.c:
1397 Rewrote to use the new property bag. This requires us to
1398 store our own properties, since the bag no longer provides
1400 (nautilus_meta_view_frame_initialize): Set up the label.
1401 (nautilus_meta_view_frame_new_from_bonobo_control): Make it
1402 actually take a BonoboControl instead of a BonoboObject and
1403 make it set up the property bag.
1404 (nautilus_meta_view_destroy): Free the label.
1405 (autilus_meta_view_frame_set_label): Just set the label.
1406 The property bag simply uses our stored label.
1408 * components/html/ntl-web-browser.c (browser_url_load_gone):
1409 Changed call to match name in new version of GtkHtml.
1410 Unfortunately, the new name makes it clear the call is
1411 intended to be private.
1413 * components/rpmview/.cvsignore: Ignore the actual binary,
1414 not nautilus-music-view.
1415 * components/rpmview/Makefile.am: Turned on -Werror.
1416 * components/music/Makefile.am: Turned on -Werror.
1417 * components/rpmview/nautilus-rpm-view.c: Fixed warnings.
1419 2000-04-02 Andy Hertzfeld <andy@eazel.com>
1421 Added a first cut at a component for viewing rpm packages.
1423 * configure.in: added components/rpmview
1424 * components/Makefile.am: added rpmview
1425 * components/rpmview/.cvsignore: new file
1426 * components/rpmview/Makefile.am: make file for rpm view
1427 * components/rpmview/main.c: boilerplate factory, main loop for component
1428 * components/rpmview/nautilus-rpm-view.h: defines for rpm view component
1429 * components/rpmview/nautilus-rpm-view.goad: goad record for activating rpmview component
1430 * components/rpmview/nautilus-rpm-view.c: here's the actual code for the component,
1431 which reads a package with rpm and sets up the fields in the view from the data
1432 * src/ntl-uri-map.c: modified mapping so rpms get this component added
1434 2000-04-01 Ramiro Estrugo <ramiro@eazel.com>
1436 Add a conditionally built skeleton for a startup service.
1438 * configure.in: Properly define EAZEL_SERVICES with an
1439 AM_CONDITIONAL. Add new directories components/services
1440 components/srevices/startup.
1442 * components/Makefile.am: Recurse into services dir if needed.
1444 * components/services, components/services/startup: new dirs.
1446 * components/services/nautilus-service-startup-view.c,
1447 components/services/nautilus-service-startup-view.h,
1448 components/services/nautilus-service-startup-view.goad,
1449 components/services/Makefile.am,
1450 components/services/.cvsignore:
1452 Skeleton code for startup service.
1454 2000-03-31 Pavel Cisler <pavel@eazel.com>
1456 * libnautilus/nautilus-icon-container.c:
1457 (motion_nofity_event):
1458 Disable copy as a drag&drop operation for now. The current
1459 copy engine doesn't handle conflicts properly yet and can
1463 2000-03-31 Darin Adler <darin@eazel.com>
1465 Fixed a bug that Pavel reported where he got a crash in
1466 nautilus_directory_monitor_files_unref when he pushed the
1469 * libnautilus/nautilus-glib-extensions.c:
1470 * libnautilus/nautilus-glib-extensions.h:
1471 (nautilus_g_strv_find): Renamed the existing function
1472 nautilus_g_strfindv to be more consistent with the rest
1473 of glib, even though it's less consistent with the other
1475 (nautilus_g_list_safe_for_each): Added an alternate
1476 version of g_list_foreach that works even when the current
1477 item is removed from the list inside the function.
1479 * libnautilus/nautilus-gtk-extensions.c:
1480 (nautilus_gtk_object_list_unref): Use the new safe version
1481 of g_list_foreach so this works even on lists where the
1482 objects remove themselves in their destroy/finalize methods.
1483 This is the change that fixes the bug.
1485 * src/nautilus-bookmark-list.c:
1486 (nautilus_bookmark_list_load_file): Replaced some explicit
1487 code with a call to nautilus_gtk_object_list_free.
1489 * src/nautilus-index-title.c:
1490 (nautilus_index_title_update_icon): Fixed a bug that would
1491 prevent you from viewing the root level. The current version
1492 of nautilus_file_get returns NULL for the root.
1494 * src/nautilus-window-menus.c:
1495 (clear_appended_bookmark_items): Replaced some explicit
1496 code with a call to nautilus_g_list_free_deep.
1498 * src/file-manager/fm-icon-text-window.c:
1499 (synch_menus_with_preference): Updated to use the
1500 nautilus_g_strv_find call by its new name.
1502 * libnautilus/nautilus-file.c:
1503 (nautilus_file_set_keywords): Did some minor tweaks to
1504 simplify the no-keywords case.
1506 2000-03-30 John Sullivan <sullivan@eazel.com>
1508 Finished task 172 (show icon emblems in list view)
1510 * libnautilus/nautilus-file.h:
1511 added NAUTILUS_FILE_SORT_BY_EMBLEMS to enum
1512 (nautilus_file_get_emblem_names): New function.
1513 * libnautilus/nautilus-file.c:
1514 (nautilus_file_get_emblem_names): New function.
1515 (nautilus_file_compare_by_emblems): New function,
1516 compares the emblems of two files for sorting.
1517 (compare_emblem_names): New function, compares two
1518 emblem names for sorting.
1519 (nautilus_file_compare_for_sort_internal): handle
1520 NAUTILUS_FILE_SORT_BY_EMBLEMS case
1521 (sort_keyword_list_and_remove_duplicates): New function,
1522 canonicalizes (canonifies? canonizes?) a list of keywords.
1523 (nautilus_file_get_keywords): canonicalize list after
1525 (nautilus_file_set_keywords): canonicalize copy of list
1528 * libnautilus/nautilus-icon-factory.c:
1529 (nautilus_icon_factory_get_emblem_icons_for_file): Use
1530 nautilus_file_get_emblem_names instead of having emblem
1531 name knowledge here.
1533 * libnautilus/nautilus-list.h:
1534 NautilusCellType: new enum, a superset of GtkCellType that
1535 we use to sneak in new values.
1536 NautilusCellPixbufList: new struct, our new type of content
1538 (nautilus_list_set_pixbuf_list): New function.
1539 * libnautilus/nautilus-list.c:
1540 (nautilus_list_set_cell_contents): New function, handles the
1541 NAUTILUS_CELL_PIXBUF_LIST case and lets GtkCList continue
1542 handling the others.
1543 (nautilus_list_initialize_class): Fill in set_cell_contents
1544 function pointer with nautilus_list_set_cell_contents.
1545 (gdk_window_size_as_rectangle): New helper function.
1546 (draw_cell_pixmap): Removed width & height parameters (now
1547 calculated internally) and reworked to use GdkRectangle math.
1548 (draw_cell_pixbuf): New function, modelled after (new & improved)
1549 draw_cell_pixmap but draws a gdk_pixbuf directly.
1550 (draw_row): handle the NAUTILUS_CELL_PIXBUF_LIST case; fix up
1551 callers to draw_cell_pixmap; use NautilusCellType instead of
1553 (nautilus_list_set_pixbuf_list): New function, sneaks a list
1554 of pixbufs into the ugly GtkCell data structure.
1556 * src/file-manager/fm-list-view.c:
1557 (fm_list_view_reset_row_height): New function, sets the row height
1558 based on zoom level but with a minimum to avoid clipping emblems.
1559 (fm_list_view_get_emblem_pixbufs_for_file): create list of
1560 appropriately-sized emblem images. Size is based on zoom level
1561 but has a minimum so the emblems don't get illegibly small.
1562 (install_icons): Rename to install_row_images; handle setting
1563 the list of emblems into the list widget.
1564 (create_list): include column for emblems between icon & name;
1565 set row height only after other widget manipulations.
1566 (add_to_list), (update_icons): reflect install_icons name change.
1567 (fm_list_view_file_changed): reflect install_icons name change;
1568 sort list since changed file might change sort order. (No API
1569 to resort just one row; I added a comment about that in case
1570 we want to revisit it someday.)
1571 (fm_list_view_set_zoom_level): call fm_list_view_reset_row_height.
1572 (get_attribute_from_column), (get_column_from_attribute),
1573 (sort_criterion_from_column): handle LIST_VIEW_COLUMN_EMBLEMS
1575 2000-03-30 Darin Adler <darin@eazel.com>
1577 Finished task 62 (Set custom icon by drag/drop on index panel)
1578 and fixed some problems from my earlier check-ins today.
1580 * libnautilus/nautilus-directory.c:
1581 (nautilus_directory_monitor_files_ref):
1582 Fixed a bad assert from my last check-in.
1584 * src/file-manager/fm-list-view.c: (add_to_list):
1585 The list view had the same missing ref that I fixed for icon
1586 view in my last check-in.
1588 * src/nautilus-index-title.c: (release_file),
1589 (nautilus_index_title_destroy),
1590 (nautilus_index_title_update_icon),
1591 (nautilus_index_title_update_label),
1592 (nautilus_index_title_update_info),
1593 (nautilus_index_title_set_uri): Changed to hold around the
1594 NautilusFile object and connect to its "changed" message to update
1595 the file information. This causes the icon to get updated right
1596 away when the custom icon is changed.
1598 * libnautilus/nautilus-directory-private.h:
1599 * libnautilus/nautilus-directory.c:
1600 * libnautilus/nautilus-file-private.h:
1601 * libnautilus/nautilus-file.c:
1602 * libnautilus/nautilus-file.h:
1603 Converted NautilusFile to be a GtkObject instead of a plain struct,
1604 so it can have a "changed" signal. We still recommend using the
1605 "files_changed" signal on the directory to avoid the overhead
1606 of a signal connection for each file.
1608 * libnautilus/nautilus-gtk-extensions.c:
1609 * libnautilus/nautilus-gtk-extensions.h:
1610 (nautilus_gtk_object_list_ref), (nautilus_gtk_object_list_unref),
1611 (nautilus_gtk_object_list_free): Added some functions to be used
1612 with a list of GtkObjects.
1614 * libnautilus/nautilus-icon-factory.c:
1615 (nautilus_icon_factory_get_icon_name_for_file):
1616 Had to change the name of nautilus_file_get_type to avoid conflict
1617 with the GtkObject standard get_type routine.
1619 2000-03-30 Darin Adler <darin@eazel.com>
1621 * src/file-manager/fm-icon-view.c: (add_icon_if_already_positioned),
1622 (add_icon_at_free_position): Added missing ref that caused very bad
1623 things to happen now that the file ref. counts are working.
1625 * components/music/nautilus-music-view.c:
1626 Did a bunch of cleanup and fixed some memory trashing bugs where
1627 the result of g_basename was passed to g_free.
1629 2000-03-30 Darin Adler <darin@eazel.com>
1631 * libnautilus/nautilus-directory.c:
1632 * libnautilus/nautilus-directory.h:
1633 (nautilus_directory_ref), (nautilus_directory_unref):
1634 Added convenience functions so people don't have to be constantly
1635 reminded that a NautilusDirectory is a a GtkObject.
1637 * libnautilus/nautilus-directory.c: (nautilus_directory_destroy):
1638 Fixed a problem where the pending files callback might fire after
1639 the NautilusDirectory is gone.
1641 * libnautilus/nautilus-directory.c:
1642 (nautilus_directory_destroy),
1643 (nautilus_directory_monitor_files_ref),
1644 (nautilus_directory_monitor_files_unref),
1645 (dequeue_pending_idle_callback), (nautilus_directory_new_file):
1646 * libnautilus/nautilus-file-private.h:
1647 * libnautilus/nautilus-file.c:
1648 (nautilus_file_get), (nautilus_file_ref), (nautilus_file_unref),
1649 (nautilus_file_free), (nautilus_file_delete):
1650 To prepare for changing NautilusFile to a GtkObject, made it use
1651 ref counts in a way that is standard. Now the directory keeps a
1652 list of the files, but only keeps a ref to the files if it is
1655 * src/file-manager/fm-directory-view.c: Tiny formatting tweak.
1657 2000-03-30 Andy Hertzfeld <andy@eazel.com>
1659 * libnautilus/nautilus-icon-container.c:
1660 make the icon selection rectangle have a semi-transparent light blue
1662 * libnautilus/nautilus-icon-canvas-item.c:
1663 tweaked the selection darkening to be a little bit lighter.
1665 2000-03-30 Pavel Cisler <pavel@eazel.com>
1667 More copy/move operations. Fixes a problem I introduced earlier where
1668 drop onto a file would lock up Nautilus.
1670 * libnautilus/nautilus-gtk-extensions.c:
1671 * libnautilus/nautilus-gtk-extensions.h:
1672 (nautilus_gtk_marshal_NONE__POINTER_POINTER_POINTER_INT_INT_INT):
1673 Add more binder glue that I needed.
1675 * libnautilus/nautilus-icon-container.c:
1676 (motion_notify_event):
1677 Enable move/copy modes during drag/drop.
1679 * libnautilus/nautilus-icon-container.c:
1680 * libnautilus/nautilus-icon-container.h:
1681 * libnautilus/nautilus-icon-dnd.c:
1682 * src/file-manager/fm-directory-view.c:
1683 * src/file-manager/fm-directory-view.h:
1685 Pass in a list of point offsets to allow placing new item in
1686 the right relative position.
1688 * src/file-manager/fm-directory-view.c:
1690 Don't loop forever during a conflict.
1692 2000-03-30 Maciej Stachowiak <mjs@eazel.com>
1694 * components/sample/main.c (sample_make_object): Connect to the
1695 "destroy" signal of the view_frame rather than the sample content
1696 view object, to avoid a race condition where we might exit before
1697 the view_frame is fully unreffed and has a chance to clean up.
1698 components/sample/nautilus-sample-content-view.c
1699 (nautilus_sample_content_view_destroy): Unref the
1700 NautilusViewFrame when we are destroyed.
1702 * libnautilus/nautilus-zoomable.c, libnautilus/ntl-view-frame.c,
1703 libnautilus/ntl-content-view-frame.c,
1704 libnautilus/ntl-meta-view-frame.c: Use boilerplate macros for
1705 get_type method and to invoke parent destroy method.
1707 * libnautilus/nautilus-zoomable.c, libnautilus/ntl-view-frame.c:
1708 Unref the interface we query_local_interface for, to avoid holding
1709 a superfluous ref to ourselves, since we eventually add_interface
1712 * src/ntl-view.c (nautilus_view_destroy_client): Use
1713 bonobo_object_unref instead of bonobo_object_destroy.
1715 2000-03-29 Andy Hertzfeld <andy@eazel.com>
1717 * src/nautilus-index-tabs.c:
1718 fixed bug #312, index tabs don't resize properly,
1719 by overriding size_allocate, to fix up the
1720 height appropriately when the size changes
1722 2000-03-28 Pavel Cisler <pavel@eazel.com>
1724 Started on copy/move operations
1726 * libnautilus/nautilus-icon-dnd.c:
1727 (nautilus_icon_container_item_at), (get_container_uri),
1728 (nautilus_icon_container_selection_items_local),
1729 (nautilus_icon_canvas_item_can_accept_item),
1730 (nautilus_icon_canvas_item_can_accept_items),
1731 (nautilus_icon_container_receive_dropped_icons):
1732 Handle drops by starting a move operation. Add new calls that
1733 help determine the drop target.
1735 * src/file-manager/fm-directory-view.c:
1736 * src/file-manager/fm-directory-view.h:
1737 (xfer_callback), (fm_directory_view_move_copy_items):
1738 Initial version of calls that start the gnome-vfs-xfer job.
1740 * src/file-manager/fm-directory-view.c:
1741 * src/file-manager/fm-directory-view.h:
1742 (fm_directory_view_get_container_uri):
1743 Added new call needed to determine type of move operation.
1745 * src/file-manager/fm-icon-view.c:
1746 * src/file-manager/fm-icon-view.h:
1747 Connect "move_copy_items" and "get_container_uri" signals
1748 with new calls in FMDirectoryView.
1750 * nautilus-gtk-extensions.c
1751 * nautilus-gtk-extensions.h
1752 (nautilus_gtk_marshal_NONE__POINTER_POINTER_INT_INT_INT),
1753 (nautilus_gtk_marshal_NONE__POINTER_INT_INT_DOUBLE_DOUBLE):
1754 Add new binder glue that I needed for new signal calls.
1756 * libnautilus/nautilus-icon-container.c:
1757 * libnautilus/nautilus-icon-container.h:
1758 Add new signals "move_copy_items" and "get_container_uri".
1760 2000-03-28 Darin Adler <darin@eazel.com>
1762 * libnautilus/nautilus-background.h:
1763 * libnautilus/nautilus-background.c:
1764 Preparing for support for background images.
1766 * libnautilus/nautilus-background.c:
1767 * libnautilus/nautilus-debug.c:
1768 * libnautilus/nautilus-icon-canvas-item.c:
1769 * libnautilus/nautilus-icon-dnd.c:
1770 Add those braces that Maciej, John, and the style guide all prefer.
1772 * libnautilus/nautilus-file.c: (nautilus_file_set_metadata):
1773 A change to metadata is considered a change to the file.
1775 * libnautilus/nautilus-graphic-effects.c:
1776 * libnautilus/nautilus-graphic-effects.h:
1777 Added nautilus_ prefix to all the functions in here.
1779 * libnautilus/nautilus-gtk-extensions.c:
1780 * libnautilus/nautilus-gtk-extensions.h:
1781 (nautilus_point_in_allocation), (nautilus_point_in_widget):
1782 Added hit testing help functions that check if a point is
1783 in a particular allocation/widget.
1785 * libnautilus/nautilus-icon-dnd.c: (get_gnome_icon_list_selection):
1786 Fixed a bug that happens when you get a 0-length piece of
1789 * libnautilus/nautilus-icon-dnd.h:
1790 Changed the icon list back to "x-gnome-icon-list".
1791 That's how the other GNOME folks want it, not "x-nautilus-icon-list".
1793 * src/nautilus-index-tabs.c:
1794 * src/nautilus-index-tabs.h:
1795 * src/nautilus-index-title.c:
1796 * src/nautilus-index-title.h:
1797 * src/ntl-index-panel.c:
1798 * src/ntl-index-panel.h:
1799 lite -> light, Other cleanup.
1801 * src/nautilus-index-title.c:
1802 * src/nautilus-index-title.h:
1803 (nautilus_index_title_hit_test_icon):
1804 * src/ntl-index-panel.c:
1805 (hit_test), (uri_is_local_image), (receive_dropped_uri_list),
1806 (receive_dropped_color):
1807 Added code needed to support dropping an image on the icon to set
1808 a custom icon. This doesn't yet update the icon in the panel itself,
1809 but I'll do that soon.
1811 2000-03-28 John Sullivan <sullivan@eazel.com>
1813 Maciej, Darin and I discussed the notify_title_change
1814 design and decided that we didn't need it now and that
1815 we should keep the API simpler by removing it, along
1816 with the initial_title parameter I added to
1817 notify_location_change. So out they come.
1819 * components/help/hyperbola-nav-tree.c,
1820 * components/history/ntl-history-view.c,
1821 * components/html/ntl-web-browser.c,
1822 * components/music/nautilus-music-view.c,
1823 * components/notes/ntl-notes.c,
1824 * components/sample/nautilus-sample-content-view.c,
1825 * components/websearch/ntl-web-search.c,
1827 * libnautilus/ntl-view-frame.c,
1828 * libnautilus/ntl-view-frame.h,
1829 * src/ntl-view-bonobo-control.c,
1830 * src/ntl-view-bonobo-subdoc.c,
1831 * src/ntl-view-nautilus.c,
1832 * src/ntl-view-private.h,
1835 * src/ntl-window-msgs.c,
1836 * src/file-manager/fm-directory-view.c: Removed notify_title_change
1837 and the initial_title parameter to notify_location_change wherever
1838 they reared their ugly heads.
1840 2000-03-28 John Sullivan <sullivan@eazel.com>
1842 * libnautilus/nautilus-icon-container.c:
1843 (keyboard_move_to): The behavior of the Control key got
1844 accidentally reversed in a recent cleanup.
1846 2000-03-28 Ramiro Estrugo <ramiro@eazel.com>
1848 Cleanup NautilusPreferences a bit in preparation for api revamp
1849 to support implicitly registered preferences.
1851 * nautilus-widgets/nautilus-preferences.c,
1852 nautilus-widgets/nautilus-preferences.h: Rename hash table node
1853 structures from "PrefHashInfo" to "PrefHashNode". Remove some
1854 unused and crufty code. Add a bunch of comments describing
1855 structures and functions. Remove prefs_check_supported_type()
1856 which was leftover from when I tried to use GtkType instead of
1857 defining an enum of supported types. Also, rename
1858 nautilus_preferences_get_pref_info to nautilus_preferences_get_info.
1860 * nautilus-widgets/nautilus-preferences-item.c,
1861 nautilus-widgets/nautilus-preferences-item.h: Add enum
1862 NautilusPreferencesItemType to enumerate the types of pereferences
1863 that have a corresponding UI. Since there can be preferences that
1864 are not exposed in the UI, this is different than NautilusPreferencesType.
1865 (preferences_item_construct): Use newly renamed function
1866 nautilus_preferences_get_info. Also remove the dummy
1867 NAUTILUS_PREFENCES_STRING case statement, since
1868 NautilusPrefernecesItem now has its own type enumeration
1869 independant of NautilusPreferences.
1871 2000-03-28 John Sullivan <sullivan@eazel.com>
1873 Followup to last night's checkin; I forgot to add the
1874 initial_title parameter to a notify_location_change
1875 signal and all its signal handlers.
1877 * libnautilus/ntl-view-frame.c:
1878 (impl_Nautilus_View_notify_location_change): Add
1879 initial_title parameter, pass it along when emitting
1882 * components/help/hyperbola-nav-tree.c,
1883 * components/history/ntl-history-view.c,
1884 * components/html/ntl-web-browser.c,
1885 * components/music/nautilus-music-view.c,
1886 * components/notes/ntl-notes.c,
1887 * components/sample/nautilus-sample-content-view.c,
1888 * components/websearch/ntl-web-search.c,
1889 * src/file-manager/fm-directory-view.c:
1890 Added initial_title parameter to notify_location_change
1893 * src/ntl-view-nautilus.c: Removed a stray g_message.
1895 2000-03-27 Andy Hertzfeld <andy@eazel.com>
1897 * icons/eazel/i-directory-24.png:
1898 fixed bug #9, folder too small, by replacing the icon with one that's the proper size
1900 2000-03-27 John Sullivan <sullivan@eazel.com>
1902 Made web page titles be used for the window title,
1903 the index panel location name, and the menu item in
1904 the Go menu (which is then used for the Bookmarks menu
1905 too). This required lots of underpinnings work. Now any
1906 content view (not just the web browser) can express its
1907 opinion on what title for the current location should be
1908 displayed to the user.
1910 * idl/nautilus.idl: added View:notify_title_change; added
1911 initial_title parameter to View:notify_location_change;
1912 reordered functions in View to better group related items;
1913 added ContentViewFrame:request_title_change.
1915 * libnautilus/nautilus-view-frame-private.h: New file,
1916 holds a struct and a function shared by NautilusViewFrame
1917 and (now) NautilusContentViewFrame.
1919 * libnautilus/ntl-view-frame.h: Reordered functions to
1920 match idl (just for clarity); also added (notify_title_change).
1921 * libnautilus/ntl-view-frame.c: Moved _NautilusViewFramePrivate
1922 struct to new private .h file, added (notify_title_change);
1923 reordered function pointers in epv to match idl.
1924 (nautilus_view_frame_class_init): Set up signal for
1925 notify_title_change.
1926 (nautilus_view_frame_ensure_view_frame): No longer static since
1927 it's in new private .h file.
1929 * libnautilus/ntl-content-view-frame.h,
1930 * libnautilus/ntl-content-view-frame.c:
1931 (nautilus_content_view_frame_request_title_change):
1932 New function that a content view calls on its frame
1933 when it has an opinion about what the user-displayable
1934 title for the current location should be.
1936 * libnautilus/nautilus-bookmark.c,
1937 * libnautilus/nautilus-bookmark.h:
1938 (nautilus_bookmark_set_name): New function to change the name of
1939 an existing bookmark.
1941 * src/ntl-view-private.h: Moved definition of impl_POA_Nautilus_ViewFrame
1942 here so it can be shared by NautilusContentView; reordered functions in
1943 _NautilusViewComponentType to match idl and included notify_title_change.
1944 * src/ntl-view-frame-svr.c: Moved definition of impl_POA_Nautilus_ViewFrame
1948 (nautilus_view_notify_location_change): Added initial_title parameter.
1949 (nautilus_view_notify_title_change): New function.
1950 * src/ntl-view-nautilus.c:
1951 (nv_notify_location_change): Added initial_title parameter.
1952 (nv_notify_title_change): New function.
1953 nautilus_view_component_type: reordered function pointers to
1954 match idl, and added new one for notify_title_change.
1955 * src/ntl-view-bonobo-control.c:
1956 (bonobo_control_notify_location_change): Added initial_title parameter.
1957 bonobo_control_component_type: reordered function pointers to match idl
1958 and added notify_title_change.
1959 * src/ntl-view-bonobo-subdoc.c
1960 (bonobo_subdoc_notify_location_change): Added initial_title parameter.
1961 bonobo_subdoc_component_type: reordered function pointers to match idl
1962 and added notify_title_change.
1964 * src/nautilus-bookmark-list.c:
1965 (destroy_bookmark): Removed this function.
1966 (nautilus_bookmark_list_delete_item_at): unref where it was destroying.
1967 (nautilus_list_load_file): use gtk_object_unref as foreach function
1968 instead of destroy_bookmark.
1970 * src/nautilus-index-title.h,
1971 * src/nautilus-index-title.c:
1972 new field _NautilusIndexTitleDetails->requested_text.
1973 (nautilus_index_title_set_uri): Added initial_text parameter;
1974 store initial_text in requested_text field after freeing old value.
1975 (nautilus_index_panel_set_text): New function, passes new text to
1976 nautilus_index_title_set_up_label.
1977 (nautilus_index_title_finalize): free requested_text.
1978 (nautilus_index_title_set_up_label):
1979 Use requested_text instead of extracting short name of URI here.
1980 * src/ntl-index-panel.h,
1981 * src/ntl-index-panel.c:
1982 (nautilus_index_panel_set_uri): Added initial_title parameter.
1983 (nautilus_index_panel_set_title): New function, called if the title
1984 changes later on; pass new_title on to nautilus_index_title_set_text.
1985 (nautilus_index_panel_set_up_info): Added initial_title parameter;
1986 pass initial_title on to nautilus_index_title_set_uri.
1988 * src/ntl-content-view.h: Redid object & class struct definitions
1989 to match others; added request_title_change signal definition.
1990 * src/ntl-content-view.c:
1991 added function pointer for request_title_change to epv;
1992 added signal-definining enum & array;
1993 (impl_Nautilus_ContentViewFrame_request_title_change): New function.
1994 (nautilus_content_view_class_init): Define "request_title_change" signal.
1995 (nautilus_content_view_request_title_change): New function, emits signal.
1997 * src/ntl-window.h: New fields for requested_title, default_title,
1998 current_location_bookmark, last_location_bookmark.
2000 (nautilus_send_history_list_changed): New convenience routine to
2001 emit "history_list_changed" signal since it's emitted in more than
2003 (nautilus_add_to_history_list): Change parameter from a const char *
2004 to a NautilusBookmark; call nautilus_send_history_list_changed.
2005 (nautilus_window_request_title_change_callback): New function, calls
2006 nautilus_window_request_title_change.
2007 (nautilus_window_connect_view): Just variable renaming & reformatting.
2008 (nautilus_window_connect_content_view): New function, calls
2009 nautilus_window_connect_view then connects to "request_title_change: signal
2011 * src/ntl-window-private.h:
2012 (nautilus_window_connect_content_view): New prototype.
2013 (nautilus_send_history_list): New prototype.
2014 (nautilus_add_to_history_list): Change parameter from const char *
2015 to NautilusBookmark *
2016 * src/ntl-window-msgs.h:
2017 (nautilus_window_request_title_change): prototype for new function.
2018 * src/ntl-window-msgs.c:
2019 (nautilus_window_refresh_title): Removed.
2020 (compute_default_title), (nautilus_window_get_current_location_title),
2021 (nautilus_window_update_title_internal),
2022 (nautilus_window_reset_title_internal),
2023 (nautilus_window_request_title_change): New functions having to do with
2024 passing around the title-change request. Note that there's an unresolved
2025 problem where calling nautilus_view_notify_title_change here doesn't work
2026 properly for metaviews. There's a comment in the code and I'll write up
2027 a bug report also. There are currently no metaviews that care.
2028 (nautilus_window_update_internals): Use window->last_location_bookmark
2029 instead of creating a new bookmark for back/forward lists (this means the
2030 back/forward menus will respect any title change requests); remove one
2031 of the two identical calls to nautilus_index_panel_set_uri; modify the
2032 other one to pass current location title.
2033 (nautilus_window_update_view): Pass current title to
2034 nautilus_view_notify_location_change.
2035 (nautilus_window_load_content_view):
2036 Call nautilus_window_connect_content_view instead of
2037 nautilus_window_connect_view.
2038 (nautilus_window_update_state): Call nautilus_window_reset_title_internal
2039 at two spots where the location is changing.
2040 * src/nautilus-window-menus.c:
2041 (nautilus_window_add_bookmark_for_current_location): Use
2042 window->current_location_bookmark instead of creating a new one
2043 to take advantage of any requested title changes.
2045 * components/html/ntl-web-browser.c:
2046 (browser_title_changed): New function, calls
2047 nautilus_content_view_frame_request_title_change.
2048 (make_obj): Connect browser_title_changed to "title_changed" signal
2051 Fixed bug 353 (Removing all bookmark items from window can lead to crash)
2053 * src/nautilus-bookmarks-window.c: (on_remove_button_clicked):
2054 If we removed the last item, explicitly call repopulate since
2055 no callback handles that case.
2057 2000-03-27 Andy Hertzfeld <andy@eazel.com>
2059 * libnautilus/nautilus-icon-canvas-item.c:
2060 changed the logic in nautilus_icon_canvas_item_draw to treat
2061 pre-lighting and selection darkening independently, so both properties
2062 will be visually reflected.
2064 2000-03-27 Andy Hertzfeld <andy@eazel.com>
2066 Changed how selection emboldening works. The problem was that using
2067 a bold font changed the text layout, making words jump from line to
2068 line when an icon was selected. The new approach doesn't use a bold
2069 font; instead it just draws it an extra time, offset by a pixel
2071 * libnautilus/nautilus-icon-canvas-item.c:
2072 embolden by drawing twice instead of using a bold font; also, removed
2073 the "hilight_font" stuff
2074 * libnautilus/nautilus-icon-private.h:
2075 removed the hilite_font field
2076 * libnautilus/nautilus-icon-container.h:
2077 removed the highlight font stuff
2078 * libnautilus/nautilus-graphic-effects.c,h:
2079 cleaned up by using a common routine to make the destination pixbuf;
2080 fixed bug in create_darkened_pixbuf by using separate counts for source
2081 and destination rowstride;
2082 added a "create_colorized_pixbuf" routine
2084 2000-03-26 Ramiro Estrugo <ramiro@eazel.com>
2086 Removed the ETTORE user level easter egg and bullet proofed the
2087 stuff that uses user levels a bit.
2089 * libnautilus/nautilus-global-preferences.c,
2090 libnautilus/nautilus-global-preferences.h: Remove references to
2091 NAUTILUS_USER_LEVEL_ETTORE.
2093 * src/ntl-window-state.c: Removed switch handling of ETTORE user
2094 level and added a default case for the unlikely (but poissible)
2095 event when the ~/.gnome/nautilus preferences file contains bogus
2096 values for the user_level enumeration.
2098 * src/file-manager/fm-directory-view.c: Same as above.
2100 2000-03-25 Andy Hertzfeld <andy@eazel.com>
2102 Improved selection highlighting.
2104 * libnautilus/nautilus-graphic-effects.c,h:
2105 added create_darkened_pixbuf routine based on one in panel
2106 * libnautilus/icon-private.h:
2107 added field for highlight_font
2108 * libnautilus/icon-container.c:
2109 loads and maintain highlight font
2110 * libnautilus/icon-canvas-item:
2111 if item is selected, darken the icon and use the highlight font
2113 2000-03-24 Darin Adler <darin@eazel.com>
2115 Fixed bug 337 (Crash on userlevel change).
2117 * src/file-manager/fm-directory-view.c (user_level_changed_callback):
2118 Fixed incorrect assert.
2120 2000-03-24 Andy Hertzfeld <andy@eazel.com>
2122 moved pixbuf special effect routines into libnautilus, to prepare for
2123 adding selection hilighting and others
2125 * libnautilus/nautilus-graphic-effects.h:
2126 header file for pixbuf graphic effects routines
2127 * libnautilus/nautilus-graphic-effects.c:
2128 moved create_spotlight_pixbuf and make_semi_transparent here,
2129 fixed bug in create_spotlight_pixbuf by using separate rowstride for
2130 the src and dst like Darin did for make_semi_transparent
2131 * libnautilus/Makefile.am:
2132 added nautilus-graphic-effects.c & .h
2133 * libnautilus/nautilus-icon-canvas-item.c:
2134 removed create_spotlight_pixbuf routine
2135 * libnautilus/nautilus-icon-dnd.c:
2136 removed make_semi_transparent routine
2138 2000-03-23 John Sullivan <sullivan@eazel.com>
2140 Put sample merged menu item and merged toolbar item
2141 into sample component.
2143 * components/sample/nautilus_sample_content_view.c:
2144 (sample_notify_location_change_cb): Changed name to
2145 sample_notify_location_change_callback and changed
2146 parameter name "view" to "view_frame" and "sample"
2147 to "view" to match other uses; added assert that
2148 view's view_frame is the same as parameter view_frame.
2149 (nautilus_sample_content_view_initialize): Added signal
2150 connection for bonobo control activation.
2151 (nautilus_sample_content_view_load_uri): Made the displayed
2152 text include an explanatory sentence in addition to the uri,
2153 so Nautilus users will be more likely to understand what this
2155 (bonobo_sample_callback): New function, changes the sentence
2156 displayed with the uri based on callback caller (menu item or
2158 (sample_merge_bonobo_items_callback): New function, creates one
2159 sample merged menu item and one sample merged toolbar button,
2160 whose callback functions are both bonobo_sample_callback.
2162 * src/file-manager/fm-directory-view.c:
2163 (bonobo_control_activate_cb): Removed never-called "state == FALSE"
2164 case, added comment.
2165 (fm_directory_view_real_merge_menus): Removed #if 0'ed sample
2166 toolbar button, now that there's one in the sample component.
2168 2000-03-23 John Sullivan <sullivan@eazel.com>
2170 * src/file-manager/fm-directory-view.c:
2171 (fm_directory_view_real_merge_menus): Put in a commented-out
2172 sample merged toolbar button, as a starting point for the
2173 ones we plan to implement later.
2175 * src/ntl-window-msgs.c: (nautilus_window_set_state_info):
2176 Put an #ifdef EXTREME_DEBUGGING around "Doing sync - action tag"
2178 2000-03-23 Darin Adler <darin@eazel.com>
2180 Fixed bug 336 (merged menu items don't go away when component
2183 * src/file-manager/fm-directory-view.c: (fm_directory_view_destroy):
2184 While debugging, I noticed that the view_frame was allocated by the
2185 FMDirectoryView and never unref'd. The exact connection of this to
2186 why the widgets don't go away is now lost in time. We added a call
2187 to bonobo_object_unref to get rid of the view frame.
2189 * src/ntl-window.h, src/ntl-window.c, src/ntl-window-msgs.c:
2190 (Nautilus_NavigationInfo_free): Got rid of this routine. It turns
2191 out that this was an incorrect hack to work around the error in
2192 the surrounding code that was copying CORBA object references
2193 without calling CORBA_Object_duplicate.
2194 (nautilus_window_destroy), (nautilus_window_request_selection_change):
2195 Changed code that was calling Nautilus_NavigationInfo_free to just
2196 call CORBA_free now that the incorrect hack is not needed.
2197 (nautilus_window_request_selection_change),
2198 (nautilus_window_update_view),
2199 (nautilus_window_update_internals),
2200 (nautilus_window_load_content_view): Changed all code that was
2201 manipulating content_view to use CORBA_Object_duplicate when
2202 storing a reference and CORBA_Object_release when overwriting
2205 2000-03-22 Darin Adler <darin@eazel.com>
2207 Fixed bug 334 (Need proper hit detection when hit-testing icons)
2209 * libnautilus/nautilus-icon-canvas-item.c: (hit_test_pixbuf):
2210 Fixed a typo-type error where we were checking every pixel of the
2211 pixbuf instead of only the pixels that we were hit testing against.
2213 * libnautilus/nautilus-icon-container.c: Tweaks.
2215 2000-03-22 John Sullivan <sullivan@eazel.com>
2217 Fixed bug 308 (Straighten out the new_window situation
2218 in Nautilus_NavigationRequestInfo)
2220 Nautilus_NavigationRequestInfo was passing around a trio
2221 of tri-state values where one boolean would do. Now it
2222 passes around one boolean.
2224 * idl/nautilus.idl: Eliminated enum TruthValue,
2225 replaced NavigationRequestInfo's new_window_default,
2226 new_window_suggested, and new_window_enforced with boolean
2227 new_window_requested.
2229 * components/help/hyperbola-nav-index.c: (hyperbola_navigation_index_select_row),
2230 * components/help/hyperbola-nav-search.c: (hyperbola_navigation_search_select_row),
2231 * components/help/hyperbola-nav-tree.c: (hyperbola_navigation_tree_select_row),
2232 * components/history/ntl-history-view.c:
2233 * components/websearch/ntl-web-search.c:
2234 * src/nautilus-window-toolbars.c:
2235 * src/ntl-window-msgs.c:
2237 * src/file-manager/fm-directory-view.c:
2238 Simplified all users of Nautilus_NavigationRequestInfo to match.
2240 * components/music/main.c: Added a #include to kill
2241 warning about gnome_vfs_init being undefined.
2243 2000-03-21 John Sullivan <sullivan@eazel.com>
2245 Fixed bug 335 (Menus incorrect after keyboard navigation)
2247 * libnautilus/nautilus-icon-container.c: (keyboard_move_to):
2248 Emit SELECTION_CHANGED signal after changing selection.
2250 2000-03-21 John Sullivan <sullivan@eazel.com>
2252 Fixed bug 203 (preserve back/forward chain when using
2253 back/forward menus).
2255 * src/ntl-window.h: added enum NautilusLocationChangeType.
2256 Removed window fields is_back and is_reload. Added window
2257 fields location_change_type and location_change_distance.
2259 * src/ntl-window-private.h:
2260 (nautilus_window_back_or_forward): Exposed this function.
2261 (nautilus_window_change_location): Changed name to
2262 nautilus_window_begin_location_change and replaced is_back
2263 and is_forward parameters with type & distance.
2264 (nautilus_window_end_location_change): Removed this prototype
2265 that had no implementation.
2267 * src/ntl-window-msgs.c:
2268 (nautilus_window_update_internals): Rewrote to use
2269 location_change_type and location_change_index.
2270 (nautilus_window_change_location): Changed name to
2271 nautilus_window_begin_location_change and replaced is_back
2272 and is_forward parameters with type & distance.
2273 (nautilus_window_request_location_change): Updated caller of
2274 nautilus_window-change_location.
2275 (nautilus_window_change_location_2): Renamed to
2276 nautilus_window_end_location_change_callback for clarity; removed
2277 useless assignment to window->is_back.
2278 (view_menu_switch_views_cb): Removed useless assignments of
2279 window->is_back and window->is_reload.
2280 (nautilus_window_update_state): Removed is_back from a debug message.
2283 (nautilus_window_back_or_forward): Added distance parameter;
2284 call nautilus_window_begin_location_change properly.
2285 (nautilus_window_back_cb), (nautilus_window_forward_cb):
2286 Pass distance of 0 to nautilus_window_back_or_forward.
2288 * src/nautilus-window-toolbars.c: (activate_back_or_forward_menu_item):
2289 call newly-exposed nautilus_window_back_or_forward.
2291 2000-03-21 Pavel Cisler <pavel@eazel.com>
2293 * libnautilus/nautilus-icon-container.c
2294 (motion_notify_event):
2295 Fixed an annoying bug that would sometimes cause the drag&drop feedback
2296 to come up delayed. Turned out to be a silly mistake in the drag
2297 snap resistance test that caused the snap resistance to be infinite when
2298 you dragged near-horizontaly or near-vertically.
2300 2000-03-21 Darin Adler <darin@eazel.com>
2302 Did some of the items from RENAMING.
2304 * libnautilus/Makefile.am:
2305 * libnautilus/gnome-icon-container-dnd.c:
2306 * libnautilus/gnome-icon-container-dnd.h:
2307 * libnautilus/gnome-icon-container-grid.c:
2308 * libnautilus/gnome-icon-container-grid.h:
2309 * libnautilus/gnome-icon-container-private.h:
2310 * libnautilus/gnome-icon-container.c:
2311 * libnautilus/gnome-icon-container.h:
2312 * libnautilus/gtkflist.c:
2313 * libnautilus/gtkflist.h:
2314 * libnautilus/nautilus-icon-canvas-item.c:
2315 * libnautilus/nautilus-icon-canvas-item.h:
2316 * libnautilus/nautilus-icon-container.c:
2317 * libnautilus/nautilus-icon-container.h:
2318 * libnautilus/nautilus-icon-dnd.c:
2319 * libnautilus/nautilus-icon-dnd.h:
2320 * libnautilus/nautilus-icon-grid.c:
2321 * libnautilus/nautilus-icon-grid.h:
2322 * libnautilus/nautilus-icon-private.h:
2323 * libnautilus/nautilus-icons-view-icon-item.c:
2324 * libnautilus/nautilus-icons-view-icon-item.h:
2325 * libnautilus/nautilus-lib-self-check-functions.h:
2326 * libnautilus/nautilus-list-column-title.c:
2327 * libnautilus/nautilus-list.c:
2328 * libnautilus/nautilus-list.h:
2329 * src/file-manager/Makefile.am:
2330 * src/file-manager/fm-directory-view-icons.c:
2331 * src/file-manager/fm-directory-view-icons.h:
2332 * src/file-manager/fm-directory-view-list.c:
2333 * src/file-manager/fm-directory-view-list.h:
2334 * src/file-manager/fm-icon-view.c:
2335 * src/file-manager/fm-icon-view.h:
2336 * src/file-manager/fm-list-view.c:
2337 * src/file-manager/fm-list-view.h:
2339 Did these RENAMING entries:
2340 FMDirectoryViewIcons -> FMIconView
2341 FMDirectoryViewList -> FMListView
2342 GnomeIconContainer -> NautilusIconContainer
2343 GnomeIconContainerIcon -> NautilusIcon
2344 NautilusIconsViewIconItem -> NautilusIconCanvasItem
2346 * RENAMING: Marked the renaming done.
2348 2000-03-21 Darin Adler <darin@eazel.com>
2350 Fixed arrow keys and worked on the icon grid.
2351 Fixes bugs #314, #324, and #325.
2353 * components/help/hyperbola.goad:
2354 Corrected repo_ids -> repo_id, reported by Richard Hult.
2356 * src/nautilus.goad:
2357 Added missing = character, reported by Richard Hult.
2359 * libnautilus/gnome-icon-container-grid.c:
2360 * libnautilus/gnome-icon-container-grid.h:
2361 * libnautilus/gnome-icon-container.c:
2362 * libnautilus/gnome-icon-container-private.h:
2363 Made the icon grid handle negative coordinates.
2364 Removed most of the icon grid code.
2365 Reimplemented the arrow keys. They should work again.
2367 * libnautilus/nautilus-gnome-extensions.c:
2368 * libnautilus/nautilus-gnome-extensions.h:
2369 (nautilus_art_irect_contains_irect):
2370 Added another helper function.
2372 * libnautilus/nautilus-icons-view-icon-item.c:
2374 * libnautilus/nautilus-icons-view-icon-item.h:
2375 * libnautilus/gnome-icon-container.c:
2376 * libnautilus/gnome-icon-container-private.h:
2377 Added user data to each canvas item and got rid of the hash table
2378 that maps canvas items to icons.
2382 2000-03-20 Pavel Cisler <pavel@eazel.com>
2384 * libnautilus/nautilus-list-column-title.c
2385 (nautilus_list_column_title_paint):
2386 Center the sort order indicators inside a title better. Make the column
2387 title label spacing more like the old CtkCList.
2389 2000-03-20 Pavel Cisler <pavel@eazel.com>
2391 * libnautilus/nautilus-list-column-title.c
2392 (nautilus_list_column_title_paint), (nautilus_list_column_title_draw),
2393 (nautilus_list_column_title_buffered_draw),
2394 (nautilus_list_column_title_expose):
2395 Use an offscreen bitmap to draw the column title during column resizing
2396 and column prelighting.
2398 * libnautilus/nautilus-list-column-title.c
2399 (nautilus_list_column_title_finalize):
2400 Clean up properly - destroy a gc used to blit the sort order indicators
2402 * libnautilus/gtkflist.c
2403 * libnautilus/nautilus-list-column-title.c
2404 (gtk_flist_track_new_column_width),
2405 (nautilus_list_column_title_motion):
2406 Remove the column title update from the flist, have the mouse tracking
2407 routine in the list column title take care of it.
2409 2000-03-17 Darin Adler <darin@eazel.com>
2411 Fixed the "tall line of icons" bug.
2413 * libnautilus/gnome-icon-container-grid.h:
2414 * libnautilus/gnome-icon-container-grid.c:
2415 * libnautilus/gnome-icon-container.c:
2416 Rewrote the routines to not have a separate concept of the
2417 actual grid height and the allocated grid height. Most important
2418 change was to update the first_free variables when resizing.
2420 * src/file-manager/fm-directory-view-icons.h:
2421 * src/file-manager/fm-directory-view-icons.c:
2422 (fm_directory_view_icons_line_up_icons):
2423 Removed the unused line_up_icons call. This feature will return,
2424 but for now it's just a waste of space.
2426 2000-03-17 Darin Adler <darin@eazel.com>
2428 Fixed the "rubberband does not work" bug.
2430 * libnautilus/gnome-icon-container-grid.h:
2431 * libnautilus/gnome-icon-container-grid.c:
2432 * libnautilus/gnome-icon-container-private.h:
2433 * libnautilus/gnome-icon-container.c:
2434 * libnautilus/nautilus-icons-view-icon-item.c:
2435 * libnautilus/nautilus-icons-view-icon-item.h:
2436 Simplified the grid a bit and did some redesign. The grid now
2437 takes into account the height and width of the icons. More work
2440 * libnautilus/nautilus-global-preferences.c:
2441 * nautilus-widgets/nautilus-preferences.h:
2442 Some cleanup, including types for constants.
2444 * libnautilus/nautilus-gnome-extensions.h:
2445 * libnautilus/nautilus-gnome-extensions.c:
2446 (nautilus_art_irect_equal), (nautilus_art_drect_equal),
2447 (nautilus_gnome_canvas_item_get_current_canvas_bounds),
2448 (nautilus_gnome_canvas_item_request_redraw),
2449 (nautilus_gnome_canvas_request_redraw_rectangle),
2450 (nautilus_gnome_canvas_item_get_world_bounds):
2451 More useful canvas and libart routines.
2453 * RENAMING: More renaming ideas.
2455 2000-03-17 Elliot Lee <sopwith@eazel.com>
2457 * libnautilus/gnome-icon-container-grid.c:
2458 Added #include <string.h>. For some reason Elliot needs this on
2459 his configuration even though I (Darin) don't need it on mine.
2460 Some day we have to track this down.
2462 Elliot checked in the above change without a ChangeLog entry,
2463 so I decided to make one for him.
2465 2000-03-17 Darin Adler <darin@eazel.com>
2467 * HACKING: Fixed to match what we actually have on Eazel machines.
2469 2000-03-17 John Sullivan <sullivan@eazel.com>
2471 Fixed bug 322 (going Back goes wacko).
2473 * src/nautilus-location-bar.c:
2474 (nautilus_location_bar_set_location): This function should
2475 not emit the location_changed signal; it's intended only to
2476 update the displayed text. This was causing a location-changing
2477 loop, which for reasons I did not investigate was not infinite.
2478 Added comments to clarify this function's purpose.
2480 Moved some more toolbar-related code into
2481 nautilus_window_toolbars.c.
2483 * src/nautilus-window-toolbars.c,
2484 * src/ntl-window.c: (activate_back_or_forward_menu_item),
2485 (activate_back_menu_item_cb), (activate_forward_menu_item_cb),
2486 (create_back_or_forward_menu), (back_or_forward_button_clicked_cb):
2487 Moved these functions from ntl-window.c to nautilus-window-toolbars.c.
2489 2000-03-17 John Sullivan <sullivan@eazel.com>
2491 Separate out toolbar code as first step towards
2494 * src/nautilus-window-toolbars.c: New file
2495 * src/Makefile.am: put new file in build.
2496 * src/ntl-window-private.h: prototype for
2497 nautilus_window_initialize_toolbars
2498 * src/ntl-window.c: Moved toolbar stuff out of here
2501 2000-03-17 Pavel Cisler <pavel@eazel.com>
2503 Fix some bugs that John kindly uncovered.
2505 * libnautilus/gtkflist.c
2506 (gtk_flist_resize_column):
2507 Make it so that the column title updates when column width changes
2508 by zooming in and out.
2510 * libnautilus/gtkflist.c
2511 (gtk_flist_column_resize_track_start), (gtk_flist_column_resize_track_end):
2512 Fix a dumb segfault - clist was not being initialized properly.
2514 * libnautilus/nautilus-list-column-title.c
2515 (nautilus_list_column_title_paint):
2516 Make the sort indicator draw on the other side of the column title
2520 * libnautilus/nautilus-list-column-title.c
2521 (nautilus_list_column_title_leave):
2522 Fix a problem where the column title would sometimes get stuck in a
2523 prelight state after the mouse has exited.
2525 2000-03-16 Pavel Cisler <pavel@eazel.com>
2527 * scr/file-manager/fm-directory-view-list.c
2529 The icon column was set to the width of an icon at 100% zoom level.
2530 This doesn't work at higher zoom levels and when using Eazel
2531 theme icons. For now just make the column resizable again.
2533 2000-03-16 Pavel Cisler <pavel@eazel.com>
2535 First pass on making list column resizing live.
2537 * libnautilus/Makefile.am
2538 * libnautilus/nautilus-list-column-title.c
2539 * libnautilus/nautilus-list-column-title.h
2540 New list column title widget that makes it easier to hook into
2541 the mouse tracking and allows using flicker free redraw. Currently
2542 it doesn't use an offscreen buffer yet, comming soon.
2544 * libnautilus/gtkflist.c
2545 (gtk_flist_initialize_class), (gtk_flist_initialize),
2546 (gtk_flist_realize), (list_requisition_width),
2547 (gtk_flist_size_request), (new_column_width), (size_allocate_columns),
2548 (size_allocate_title_buttons), (get_cell_style), (draw_cell_pixmap),
2549 (draw_row), (draw_rows),
2550 Made it possible to replace the existing column list view titles
2551 from GtkCList view to be replaced with the new widget. In order
2552 to do that I had to pull in a number of calls form GtkCList and
2553 work around dependencies on column titles being buttons.
2554 Prepared code some for smart column truncation.
2556 * libnautilus/gtkflist.h
2557 * libnautilus/gtkflist.c
2558 (gtk_flist_track_new_column_width), (gtk_flist_column_resize_track_start),
2559 (gtk_flist_column_resize_track), (gtk_flist_column_resize_track_end):
2560 Added new calls that hook up with the mouse tracking code that
2561 resize the tracker column.
2563 * scr/file-manager/fm-directory-view-list.c
2564 (get_sort_indicator), (hide_sort_indicator), (show_sort_indicator),
2566 Removed code that insert the sort order indicator into the list
2567 column - this is now done in the new column title widget.
2569 * scr/file-manager/fm-directory-view-list.c
2571 Added min and max column width values.
2573 * libnautilus/gtkflist.c
2574 (gtk_flist_initialize_class)
2575 Fixe a bug where the "selection_changed" was mistakenly connected
2576 to the start_drag callback.
2578 * libnautilus/nautilus-gdk-extensions.c
2579 * libnautilus/nautilus-gdk-extensions.h
2580 (nautilus_rectangle_contains), (nautilus_rectangle_inset):
2581 Added GdkRectangle utility calls.
2583 2000-03-16 John Sullivan <sullivan@eazel.com>
2585 * src/nautilus-index-title.c:
2586 store uri in details struct.
2587 (nautilus_index_title_set_uri), (nautilus_index_title_set_up_icon),
2588 (nautilus_index_title_set_up_label), (nautilus_index_title_set_up_info):
2589 Read uri from details struct instead of passing in parameter.
2590 (nautilus_index_title_initialize): Connect with "icons_changed"
2591 signal so nautilus_index_title_set_up_icon gets called again,
2592 refreshing the icon appearance when the theme changes.
2593 (nautilus_index_title_finalize): free details->uri.
2595 * src/ntl-uri-map.c:
2596 (get_nautilus-navigation_result_from_gnome_vfs_result):
2597 Handle GNOME_VFS_ERROR_GENERIC case, since diskzero ran
2598 into it. Unfortunately we can't put up a very specific error
2599 message for that case!
2601 2000-03-16 Darin Adler <darin@eazel.com>
2603 Did some of the renamings that were queued in RENAMING.
2605 * libnautilus/Makefile.am:
2606 * libnautilus/gdk-extensions.c:
2607 * libnautilus/gdk-extensions.h:
2608 * libnautilus/nautilus-gdk-extensions.c:
2609 * libnautilus/nautilus-gdk-extensions.h:
2610 * libnautilus/gnome-icon-container.c:
2611 * libnautilus/nautilus-background.c:
2612 * libnautilus/nautilus-icons-view-icon-item.c:
2613 Renamed gdk-extensions to add the nautilus- prefix and changed
2617 * src/explorer-location-bar.c:
2618 * src/explorer-location-bar.h:
2619 * src/nautilus-location-bar.c:
2620 * src/nautilus-location-bar.h:
2621 * src/ntl-window-msgs.c:
2623 Renamed ExplorerLocationBar to NautilusLocationBar.
2626 * src/nautilus-bookmarklist.c:
2627 * src/nautilus-bookmarklist.h:
2628 * src/nautilus-bookmark-list.c:
2629 * src/nautilus-bookmark-list.h:
2630 * src/nautilus-bookmarks-window.c:
2631 * src/nautilus-bookmarks-window.h:
2632 * src/nautilus-window-menus.c:
2633 Renamed NautilusBookmarklist to NautilusBookmarkList.
2635 * RENAMING: Marked items done and added some new ones.
2637 * nautilus-widgets/nautilus-preferences-item.c:
2638 * nautilus-widgets/nautilus-preferences.c:
2639 * nautilus-widgets/test-nautilus-widgets.c:
2640 * libnautilus/nautilus-icon-factory.c:
2641 * src/file-manager/fm-directory-view-icons.c:
2642 * src/file-manager/fm-directory-view.c:
2643 * src/file-manager/fm-icon-text-window.c:
2644 Cleaned up the interface to NautilusPreferences a bit.
2646 2000-03-16 John Sullivan <sullivan@eazel.com>
2648 Fixes for a couple of preferences bugs Darin and I ran into
2649 while trying to debug a preferences-related problem. We
2650 can't reproduce the original problem so we don't know if
2653 * libnautilus/nautilus-icon-factory.c:
2654 (nautilus_get_current_icon_factory): Call
2655 nautilus_global_preferences_initialize before accessing preferences,
2656 since this code is called by processes other than the main
2659 * nautilus-widgets/nautilus-preferences.c: (prefs_get_pref):
2660 Remove redundant NULL check for prefs; add NULL check for pref_name;
2661 remove test of uninitialized variable; change assert to
2662 return FALSE since callers already handle the FALSE case.
2663 (nautilus_preferences_get_enum): Changed return FALSE to return 0
2664 to match return value type.
2665 (nautilus_preferences_get_string): Changed return FALSE to return NULL
2666 to match return value type.
2668 2000-03-16 John Sullivan <sullivan@eazel.com>
2670 Moved a couple of utility functions I wrote recently
2671 into the right places in libnautilus.
2673 * libnautilus/nautilus-bonobo-extensions.h,
2674 * libnautilus/nautilus-bonobo-extensions.c: New files,
2675 initially containing only the euphoniously-named
2676 (nautilus_bonobo_ui_handler_menu_set_toggle_appearance),
2677 which toggles a bonobo menu item's checkbox state without
2678 invoking its callback.
2679 * libnautilus/Makefile.am: Put these two new files into build.
2681 * libnautilus/nautilus-glib-extensions.h,
2682 * libnautilus/nautilus-glib-extensions.c:
2683 (nautilus_g_strfindv): New function, finds a string in a
2684 NULL-terminated string array. Hideous name to match glib conventions.
2685 (nautilus_self_check_glib_extensions): Added tests for
2686 nautilus_g_strfindv.
2688 * src/nautilus-window-menus.c:
2689 (nautilus_bonobo_ui_handler_menu_toggle_appearance): Moved out
2690 of here, now called in its new home in libnautilus.
2691 * src/file-manager/fm-icon-text-window.c:
2692 (find_string_in_array): Moved out of here and renamed on its
2693 way into libnautilus.
2694 (synch_menus_with_preference): Updated for function name change.
2696 2000-03-16 Darin Adler <darin@eazel.com>
2698 * src/file-manager/fm-directory-view.c:
2699 (disconnect_model_handlers), (stop_load): Fixed the CRITICALs that
2700 I recently introduced. Made sure our unrefs match our refs for
2703 2000-03-16 John Sullivan <sullivan@eazel.com>
2705 Made icon theme changes persist across sessions by
2706 using preferences mechanism. When preferences mechanism
2707 switches to using GConf this should (theoretically) make
2708 icon theme changes work across multiple processes too.
2710 * libnautilus/nautilus-global-preferences.h:
2711 added #define for NAUTILUS_PREFERENCES_ICON_THEME
2712 * libnautilus/nautilus-global-preferences.c:
2713 (global_preferences_static_info[]): new entry for
2714 NAUTILUS_PREFERENCES_ICON_THEME with initial value.
2716 * libnautilus/nautilus-icon-factory.c:
2717 (nautilus_get_current_icon_factory): get theme from preferences
2718 and register callback to be notified of changes in preference.
2719 (nautilus_icon_factory_destroy): unregister preferences callback.
2720 (nautilus_icon_factory_get_theme): Removed this function.
2721 (icon_theme_changed_callback): call set_theme when preference changes.
2722 * libnautilus/nautilus-icon-factory.h:
2723 (nautilus_icon_factory_get_theme),
2724 (nautilus_icon_factory_set_theme): Removed public API. The
2725 rare client that cares about the name of the theme should
2726 get/set it from preferences.
2728 * src/nautilus-window-menus.c:
2729 (use_eazel_theme_icons_cb): get and set theme from
2730 preferences rather than with icon factory calls.
2731 (nautilus_bonobo_ui_handler_menu_set_toggle_appearance):
2732 New function, sets the state of the checkbox in a bonobo
2733 menu item without invoking the callback. Perhaps this belongs
2734 in bonobo or in libnautilus, but I'm waiting to hear what the
2735 bonobo folks have to say about the current behavior, which
2737 (update_eazel_theme_menu_item): Rewritten to change the
2738 state of the menu item without invoking the callback. This
2739 was broken in the case where the initial state of the menu
2740 item was backwards, which was never the case before since
2741 it always started with Eazel theme icons off.
2743 * libnautilus/nautilus-icon-factory.c:
2744 (nautilus_icon_factory_initialize_class),
2745 (nautilus_icon_factory_set_theme),
2746 * components/history/ntl-history-view.c: (make_obj),
2747 * src/nautilus-bookmarks-window.c:
2748 (create_bookmarks_window),
2749 * src/nautilus-window-menus.c:
2750 (nautilus_window_initialize_menus),
2751 (nautilus_window_initialize_bookmarks_menu),
2752 (nautilus_window_initialize_go_menu),
2753 * libnautilus/gnome-icon-container.c:
2754 (gnome_icon_container_initialize),
2755 * src/file-manager/fm-directory-view-list.c:
2756 (fm_directory_view_list_initialize): Changed name of signal
2757 emitted by icon factory from "theme_changed" to "icons_changed"
2758 since it may be used in the future for other kinds of changes
2759 in the available set of icons.
2761 2000-03-15 Darin Adler <darin@eazel.com>
2763 * HACKING: Tell people about the gnome-xml branch.
2765 * libnautilus/Makefile.am:
2766 * libnautilus/gnome-icon-container-grid.c:
2767 * libnautilus/gnome-icon-container-grid.h:
2768 * libnautilus/gnome-icon-container-private.h:
2769 * libnautilus/gnome-icon-container.c:
2770 Broke out the grid code from the main container code.
2771 This is a first step toward improving the layout code.
2773 * libnautilus/nautilus-directory-private.h:
2774 * libnautilus/nautilus-directory.c:
2775 * libnautilus/nautilus-directory.h:
2776 * src/fm-directory-view.c:
2777 Got started on making the directory I/O async.
2778 There's still a long way to go, this was a baby step.
2780 * libnautilus/nautilus-bookmark.c:
2781 * libnautilus/nautilus-bookmark.h:
2782 * libnautilus/nautilus-self-checks.c:
2785 * libnautilus/nautilus-file.h:
2786 Rearranged a little bit.
2788 * libnautilus/nautilus-file-utilities.c:
2789 Put FIXME in where there's code that needs to be changed.
2791 2000-03-15 John Sullivan <sullivan@eazel.com>
2793 Used preferences mechanism for icon views' text-under-icons
2794 and directory views' open-in-new-window preference. The former
2795 was not persistent previously and the latter wasn't
2798 * nautilus-widgets/nautilus-preferences.h,
2799 * nautilus-widgets/nautilus-preferences.c:
2800 added NAUTILUS_PREFERENCE_STRING to NautilusPreferencesType enum.
2801 (nautilus_preferences_get_string), (nautilus_preferences_set_string):
2802 New functions for string preferences.
2803 (prefs_check_supported_type), (prefs_set_pref),
2804 (nautilus_preferences_register_from_info), (make_gnome_config_string):
2805 Support for string preferences.
2807 * nautilus-widgets/nautilus-preferences-item.c:
2808 (preferences_item_construct): added a g_assert_not_reached as the
2809 NAUTILUS_PREFERENCE_STRING case in a switch statement to make the
2810 compiler happy. I didn't implement a UI for string items in the
2811 preferences dialog because the string items we're using now have
2812 their own specialized UI.
2814 * libnautilus/nautilus-global-preferences.h:
2815 added #define for NAUTILUS_PREFERENCES_ICON_VIEW_TEXT_ATTRIBUTE_NAMES
2816 * libnautilus/nautilus-global-preferences.c:
2817 (global_preferences_static_info[]): filled in initial value for
2818 NAUTILUS_PREFERENCES_ICON_VIEW_TEXT_ATTRIBUTE_NAMES
2820 * src/file-manager/fm-icon-text-window.c:
2821 (changed_attributes_option_menu_cb): Set new value using
2822 preferences mechanism instead of calling fm_directory_view_icons.
2823 (find_string_in_array), (set_preference_string),
2824 (synch_menus_with_preference), (preference_changed_cb),
2825 (fm_icon_text_window_destroy_cb):
2826 New functions used to keep UI in synch with text-attribute
2828 (create_icon_text_window): wire up notifications about
2829 text-attribute preferences and get initial value.
2831 * src/file-manager/fm-directory-view-icons.h,
2832 * src/file-manager/fm-directory-view-icons.c:
2833 Added text_attribute_names field to details struct.
2834 (icon_text_changed_cb), (fm_directory_view_icons_initialize_class),
2835 (fm_directory_view_icons_initialize), (fm_directory_view_icons_destroy),
2836 (text_attribute_names_changed_callback),
2837 (fm_directory_view_icons_get_full_icon_text_attribute_names),
2838 (fm_directory_view_icons_set_full_icon_text_attribute_names),
2839 (fm_directory_view_icons_get_icon_text_attribute_names):
2840 Replaced old mechanism that used FMSignaller to send notifications
2841 about the text attribute names with new preferences mechanism.
2843 * src/file-manager/fm-directory-view.c:
2844 Added user_new_window field to details structure.
2845 (fm_directory_view_activate_file_internal): New function, does
2846 what fm_directory_view_activate_file did before.
2847 (fm_directory_view_activate_file): Now respects the use_new_window
2849 (bonobo_menu_open_cb), (open_cb), (open_one_in_new_window):
2850 Changed callers to use fm_directory_view_activate_file_internal
2851 for those cases where the use_new_window preference should be
2852 ignored (e.g. "Open" and "Open in New Window" menu items).
2853 (fm_directory_view_initialize): Get initial value of new-window
2854 preference and set up notification for when value changes.
2855 (use_new_window_changed_callback): Refresh local copy of preference.
2856 (fm_directory_view_destroy): Remove preferences callback.
2858 * src/file-manager/fm-signaller.c,
2859 * src/file-manager/fm-signaller.h: Removed these two files
2860 that were handling the text-under-icons mechanism previously.
2861 * src/file-manager/Makefile.am: Took removed files out of build.
2863 * libnautilus/nautilus-file.c: (nautilus_file_get_owner_as_string):
2864 Removed an old debugging g_print.
2866 2000-03-15 Darin Adler <darin@eazel.com>
2868 A quick cleanup of how we use gnome-xml.
2870 * libnautilus/Makefile.am:
2871 * libnautilus/nautilus-xml-extensions.c:
2872 * libnautilus/nautilus-xml-extensions.h:
2873 Added some new gnome-xml helper functions.
2875 * libnautilus/nautilus-directory.c:
2876 (nautilus_directory_get_file_metadata_node):
2877 * libnautilus/nautilus-file.c:
2878 (nautilus_file_get_keywords):
2879 (nautilus_file_set_keywords):
2880 * libnautilus/nautilus-icon-factory.c:
2881 (get_child_node_by_property):
2882 (get_themed_icon_file_path):
2883 * src/nautilus-bookmarklist.c:
2884 (nautilus_bookmarklist_load_file):
2885 Changed to use the new helper functions.
2887 * src/nautilus-bookmarklist.c:
2888 (nautilus_bookmarklist_save_file): Changed direct uses of root to
2889 use xmlDocGet/SetRootElement while I was editing the file. I
2890 think this is the same change Pavel made but wasn't able to check
2893 * src/nautilus-bookmarklist.c:
2896 2000-03-14 Darin Adler <darin@eazel.com>
2898 Added additional data to icons so they can specify where the
2899 embedded text fits in each icon.
2901 * icons/eazel/Makefile.am, icons/eazel/i-regular.xml: Added the
2902 file to specify attributes of icons. Specifically added the
2903 attribute that says there is space for embedded text in the
2904 Eazel-theme regular icon.
2906 * libnautilus/nautilus-icon-factory.h:
2907 * libnautilus/nautilus-icon-factory.c:
2908 (get_child_node_by_property), (get_themed_icon_file_path),
2909 (get_icon_file_path), (nautilus_icon_factory_get_thumbnail_uri),
2910 (load_specific_image), (load_image_for_scaling),
2911 (get_image_from_cache), (load_image_scale_if_necessary),
2912 (nautilus_icon_factory_get_pixbuf_for_icon),
2913 (nautilus_icon_factory_get_pixbuf_for_file):
2914 Added code to read a rectangle for the embedded text along with
2915 the icon, cache it with the icon, scale it with the icon, and
2916 return it to the caller along with the icon.
2918 * libnautilus/nautilus-icons-view-icon-item.c:
2919 (nautilus_icons_view_icon_item_initialize_class),
2920 (nautilus_icons_view_icon_item_set_arg),
2921 (nautilus_icons_view_icon_item_get_arg),
2922 (nautilus_icons_view_icon_item_get_image),
2923 (nautilus_icons_view_icon_item_set_image),
2924 (nautilus_art_irect_to_gdk_rectangle),
2925 (draw_mini_text), (draw_embedded_text),
2926 (nautilus_icons_view_icon_item_draw):
2927 Changed the code that draws the embedded text to respect the
2928 text rectangle passed in. Changed the pixbuf setting to use a
2929 function instead of the arg interface and take a text rectangle
2930 along with the pixbuf.
2932 * libnautilus/gnome-icon-container-dnd.c
2933 (gnome_icon_container_dnd_begin_drag):
2934 * libnautilus/gnome-icon-container.c:
2935 (icon_get_actual_size): Got rid of callers who were using the arg
2936 interface to get at the image of an icon
2937 ("NautilusIconsViewIconItem::pixbuf").
2939 * src/file-manager/fm-directory-view-icons.c:
2940 (get_icon_property_cb): Get rid of hard-coded rule that only
2941 themes with eazel at the front of their names can display text
2944 * libnautilus/gnome-icon-container.c:
2945 (icon_new): Fixed a bug where icons would be super-tiny if they
2946 got too big, like if you entered a directory that was zoomed all
2948 (start_stretching), (ungrab_stretch_icon), (end_stretching),
2949 (gnome_icon_container_show_stretch_handles): Added code to grab
2950 the pointer while stretching an icon.
2951 (item_event_cb): Added a return statement that John forgot when
2952 he was editing. Without that, it was falling through to the next
2953 case, which had the same effect anyway.
2954 (update_icon): Pass the text rectangle through from the icon
2955 factory to the icon canvas item, using the new call instead of the
2956 old arg interface approach.
2958 * components/help/.cvsignore: Added entries for
2961 * components/help/Makefile.am:
2962 * components/help/hyperbola-nav-index.c:
2963 * components/help/hyperbola-nav-search.c:
2964 * libnautilus/nautilus-directory-private.h:
2965 * libnautilus/nautilus-directory.c:
2966 * src/nautilus-bookmarklist.c:
2967 Fixed flags for gnome-xml
2968 includes. Someone pointed out that you are supposed to include
2969 these as "#include <tree.h>", not "#include <gnome-xml/tree.h>" so
2970 I fixed our uses to work that way.
2972 * libnautilus/nautilus-directory.c:
2973 (nautilus_directory_get_file_metadata_node): Fixed code that was
2974 destroying something allocated by gnome-xml with g_free instead
2977 * libnautilus/nautilus-file.c:
2978 (nautilus_file_get_keywords), (nautilus_file_set_keywords):
2979 Fixed storage leak where we were getting a property and not freeing it.
2981 * libnautilus/nautilus-default-file-icon.h:
2982 * libnautilus/nautilus-default-file-icon.c:
2983 * libnautilus/nautilus-icon-factory.c:
2984 (load_image_for_scaling): Got rid of the global that tells whether
2985 the default icon has an alpha channel -- it's not hardwired TRUE.
2987 2000-03-14 John Sullivan <sullivan@eazel.com>
2989 When a directory with no explicitly-chosen viewer is
2990 visited, the currently-displayed viewer is used if
2991 possible. This matches the behavior of zooming. Darin
2992 doesn't like this and would prefer a single global
2993 setting with some possibly obscure way to set up values
2994 for specific locations, which wouldn't affect subsequent
2995 navigation. Let's try it for awhile and see if we can
2996 agree on a better solution.
2998 * src/ntl-types.h: added referring_iid field to
2999 NautilusNavigationInfo
3000 * src/ntl-uri-map.h,
3001 * src/ntl-uri-map.c:
3002 (nautilus_navinfo_new): Added a referring_iid parameter,
3003 a copy of which is stored in the new struct.
3004 (nautilus_navinfo_free): free the referring_iid string.
3005 (set_initial_content_iid): Use the referring_iid if there's
3006 no valid remembered iid.
3007 * src/ntl-window-msgs.c:
3008 (nautilus_window_change_location): Get the iid from the current
3009 content view and pass it to nautilus_navinfo_new.
3011 2000-03-14 John Sullivan <sullivan@eazel.com>
3013 Directories now start out using the same view they were
3014 last displayed with.
3016 * libnautilus/nautilus-metadata.h: added #define for
3017 NAUTILUS_INITIAL_VIEW_METADATA_KEY
3018 * src/ntl-types.h: renamed field default_content_iid to
3019 initial_content_iid, to avoid ambiguity with other uses
3020 of default (e.g. default metadata value). Also made this
3021 a char * instead of a const char *.
3022 * src/ntl-uri-map.c:
3023 (nautilus_window_load_content_view_menu),
3024 (nautilus_window_update_state): Updated for name change.
3025 (view_menu_switch_views_cb): Save iid of new view in metadata.
3026 * src/ntl-window-msgs.c:
3027 (check_iid): New GCompareFunc-type function, used by to
3028 check whether a string matches the iid of any
3029 NautilusViewIdentifier in a list.
3030 (set_initial_content_iid): New function, gets stored iid
3031 from metadata and uses it if it's non-NULL and matches one
3032 of the available viewers (otherwise uses a fallback iid).
3033 (my_notify_when_ready): Call set_initial_content_iid after
3034 constructing the list of available viewers.
3035 (nautilus_navinfo_free): free initial_content_iid, which was
3036 created in set_initial_content_iid.
3038 2000-03-14 John Sullivan <sullivan@eazel.com>
3040 * libnautilus/gnome-icon-container.c: (icon_destroy):
3041 Send SELECTION_CHANGED signal when destroying an icon
3042 that had been selected. This fixes bug Elliot reported
3043 where "Open in New Window" item in File menu was sensitive
3044 after the selected items had been deleted.
3046 2000-03-14 Jonathan Blandford <jrb@redhat.com>
3048 * libnautilus/gnome-icon-container-dnd.c (drag_drop_cb): Add a
3049 gtk_drag_finish to hopefully solve half the flying windows
3050 problem. Needs more thought then this, though.
3052 2000-03-14 John Sullivan <sullivan@eazel.com>
3054 Fixed bug introduced in last checkin where two popup
3055 menus appear if you right-click on an icon.
3057 * libnautilus/gnome-icon-container.c: (item_event_cb):
3058 Explicitly stop signal emission when button press is handled.
3060 2000-03-13 John Sullivan <sullivan@eazel.com>
3062 Cleanup of "icon selected for keyboard input" code and
3063 behavior. Now it always draws the stippled border around
3064 the keyboard input icon if non-NULL, but it's only non-NULL
3065 after the user has started type-selecting. It chooses a
3066 sensible place to start when a key is pressed, depending
3069 * libnautilus/gnome-icon-container.c:
3070 (find_first), (find_last): Now take boolean for whether to
3071 consider only selected items.
3072 (kbd_home), (kbd_end): Updated to match API changes.
3073 (set_kbd_current): Remove condition guarding highlight change.
3074 (icon_toggle_selected): Removed code to reset the
3075 current keyboard icon; no longer needed with previous change.
3076 (idle_handler): Remove code setting the keyboard-select icon
3078 (get_nth_selected_icon): New helper function to help avoid
3079 walking through all items just to find a certain selected one.
3080 (get_first_selected_icon): Rewritten to call get_nth_selected_icon.
3081 (has_multiple_selection): New helper function that calls
3082 get_nth_selected_icon (2) to determine whether there's at least
3084 (set_kbd_current_to_single_selected_icon): New helper function
3085 to set the keyboard navigation icon to the selected icon, if
3086 the former is non-NULL and the latter is unique.
3087 (kbd_left), (kbd_up), (kbd_right), (kbd_down): Set keyboard
3088 navigation icon if necessary: If a single item is selected, use
3089 that as starting point for keyboard navigation. If no items are
3090 selected, use find_first/last. If multiple items are selected,
3091 use find_first/last but only consider selected items.
3092 (kbd_space): Select a keyboard navigation item if necessary
3094 (button_press_event): Nullify keyboard navigation item since
3095 we're now mouse-navigating.
3096 (gnome_icon_container_almost_drag): Don't set keyboard navigation
3098 (destroy), (gnome_icon_container_icon_initialize),
3099 (linger_select_timeout_cb), (handle_icon_enter_notify),
3100 (handle_icon_leave_notify), (item_event_cb): Removed code for
3101 obsolete experimental "linger" feature.
3103 * libnautilus/nautilus-icons-view-icon-item.c:
3104 (nautilus_icons_view_icon_item_event): return TRUE only if the
3105 event was actually used; this fixes bug where keyboard navigation
3106 wouldn't work if mouse cursor happened to be over an item.
3108 2000-03-13 Darin Adler <darin@eazel.com>
3110 * libnautilus/nautilus-directory.c (nautilus_directory_get):
3111 Fixed bug that caused a core dump when getting at the root
3112 directory because all the '/' characters were stripped off
3115 * src/file-manager/fm-directory-view.c:
3116 * nautilus-widgets/nautilus-preferences.c:
3117 Tiny formatting fixes.
3119 2000-03-13 Maciej Stachowiak <mjs@eazel.com>
3121 * src/ntl-window.c (nautilus_window_constructed): Connect to
3122 zoom_in and zoom_out singals of zoom control and view the zoom in
3123 such cases, when applicable.
3125 * src/nautilus-zoom-control.c
3126 (nautilus_zoom_control_class_initialize): Add zoom_in and zoom_out
3128 (nautilus_zoom_control_reset_zoom_level): Quick hack to get some
3129 semblance of sanity in view switching.
3131 * file-manager/fm-directory-view.c: Add Zoomable interface; for
3132 now only implement zoom_in and zoom_out methods.
3134 * components/sample/nautilus-sample-content-view.c: Added some
3137 2000-03-13 Elliot Lee <sopwith@redhat.com>
3139 * nautilus-widgets/nautilus-preferences.c, src/file-manager/fm-directory-view.c:
3140 Fix pointer <-> int conversion warnings.
3142 2000-03-13 Darin Adler <darin@eazel.com>
3144 * libnautilus/nautilus-string-list.h:
3145 * libnautilus/nautilus-string-list.c:
3146 A quick cleanup pass on the NautilusStringList class:
3147 Changed uses of gchar to char, changed g_assert to g_return_if_fail
3148 as appropriate. Fixed brace style to be emacs-friendly (open brace
3149 on same line as if statement). Fixed spelling of delimiter.
3150 Got rid of some unnecessary special cases for NULL and sped up
3151 the _equal function be eliminating the redundant length check.
3152 Changed the self-check so that it doesn't write a warning to the
3155 2000-03-13 Darin Adler <darin@eazel.com>
3157 * src/file-manager/fm-properties-window.c (create_properties_window):
3158 Andy fixed a double-unref bug by removing an unref. The correct
3159 fix was to add a ref. I rolled out his change and re-fixed the bug.
3161 2000-03-12 Ramiro Estrugo <ramiro@eazel.com>
3163 * libnautilus/nautilus-global-preferences.c,
3164 * libnautilus/nautilus-global-preferences.h:
3165 (nautilus_global_preferences_get_meta_view_iids) Add a table of
3166 meta view iids and a function to retrieve them. This is a hack
3167 until we have better runtime detection of components.
3168 Add some better defaults for which meta views are shown. By
3169 default none were shown. Undo a previous gnome_config default
3170 hack. There is now a better fix in place in the prefs code.
3172 * nautilus-widgets/nautilus-preferences.c:
3173 (nautilus_preferences_make_gnome_config_string) A new function to
3174 make a string as expected by gnome_config with a trailing default
3175 value. Use this string to fetch the value of the preferences.
3180 src/nautilus-window-menus.c,
3182 Retire ntl-prefs.c and ntl-prefs.h. Remove these 2 from build and
3183 all references to them.
3186 (nautilus_app_startup, nautilus_app_destroy) No need to call
3187 retired ntl-prefs functions.
3189 * src/ntl-uri-map.c:
3190 (add_meta_view_iids_from_preferences): New function. Factor out
3191 meta iid setup code into one place. Replace the static meta iid
3192 setup code with something that looks in preferences to see which
3193 meta views are enabled. Next step is to make the meta view
3194 respond to pref changes.
3196 2000-03-12 Ramiro Estrugo <ramiro@eazel.com>
3198 * src/ntl-window-state.c:
3199 (nautilus_window_set_initial_state) Make Intermediate user level
3200 work like hacker, but without showing dot files.
3202 2000-03-12 Andy Hertzfeld <andy@eazel.com>
3204 * src/file-manager/fm-properties-window.c:
3205 fixed bug where closing the properties window would cause a crash.
3206 It was caused by double deleting nautilus_file objects and fixed by
3207 removing the callback to delete the nautilus file in
3208 create_properties_window. Darin better check this to make sure
3209 we're not leaking here.
3211 2000-03-12 Ramiro Estrugo <ramiro@eazel.com>
3213 * nautilus-widgets/nautilus-preferences.c:
3214 (pref_hash_info_remove_callback) Properly remove the item from
3215 the list so that we dont crash later trying to munge a NULL node.
3217 * libnautilus/nautilus-global-preferences.h:
3218 (NAUTILUS_PREFERENCES_USER_LEVEL) Make sure the user level
3221 2000-03-12 Ramiro Estrugo <ramiro@eazel.com>
3223 * libnautilus/Makefile.am: Added nautilus_string_table
3225 * libnautilus/nautilus-lib-self-check-functions.h: Added string
3228 * libnautilus/nautilus-string-list.c,
3229 libnautilus/nautilus-string-list.h: New class to deal with lists
3230 of strings in a type safe manner. Also added self tests for this
3233 2000-03-12 Ramiro Estrugo <ramiro@eazel.com>
3235 * nautilus-widgets/nautilus-preferences.c:
3236 (prefs_set_pref, nautilus_preferences_register_from_info,
3237 nautilus_preferences_register_from_values): Make the preference
3240 * nautilus-widgets/nautilus-preferences-item.c,
3241 nautilus-widgets/nautilus-preferences-item.h,
3242 nautilus-widgets/nautilus-preferences.c,
3243 nautilus-widgets/nautilus-preferences.h,
3244 nautilus-widgets/test-nautilus-widgets.c:
3245 Dont use GtkFunadamentalType, since we obviously wont support
3246 all fundamental gtk types as preferences. Use an enum instead.
3247 Makes the preferences type whacking code exactly 14.85% more type
3250 2000-03-12 Ramiro Estrugo <ramiro@eazel.com>
3252 * src/ntl-window-state.c:
3253 (nautilus_window_set_initial_state): Use the alternative home
3254 place if needed for the user level.
3256 2000-03-12 Ramiro Estrugo <ramiro@eazel.com>
3258 * nautilus-file-utilities.h,
3259 nautilus-file-utilities.c:
3260 (nautilus_user_top_directory): New function. Used to obtain
3261 the user's "top" directory. The top directory is an alternative
3262 home place for naive users.
3264 2000-03-12 Ramiro Estrugo <ramiro@eazel.com>
3268 Add a data directory to the tree. This is the default per-user
3269 data that nautilus installs the first time it runs.
3271 *data/top/.cvsignore,
3272 data/top/Makefile.am,
3274 Add a top directory to the tree. The top directory is an
3275 alternative home place for novice users.
3281 2000-03-12 Ramiro Estrugo <ramiro@eazel.com>
3283 * libnautilus/nautilus-global-preferences.c,
3284 libnautilus/nautilus-global-preferences.h,
3285 src/ntl-window-state.c:
3287 Use better names for the global preferences macros.
3288 Cleanup some #include cruft.
3290 * nautilus-widgets/nautilus-preferences.c,
3291 nautilus-widgets/nautilus-preferences.h:
3292 (nautilus_prefecences_remove_callback):
3293 New method for removing callbacks.
3295 * src/file-manager/fm-directory-view.c:
3296 (queue_pending_files, fm_directory_view_initialize ,
3297 fm_directory_view_destroy): Filter files according to the user level.
3298 Add/Remove a preferences callback to keep track of user level changes.
3300 2000-03-12 Ramiro Estrugo <ramiro@eazel.com>
3303 src/nautilus-window-menus.c: Added myself.
3305 2000-03-12 Ramiro Estrugo <ramiro@eazel.com>
3307 * src/nautilus-window-menus.c:
3308 * src/ntl-window-state.c:
3311 Update for naming changes in the preferences api.
3313 2000-03-12 Ramiro Estrugo <ramiro@eazel.com>
3315 * nautilus-widgets/nautilus-preferences-box.c,
3316 nautilus-widgets/nautilus-preferences-box.h,
3317 nautilus-widgets/nautilus-preferences-dialog.c,
3318 nautilus-widgets/nautilus-preferences-dialog.h,
3319 nautilus-widgets/nautilus-preferences-group.c,
3320 nautilus-widgets/nautilus-preferences-group.h,
3321 nautilus-widgets/nautilus-preferences-item.c,
3322 nautilus-widgets/nautilus-preferences-item.h,
3323 nautilus-widgets/nautilus-preferences-pane.c,
3324 nautilus-widgets/nautilus-preferences-pane.h,
3325 nautilus-widgets/nautilus-preferences.c,
3326 nautilus-widgets/nautilus-preferences.h,
3327 nautilus-widgets/nautilus-radio-button-group.h,
3328 nautilus-widgets/test-nautilus-widgets.c,
3329 nautilus-widgets/test-preferences.c:
3331 Cleanup naming of everything to use "preferences" instead of
3332 "prefs". Remove a bunch of unused includes. Use "Details"
3333 instead of "Private" for private structures. Fix pref item
3334 support of boolean values.
3336 2000-03-12 Ramiro Estrugo <ramiro@eazel.com>
3338 * components/help/Makefile.am:
3339 * components/history/Makefile.am:
3340 * components/html/Makefile.am:
3341 * components/music/Makefile.am:
3342 * components/notes/Makefile.am:
3343 * components/sample/Makefile.am:
3344 * components/websearch/Makefile.am:
3345 Link all components with nautilus-widgets.
3347 2000-03-12 Ramiro Estrugo <ramiro@eazel.com>
3349 * libnautilus/Makefile.am,
3350 libnautilus/nautilus-global-preferences.c: New file
3351 libnautilus/nautilus-global-preferences.h: New file
3354 src/nautilus-global-preferences.c: Removed
3355 src/nautilus-global-preferences.h: Removed
3357 Moved global preferences to libnautilus.
3359 2000-03-10 Darin Adler <darin@eazel.com>
3361 * libnautilus/nautilus-icons-view-icon-item.c
3362 (nautilus_icons_view_icon_item_point):
3363 Fixed typo that broke all hit testing except for rubber band
3366 * libnautilus/gnome-icon-container-dnd.c
3367 (set_gnome_icon_list_selection, set_uri_list_selection),
3368 libnautilus/gnome-icon-container-private.h,
3369 libnautilus/gnome-icon-container.h,
3370 libnautilus/gnome-icon-container.c
3371 (gnome_icon_container_get_icon_uri,
3372 gnome_icon_container_initialize_class, gnome_icon_container_new,
3373 update_icon, gnome_icon_container_update,
3374 gnome_icon_container_request_update),
3375 src/file-manager/fm-directory-view-icons.c (create_icon_container,
3376 get_icon_images_cb, get_icon_uri_cb, get_icon_text_cb,
3377 get_icon_property_cb): Change code that used to use a separate
3378 controller object to just use signals on the icon container
3381 * libnautilus/nautilus-gtk-extensions.h,
3382 libnautilus/nautilus-gtk-extensions.c,
3383 src/file-manager/fm-directory-view.c: Add new signal marshal
3384 functions as needed and changed the name of one of the old
3387 * libnautilus/Makefile.am,
3388 libnautilus/nautilus-icons-controller.h,
3389 libnautilus/nautilus-icons-controller.c,
3390 src/file-manager/Makefile.am,
3391 src/file-manager/fm-icons-controller.h,
3392 src/file-manager/fm-icons-controller.c: Removed the old controller
3393 object, it was a bad idea.
3395 2000-03-10 Ramiro Estrugo <ramiro@eazel.com>
3398 Moved prefs things to nautilus-widgets.
3399 Use alphabetization technology on the source list.
3401 * src/nautilus-global-preferences.c,
3402 src/nautilus-global-preferences.h:
3403 New files that to deal with preferences that are
3406 * src/nautilus-window-menus.c:
3407 Use the new preferences dialog.
3409 * src/ntl-window-state.c:
3410 Go to a different home directory based on the user level.
3411 Commented off until andy makes a nice default home directory
3416 Renamed a typedef to avoid conflict. This is a temporary hack.
3418 * src/nautilus-prefs-box.c
3419 src/nautilus-prefs-box.h,
3420 src/nautilus-prefs-dialog.c,
3421 src/nautilus-prefs-dialog.h,
3422 src/nautilus-prefs-group-check.c,
3423 src/nautilus-prefs-group-check.h,
3424 src/nautilus-prefs-group-radio.c,
3425 src/nautilus-prefs-group-radio.h,
3426 src/nautilus-prefs-group.c,
3427 src/nautilus-prefs-group.h,
3428 src/nautilus-prefs-pane.c,
3429 src/nautilus-prefs-pane.h,
3432 Moved prefs widegtry things to nautilus-widgets.
3434 2000-03-10 Ramiro Estrugo <ramiro@eazel.com>
3436 * nautilus-widgets/Makefile.am,
3437 nautilus-widgets/nautilus-preferences-box.c
3438 nautilus-widgets/nautilus-preferences-box.h,
3439 nautilus-widgets/nautilus-preferences-dialog.c,
3440 nautilus-widgets/nautilus-preferences-dialog.h,
3441 nautilus-widgets/nautilus-preferences-group.c,
3442 nautilus-widgets/nautilus-preferences-group.h,
3443 nautilus-widgets/nautilus-preferences-item.c,
3444 nautilus-widgets/nautilus-preferences-item.h,
3445 nautilus-widgets/nautilus-preferences-pane.c,
3446 nautilus-widgets/nautilus-preferences-pane.h,
3447 nautilus-widgets/nautilus-preferences.c,
3448 nautilus-widgets/nautilus-preferences.h,
3449 nautilus-widgets/nautilus-radio-button-group.c,
3450 nautilus-widgets/nautilus-radio-button-group.h,
3451 nautilus-widgets/test-nautilus-widgets.c,
3452 nautilus-widgets/test-preferences.c:
3453 Moved all the preference widetry to nautilus-widgets.
3454 Added a test program for preferences (not built).
3455 Renamed files to user "preference" instead of "prefs".
3457 2000-03-10 Darin Adler <darin@eazel.com>
3459 * libnautilus/Makefile.am, libnautilus/gnome-icon-container-dnd.c
3460 (set_gnome_icon_list_selection,
3461 gnome_icon_container_dnd_begin_drag),
3462 libnautilus/gnome-icon-container.c (icon_is_in_region,
3463 start_stretching), libnautilus/nautilus-icons-view-icon-item.h,
3464 libnautilus/nautilus-icons-view-icon-item.c (hit_stretch_handle,
3465 hit_test_pixbuf, hit_test, nautilus_icons_view_icon_item_point,
3466 nautilus_icons_view_icon_item_get_icon_world_rectangle,
3467 nautilus_icons_view_icon_item_get_icon_rectangle,
3468 nautilus_icons_view_icon_item_get_icon_window_rectangle,
3469 nautilus_icons_view_icon_item_get_hit_stretch_handle,
3471 nautilus_icons_view_icon_item_hit_test_stretch_handles,
3472 nautilus_icons_view_icon_item_hit_test_rectangle):
3473 Fixed rubber banding to hit test with all the parts of the icon,
3474 not just the icon pixbuf itself. Did this by changing all the
3475 internal hit testing to use rects instead of points. At the same
3476 time changed the external interface to always use world
3477 coordinates for clarity.
3479 * libnautilus/nautilus-directory.c (compare_file_with_name),
3480 libnautilus/nautilus-file.c (nautilus_file_set_keywords): Fixed
3481 some void * problems that upset newer versions of GCC but not the
3482 older one that I'm using.
3484 * libnautilus/nautilus-gtk-extensions.h,
3485 libnautilus/nautilus-gtk-extensions.c: Formatting and include
3488 2000-03-10 Jonathan Blandford <jrb@redhat.com>
3490 * libnautilus/gnome-icon-container.c (button_press_event): Avoid a
3491 bug where we get stuck grabs when you double click.
3493 2000-03-10 Ramiro Estrugo <ramiro@eazel.com>
3496 New directory. A place to put generic widgets that are not
3497 necessarily coupled to nautilus.
3499 * configure.in: Added nautilus-widgets
3500 * Makefile.am: Added nautilus-widgets
3502 * nautilus-widgets/nautilus-radio-button-group.h,
3503 * nautilus-widgets/nautilus-radio-button-group.c: Added a radio
3506 * nautilus-widgets/test-nautilus-widgets.c: Test program for
3509 2000-03-10 Maciej Stachowiak <mjs@eazel.com>
3511 * src/ntl-window.c, src/ntl-window.h: store zoom_control object in
3514 * src/nautilus-zoomable-frame-svr.c: New file; implement CORBA
3515 server for Nautilus::ZommableFrame interface.
3516 * src/ntl-view-private.h: prototypes for shared stuff needed to make
3518 * src/ntl-view.c, src/ntl-view.h: Attach a Nautilus::ZoomableFrame
3519 interface to the Nautilus::ViewFrame.
3521 * libnautilus/nautilus-gtk-extensions.h,
3522 libnautilus/nautilus-gtk-extensions.c
3523 (nautilus_gtk_marshal_NONE__DOUBLE): New function.
3525 * src/ntl-uri-map.c (my_notify_when_ready): Enable both
3526 html-appropriate and directory-appropriate views for
3527 special/webdav-directory mime type (temporary hack).
3529 2000-03-09 Darin Adler <darin@eazel.com>
3531 * libnautilus/gnome-icon-container.c (set_scroll_region):
3532 It turns out that you aren't intended to reset the scroll region
3533 once you have items in the canvas. We need to do that, so I had
3534 to write some code that would update all the items when that happens.
3536 * libnautilus/nautilus-icons-view-icon-item.c:
3537 (recompute_bounding_box): Rewrote this to not assume that the
3538 icon items are all top-level items.
3539 (compute_text_rectangle, hit_test,
3540 nautilus_icons_view_icon_item_bounds): Change hit testing so
3541 it includes hits on the text. The rubberband still has to be
3542 fixed so it doesn't have the same problem.
3544 * libnautilus/nautilus-file.c: Improved a comment.
3546 * RENAMING: Some more name changes.
3548 2000-03-09 John Sullivan <sullivan@eazel.com>
3550 * libnautilus/nautilus-file.c:
3551 (nautilus_file_unref): Got this fix wrong last time, causing
3552 GTK-CRITICALs when deleting files. Remember file->is_gone
3553 before unreffing directory since you can't test possibly-destroyed
3556 2000-03-09 John Sullivan <sullivan@eazel.com>
3558 * libnautilus/nautilus-directory-private.h:
3559 (nautilus_directory_number_outstanding): Added prototype for this
3561 * libnautilus/nautilus-directory.c:
3562 (nautilus_directory_number_outstanding): New debugging function,
3563 used in NautilusFile self-checks.
3564 (nautilus_self_check_directory): Pulled out the NautilusFile tests
3565 to move them to nautilus-file.c.
3566 * libnautilus/nautilus-file.c:
3567 (nautilus_file_unref): Move gtk_object_unref after
3568 nautilus_file_free call. Darin noticed this bug while reading
3570 (nautilus_file_list_unref): Made this unref instead of ref. Oops!
3571 This was causing NautilusDirectory objects never to go away after
3572 visiting a directory; now they're destroyed when you leave.
3573 (nautilus_self_check_file): New function, some of this was moved
3574 over from nautilus-directory.c, and I added some ref-count checks.
3575 * libnautilus/nautilus-lib-self-check-functions.h:
3576 Included nautilus_self_check_file in list of self-check functions.
3578 2000-03-09 Andy Hertzfeld <andy@eazel.com>
3580 * libnautilus/nautilus-icons-view-icon-item.c:
3581 tweaked constants used to control amount of pre-lighting in "lighten"
3583 * components/music/nautilus-music-view.c:
3584 fixed bug that Maciej found where the track number would show up as -1
3585 if there was no encoded track number; now they show up as blank.
3587 2000-03-09 Maciej Stachowiak <mjs@eazel.com>
3589 * libnautilus/nautilus-zoomable.c
3590 (impl_Nautilus_Zoomable__create): Pass the correct thing as the
3591 servant to avoid crashing on instantiation.
3592 (nautilus_zoomable_real_set_bonobo_control): ref and sink the
3593 BonoboControl Gtk object.
3594 (nautilus_zoomable_destroy): unref the control instead of
3597 * idl/nautilus.idl: Reformat, add emacs magic to maintain indent
3600 2000-03-09 Darin Adler <darin@eazel.com>
3602 * src/file-manager/fm-directory-view-icons.c
3603 (fm_directory_view_icons_clear,
3604 fm_directory_view_icons_begin_loading),
3605 src/file-manager/fm-directory-view-list.c
3606 (fm_directory_view_list_clear,
3607 fm_directory_view_list_begin_loading): Moved the code that loads
3608 the background color from clear to begin_loading. Otherwise the
3609 background color from one directory affects another.
3611 2000-03-09 Darin Adler <darin@eazel.com>
3613 * nautilus-icons-view-icon-item.c (emblem_layout_next,
3614 nautilus_icons_view_icon_item_bounds):
3615 Andy's check-in yesterday accidentally rolled out some changes
3616 to this file. The changes include the typos that John and I had
3617 fixed in emblem_layout_next and nautilus_icons_view_icon_item_bounds.
3619 * nautilus-icons-view-icon-item.c:
3620 As Andy was about to do anyway, I tightened up the emblem
3621 positioning so they are closer to each other by changing the
3622 hard-coded constant EMBLEM_SPACING.
3624 2000-03-09 Darin Adler <darin@eazel.com>
3626 * libnautilus/nautilus-directory-private.h,
3627 libnautilus/nautilus-directory.c, libnautilus/nautilus-file.c
3628 (nautilus_directory_find_file, compare_file_with_name,
3629 nautilus_directory_get, nautilus_file_get): Fixed bugs relating to
3630 multiple directory and file objects for the same entity. Stripped
3631 trailing '/' characters in nautilus_directory_get and changed
3632 nautilus_file_get to return already-existing files instead of
3633 always creating new ones. Added self-checks to make sure this
3636 * libnautilus/nautilus-directory.c
3637 (nautilus_directory_try_to_read_metafile): Fixed bug where
3638 metafile reading would fail. The gnome-xml parser requires a null
3639 character at the end of the file, even though the size is passed
3642 * libnautilus/nautilus-directory.c
3643 (nautilus_directory_remove_write_metafile_idle,
3644 nautilus_directory_finalize,
3645 nautilus_directory_try_to_write_metafile,
3646 nautilus_directory_request_write_metafile): Changed metafile
3647 writing so it always happens at idle time.
3649 * libnautilus/nautilus-lib-self-check-functions.h: Changed order
3650 so lower-level tests come before higher-level ones.
3652 * libnautilus/nautilus-string.h, libnautilus/nautilus-string.c:
3654 nautilus_has_prefix -> nautilus_str_has_prefix
3655 nautilus_strdup_prefix -> nautilus_str_get_prefix
3656 nautilus_has_suffix -> nautilus_str_has_suffix
3657 nautilus_strstrip -> nautilus_str_strip_chr
3658 nautilus_string_to_int -> nautilus_str_to_int
3659 nautilus_eat_string_to_int -> nautilus_eat_str_to_int
3660 Changed nautilus_str_strip_chr not to modify in place.
3661 Added nautilus_str_strip_trailing_chr.
3663 * components/music/nautilus-music-view.c (is_mp3_file,
3664 nautilus_music_view_update_from_uri),
3665 libnautilus/nautilus-icon-factory.c
3666 (nautilus_icon_factory_get_icon_for_file, make_thumbnail_path,
3667 load_specific_image), libnautilus/nautilus-icons-view-icon-item.c
3668 (draw_mini_text), src/ntl-index-panel.c (command_button_cb,
3669 add_command_buttons), src/ntl-window-msgs.c
3670 (nautilus_window_change_location_2),
3671 src/file-manager-fm-directory-view-icons.c
3672 (fm_directory_view_icons_compute_menu_item_info),
3673 src/file-manager/fm-directory-view.c (compute_menu_item_info),
3674 src/file-manager/fm-icons-controller.c
3675 (fm_icons_controller_get_icon_property): Switched callers to use
3676 new names for string calls.
3678 * libnautilus/gnome-icon-container.c (destroy): Reformatting.
3680 2000-03-09 John Sullivan <sullivan@eazel.com>
3682 * libnautilus/gnome-icon-container.c: (update_icon):
3683 Changed decision of when to draw mini-text on an icon to
3684 be based on icon size rather than zoom level, so it works
3685 more sensibly with stretched icons.
3687 2000-03-09 John Sullivan <sullivan@eazel.com>
3689 Bug fixes and memory leak fixes.
3691 * libnautilus/gnome-icon-container.c:
3692 (icon_destroy): Renamed to icon_free and fixed storage leak by
3693 freeing icon struct.
3694 (remove_icon_from_container): Renamed to icon_destroy and fixed
3695 bug by setting details->kbd_current to NULL if it had been the
3696 icon being destroyed.
3697 (destroy): Fixed storage leak by calling gnome_icon_container_clear.
3699 * libnautilus/nautilus-directory.c: (dequeue_pending_idle_cb):
3700 Added file != NULL assert.
3702 * libnautilus/nautilus-file.c: (nautilus_file_delete):
3703 Fix bug where NULLs were sneaking into file list, and
3704 causing havoc later, by setting list to result of g_list_remove.
3706 2000-03-09 Elliot Lee <sopwith@redhat.com>
3708 * libnautilus/Makefile.am: Install libnautilus.h
3709 * src/ntl-uri-map.c: Handle mapping of special schemes
3710 (i.e. unknown to gnome-vfs). Currently just 'irc'.
3712 2000-03-08 John Sullivan <sullivan@eazel.com>
3714 * libnautilus/nautilus-icon-factory.c:
3715 (compare_thumbnail_info): New function, compares uris of two
3716 NautilusThumbnailInfos.
3717 (nautilus_icon_factory_get_thumbnail_uri): Use compare_thumbnail_info
3718 to avoid putting the same uri in the thumbnail-making queue multiple
3719 times. This may or may not have been the cause of an intermittent
3720 thumbnail-creating problem I was seeing.
3722 2000-03-08 Andy Hertzfeld <andy@eazel.com>
3724 * libnautilus/nautilus-icons-view-icon-item.c:
3725 implemented pre-lighting for icons by overriding the event method
3726 to maintain the pre-lit boolean, and then using the boolean to
3727 decide when to lighten the icon by using a new "lighten" routine
3728 that manipulates the pixbuf.
3730 * libnautilus/gnome-icon-container-dnd.c:
3731 only use semi-transparent dragging for relatively small icons, due
3732 to X performance limitations.
3734 * libnautilus/gnome-icon-container.c:
3735 change the ICON_MAXIMUM_SIZE used as a threshold for scaling from
3736 80 to 96, to step around bug of scaling too much for thumbnails.
3738 2000-03-08 Darin Adler <darin@eazel.com>
3740 You can now use Set Properties to attach keywords to a file,
3741 which will cause it to have emblems attached to its icon.
3743 * libnautilus/gnome-icon-container.h,
3744 libnautilus/gnome-icon-container.c (gnome_icon_container_update,
3745 gnome_icon_container_update_icon),
3746 libnautilus/nautilus-directory-private.h,
3747 libnautilus/nautilus-directory.c
3748 (nautilus_directory_files_changed), libnautilus/nautilus-file.h,
3749 libnautilus/nautilus-file.c (nautilus_file_changed),
3750 src/file-manager/fm-directory-view.h,
3751 src/file-manager/fm-directory-view.c,
3752 src/file-manager/fm-directory-view-icons.c,
3753 src/file-manager/fm-directory-view-list.c,: Add files_changed
3754 machinery in so views will notice changes to a NautilusFile.
3756 * libnautilus/nautilus-icon-factory.h,
3757 libnautilus/nautilus-icon-factory.c
3758 (nautilus_icon_factory_get_thumbnail_uri,
3759 nautilus_icon_factor_get_icon_for_file, check_for_thumbnails),
3760 libnautilus/nautilus-icons-controller.h,
3761 libnautilus/nautilus-icons-controller.c,
3762 (nautilus_icons_controller_update_icon),
3763 src/file-manager/fm-icons-controller.c
3764 (fm_icons_controller_update_icon): Use the files_changed machinery
3765 instead of a special case in the icon controller to tell the view
3766 about a new thumbnail.
3768 * libnautilus/nautilus-icons-view-icon-item.c
3769 (emblem_layout_next): Fixed typo that caused emblems to go down
3770 one side of the icon instead of going around.
3772 * libnautilus/nautilus-directory-private.h,
3773 libnautilus/nautilus-directory.c
3774 (nautilus_directory_get_file_metadata_node,
3775 nautilus_directory_request_write_metafile),
3776 libnautilus/nautilus-file.c (nautilus_file_set_keywords):
3777 Implemented the set_keywords operation so we can change the
3778 keywords for a file.
3780 * src/file-manager/fm-icon-text-window.c
3781 (create_icon_text_window): Fixed a prototype.
3783 * src/file-manager/fm-properties-window.c (property_button_update,
3784 property_button_toggled, create_properties_window,
3785 fm_properties_window_get_or_create): Implement a first cut at a
3788 2000-03-07 John Sullivan <sullivan@eazel.com>
3790 * libnautilus/nautilus-icons-view-icon-item.c:
3791 (nautilus_icons_view_icon_item_bounds): Fixed typo that was
3792 causing bottom coordinate of icon bounds to be uninitialized.
3793 This caused wacky results when keyboard navigating and probably
3796 * libnautilus/gnome-icon-container.c:
3797 (icon_toggle_selected): Reset keyboard-selected icon if it's
3798 this one so it updates whether or not to draw stippled outline.
3799 (set_kbd_current): Only tell the icon to draw stippled outline
3800 if it isn't selected the "normal" way and some other icon is.
3801 (In other words, only display the keyboard-selected icon when
3802 it diverges from the regular selection, and don't display it
3803 when there is no regular selection.)
3804 (kbd_space): Toggle the "normal" selection state of the
3805 keyboard-selected icon. It had been forcing it to true, making
3806 it impossible to keyboard-unselect a single item while leaving
3807 the rest of the selection unchanged.
3809 2000-03-07 Darin Adler <darin@eazel.com>
3811 * components/music/nautilus-music-view.c,
3812 components/notes/ntl-notes.c, libnautilus/Makefile.am,
3813 libnautilus/nautilus-directory-private.h,
3814 libnautilus/nautilus-directory.h,
3815 libnautilus/nautilus-directory.c,
3816 libnautilus/nautilus-file-private.h, libnautilus/nautilus-file.h,
3817 libnautilus/nautilus-file.c, libnautilus/nautilus-icon-factory.h,
3818 src/ntl-index-panel.c, src/file-manager/fm-directory-view.h:
3819 Broke the file part of nautilus-directory.[ch] into
3822 * libnautilus/nautilus-string.c (nautilus_strstrip): Added more
3823 tests. Changed algorithm on strstrip so it's linear instead of
3826 * libnautilus/gnome-icon-container.c
3827 (gnome_icon_container_initialize): Fixed font for "larger" zoom
3828 level. Also made it assert if the font can't be loaded.
3830 * components/help/hyperbola-nav-index.c (despace):
3833 * libnautilus/gnome-icon-container-dnd.c,
3834 libnautilus/nautilus-string.h: Whitespace.
3836 * src/file-manager/Makefile.am,
3837 src/file-manager/fm-directory-view.c,
3838 src/file-manager/fm-properties-window.h,
3839 src/file-manager/fm-properties-window.c: Added properties window
3840 hook, but no window yet. The menu item still needs to be added to
3841 the main menus as well as the context menus.
3843 * src/file-manager/fm-directory-view.c,
3844 src/file-manager/fm-directory-view-icons.c,
3845 src/file-manager/fm-icon-text-window.h,
3846 src/file-manager/fm-icon-text-window.c: A little cleanup. Shorter
3849 2000-03-08 Ramiro Estrugo <ramiro@eazel.com>
3851 * src/nautilus-prefs-group-radio.h,
3852 src/nautilus-prefs-group-radio.h: Make the radio group emit proper
3855 * src/nautilus-prefs-pane.c, src/nautilus-prefs-group.c
3856 src/nautilus-prefs-box.c: Make everything prettier by using nice
3859 2000-03-08 Ramiro Estrugo <ramiro@eazel.com>
3861 Added macros to check, assert and invoke class methods
3862 for a given GtkOject.
3864 * libnautilus/nautilus-gtk-macros.h:
3865 (NAUTILUS_KLASS) Access the class for a given object
3866 (NAUTILUS_INVOKE_METHOD) Invoke a method for a given object
3867 (NAUTILUS_ACCESS_METHOD) Access a method.
3868 (NAUTILUS_ASSERT_METHOD) Assert the non-nullness of a method
3870 (NAUTILUS_INVOKE_METHOD_IF) Invoke a method if it aint null.
3872 2000-03-08 Ramiro Estrugo <ramiro@eazel.com>
3874 First whack at having a better preferences ui.
3876 * src/nautilus-prefs-box.h,
3877 src/nautilus-prefs-box.c: The main prefefernce widgetry widget.
3878 It manages the preferene category list and the creation and
3879 management of right hand side panes.
3881 * src/nautilus-prefs-dialog.h,
3882 src/nautilus-prefs-dialog.c: A GnomeDialog sublass to make
3883 it easier for the app to deal with prefs.
3885 * src/nautilus-prefs-group.h,
3886 src/nautilus-prefs-group.c: An abstract widget to manage a
3887 group of related preferences.
3889 * src/nautilus-prefs-group-check.h,
3890 src/nautilus-prefs-group-check.c: A widget to manage a group
3891 of boolean preferences.
3893 * src/nautilus-prefs-group-radio.h,
3894 src/nautilus-prefs-group-radio.c: A widget to manage a
3895 "one of many" preference.
3897 * src/nautilus-prefs-pane.h,
3898 src/nautilus-prefs-pane.c: A widget to manage the right hand
3899 side of the prefs box.
3901 2000-03-07 Darin Adler <darin@eazel.com>
3903 Reimplemented the delete command to use NautilusFile instead of
3904 going directly to the file system.
3906 * libnautilus/gnome-icon-container.h,
3907 libnautilus/gnome-icon-container.c
3908 (gnome_icon_container_clear_selected_items),
3909 (gnome_icon_container_remove): Got rid of the call that removes
3910 all the icons in the selection and replaced it with a call that
3911 removes a specific icon.
3913 * libnautilus/nautilus-directory.h,
3914 libnautilus/nautilus-directory.c
3915 (nautilus_directory_initialize_class), (nautilus_file_unref),
3916 (nautilus_file_detach), (nautilus_file_free),
3917 (nautilus_file_delete), (nautilus_file_is_gone): Implemented a
3918 call to delete a file and emit the files_removed signal as needed.
3920 * src/file-manager/fm-directory-view.h,
3921 src/file-manager/fm-directory-view.c
3922 (fm_directory_view_delete_selection),
3923 (fm_directory_view_begin_adding_entries),
3924 (fm_directory_view_add_entry),
3925 (fm_directory_view_done_adding_entries), (display_pending_files),
3926 (add_or_remove_files), (add_files_cb), (remove_files_cb),
3927 (delete_one): Changed the delete implementation to call
3928 nautilus_file_delete and got rid of the explicit call to
3929 delete_selection. The views now will remove their entries in
3930 response to the change in the model.
3932 * src/file-manager/fm-directory-view-icons.c
3933 (fm_directory_view_icons_remove_entry),
3934 (fm_directory_view_icons_delete_selection),
3935 src/file-manager/fm-directory-view-list.c
3936 (fm_directory_view_list_remove_entry),
3937 (fm_directory_view_list_delete_selection): Eliminated the
3938 delete_selection function in favor of the remove_entry function.
3940 2000-03-07 Andy Hertzfeld <andy@eazel.com>
3942 * libnautilus/gnome-icon-container-dnd.c:
3943 implemented semi-transparent dragging by writing a make-semi-transparent
3944 routine that generates a gdk-pixbuf with a checkerboarded alpha channel.
3945 The dragging is a bit too slow, so we might have to limit this to
3946 small images, but for now it's there for all of them.
3948 * libnautilus/gnome-icon-container.c:
3949 make the text beneath icons use a sans-serif font (helvetica) at Susan's
3952 2000-03-07 Maciej Stachowiak <mjs@eazel.com>
3954 * src/ntl-uri-map.c (my_notify_when_ready): Use eog-image-viewer,
3955 not embeddable:image-generic for viewing images.
3957 2000-03-07 John Sullivan <sullivan@eazel.com>
3959 * src/ntl-view-nautilus.c:
3960 (nautilus_view_try_load_client): Removed recently-added
3961 activate call since Maciej implemented a more general solution.
3962 (destroy_nautilus_view): Removed recently-added
3963 deactivate call since Maciej implemented a more general solution.
3965 2000-03-07 John Sullivan <sullivan@eazel.com>
3967 Added Stretch/Restore menu items to Settings menu, and made some
3968 other menu mechanism tweaks.
3970 * src/nautilus-window-menus.c: Gave General Settings an underline
3971 accelerator character.
3973 * src/file-manager/fm-directory-view.h,
3974 * src/file-manager/fm-directory-view.c:
3975 (fm_directory_view_get_bonobo_ui_handler): New function, exposed
3976 so subclasses can call.
3977 (fm_directory_view_merge_menus), (fm_directory_view_real_merge_menus):
3978 Removed BonoboUIHandler parameter. Updated callers.
3979 * src/file-manager/fm-directory-view-icons.c:
3980 Store react_to_icon_change_idle_id in details.
3981 (fm_directory_view_icons_initialize_class): fill in update_menus
3983 (fm_directory_view_icons_merge_menus): Removed BonoboUIHandler
3985 (fm_directory_view-icons_destroy): remove react_to_icon_change_idle_id
3987 (show_stretch_handles_cb): update menus since stretch item might
3989 (unstretch_icons_cb): update menus since restore item might have
3991 (fm_directory_view_icons_compute_menu_item_info): New helper
3992 function used for both context and bonobo menus.
3993 (append_one_context_menu_item): New helper function used for
3995 (fm_directory_view_icons_append_selection_context_menu_items),
3996 (fm_directory_view_icons_append_background_context_menu_items):
3997 Use the new helper functions.
3998 (append_bonobo_menu_item), (update_bonobo_menu_item): New helper
3999 functions used for bonobo menus.
4000 (fm_directory_view_icons_merge_menus): include stretch and restore
4001 menu items in Settings menu.
4002 (fm_directory_view_icons_update_menus): update wording and sensitivity
4003 of stretch and restore menu items.
4004 (fm_directory_view_icons_react_to_icon_change_idle_cb): update menus,
4005 since at least Restore item may have changed.
4006 (fm_directory_view_icons_icon_changed_cb): Schedule idle callback
4007 to update menus, since doing it here affects stretching too much.
4009 2000-03-07 Maciej Stachowiak <mjs@eazel.com>
4011 * src/ntl-view-bonobo-subdoc.c (bonobo_subdoc_try_load_client):
4012 Change a few things in the code so that embeddables get activated
4013 properly; this makes scrolling and editing work in
4014 bonobo-text-plain for instance.
4016 * src/ntl-content-view.c, src/ntl-content-view.h
4017 (nautilus_content_view_set_active): New function; intended to be
4018 called when a content view becomes active, which should activate
4019 the controls and merge its menu and toolbar items.
4020 * ntl-window.c (nautilus_window_real_set_content_view): Call
4021 `nautilus_content_view_set_active' on the new content view.
4023 2000-03-07 Darin Adler <darin@eazel.com>
4025 * nautilus-icons-view-icon-item.c (nautilus_icons_view_icon_item_bounds):
4026 Fixed a typo that was causing the text area to not be included in the
4027 bounds of an icon item.
4029 2000-03-07 Darin Adler <darin@eazel.com>
4031 * libnautilus/nautilus-directory.h,
4032 libnautilus/nautilus-directory.c (get_file_metadata_node),
4033 (nautilus_directory_get_file_metadata),
4034 (nautilus_file_get_keywords): Added nautilus_file_get_keywords,
4035 which returns a GList of keywords.
4037 * libnautilus/nautilus-icon-factory.c (add_size_to_image_name),
4038 (get_themed_icon_file_path), (get_icon_file_path), (add_emblem),
4039 (nautilus_icon_factory_get_emblem_icons_for_file): Changed icon
4040 names to not include the extension and wired some extensions into
4041 the icon-reading code. The old code wired the entire file name, so
4042 this is a bit more flexible. Added code to return an emblem for
4043 each keyword attached to a file as well as the symbolic link emblem.
4045 * libnautilus/gnome-icon-container.c (update_icon): Handle NULL
4046 pixbufs for emblems. This happens when a keyword is specified that
4047 doesn't have a corresponding emblem icon. Add g_list_reverse call
4048 to keep emblems in the correct order.
4050 * src/file-manager/fm-directory-view-icons.c
4051 (fm_directory_view_icons_merge_menus): Took out g_message left
4052 over from Bonobo menu merge work.
4054 * libnautilus/nautilus-glib-extensions.h,
4055 libnautilus/nautilus-glib-extensions.c
4056 (nautilus_g_list_free_deep): Added convenience function for
4057 getting rid of a GList of things that can be freed with g_free.
4059 * icons/Makefile.am, icons/certified.gif, icons/changed.gif,
4060 icons/confidential.gif, icons/emblem-certified.gif,
4061 icons/emblem-changed.gif, icons/emblem-confidential.gif,
4062 icons/emblem-encrypted.gif, icons/emblem-important.gif,
4063 icons/emblem-new.gif, icons/emblem-personal.gif,
4064 icons/emblem-remote.gif, icons/emblem-symbolic-link.png,
4065 icons/encrypted.gif, icons/i-symlink.png, icons/important.gif,
4066 icons/new.gif, icons/personal.gif, icons/remote.gif:
4067 Changed all emblem icons to have names that start with "emblem-".
4069 2000-03-06 Andy Hertzfeld <andy@eazel.com>
4071 * icons/Makefile.am: added 8 new images for emblems in icons directory;
4072 certified, changed, confidential, encrypted, important, new, personal, remote
4074 2000-03-06 Maciej Stachowiak <mjs@eazel.com>
4076 * src/ntl-window-msgs.c (nautilus_window_load_content_view):
4077 Explicitly change `window->cv_progress_done' and
4078 `window->cv_progress_error' to FALSE when loading a new content
4079 view, to avoid being screwed up by extra done or error
4080 notifications from the last content view. This is really just
4081 putting more spit and bubble gum on the pile though.
4083 2000-03-06 Andy Hertzfeld <andy@eazel.com>
4085 * src/nautilus-index-title.c:
4086 made the icon displayed in the index panel be constrained to fit by scaling it down
4087 proportionally if it exceeds predetermined limits.
4089 2000-03-06 John Sullivan <sullivan@eazel.com>
4091 The file manager now uses Bonobo menu-merging to install
4092 and remove its menu items from the window's menu bar.
4093 I didn't put Zoom In/Zoom Out in the menu bar because
4094 that seems unnecessary once the control works (they're
4095 still in the right-click menu). I haven't yet put
4096 Stretch/Restore in the menu bar, will do so soon. And
4097 now you get a whole bunch of Gtk-CRITICALs when closing
4098 a window because of all the double-destroyed bonobo menu
4099 items (just like the two you used to get). Hope to fix
4100 this soon. Added new "Settings" menu, which needs to be
4101 organized better someday, and will be.
4103 * components/history/ntl-history-view.c:
4104 (menu_setup): Removed function.
4105 (make_obj): Removed code to set up merged menu. This was
4106 sample code for menu merging; now that we have real menu
4107 merging working elsewhere we don't need this sample.
4109 * libnautilus/nautilus-string.h,
4110 * libnautilus/nautilus-string.c:
4111 (nautilus_strstrip): New function, strips all occurrences
4112 of a given char from a char *.
4113 (nautilus_self_check_string): Added tests for nautilus_strstrip.
4115 * src/ntl-view-nautilus.c:
4116 (nautilus_view_try_load_client): Activate the new bonobo control
4117 when it's installed.
4118 (destroy_nautilus_view): Deactivate the bonobo control.
4120 * src/nautilus-window-menus.c:
4121 edit_menu_info[]: Removed "Preferences..." and preceding separator.
4122 settings_menu_info[]: New menu, added "General Settings..."
4123 (formerly "Preferences...") and "Use Eazel Theme Icons".
4124 main_menu[]: Include settings_menu_info.
4125 (edit_menu_prefs_cb): Renamed to general_settings_cb
4126 (use_eazel_theme_icons_cb): New function, swaps themes.
4127 (update_eazel_theme_menu_item): New function, sets the toggle state
4128 of this menu item based on current theme.
4129 (nautilus_window_initialize_menus): Call update_eazel_theme_menu_item
4130 explicitly, also wire it up to theme change signal.
4132 * src/ntl-prefs.c: (nautilus_prefs_ui_show): Renamed dialog
4133 from "Preferences" to "General Settings" to match menu item. This
4134 name will probably go away entirely eventually, but may as well
4135 keep it consistent for now.
4137 * src/file-manager/fm-directory-view.h: (merge_menus): New function
4138 pointer. (update_menus): New function pointer.
4139 (fm_directory_view_update_menus): Prototype for new function. *
4140 src/file-manager/fm-directory-view.c:
4141 (fm_directory_view_initialize_class): Set up merge_menus and
4142 update_menus function pointers. (bonobo_menu_open_cb),
4143 (bonobo_menu_open_in_new_window_cb), (bonobo_menu_delete_cb): New
4144 callback functions with parameters the way Bonobo likes 'em.
4145 (get_bonobo_control): New utility function for getting the
4146 BonoboControl out of an FMDirectoryView.
4147 (bonobo_control_activate_cb): New function, called when the view's
4148 BonoboControl is activated or deactivated. Merges menus on
4149 activate, unsets bonobo container on deactivate.
4150 (fm_directory_view_initialize): Wire up bonobo_control_activate_cb
4151 to "activate" signal of view's bonobo control.
4152 (use_eazel_theme_icons_cb): Removed this function (it's in the
4153 standard Nautilus menus now, not component-dependent).
4154 (delete_one): Added a FIXME comment noting that the view is being
4155 told to delete the entire selection for every selected item.
4156 (fm_directory_view_delete_with_confirm): Moved the guts of
4157 delete_cb into here so it can be conveniently called from both
4158 bonobo menu and right-click menu. (delete_cb): Now just calls
4159 fm_directory_view_delete_with_confirm.
4160 (add_check_menu_item): Removed function, had only been used by
4161 eazel theme icons menu item.
4162 (fm_directory_view_real_append_background_context_menu_items):
4163 Removed eazel theme icons menu item from right-click menu (now
4164 accessible always in the Settings menu).
4165 (compute_menu_item_info): New function, determines current label
4166 and sensitivity for dynamic menu items, common to both bonobo menus
4167 and context menus. Uses nautilus_strstrip to remove underlines used
4168 for accelerators when item is used for context menu.
4169 (append_one_selection_context_menu_item): New helper function,
4170 wraps up common code for constructing a menu item for the
4171 selection-dependent part of the context menu.
4172 (fm_directory_view_real_append_selection_context_menu_items):
4173 Replaced a lot of duplicated code with calls to
4174 append_one_selection_context_menu_item.
4175 (fm_directory_view_real_merge_menus): New funciton. Here lieth the
4176 code to put directory view menu items into the window's menu bar.
4177 (update_one_menu_item): New function, uses compute_menu_item_info
4178 to update the label & sensitivity of one bonobo-style menu item.
4179 (fm_directory_view_real_update_menus): New function, calls
4180 update_one_menu_item on each menu item whose label or sensitivity
4182 (fm_directory_view_notify_selection_changed):
4183 Call fm_directory_view_update_menus to update menu labels &
4184 sensitivity that depend on the selection.
4185 (fm_directory_view_merge_menus): New function, calls the function pointer.
4186 (fm_directory_view_update_menus): New function, calls the function pointer.
4188 * src/file-manager/fm-directory-view-icons.c:
4189 (fm_directory_view_icons_initialize_class): Supply function pointer
4191 (customize_icon_text_cb): Just added comments about its dual use.
4192 (fm_directory_view_icons_merge_menus): Merge a "Customize Icon Text"
4193 item into the Settings menu. Still need to do the Stretch/Restore items
4196 2000-03-06 Darin Adler <darin@eazel.com>
4198 Fixed bug in Unstretch I just introduced.
4199 Got emblems drawing.
4201 * gnome-icon-container.c (gnome_icon_container_is_stretched),
4202 (gnome_icon_container_unstretch): Fixed bug where Unstretch would do
4203 all the icons, not just the selected ones.
4205 * nautilus-icons-view-icon-item.c (draw_stretch_handles),
4206 (emblem_layout_reset), (emblem_layout_next), (draw_pixbuf),
4207 (nautilus_icons_view_icon_item_draw), (hit_test_pixbuf),
4208 (hit_test), (nautilus_icons_view_icon_item_bounds): Added code to
4209 draw emblems and take them into account for hit testing and bounds
4212 * gnome-icon-container.c (update_icon):
4213 * nautilus-icons-view-icon-item.c (nautilus_icons_view_icon_item_draw):
4214 Moved rule about which zoom levels can have text displayed out of the
4215 canvas item class into the container. This is only one of many needed
4216 cleanups to how the "text in an icon" is handled.
4218 2000-03-06 Elliot Lee <sopwith@redhat.com>
4220 * src/ntl-prefs.c: Use help search instead of help index.
4222 * components/help/hyperbola-nav-search.c: Initial implementation completed.
4224 2000-03-06 Darin Adler <darin@eazel.com>
4226 * libnautilus/gnome-icon-container.c
4227 (gnome_icon_container_move_icon): Added missing code to get
4228 stretching to work again. (Oops.)
4229 (gnome_icon_container_is_stretched), (gnome_icon_container_unstretch):
4230 Fixed the unstretch code so it will work on multiple icons.
4232 * src/file-manager/fm-directory-view-icons.c
4233 (fm_directory_view_icons_append_selection_context_menu_items):
4234 Make menu item name plural when there are multiple icons to
4237 * libnautilus/nautilus-icons-view-icon-item.c
4238 (nautilus_icons_view_icon_item_draw): Draw a box around the item
4239 when the stretch handles are visible. This looks better.
4241 * libnautilus/nautilus-icons-view-icon-item.h: White space.
4243 2000-03-06 Darin Adler <darin@eazel.com>
4245 Added the concept of separate X and Y scale factors to more
4246 of the code. Even though we don't want to scale the two
4247 dimensions separately at the moment, I figured it was better
4248 to go in this direction than to remove all the separate X
4249 and Y stuff that Seth Nickell added.
4251 * libnautilus/gnome-icon-container-dnd.c
4252 (gnome_icon_container_receive_dropped_icons):
4253 * libnautilus/gnome-icon-container-private.h:
4254 * libnautilus/gnome-icon-container.c (icon_get_actual_size),
4255 (icon_new), (icon_get_size), (start_stretching), (update_icon),
4256 (gnome_icon_container_add), (gnome_icon_container_is_stretched),
4257 (gnome_icon_container_unstretch),
4258 (gnome_icon_container_move_icon):
4259 * libnautilus/gnome-icon-container.h:
4260 Got rid of the old "scale", "xscale", and "yscale" and replaced
4261 them with "scale_x" and "scale_y". Made the code always set the
4262 scale factor through the gnome_icon_container_move_icon bottleneck
4263 so the changes are all reported throught the icon_moved signal.
4265 * src/file-manager/fm-directory-view-icons.c:
4266 (add_icon_if_already_positioned),
4267 (fm_directory_view_icons_icon_moved_cb):
4268 Store only a single scale factor if the X and Y are both scaled
4269 exactly the same (the normal case). Also, use a default for
4270 the scale factor so we don't save 1.0 for every file.
4272 * libnautilus/nautilus-gtk-extensions.h:
4273 * libnautilus/nautilus-gtk-extensions.c:
4274 My original change required an additional marshal function. I
4275 decided to add it anyway even though I don't need it right now.
4277 * libnautilus/nautilus/nautilus-bookmark.c
4278 (nautilus_bookmark_get_pixmap_and_mask):
4279 Changed to use the nautilus_icon_factory_get_pixbuf_for_file
4280 convenience function which has a simpler interface.
4282 * libnautilus/nautilus-icon-factory.h:
4283 * libnautilus/nautilus-icon-factory.c:
4284 Added separate X and Y scaling of icons for possible future
4285 use; the convenience functions still use the same size in
4288 * components/music/.cvsignore:
4289 New directory, new .cvsignore needed.
4291 * RENAMING: Some more name change ideas.
4293 2000-03-06 Elliot Lee <sopwith@redhat.com>
4295 * components/help/hyperbola-nav-index.c: Initial implementation completed.
4297 2000-03-05 Andy Hertzfeld <andy@eazel.com>
4299 * components/music/nautilus-music-view.c: derive name and
4300 track position when there's no id3 tag present, and format
4301 the title better from the id3-derived information
4303 2000-03-05 Andy Hertzfeld <andy@eazel.com>
4305 * libnautilus/nautilus-string.c,.h: added a nautilus_has_suffix
4306 routine in the style of nautilus_has_prefix.
4307 * components/music/nautilus-music-view: use nautilus_has_suffix
4308 in mp3 determination
4310 * libnautilus/nautilus-icon-factory.c: make sure all thumbnails
4311 have a png suffix, since they're always pngs now. Also, made
4312 thumbnailing machinery call ImageMagick to handle the conversion
4313 if gdk-pixbuf comes up empty, so we can handle many more formats
4315 2000-03-05 Andy Hertzfeld <andy@eazel.com>
4317 added a music view component for viewing directories of mp3 files.
4318 This first cut only handles only the case when the mp3 files have
4319 id3 tags present (most do these days)
4321 * components/music/nautilus-music-view.c,.h: a new music view
4322 component gathers information from the id3 tags of mp3 files in
4323 the target directory and displays them in a list, sorted by track
4324 number. It also displays the album cover if it can find one. For
4325 now, it launches xmms to do the playing, but it will eventually
4326 have an integrated player and support other file types.
4327 * components/music/nautilus-music-view.goad: component activation file
4328 * main.c: boiler-plate component stuff
4329 * components/music/Makefile.am: makefile for music component
4330 * configure.in: added music component
4331 * components/Makefile.am: added music component
4333 * src/ntl-uri-map: added a new way to install content view components,
4334 by having the components explicitly listed in the metadata for the
4335 object being displayed. Used this to test the music view, but there's
4336 no way to manipulate it through the UI yet
4337 * libnautilus/nautilus-metadata.h: added a "CONTENT_VIEWS" tag for
4338 specifying content views in the metadata
4340 2000-03-05 Maciej Stachowiak <mjs@eazel.com>
4342 * src/ntl-window-msgs.c (nautilus_window_update_internals): Handle
4343 freeing of window->ni in a fancier way to avoid double-free
4344 problems which were causing crashes after some amount of view
4345 switching and navigation. It might leak memory but it's the only
4346 obvious way to avoid crashing.
4347 * src/ntl-window.c (nautilus_window_destroy): Likewise to avoid
4349 * src/ntl-window.h (Nautilus_NavigationInfo_free): Prototype this
4352 2000-03-04 Maciej Stachowiak <mjs@eazel.com>
4354 * nautilus-clean.sh: Simple shell script to check if any of the
4355 auxiliary processes nautilus might launch are still running, and
4356 if so, report which ones and kill them. Total hack for dev/testing
4357 use only; should not be distributed.
4359 2000-03-03 Maciej Stachowiak <mjs@eazel.com>
4361 * components/sample/nautilus-sample-content-view.c: Fix
4362 indentation on some of the lines.
4363 (nautilus_sample_content_view_load_uri): g_free() the old uri before
4364 g_strdup()ing a new one to avoid leaking memory.
4366 2000-03-03 Ramiro Estrugo <ramiro@eazel.com>
4368 * configure.in: added eazel services define
4370 * acconfig.h: new file to make autoheader happy
4372 2000-03-03 Jonathan Blandford <jrb@redhat.com>
4374 * libnautilus/Makefile.am (libnautilus_la_LDFLAGS): added libpng
4377 * configure.in: added autoconf check for png.
4379 2000-03-03 John Sullivan <sullivan@eazel.com>
4381 * configure.in: Turned -Werror back on. It had been turned
4382 off accidentally as part of the patch Maciej applied earlier today.
4383 * src/file-manager/fm-directory-view-icons.c:
4384 (fm_directory_view_icons_icon_moved_cb): Changed two %lf's to %f's
4385 in g_strdup_printf to make compiler happy.
4387 2000-03-03 Elliot Lee <sopwith@redhat.com>
4389 * src/ntl-prefs.c: Default to showing help index (it's the parade of the meta views! :).
4390 * components/help/hyperbola-nav-index.c: Compiles and
4391 runs. Hardcoded to /gnome prefix for now.
4393 2000-03-03 Maciej Stachowiak <mjs@eazel.com>
4395 * components/html/ntl-web-browser.c (make_obj): Reorder to code to
4397 (main): Drop to the debugger on warnings and criticals.
4398 (browser_vfs_read_callback): Add some casts to avoid a warning.
4400 2016-03-03 Elliot Lee <sopwith@redhat.com>
4402 * src/ntl-app.c, src/nautilus.goad: Make NautilusApp a factory for
4405 2000-03-03 Maciej Stachowiak <mjs@eazel.com>
4407 * components/sample/nautilus-sample-content-view.c,
4408 components/sample/nautilus-sample-content-view.h,
4409 components/sample/nautilus-sample-content-view.goad,
4410 components/sample/main.c, components/sample/Makefile.am: Sample
4411 content view component. All it does is display the current URI in
4413 * componets/Makefile.am, configure.in: Build it.
4414 * src/ntl-uri-map.c: Activate the sample component whenever there
4415 is at least one other applicable view. What it should really do is
4416 have a special mode based on a command-line option of some sort
4417 which will cause it to be always activated, and otherwise not at
4418 all, but that looked more complicated to do.
4420 * libnautilus/nautilus-directory.c
4421 (nautilus_directory_try_to_read_metafile): Don't bomb on a
4422 zero-length metafile.
4424 Icon stretching is now persistent in the metafile, patch from Seth
4425 Nickell <snickell@stanford.edu>:
4427 * libnautilus/gnome-icon-container.c, gnome-icon-container.h,
4428 gnome-icon-container-dnd.c: Add xscale and yscale arguments to
4429 "icon_moved" signal to allow more unified handling of geometry
4431 * libnautilus/nautilus-metadata.h: Add definition of
4432 ICON_VIEW_SCALE_METADATA_KEY.
4433 * src/file-manager/fm-directory-view-icons.c: Save the stretch
4434 factor to the metafile when stretching and restore it when loading
4437 2000-03-02 Maciej Stachowiak <mjs@eazel.com>
4439 * HACKING: Updated build instructions and list to send patches to.
4441 2000-03-02 Pavel Cisler <pavel@eazel.com> (checking in as ramiro)
4443 (nautilus_window_new): I meant to removed the call but messed it
4446 2000-03-02 Pavel Cisler <pavel@eazel.com> (checking in as ramiro)
4447 Fixed a crash in "Open in New Window".
4449 * src/ntl-window.c,h:
4450 (nautilus_window_new): Removed the call. Creating new
4451 windows should only be done through nautilus_app_create_window.
4452 (nautilus_window_class_init): Added a call to add "NautilusWindow::app"
4453 as an argument to make the app field get initialized properly.
4455 (nautilus_app_create_window): Made it call gtk_object_new with the
4456 right arguments to create a new window.
4458 2000-03-02 Andy Hertzfeld <andy@eazel.com>
4460 * libnautilus/nautilus-icon-factory.c:
4461 changed thumbnailing to use gdk-pixbuf to make the thumbnails instead
4462 of ImageMagick. Added code to save a gdk-pixbuf as a png that
4463 was written by Iain Holmes for gnome-iconedit, but had to fix it
4464 to work in the case where there's no alpha channel.
4466 2000-03-02 Elliot Lee <sopwith@redhat.com>
4468 * components/help/hyperbola-filefmt.c: Use 'help' URI scheme instead of 'ghelp'.
4470 * components/help/hyperbola-nav-index.c: Just checking in an
4471 uncompilable work-in-progress. Remove ifdefs at own risk. :)
4473 2000-03-02 John Sullivan <sullivan@eazel.com>
4475 * src/ntl-main.c: Change gtk_object_unref (app) to
4476 bonobo_object_unref (app) to avoid bonobo complaints
4479 2000-03-02 Elliot Lee <sopwith@redhat.com>
4481 * src/nautilus.goad, src/ntl-app.[ch], src/ntl-main.c: Implement
4482 IDL:Nautilus/Application:1.0 interface and NautilusApp GtkObject.
4483 * src/nautilus-window-menus.c, src/ntl-window.[ch], src/ntl-window:
4484 Change to match above.
4485 * src/ntl-view-frame-svr.c: Implement _get_application()
4488 2000-03-01 Andy Hertzfeld <andy@eazel.com>
4490 * libnautilus/nautilus_icon_factory.c:
4491 some bug fixes. Quoted filenames when invoking convert. Checked for a null
4492 icon controller in some places and handled accordingly
4494 2000-03-01 Andy Hertzfeld <andy@eazel.com>
4496 implemented automatic thumbnail creation for large images.
4498 * libnautilus/nautilus_icon_factory.c,h:
4499 the bulk of the work is in here. If the relevant file is a large image,
4500 look for a corresponding thumbnail in the .thumbnails directory; if
4501 found, use it, otherwise put it on a queue for later thumbnail creation.
4502 A timeout task is called periodically to fork a task to use ImageMagick
4503 to actually create the thumbnail, and then call the icon controller to
4504 actually update the icon. Eventually, we'll replace ImageMagick
4505 with our own inline code for better performance.
4507 *libnautilus/gnome-icon-container.c,h:
4508 added a gnome_icon_container_update_icon method to update the icon
4509 corresponding with the passed in uri. This is used by the icon
4510 controller to update the icons with the newly created thumbnails.
4512 *libnautilus/nautilus-icons-controller.c,h:
4513 added a nautilus_icons_controller_update_icon method to the abstract
4514 class to update the icon associated with the passed-in uri.
4516 *src/file-manager/fm-icons-controller.c:
4517 concrete implementation that calls the icon canvas to update the icon.
4519 *libnautilus/nautilus_bookmark.c:
4520 since I added a controller parameter to get_icon_for_file, I had to add
4521 the parameter here, since nautilus_bookmark was using get_icon_for_file
4524 added a placeholder icon to express that a thumbnail is loading; Susan
4525 will replace this soon. Also, it's not being used properly yet.
4528 added the loading icon.
4530 2000-02-29 John Sullivan <sullivan@eazel.com>
4532 * src/ntl-window-msgs.c: (nautilus_window_set_state_info):
4533 Replaced gtk_object_ref with comment explaining not to
4534 ref in the cases NEW_CONTENT_VIEW_ACTIVATED and
4535 NEW_META_VIEW_ACTIVATED. The former is called only when
4536 switching views via the View As menu, and was leaving
4537 an extra ref on the content_view, which was preventing
4538 it from getting destroyed when switching views, which
4539 was preventing me from using the destroy signal for
4540 menu unmerging. The latter is never called, but presumably
4541 would have the same issue if anyone ever called it.
4543 2000-02-28 Maciej Stachowiak <mjs@eazel.com>
4545 * src/nautilus-window-menus.c (clear_appended_bookmark_items):
4546 Added an explicit cast to (const char *) to avoid gcc 2.95.2
4549 2000-02-28 John Sullivan <sullivan@eazel.com>
4551 Separated out more menu-handling code into new file.
4553 * src/ntl-app.h: Added #include ntl-window.h.
4554 * src/nautilus-window-menus.c:
4555 * src/ntl-window-private.h:
4556 (nautilus_window_initialize_bookmarks_menu),
4557 (nautilus_window_initialize_go_menu): Removed prototypes.
4558 (nautilus_window_initialize_menus), (nautilus_window_back_cb),
4559 (nautilus_window_forward_cb), (nautilus_window_up_cb),
4560 (nautilus_window_home_cb): Added prototypes.
4561 * src/ntl-window.c: Moved all the static menu definitions and
4562 most of the callback functions out of here.
4563 * src/nautilus-window-menus.c: Moved all of the static menu
4564 definitions and most of the callback functions into here.
4566 2000-02-28 John Sullivan <sullivan@eazel.com>
4568 Switched NautilusWindow over to using BonoboUIHandler-style
4569 menus. Everything works except that the Go and Bookmarks
4570 menu items don't show icons for now. Apparently the part of
4571 Bonobo that would support using arbitrary GdkPixbufs as
4572 menu item icons is not yet implemented. Other than the
4573 missing icons problem, this change has no visible effect,
4574 but is required to support merging items into the standard
4577 * src/nautilus-bookmarks-menu.h: Deleted this file.
4578 * src/nautilus-bookmarks-menu.c: Deleted this file, moved/morphed its
4579 code into ntl-window.c and nautilus-window-menus.c as appropriate.
4580 * src/nautilus-window-menus.c: New file, avoids making ntl-window.c
4581 any huger by keeping some of the menu-specific stuff in here. Right
4582 now this file includes only stuff I had to change or create for this
4583 checkin. I will soon make another pass at moving a bunch of old menu
4585 * src/Makefile.am: Removed deleted files, added new file.
4586 * src/nautilus.h: Removed #include nautilus-bookmarks-menu.h.
4587 * src/ntl-window-msgs.c: Added #include <libnautilus/nautilus-bookmark.h>
4588 that became necessary when nautilus.h changed.
4589 * src/ntl-app.c: (nautilus_app_exiting):
4590 Changed nautilus_bookmarks_menu_exiting to nautilus_bookmarks_exiting,
4591 since there's no menu involved in this code now.
4592 * src/ntl-window-private.h: Added prototypes for functions called
4593 between ntl-window.c and nautilus-window-menus.c.
4594 * src/ntl-window.h: Added prototype for nautilus_bookmarks_exiting;
4595 removed fields for various stored menu items.
4597 Removed #defines for GO_MENU_<foo>_ITEM_INDEX, since menu-item
4598 accessing is now done with paths the Bonobo way.
4599 Removed separator from static part of Go menu; the separator is
4600 now added when the dynamic items are added.
4601 Added static items in Bookmarks menu to GnomeUIInfo array.
4602 (add_bookmark_cb), (edit_bookmarks_cb): New callback functions used
4603 by the static part of the Bookmarks menu.
4604 (clear_go_menu_history), (activate_bookmark_in_menu_item),
4605 (refresh_history_list_in_go_menu): Removed functions; new versions
4606 are in nautilus-window-menus.c.
4607 (nautilus_window_init): Removed go-menu signal connections; new
4608 versions are in nautilus-window-menus.c.
4609 (nautilus_window_constructed): Create and access menus the Bonobo way;
4610 also call functions to initialize the two dynamic menus.
4611 (nautilus_window_allow_back), (nautilus_window_allow_forward),
4612 (nautilus_window_allow_up): Access menu items with paths, the Bonobo way.
4613 (nautilus_get_history_list): New function, wrapper around static
4614 variable so it can be accessed from nautilus-window-menus.c.
4616 2000-02-26 Andy Hertzfeld <andy@eazel.com>
4618 fixed bug where title tab was initially pre-lit
4620 * src/ntl-index-panel.c:
4621 turns pre-lite off when activating
4622 * src/nautilus-index-tabs.c:
4623 initialize prelit flag
4625 2000-02-26 Andy Hertzfeld <andy@eazel.com>
4627 made index tabs receive dropped colors and display them; it doesn't store it persistently yet
4629 * src/ntl-index-panel.c:
4630 made it call call index_tabs_receive_dropped_color when dropped over the tabs
4631 * src/nautilus-index-tabs.c,h:
4632 added index_tabs_receive_dropped_color to set the tab_color and redraw
4634 2000-02-26 Andy Hertzfeld <andy@eazel.com>
4636 * src/ntl-index-panel.c:
4637 made it call index_tabs_prelite for the title tabs at the appropriate times
4638 * src/nautilus-index-tabs.c:
4639 made preliting work for the title tab
4641 2000-02-26 Maciej Stachowiak <mjs@eazel.com>
4643 * components/notes/ntl-notes.c: Make the text area take more of
4644 the space of the component. Make the text box light yellow, the
4645 official international color of annotation.
4647 2000-02-25 Andy Hertzfeld <andy@eazel.com>
4649 implemented mouse-over hiliting for the index tabs
4651 * src/ntl-index-panel.c:
4652 receive motion notify events to hit test the tabs
4653 * src/nautilus-index-tabs.c,h:
4654 add pre-lite boolean to tab, pre-lite color
4655 draw with pre-lite color when boolean is set
4656 implemented nautilus_index_tabs_prelite_tab to set booleans
4658 turn on mouse motion events for the index panel
4660 2000-02-25 Andy Hertzfeld <andy@eazel.com>
4662 * libnautilus/gnome-icon-container.c:
4663 made the return key activate all selected icons, to make keyboard navigation actually
4664 do something useful besides selecting
4666 2000-02-25 Andy Hertzfeld <andy@eazel.com>
4668 * src/nautilus-index-tabs.c:
4669 Susan's new look for the index-tabs, as well as some misc clean-ups
4671 2000-02-25 John Sullivan <sullivan@eazel.com>
4673 * src/file-manager/fm-directory-view-c:
4674 (confirm-delete): New function, puts up a dialog confirming
4675 whether to delete the selected items.
4676 (delete_cb): Checks with confirm_delete before deleting.
4677 It's too easy to accidentally delete files without this, as
4678 I discovered yesterday in my foolish experimentations.
4679 (fm_directory_view_real_append_selection_context_menu_items):
4680 Renamed "Delete" menu item to "Delete..." to make it clear that
4681 no deleting will occur without confirmation.
4683 2000-02-25 Andy Hertzfeld <andy@eazel.com>
4685 * libnautilus/gnome-icon-container.c:
4686 set the scale factor so no icons are bigger than a specified size,
4687 at least initially. Currently the size is set to 80 pixels.
4689 2000-02-24 Maciej Stachowiak <mjs@eazel.com>
4691 * src/ntl-uri-map.c (my_notify_when_ready): Make sure to
4692 gnome_vfs_async_cancel our GnomeVFSAsyncHandle before setting it
4693 to NULL, to avoid leaking gnome-vfs-slave processes.
4694 * libnautilus/nautilus-directory.c (nautilus_directory_load_done):
4695 When loading is complete, make sure to gnome_vfs_async_cancel the
4696 handle before setting it NULL, to avoid leaking gnome-vfs-slave
4698 * src/file-manager/fm-directory-view.c
4699 (disconnect_model_handlers): if we have a NautilusDirectory in
4700 use, make sure to call nautilus_directory_stop_monitoring on it to
4701 avoid leaking gnome-vfs-slave processes.
4703 2000-02-24 John Sullivan <sullivan@eazel.com>
4705 Some work on improving the error messages when files
4706 can't be displayed. There's still plenty of room for
4707 improvement, but at least the most common cases are
4710 * libnautilus/nautilus-string.h,
4711 * libnautilus/nautilus-string.c:
4712 (nautilus_strdup_prefix): New function, returns a new
4713 string matching the beginning of another string, up to
4714 but not including the first occurrence of a given substring.
4715 (nautilus_self_check_string): Added test cases for new function.
4718 Added enum NautilusNavigationResult, which is a cousin of
4719 GnomeVFSResult that lumps many error types together and also
4720 has special Nautilus-specific types. Added a field of this type
4721 to NautilusNavigationInfo to keep track of various failure
4722 scenarios. Also reformatted this file.
4723 * src/ntl-uri-map.c:
4724 (get_nautilus_navigation_result_from_gnome_vfs_result):
4725 Long-windedly named helper function to translate between
4726 GnomeVFSResult and NautilusNavigationResult.
4727 (my_notify_when_ready): Determine and store NautilusNavigationResult
4728 for error cases. Don't free navinfo here, because it's needed to
4729 determine the uri-that-didn't-work later.
4730 * src/ntl-window-msgs.c:
4731 (nautilus_window_change_location_2): Compose reasonable error messages,
4732 which include the uri that couldn't be shown, from various failure cases.
4734 2000-02-24 Andy Hertzfeld <andy@eazel.com>
4736 implemented the delete command in the context menu. It's not
4737 completed yet,it still needs to remove entries from the model,
4738 as well as giving better feedback.
4740 * libnautilus/gnome-icon-container.c,.h:
4741 added gnome_icon_container_clear_selected_items to remove
4742 selected items from the view
4743 * src/file-manager/fm-directory-view.c,h:
4744 enabled the delete menu item, added a callback for it which
4745 actually does the deletion
4746 added a delete_selection method, implemented by the subclasses
4747 to remove items from the view
4748 * src/file-manager/fm-directory-view-icons.c:
4749 implemented delete_selection by calling the icon container
4750 * src/file-manager/fm-directory-view-list.c:
4751 implemented delete_selection to remove selected items from the clist
4753 2000-02-24 John Sullivan <sullivan@eazel.com>
4755 * components/history/ntl-history-view.c:
4756 (history_view_update_icons), (make_obj): Correction to previous
4757 checkin: connect signal to CList instead of HistoryView because
4758 HistoryView isn't a GtkObject.
4760 2000-02-24 John Sullivan <sullivan@eazel.com>
4762 * src/ntl-uri-map.c: (my_notify_when_ready):
4763 Added "View as Text" as an option for html pages. Untestable
4764 right now because attempting to load html pages fails.
4766 * components/history/ntl-history-view.c:
4767 (install_icon): Removed bookmark parameter; now it determines that
4768 from the other parameters.
4769 (history_view_update_icons): New function, walks through list updating
4770 the icon for each row.
4771 (hyperbola_navigation_history_notify_location_change): Removed bookmark
4772 parameter from install_icon call.
4773 (make_obj): register to call history_view_update_icons
4774 when nautilus_icon_factory emits "theme_changed" signal. This has
4775 no current visible effect, because changing the theme in Nautilus
4776 does not change the theme in the separate icon factory used in this
4777 metaview. This is bugzilla bug #5.
4779 2000-02-24 John Sullivan <sullivan@eazel.com>
4781 Cleaned up after fix to bug 14 from yesterday.
4783 * src/ntl-types.h: Removed use_new_window field from
4784 NautilusNavigationInfo struct; the new-window spawning
4785 now happens early enough that this struct is not involved.
4787 * src/ntl-uri-map.c: (nautilus_navinfo_new): Don't set the
4788 now non-existent use_new_window field.
4790 * src/ntl-window-msgs.c: (nautilus_window_change_location_2):
4791 Don't make any decisions based on the now non-existent
4792 use_new_window field.
4794 2000-02-24 John Sullivan <sullivan@eazel.com>
4796 * src/file-manager/fm-directory-view.c:
4797 (fm_directory_view_real_append_selection_context_menu_items):
4798 Made "Open in New Window" menu item label be "Open in n New Windows"
4799 if more than one is selected; added some _()s to user-visible text.
4801 2000-02-23 Maciej Stachowiak <mjs@eazel.com>
4803 * src/ntl-uri-map.c (my_notify_when_ready): Use EOG as the in-line
4804 image viewer. You need to have EOG from CVS installed for this to
4805 work. It still has issues - the control zooms the image to fill
4806 available space by default, and there is no zooming support. But
4807 it's amazing that one line was enough to do this, and it worked on
4808 the first try! Bonobo rules.
4810 * libnautilus/nautilus-icons-view-icon-item.c
4811 (nautilus_icons_view_icon_item_set_emblems): Nautilus was getting
4812 an assertion failure on startup, so I weakened the
4813 assertion. Darin should look at my fix.
4815 * idl/nautilus.idl (ViewWindow): Added `application' readonly
4817 (Application): Renamed attribute from `windows' to `view_windows'
4818 and made it a sequence<ViewWindow> rather than
4819 sequence<Object>. Renamed `new_window' method to
4821 * src/ntl-window.h: Miscellaneous reformatting.
4822 (nautilus_window_close): Added prototype
4823 * src/ntl-window.c: Added implementations of
4824 Nautilus::ViewWindow's methods. For now, _get_application just
4825 returns CORBA_OBJECT_NIL because the Application object has not
4826 yet been implemented.
4827 (nautilus_window_close): New function used by `file_menu_close_cb'
4828 and `impl_POA_Nautilus_ViewWindow_close'.
4829 (would_be_in_gdk_pixbuf_if_federico_wasnt_stubborn_pixbuf_render):
4830 Added an explanatory comment.
4832 * idl/nautilus.idl: Added Nautilus::Zoomable and
4833 Nautilus::ZoomableFrame interfaces.
4834 * nautilus-zoomable.c, nautilus-zoomable.h: New files for the
4835 NautilusZoomable class. This class is used to implement the
4836 Nautilus::Zoomable interface on a nautilus view or other control.
4837 * Makefile.am: Added nautilus.c and nautilus.h to the build.
4839 2000-02-23 John Sullivan <sullivan@eazel.com>
4841 Visible part of the fix to bug 14 (Open in New Window only
4842 opens one window when multiple items selected). Still need
4843 to clean up old, unnecessary code. Checking this in now for
4844 convenience; will clean up other code tomorrow.
4846 * src/ntl-app.c: (nautilus_app_create_window): Replaced the
4847 gtk_widget_show of new window with comment explaining why not
4850 * src/ntl-window-msgs.c:
4851 (nautilus_window_request_location_change): Spawn new window here
4852 if the NavigationRequestInfo says so (formerly didn't spawn new
4853 window until after we knew it was a displayable uri; that code
4854 is still present but now never invoked; I will kill it tomorrow).
4855 (nautilus_window_change_location_2): Call gtk_widget_show on
4856 window when we know that location change will succeed; if the
4857 location change failed, destroy the nascent window and put the
4858 error message in an unparented dialog.
4860 2000-02-23 Darin Adler <darin@eazel.com>
4862 Some of the underlying work to prepare for emblems on the icons.
4864 * style-guide.html: Some minor updates to the style guide,
4865 including rules about headers.
4867 * libnautilus/nautilus-icon-factory.h,
4868 libnautilus/nautilus-icon-factory.c:
4869 (nautilus_icon_factory_get_emblem_icons_for_file),
4870 (nautilus_scalable_icon_get), (nautilus_icon_factor_clear),
4871 (nautilus_icon_factory_load_file),
4872 (nautilus_gdk_pixbuf_composite_corner),
4873 (nautilus_icon_factor_load_icon), (nautilus_scalable_icon_hash),
4874 (nautilus_scalable_icon_equal),
4875 (nautilus_icon_factory_get_icon_for_file), (load_specific_image):
4876 Added interface for getting emblem icons for a file, and got rid
4877 of the symbolic-link overlay that was previously built into the
4880 * libnautilus/gnome-icon-container.c (update_icon):
4881 Get pixbufs for all emblems and pass into the icon object.
4883 * libnautilus/nautilus-icons-controller.c
4884 (nautius_icons_controller_get_icon_image):
4885 src/file-manager/fm-icons-controller.h,
4886 src/file-manager/fm-icons-controller.c
4887 (fm_icons_controller_get_icon_image): Return a list of emblem
4888 images along with the main image.
4890 * libnautilus/nautilus-icons-view-icon-item.h,
4891 libnautilus/nautilus-icons-view-icon-item.c
4892 (nautilus_icons_view_icon_item_set_emblems),
4893 (nautilus_icons_view_icon_item_destroy): Keep a list of emblem
4894 pixbufs in each icon. We don't draw them quite yet.
4896 * libnautilus/gdk-extensions.h, libnautilus/gdk-extensions.c:
4897 (nautilus_gdk_pixbuf_list_ref), (nautilus_gdk_pixbuf_list_unref),
4898 (nautilus_gdk_pixbuf_list_free): Convenience functions for
4899 manipulating lists of GdkPixbuf objects.
4901 * libnautilus/nautilus-directory.h,
4902 libnautilus/nautilus-directory.c: (nautilus_file_list_ref),
4903 (nautilus_file_list_unref), (nautilus_file_list_free): Convenience
4904 functions for manipulating lists of NautilusFile objects. Also got
4905 rid of NautilusFileList typedef.
4907 * libnautilus/nautilus-icon-factory.h,
4908 libnautilus/nautilus-icon-factory.h:
4909 (nautilus_scalable_icon_list_free): Convenience function for
4910 manipulating lists of NautilusScalableIcon objects.
4912 * libnautilus/nautilus-glib-extensions.h,
4913 libnautilus/nautilus-glib-extensions.c: (nautilus_g_list_equal):
4914 Function to compare two GLists to see if they are
4915 identical. Particularly useful with lists of reference-counted
4918 * src/file-manager/fm-directory-view-icons.c
4919 (fm_directory_view_icons_destroy),
4920 (add_icon_if_already_positioned),
4921 (fm_directory_view_icons_append_selection_context_menu_items),
4922 (display_icons_not_already_positioned),
4923 (fm_direectory_view_icons_get_selection):
4924 src/file-manager/fm-directory-view-list.c
4925 (fm_directory_view_list_get_selection):
4926 src/file-manager/fm-directory-view.c (display_selection_info),
4927 (display_pending_files), (add_files_cb), (open_in_new_window_cb),
4928 (fm_directory_view_real_append_selection_context_menu_items): Got
4929 rid of use of NautilusFileList typedef, corrected ref. counting of
4930 files in the lists by using new calls.
4932 * src/nautilus-bookmarklist.c, src/nautilus-bookmarks-menu.c,
4933 src/nautilus-index-tabs.c,
4934 src/file-manager/fm-directory-view-icons.c,
4935 src/file-manager/fm-directory-view.c,
4936 src/file-manager/fm-icons-controller.c: A bit of reformatting.
4938 2000-02-23 Andy Hertzfeld <andy@eazel.com>
4940 * icons/i-directory.png, icons/i-directory-36.png,
4941 * icons/i-regular.png, icons/i-regular-36.png:
4942 This completes Kenneth's set of icons for the generic document and folder
4943 * icons/Makefile.am:
4944 Added the 36 pixel versions.
4946 2000-02-23 Elliot Lee <sopwith@redhat.com>
4948 * autogen.sh: Finish the hack to not make people get gnome.m4 from
4949 gnome-libs any more.
4951 2000-02-22 Andy Hertzfeld <andy@eazel.com>
4953 * icons/i-directory-12.png, icons/i-directory-24.png,
4954 * icons/i-regular-12.png, icons/i-regular-24.png
4955 Small versions of the standard gnome folder and document icons,
4956 contributed by Kenneth Christiansen.
4958 Include Kenneth's icons.
4960 2000-02-22 John Sullivan <sullivan@eazel.com>
4962 Made list view respond to icon theme changes too. Forgot
4965 * src/file-manager/fm-directory-view-list.c:
4966 (update_icons): New function, walks through list installing
4967 the icon for each row.
4968 (fm_directory_view_list_initialize): register to call update_icons
4969 when nautilus_icon_factory emits "theme_changed" signal.
4971 2000-02-22 John Sullivan <sullivan@eazel.com>
4973 Made bookmarks menu, go menu, and bookmarks window respond
4974 to icon theme changes. The history metaview is still an
4975 outstanding issue, waiting on technical solution to
4976 icon-factories-in-different-executables problem.
4978 * src/nautilus-bookmarks-menu.c:
4979 (nautilus_bookmarks_menu_new): register to call
4980 nautilus_bookmarks_menu_repopulate when nautilus_icon_factory
4981 emits "theme_changed" signal.
4982 * src/nautilus-bookmarks-window.c:
4983 (create_bookmarks_window): register to call repopulate
4984 when nautilus_icon_factory emits "theme_changed" signal.
4986 (refresh_history_list_in_go_menu): Renamed from history_list_changed_cb,
4987 removed unused NautilusSignaller parameter.
4988 (nautilus_window_init): Changed a gtk_signal_connect_while_alive to
4989 gtk_signal_connect_object_while_alive to avoid that unused
4990 NautilusSignaller parameter; register to call
4991 refresh_history_list_in_go_menu when nautilus_icon_factory emits
4992 "theme_changed" signal.
4994 2000-02-22 John Sullivan <sullivan@eazel.com>
4996 Improved the status text that appears after changing the
4997 selection in the file manager.
4999 * libnautilus/nautilus-directory.h,
5000 * libnautilus/nautilus-directory.c:
5001 (nautilus_file_is_directory): New convenience function.
5002 I updated everywhere in this file that was checking for
5003 directories to use this.
5004 (nautilus_file_get_directory_item_count): New function
5005 to get the item count of a directory. This is implemented
5006 with the evil get_directory_item_count_hack, but we'll want
5007 this API later even when the evil hack is gone.
5009 * src/file-manager/fm-directory-view.c:
5010 (display_selection_info): The selection count/size string is
5011 now broken into a directory part and an everything else part.
5012 No more counting directories as 4.1K.
5014 2000-02-22 Elliot Lee <sopwith@redhat.com>
5016 * libnautilus/nautilus-file-utilities.c: include string.h to avoid warnings
5017 * src/nautilus-index-title.c: Set order of items packed into box.
5018 * src/file-manager/fm-directory-view-icons.c: include stdio.h to avoid warnings.
5020 2000-02-22 Darin Adler <darin@eazel.com>
5022 Fixed bug where the Eazel-theme icon for the document reverts to
5023 the non-theme icon when you are zoomed in all the way.
5025 * nautilus-icon-factory.c: (nautilus_icon_factory_load_file),
5026 (add_size_to_image_name), (get_icon_file_path),
5027 (nautilus_icon_factory_load_file),
5028 (nautilus_icon_factory_load_icon), (load_specific_image): Changed
5029 logic so the decision about whether to use a theme icon or the
5030 default icon for each icon is decided based on the presence of the
5031 non-sized version of the icon rather than the presence of the icon
5032 for a particular size.
5034 * nautilus-file-utilities.h, nautilus-file-utilities.c:
5035 Cleaned up header and includes and changed ".gnomad" to
5036 ".nautilus". (At first I had added a nautilus_file_exists
5037 function, but then I remembered the g_file_exists function in
5040 2000-02-22 Andy Hertzfeld <andy@eazel.com>
5042 * icons/i-directory-192.png
5043 * icons/i-directory-96.png
5044 * icons/i-directory-72.png
5045 Hi-res versions of the standard gnome folder icon,
5046 contributed by Kenneth Christiansen.
5048 Include Kenneth's icons.
5050 2000-02-21 Andy Hertzfeld <andy@eazel.com>
5052 * icons/i-regular-192.png
5053 * icons/i-regular-96.png
5054 * icons/i-regular-72.png
5055 Hi-res versions of the standard gnome generic document icon,
5056 contributed by Kenneth Christiansen
5058 include Kenneth's icons
5059 * libnautilus/nautilus-icons-controller.c,
5060 * libnautilus/nautilus-icons-controller.h:
5061 added a new method to get string properties
5062 * libnautilus/nautilus-icons-view-icon-item.c:
5063 Draw the contents of a text file into the icon itself in a small
5064 font, if the text_source property is set.
5065 * src/file-manager/fm-icons-controller.c:
5066 Routine to determine whether to draw into icons. Since our
5067 mime-type detection is inadequate now, we throw caution to the
5068 winds and assume an unknown type is a text file it only enables
5069 this for eazel themes now, we have to figure out a better way to
5070 tell if the icon can contain it.
5072 2000-02-21 Maciej Stachowiak <mjs@eazel.com>
5074 * libnautilus/ntl-view-frame.c: Fixed crashes introduced in the
5075 course of my reorganization - in one case I g_new()'d something
5076 that should have been g_new0()'d, in another I forgot to
5077 CORBA_exception_init().
5079 2000-02-21 Andy Hertzfeld <andy@eazel.com>
5081 added document icons to eazel icons theme in 4 sizes
5083 * icons/eazel/i-regular.png, i-regular-36.png, i-regular-72.png,
5085 Added Susan's document icons at 4 zoom levels.
5086 * icons/eazel/Makefile.am:
5087 Added to Makefile so they get installed.
5089 2000-02-21 John Sullivan <sullivan@eazel.com>
5091 Refined right-click context-menu behavior in file manager.
5092 Now right-click affects the selection exactly as a left-click
5093 would, including modifying the selection with modifier keys.
5094 The first section of the context menu applies to all the
5095 selected items. Menu items that can only apply to a single
5096 item are insensitive if there's more than one item selected.
5098 * libnautilus/gnome-icon-container.h:
5099 (context_click_selection): Renamed this signal from context_click_icon
5100 and removed the file parameter.
5101 * libnautilus/gnome-icon-container.c:
5102 (gnome_icon_container_initialize_class), (handle_icon_button_press):
5103 Renamed signal context_click_icon to context_click_selection and
5104 removed the file parameter.
5105 (handle_icon_button_press): Reorder so that all selection changes
5106 happen before the drag/activate/context-menu decision-making.
5108 * libnautilus/gtkflist.h:
5109 (context_click_selection): Renamed this signal from context_click_row
5110 and removed the row parameter.
5111 * libnautilus/gtkflist.c:
5112 (gtk_flist_initialize_class), (gtk_flist_button_press):
5113 Renamed signal context_click_row to context_click_selection and
5114 removed the row parameter.
5115 (gtk_flist_button_press):
5116 For context clicks, call select_row the normal way to get the
5117 normal selection modification behavior, instead of forcing only
5118 the clicked row to be selected.
5120 * src/file-manager/fm-directory-view.h:
5121 (append_selection_context_menu_items): Renamed from
5122 append_item_context_menu_items and changed NautilusFile parameter
5123 to a NautilusFileList.
5124 (fm_directory_view_pop_up_selection_context_menu): Renamed from
5125 fm_directory_view_popup_item_context_menu.
5126 (fm_directory_view_pop_up_background_context_menu): Renamed from
5127 fm_directory_view_popup_background_context_menu
5128 * src/file-manager/fm-directory-view.c:
5129 Renamed all functions with "item_context_menu" in their names
5130 to include "selection_context_menu" instead; Changed verb "popup"
5131 to "pop up" in function names.
5132 (open_one_in_new_window): New GFunc-type function, calls
5133 fm_directory_view_activate_entry on a single NautilusFile.
5134 (open_in_new_window_cb): Now takes a NautilusFileList* instead of
5135 a NautilusFile* and iterates with open_one_in_new_window.
5136 (fm_directory_view_real_append_selection_context_menu_items):
5137 Desensitize "Open" if more than one selected item, since more than
5138 one can't open into the same window; pass selected file list to
5139 open_in_new_window_cb
5140 (create_selection_context_menu): Skip the selection-specific part
5141 of the menu if there are no selected items (but still put up the
5142 menu with the background items);
5144 * src/file-manager/fm-directory-view-icons.c:
5145 Various changes to match renamings and parameter changes listed
5147 (fm_directory_view_icons_append_selection_context_menu_items):
5148 Only enable "Stretch Icon" if exactly one item is selected, since
5149 the UI is only designed to work with a single icon.
5150 * src/file-manager/fm-directory-view-list.c:
5151 Various changes to match renamings and parameter changes listed
5154 2000-02-21 Maciej Stachowiak <mjs@eazel.com>
5156 * libnautilus/ntl-view-frame.h: Don't include <gtk/gtkbin.h>; do
5157 include <gtk/gtkwidget.h>.
5159 2000-02-19 Maciej Stachowiak <mjs@eazel.com>
5161 * libnautilus/ntl-view-frame.c, libnautilus/ntl-view-frame.h:
5162 Changed NautilusViewFrame to allow creation of `Nautilus::View'
5163 objects that have additional interfaces while sharing the actual
5164 control. This will allow, for instance, the creation of components
5165 that are both a `Nautilus::View' and a `Bonobo::Embeddable'. The
5166 basic changes are to require a `BonoboObject' with a
5167 `Bonobo::Control' interface at construction time.
5168 - Two creation functions are provided: `nautilus_view_frame_new',
5169 which takes a GtkWidget, creates a new control that contains that
5170 widget, and the constructs a NautilusViewFrame with that control,
5171 and `nautilus_view_frame_new_from_control', which creates a
5172 NautilusViewFrame that gets added as an additional interface to an
5174 - In the course of doing this it became clear that it would be
5175 easier if NautilusViewFrame were changed to inherit from
5176 BonoboObject rather than GtkBin, so this was done; as a result,
5177 the nautilus_view_frame_get_bonobo_object call was removed, since
5178 the view_frame _is_ a bonobo object. However, a
5179 nautilus_view_frame_get_bonobo_control call was added as a
5180 convenience, to allow other code to avoid having to
5181 query_local_interface for the control object manually.
5182 * libnautilus/ntl-meta-view-frame.c,
5183 libnautilus/ntl-meta-view-frame.h,
5184 libnautilus/ntl-content-view-frame.c,
5185 libnautilus/ntl-content-view-frame.h: Analogous changes; mainly,
5186 added `nautilus_meta_view_frame_new',
5187 `nautilus_meta_view_frame_new_from_control',
5188 `nautilus_content_view_frame_new' and
5189 `nautilus_content_view_frame_new_from_control'.
5190 * components/help/hyperbola-nav-index.c,
5191 components/help/hyperbola-nav-tree.c,
5192 components/history/ntl-history-view.c,
5193 components/html/ntl-web-browser.c, components/notes/ntl-notes.c,
5194 components/websearch/ntl-web-search.c, src/ntl-app.c,
5195 src/file-manager/fm-directory-view.c: Fixed initialization and
5196 object creation functions to deal with the above API change.
5198 * libnautilus/ntl-view-frame.c, libnautilus/ntl-view-frame.h:
5199 Moved fields from object struct to separate private struct.
5201 2000-02-18 Maciej Stachowiak <mjs@eazel.com>
5203 * RENAMING: Suggest swapping the names NautilusView and
5204 NautilusViewFrame to better match the way Bonobo handles naming of
5205 mutual client-server pairs of this type. I'm not sure I agree, but
5206 better to be consistent than right.
5208 2000-02-18 Darin Adler <darin@eazel.com>
5210 * gnome-icon-container.c: (set_scroll_region):
5211 Set up the step_increment so the vertical and horizontal scroll
5212 bars will scroll when you click on the arrows.
5214 2000-02-18 Darin Adler <darin@eazel.com>
5216 * src/file-manager/fm-directory-view.c:
5217 (use_eazel_theme_icons_cb), (finish_adding_menu_item),
5218 (add_menu_item), (add_check_menu_item),
5219 (fm_directory_view_real_append_background_context_menu_items):
5220 Hooked up the menu item for using the Eazel Theme Icons so people
5221 can try out the icons that are tuned at different sizes.
5223 * libnautilus/nautilus-icon-factory.h:
5224 * libnautilus/nautilus-icon-factory.c,
5225 (nautilus_icon_factory_get), (nautilus_icon_factory_new),
5226 (nautilus_icon_factory_initialize),
5227 (nautilus_icon_factory_initialize_class),
5228 (nautilus_icon_factory_get_theme),
5229 (nautilus_icon_factory_set_theme): Added a signal "theme_changed"
5230 to the icon factory, and had to add a visible icon factory object
5231 so clients can connect to the signal.
5233 * libnautilus/gnome-icon-container.c,
5234 (gnome_icon_container_initialize),
5235 (gnome_icon_container_request_update_all): Update all icons when
5238 * docs/recommended-books.html: Added this since
5239 style-guide.html refers to it.
5241 2000-02-18 John Sullivan <sullivan@eazel.com>
5243 Made bookmarks (including in history list) for file system
5244 items display just the name of the file or directory instead
5245 of the entire path. Made history list appear in Go menu.
5246 Still need to muck with CORBA so that history metaview is
5247 getting the history list from Nautilus rather than
5248 maintaining its own parallel copy.
5250 * libnautilus/nautilus-bookmark.h:
5251 (nautilus_bookmark_new_with_name): Renamed this function, which
5252 takes both a uri and a display name, from nautilus_bookmark_new.
5253 (nautilus_bookmark_new): New function, takes just a uri.
5255 * libnautilus/nautilus-bookmark.c:
5256 (nautilus_boookmark_new_with_name): Renamed.
5257 (nautilus_bookmark_new): New function, determines what initial
5258 name to use for a bookmark given its uri. Right now the only rule
5259 it knows is to use just the leaf file/directory name for file
5260 system uris. (Someday it should also know to get the page title
5263 * libnautilus/nautilus-bookmark.c,
5264 * components/history/ntl-history-view.c,
5265 * src/nautilus-bookmarklist.c,
5266 * src/nautilus-bookmarks-menu.c,
5267 * src/nautilus-bookmarks-window.c,
5268 * src/ntl-window-msgs.c:
5269 Updated callers of old nautilus_bookmark_new to either use new
5270 one-parameter version or to use nautilus_bookmark_new_with_name.
5272 * libnautilus/nautilus-directory.c: (nautilus_self_check_directory):
5273 Added new test that catches gnome-vfs bug I ran into where the name
5274 computed for uris with a trailing slash is "". Maciej plans to fix
5275 this in gnome-vfs; for now, make check catches it.
5277 * src/nautilus-signaller.c,
5278 * src/nautilus-signaller.h: New files for an object that manages
5279 nautilus-wide signals (not associated with a particular window, e.g.).
5280 The initial nautilus-wide signal is "history_list_changed".
5281 * src/Makefile.am: Build these two new files.
5284 Removed window_signals from NautilusWindowClass struct, made it a static
5285 variable in the file to better hide it and match existing practice;
5286 Added go_menu and go_menu_separator_item widgets to the set maintained
5287 for each window. (This will have to change when I convert the menus
5288 to using BonoboUIHandler, but that's for another day.)
5290 I added then later removed a signal to this class. In the process, I
5291 cleaned up some of the signal-handling details: Added an enum for
5292 signal names (currently only LAST_SIGNAL); moved array of signals to
5293 a static variable instead of field in Class struct; used LAST_SIGNAL
5294 instead of 0 in (nautilus_window_class_init).
5295 Added static history_list variable. Perhaps this and related functions
5296 belong in their own file.
5297 (nautilus_add_to_history_list): New function, updates global history
5298 list and emits "history_list_changed" signal.
5299 (clear_go_menu_history): New function, erase all the bookmark menu
5300 items from the Go menu.
5301 (activate_bookmark_in_menu_item): New function, go to the uri in the
5302 bookmark stored as user data in the given menu item.
5303 (history_list_changed_cb): New function, updates history section of
5305 (nautilus_window_init): Connect history_list_changed_cb to
5306 "history_list_changed" signal of nautilus_signaller object.
5307 (nautilus_window_constructed): Stores away pointers to Go menu and
5308 separator between static & dynamic parts of this menu.
5309 * src/ntl-window-private.h: (nautilus_add_to_history_list): Prototype
5311 * src/ntl-window-msgs.c: (nautilus_window_update_internals): Call
5312 nautilus_add_to_history_list with the new uri.
5314 2000-02-17 Andy Hertzfeld <andy@eazel.com>
5316 Improved index panel command buttons. There's still a problem
5317 with the button box removal, though.
5319 * libnautilus/nautilus-mime-type.c:
5320 Changed how command strings are structured to a simpler scheme
5321 with no substitution.
5323 * src/ntl-index-panel.c:
5324 Improved the way commands are launched and fixed a bug in the
5325 button removal code, but there's still some problems.
5327 2000-02-17 Andy Hertzfeld <andy@eazel.com>
5329 implemented command buttons for the index panel.
5331 * libnautilus/nautilus-mime-type.c, libnautilus/nautilus-mime-type.h:
5332 This is interim code for associating applications with mime-types; we
5333 will eventually keep this in OAF or GConf or at least in a file
5334 somewhere, but for now it's just scaffolding so we can work on the UI.
5335 * libnautilus/Makefile.am:
5336 Make nautilus-mime-type.c,h build.
5337 * stc/ntl-index-panel.c:
5338 Added code to call nautilus-mime-types to get relevant commands based
5339 on the mime-type, and then generate corresponding buttons in the index
5342 2000-02-17 Darin Adler <darin@eazel.com>
5344 Hand tuned icons for multiple resolutions.
5345 So for example you can have an icon designed for the 96x96
5346 size, which is called i-directory-96.png, and it will be
5347 loaded instead of loading i-directory.png and scaling it.
5349 * libnautilus/nautilus-icon-factory.c:
5350 (nautilus_icon_factory_get_icon_name_for_regular_file),
5351 (add_size_to_icon_name), (nautilus_icon_factory_load_icon),
5352 (nautilus_icon_factory_create_image_for_item),
5353 (get_larger_icon_size), (get_smaller_icon_size),
5354 (get_next_icon_size_to_try), (load_specific_image),
5355 (load_image_for_scaling), (load_image_scale_if_necessary),
5356 (nautilus_icon_factory_mark_recently_used), (mark_recently_used),
5357 (nautilus_icon_factory_get_pixbuf_for_icon),
5358 (get_image_from_cache), (nautilus_icon_factory_scale): Changed the
5359 icon factory so it will look for icons of multiple resolutions and
5360 scale the nearest. Also made other improvements including sharing
5361 a single fallback icon instead of making multiple ones, using the
5362 "core-dump" icon for files named "core", adding some additional
5365 * libnautilus/nautilus-icon-factory.c:
5366 (self_test_next_icon_size_to_try),
5367 (nautilus_self_check_icon_factory):
5368 * libnautilus/nautilus-lib-self-check-functions.h:
5369 The new code needed a bit of self-check code, so I added it.
5371 * libnautilus/nautilus-directory.c:
5372 (nautilus_directory_try_to_read_metafile),
5373 (nautilus_directory_construct_alternate_metafile_uri):
5374 Since "make check" was failing, I checked to see what was wrong.
5375 The code that was respecting the new "valid_fields" part of
5376 GnomeVFSFileInfo was looking at the wrong field (flags instead
5377 of valid_fields), which caused all metafile reading to fail.
5378 While debugging this, I noticed that the alternate metafiles
5379 had particularly bad long names, so I fixed that too.
5381 * libnautilus/nautilus-directory.c: (nautilus_file_ref):
5382 * libnautilus/nautilus-glib-extensions.c:
5383 (nautilus_strdup_strftime):
5384 * libnautilus/nautilus-string.c: (nautilus_string_to_int):
5385 Switched from using <limits.h> constants to the ones from
5386 <glib.h>. I have no idea why I made this change. All hail
5387 glib! C Standard be damned!
5389 * fm-directory-view.c:
5390 (use_eazel_theme_icons_cb), (add_menu_item),
5391 (fm_directory_view_real_append_background_context_menu_items):
5392 Started on a user interface to switch to the Eazel theme
5393 icons so you can see the multiple-resolution icons, but
5394 I wanted to check in, so I stopped before it was done.
5396 * src/nautilus-index-title.c:
5397 Reindented Andy's new code to match the emacs mode header.
5400 * icons/Makefile.am:
5401 * icons/eazel/.cvsignore:
5402 * icons/eazel/Makefile.am:
5403 * icons/eazel/i-directory-24.png:
5404 * icons/eazel/i-directory-36.png:
5405 * icons/eazel/i-directory-72.png:
5406 * icons/eazel/i-directory-96.png:
5407 * icons/eazel/i-directory.png:
5408 I needed some variable-size icons to demonstrate the multiple
5409 resolution support in the icon factory, so I added a few
5410 directory icons from gnomad. Since these don't match the other
5411 icons, I made them part of an "eazel" icons theme.
5413 * RENAMING: Some new name ideas.
5415 2000-02-17 Jonathan Blandford <jrb@redhat.com>
5417 * src/nautilus-index-title.c (nautilus_index_title_set_up_label):
5418 remember strlen (string) + 1 gives you the length necessary to
5419 copy a string, not strlen.
5421 2000-02-16 Andy Hertzfeld <andy@eazel.com>
5423 * src/nautilus-index-title.c:
5424 made the title be above the additional info again; Elliot broke this
5425 when he added the checks for null file objects. Fixed by putting
5426 the checks in the subroutines that do that real work. Also, made
5427 the label center justified.
5429 2000-02-16 Elliot Lee <sopwith@redhat.com>
5431 * components/help/hyperbola-nav-tree.c: Show the stinking view. :)
5433 2000-02-16 John Sullivan <sullivan@eazel.com>
5435 * libnautilus/nautilus-directory.c:
5436 Change empty folder string from "empty" to "0 items" at
5437 Andy's suggestion. It looked too much like part of the
5440 2000-02-16 Elliot Lee <sopwith@redhat.com>
5442 * components/help/hyperbola-main.c: Fix the GOAD ID for help index.
5443 * components/help/hyperbola.goad: Add help index.
5444 * libnautilus/nautilus-directory.c: To avoid a warning in case
5445 nautilus_directory_new fails, and speed things up, remove
5447 * libnautilus/nautilus-icon-factory.c: Add sanity checks to avoid segfaults.
5448 * src/nautilus-index-title.c: Add sanity check, plus try to handle
5449 case where nautilus_file_get() returns NULL.
5450 * src/ntl-window.c, src/ntl-window-msgs.c: Notify the index panel
5451 of a URI change when we notify everyone else, instead of doing it when
5452 the user requests a change.
5454 * components/html/ntl-web-browser.c: Fixups for VFS usage.
5455 * components/help/converters/gnome-info2html2/main.c: Search info path for files.
5457 * components/help/hyperbola-nav-index.c: Fix warning.
5458 * components/history/ntl-history-view.c: Update for Bonobo UIH changes.
5459 * components/html/main.c: Update repo ID for Bonobo changes.
5460 * src/ntl-view-bonobo-control.c: Likewise
5461 * src/ntl-view-bonobo-subdoc.c: Likewise
5462 * src/ntl-view-nautilus.c: Likewise
5463 * src/ntl-view.c: Only check for death every other second.
5464 * components/html/ntl-web-browser: Debugging printfs for now
5466 2000-02-16 Darin Adler <darin@eazel.com>
5468 Added icon stretching and did some cleanups.
5469 Stretched icons aren't yet persistent (the scale factor is not
5470 saved in metadata), but that's not much more work.
5472 * libnautilus/gnome-icon-container-private.h:
5473 * libnautilus/gnome-icon-container.h:
5474 * libnautilus/gnome-icon-container.c: (icon_new), (icon_position),
5475 (icon_set_position), (icon_get_size), (icon_set_size),
5476 (icon_toggle_selected), (icon_select), (icon_set_selected),
5477 (button_press_event), (gnome_icon_container_begin_stretch),
5478 (start_stretching), (gnome_icon_container_stretch),
5479 (continue_stretching), (gnome_icon_container_end_stretch),
5480 (end_stretching), (button_release_event), (motion_notify_event),
5481 (handle_icon_button_press), (gnome_icon_container_clear),
5482 (request_update_one), (update_icon), (get_first_selected_icon),
5483 (gnome_icon_container_show_stretch_handles),
5484 (gnome_icon_container_has_stretch_handles),
5485 (gnome_icon_container_is_stretched),
5486 (gnome_icon_container_unstretch), (compute_stretch),
5487 (nautilus_self_check_compute_stretch),
5488 (nautilus_self_check_gnome_icon_container):
5489 * libnautilus/nautilus-icons-view-icon-item.h:
5490 * libnautilus/nautilus-icons-view-icon-item.c:
5491 (nautilus_icons_view_icon_item_draw),
5492 (nautilus_icons_view_icon_item_point),
5493 (nautilus_icons_view_icon_item_set_show_stretch_handles),
5494 (nautilus_icons_view_icon_item_get_hit_stretch_handle):
5495 * libnautilus/nautilus-lib-self-check-functions.h:
5496 Added machinery for stretching icons.
5498 * src/file-manager/fm-directory-view.h:
5499 * src/file-manager/fm-directory-view.c:
5500 (append_item_context_menu_items),
5501 (fm_directory_view_real_append_item_context_menu_items),
5502 (fm_directory_view_initialize_class), (create_item_context_menu):
5503 Added machinery for views to have view-specific menu items for
5504 icons as well as for the window as a whole.
5506 * src/file-manager/fm-directory-view-icons.c:
5507 (fm_directory_view_icons_initialize_class),
5508 (fm_directory_view_icons_append_item_context_menu_items),
5509 (show_stretch_handles_cb), (unstretch_item_cb):
5510 Added menu items for stretching icons.
5512 * libnautilus/gnome-icon-container.c: (start_rubberbanding):
5513 Fixed bug that would result in two rubberband timeouts at
5514 once if you did rubberbanding quickly.
5516 * components/notes/.cvsignore: Andy's new component needs a
5517 .cvsignore file for its generated pieces.
5519 * libnautilus/nautilus-directory.c:
5520 (nautilus_directory_try_to_read_metafile),
5521 (nautilus_directory_read_metafile):
5522 Simplified logic in metafile-reading functions and fixed a bug
5523 where the vfs handle would be left open if certain categories
5526 * libnautilus/nautilus-gtk-extensions.h:
5527 Added a missing gtk_marshal function.
5529 * libnautilus/nautilus-icon-factory.h:
5530 * libnautilus/nautilus-icon-factory.c:
5531 (nautilus_icon_size_for_zoom_level),
5532 (nautilus_get_icon_size_for_zoom_level),
5533 (nautilus_icon_factory_get_pixbuf_for_file),
5534 (nautilus_icon_factory_get_pixmap_and_mask_for_file):
5535 * src/nautilus-index-title.c: (nautilus_index_title_set_up_icon):
5536 * src/nautilus-zoom-control.c: (set_zoom_level):
5537 * src/file-manager/fm-directory-view-list.c:
5538 (fm_directory_view_list_bump_zoom_level), (install_icon):
5539 Made some API improvements for the icon factory. Added a missing
5540 get_ to the name nautilus_get_icon_size_for_zoom_level and added
5541 convenience functions for the most common uses of the factory.
5543 * libnautilus/ntl-content-view-frame.c:
5544 * libnautilus/ntl-meta-view-frame.c:
5545 * libnautilus/ntl-view-frame.c:
5546 Weaned all the files in libnautilus itself from using the
5547 libnautilus.h include file. They instead include the parts that
5548 they need. Also added some missing <config.h> includes.
5550 2000-02-15 Andy Hertzfeld <andy@eazel.com>
5552 * src/ntl-index-panel.c:
5553 Removed test code that created extra tabs on right-click.
5554 * src/ntl-index-title.c:
5555 Added logic to break the title into two lines so it can use a larger font,
5556 if it can find an appropriate breaking point.
5558 2000-02-15 Maciej Stachowiak <mjs@eazel.com>
5560 * src/ntl-window.c (nautilus_window_init): gtk_quit_add_destroy
5561 the NautilusWindow at level 1, so that we can clean up CORBA
5562 objects and such when we Exit rather than Closing the last window.
5564 * src/ntl-index-panel.c: sink and ref the notebook and unref in
5565 the destructor, so it gets destroyed even if it never ends up
5566 getting added to the index panel.
5568 * src/ntl-view-nautilus.c: Don't ref the Control interface we just
5569 QI'd; query_interface implicitly refs.
5571 2000-02-15 Elliot Lee <sopwith@redhat.com>
5573 * libnautilus/nautilus-directory.c: Pay attention to the
5574 GnomeVFSFileInfo flags to determine whether to read the metafile.
5576 * components/html/ntl-web-browser.c: Try to fall back to using
5577 gnome-vfs if we can't load it via libwww. Sort of bad hack, but it
5580 2000-02-15 John Sullivan <sullivan@eazel.com>
5582 History metaview now lists all locations visited in this
5583 session, from most recent (top) to longest ago, with no
5586 * components/history/ntl-history-view.c:
5587 Removed last_row field from HistoryView struct. This was used
5588 to keep track of previously-visited location, but since the most
5589 recently-visited location is always first now, this is always 0.
5590 (get_bookmark_from_row): New helper function to extract the bookmark
5591 stored in the row data.
5592 (get_uri_from_row): Use get_bookmark_from_row.
5593 (hyperbola_navigation_history_notify_location_change):
5594 Remove existing row for this location, if any, and then prepend
5595 new row. Replaces back/forward/reload logic that wasn't quite right
5597 (hyperbola_navigation_history_select_row): Move gtk_clist_freeze
5598 after early bail-out; change bail-out to just check for row 0;
5599 remove setting of last_row; add comment about dragging bug.
5600 (menu_setup): Change menu item from "Do nothing" to
5601 "Do nothing (menu merge test)" for clarity.
5602 (make_obj) Remove initialization for last_row.
5604 2000-02-15 John Sullivan <sullivan@eazel.com>
5606 Added small icons to history metaview.
5608 * components/history/ntl-history-view.c:
5609 Added #defines for columns and column count.
5610 (get_uri_from_row): New function, abstracts getting the URI from
5611 a row in the history list.
5612 (install_icon): New function, handles getting the right icon and
5613 putting it into the right cell.
5614 (hyperbola_navigation_history_notify_location_change):
5615 Deployed column #defines; fixed check-off-end-of-list bug;
5616 use get_uri_from_row; store NautilusBookmark as row data;
5618 (hyperbola_navigation_history_select_row): use get_uri_from_row.
5619 (make_obj): Turn off titles for clist, include icon column;
5620 set row height to account for icons
5621 (main): add gnome_vfs_init (needed by nautilus_icon_factory).
5623 2000-02-15 Ramiro Estrugo <ramiro@eazel.com>
5627 * docs/style-guide.html: New file
5629 2000-02-15 Ramiro Estrugo <ramiro@eazel.com>
5631 Added displacement offset for popup menus, so that the first
5632 item doesn't get triggered right away.
5634 * libnautilus/nautilus-gtk-extensions.c:
5635 * libnautilus/nautilus-gtk-extensions.h: Added x,y displacement
5636 args to nautilus_pop_up_context_menu.
5638 * src/ntl-window.c: Updated for new api
5640 * src/file-manager/fm-directory-view.c: Updated for new api
5642 2000-02-15 Ramiro Estrugo <ramiro@eazel.com>
5644 Added modules blurb to HACKING file.
5646 * HACKING: Added modules blurb.
5648 2000-02-15 John Sullivan <sullivan@eazel.com>
5650 Moved NautilusBookmark to libnautilus, in preparation for
5651 using it in the History metaview.
5653 * src/nautilus-bookmark.c: Removed file.
5654 * src/nautilus-bookmark.h: Removed file.
5655 * src/Makefile.am: Took out these two files.
5657 * libnautilus/nautilus-bookmark.c: Added file.
5658 * libnautilus/nautilus-bookmark.h: Added file.
5659 * libnautilus/Makefile.am: Build the two new files.
5661 * src/nautilus-bookmarklist.h: Updated #include
5663 2000-02-15 John Sullivan <sullivan@eazel.com>
5665 Right-click menus from Back and Forward buttons now include
5666 small icons. To support this, window back/forward lists now
5667 store NautilusBookmarks.
5669 * src/nautilus-bookmarks-menu.c:
5670 (bookmark_menu_item_new): Removed (moved to nautilus-bookmark.c/h,
5671 and renamed nautilus_bookmark_menu_item_new).
5672 (create_pixmap_widget_for_bookmark): Removed (moved to nautilus-bookmark.c/h)
5673 (nautilus_bookmarks_menu_repopulate): updated caller to match name change.
5675 * src/nautilus-bookmark.h:
5676 (nautilus_bookmark_menu_item_new): New function.
5677 * src/nautilus-bookmark.c:
5678 (nautilus_bookmark_menu_item_new): New function, moved over from
5679 nautilus-bookmarks-menu.c
5680 (create_pixmap_widget_for_bookmark): New function, moved over from
5681 nautilus-bookmarks-menu.c
5684 Replaced uris_prev and uris_next with back_list and forward_list.
5685 Added comment explaining that the data is now NautilusBookmark * and
5687 * src/ntl-window-msgs.c:
5688 (nautilus_window_update_internals): updated to use back_list and
5691 (activate_back_or_forward_menu_item), (nautilus_window_destroy):
5692 updated to use back_list and forward_list
5693 (create_back_or_forward_menu): updated to use back_list and
5694 forward_list; use nautilus_bookmark_menu_item_new to get icons.
5695 (nautilus_window_back_or_forward): New function, consolidates
5696 repeated code from nautilus_window_back and nautilus_window_forward.
5697 (nautilus_window_back), (nautilus_window_fwd): Now call
5698 nautilus_window_back_or_forward.
5700 2000-02-15 Andy Hertzfeld <andy@eazel.com>
5702 * src/nautilus-index-tabs/c:
5703 improved tab-resizing code by not the last one if it's invisible,
5704 also, invoked resize code after a tab is selected
5706 2000-02-14 Andy Hertzfeld <andy@eazel.com>
5708 * components/notes/ntl-notes.c:
5709 fixed problems with notes component by initializing gnome-vfs, etc.
5710 changed metadata key to "ANNOTATION" to keep them separate from panel notes
5711 * libnautilus/nautilus-metadata.h:
5712 defined "ANNOTATION" metadata type
5714 2000-02-14 Andy Hertzfeld <andy@eazel.com>
5716 first cut at annotation metaview
5718 * components/notes/Makefile.am:
5719 automake file for notes component
5720 * components/notes/ntl-notes.c:
5721 implementation of annotation metaview
5722 * components/notes/ntl-notes.goad:
5723 activation file for notes component
5724 * components/Makefile.am:
5727 added component/notes/Makefile
5729 added annotation metaview to prefs
5731 2000-02-14 John Sullivan <sullivan@eazel.com>
5733 Back and Forward buttons now sprout right-click menus.
5734 Still work to do to put small icons in them, and to
5735 make them keep the back/forward chain intact.
5737 * libnautilus/nautilus-gtk-extensions.h:
5738 * libnautilus/nautilus-gtk-extensions.c:
5739 (nautilus_pop_up_context_menu): New helper function used
5740 when displaying right-click context menus.
5742 * src/file-manager/fm-directory-view.c:
5743 (popup_context_menu): Removed (moved & renamed to
5744 nautilus_pop_up_context_menu).
5745 (fm_directory_view_popup_item_context_menu),
5746 (fm_directory_view_popup_background_context_menu):
5747 Now use nautilus_pop_up_context_menu.
5750 (activate_back_or_forward_menu_item): New function, go to the
5751 appropriate location.
5752 (activate_back_menu_item_cb): New function, call
5753 activate_back_or_forward_menu_item.
5754 (activate_forward_menu_item_cb): New function, call
5755 activate_back_or_forward_menu_item.
5756 (create_back_or_forward_menu): New function, create and populate a
5757 menu from the back list or the forward list.
5758 (back_or_forward_button_clicked_cb): New function, pop up the result
5759 of create_back_or_forward_menu.
5760 (nautilus_window_constructed): Wire up context menu code to
5761 back and forward buttons.
5763 2000-02-14 Darin Adler <darin@eazel.com>
5765 * libnautilus/nautilus-icon-factory.c:
5766 (nautilus_icon_factory_load_icon):
5767 Just noticed that Elliot checked in a gdk-pixbuf fix, so I can
5768 roll the cast back out.
5770 2000-02-14 Darin Adler <darin@eazel.com>
5772 * libnautilus/nautilus-icon-factory.c:
5773 (nautilus_icon_factory_load_icon):
5774 Need a cast in here so people can build while I wait for the OK
5775 from Federico to check in my const change to gdk-pixbuf.
5777 2000-02-14 Elliot Lee <sopwith@redhat.com>
5779 * libnautilus/nautilus-icon-factory.c: Use GPOINTER_TO_UINT()
5780 instead of a manual cast.
5782 2000-02-14 Darin Adler <darin@eazel.com>
5784 * libnautilus/nautilus-directory.c: (nautilus_directory_read_metafile):
5785 Handle the case where you try to make a NautilusDirectory object for
5786 something that's a file.
5788 * libnautilus/nautilus-directory.c: (nautilus_directory_get_metadata):
5789 Handle NULL directory objects better.
5791 * src/ntl-index-panel.c:
5792 Changed handling of NULL directory case so it will display something
5793 instead of doing early exits that leave the display as-is.
5795 * src/nautilus-index-title.h:
5796 * src/nautilus-index-title.c:
5797 Reformatted, some minor cleanups.
5799 2000-02-14 Darin Adler <darin@eazel.com>
5801 * libnautilus/nautilus-icon-factory.c:
5802 Redid the icon factory to fix a few things:
5804 - Replaced the existing non-working count-based LRU algorithm with
5805 one that works (uses a linked list).
5806 - Keep resized icons in the cache.
5807 - Hand out a single NautilusScalableIcon when multiple callers ask
5808 for the same icon instead of a new one each time.
5809 - Fixed one bug where pixbuf's would get an extra ref and never get
5810 freed once they are no longer used.
5812 * libnautilus/nautilus-metadata.h:
5813 * src/nautilus-index-title.c (nautilus_index_title_set_up_info):
5814 * libnautilus/nautilus-icon-factory.c
5815 (nautilus_icon_factory_get_icon_for_file):
5816 Added keys for the two pieces of metadata Andy just added.
5818 * libnautilus/gnome-icon-container-private.h:
5819 * libnautilus/gnome-icon-container.c: (scroll),
5820 (make_icon_visible), (set_scroll_region): Fixed the code that
5821 resizes the canvas as items are added and removed to properly
5822 handle the case where the canvas extends into negative-coordinate
5823 territory. This included removing the width and height that were
5824 stored in the private structure.
5826 * libnautilus/nautilus-directory.c: (nautilus_directory_get): Tiny
5829 2000-02-14 John Sullivan <sullivan@eazel.com>
5831 Fixed index title bugs that showed up when visiting http:// url.
5832 It's still the case that the wrong text appears; I just made it
5833 not drop into the debugger.
5835 * libnautilus/nautilus-icon-factory.c:
5836 (nautilus_icon_factory_get_icon_for_file): Made it return NULL
5837 for a NULL file. Could have made this a return_val_if_fail
5838 instead, wasn't sure which was better in this case.
5840 * src/nautilus-index-title.c:
5841 (nautilus_index_title_set_up_icon): Made it bail out early if
5842 NautilusFile parameter is NULL.
5843 (nautilus_index_title_set_up_info): Made it bail out early if
5844 NautilusFile parameter is NULL.
5845 (nautilus_index_title_set_uri): Made it unref file_object only
5849 Experimental zoom behavior change: Now it resets the default
5850 zoom level every time the zoom level is set. This means that
5851 zoom level changes stick across locations, until you revisit
5852 a location that had its zoom level set explicitly earlier.
5854 * src/file-manager/fm-directory-view-icons.c:
5855 Added default_zoom_level to Details struct.
5856 (fm_directory_view_icons_initialize): Initialize default_zoom_level
5857 to NAUTILUS_ZOOM_LEVEL_STANDARD.
5858 (fm_directory_view_icons_begin_loading),
5859 (fm_directory_view_icons_get_zoom_level): Pass default_zoom_level
5861 (fm_directory_view_icons_set_zoom_level): Pass default_zoom_level
5862 to metadata call, also reset default_zoom_level to new level.
5864 * src/file-manager/fm-directory-view-list.c:
5865 Added default_zoom_level to Details struct.
5866 (fm_directory_view_icons_initialize): Initialize default_zoom_level
5867 to NAUTILUS_ZOOM_LEVEL_SMALLER.
5868 (fm_directory_view_list_begin_loading): Pass default_zoom_level
5870 (fm_directory_view_list_set_zoom_level): Pass default_zoom_level
5871 to metadata call, also reset default_zoom_level to new level.
5873 2000-02-14 Elliot Lee <sopwith@redhat.com>
5875 * components/html/ntl-web-browser.c: Send status strings for now,
5876 until nautilus knows how to generate them from selection info.
5878 2000-02-14 Andy Hertzfeld <andy@eazel.com>
5880 * src/nautilus-index-tabs.c:
5881 Fixed warning about measuring NULL string that Elliot pointed out
5883 2000-02-14 Elliot Lee <sopwith@redhat.com>
5885 * src/ntl-window-msgs.c: Revert.
5886 * components/help/hyperbola-nav-index.c: More work.
5888 2000-02-13 Andy Hertzfeld <andy@eazel.com>
5890 * libnautilus/nautilus-icon-factory.c:
5891 Made it use custom image specified in meta-data, if present.
5892 also, upped the size used for displaying images as themselves
5893 without thumbnails, from 10K to 16K.
5894 * src/nautilus-index-title.c:
5895 Display "notes" from metadata in index panel if present.
5896 * src/ntl-index-panel.c:
5897 Fiddled with drag and drop code trying to get it to accept
5898 image files, not yet working
5900 2000-02-13 Andy Hertzfeld <andy@eazel.com>
5902 Made nautilus-index-title widget to hold the title information
5903 for the index panel.
5905 * src/ntl-index-panel.c:
5906 allocated index-title to display info, removed old code that did it
5908 added nautilus-index-title.c and nautilus-index-title.h
5909 * src/nautilus-index-title.c,h:
5910 moved code from index-panel here to show icon and title
5911 used nautilus_file and icon_factory to get the icon the real way
5912 added more info besides the name (size, type and date)
5914 2000-02-12 Andy Hertzfeld <andy@eazel.com>
5916 * src/nautilus-index-tabs.c:
5917 made the tabs layout be more dynamic, laying out as many
5918 tabs as fit in a row instead of a maximum of two. Tightened
5919 up the layout and improved the drawing, too.
5920 * src/ntl-index-panel.c:
5921 Right clicking on the tabs adds extra ones for testing purposes.
5923 2000-02-11 Andy Hertzfeld <andy@eazel.com>
5925 * libnautilus/gnome-icon-container-dnd.c:
5926 made it no longer use a drag shadow rectangle when dragging a single item
5928 2000-02-11 Andy Hertzfeld <andy@eazel.com>
5931 removed Elliot's weird hack where the index panel size would vary
5932 according to the first letter of the username; replaced it with code
5933 that special-cases the size for "sopwith".
5935 2000-02-11 Andy Hertzfeld <andy@eazel.com>
5937 Finally enabled the new metaview UI
5939 * src/nautilus-index-tabs.c,h:
5940 made clicking on the title tab deactivate the current metaview
5941 removed the panel_width field since it didn't work for the
5942 resizable panel, instead, look at the parents width on the fly
5943 added code to test lots of tabs and improved the drawing in that case
5944 before removing the test code.
5945 * src/ntl-index-panel.c:
5946 removed the USE_NEW_TABS boolean; we always use them now
5948 2000-02-11 John Sullivan <sullivan@eazel.com>
5950 Made right-clicking on an item select just that one item
5951 before popping up context menu. This makes it clear what
5952 the context menu is operating on.
5954 * libnautilus/gnome-icon-container.c:
5955 (handle_icon_button_press): Select just the clicked icon
5956 before sending CONTEXT_CLICK_ICON signal.
5957 * libnautilus/gtkflist.c:
5958 (gtk_flist_button_press): Select just the clicked row
5959 before sending CONTEXT_CLICK_ROW signal.
5961 Fixed bug where "Open" and "Open in New Window" had
5962 unexpected results in list view.
5964 * src/file-manager/fm-directory-view-list.c:
5965 (context_click_row_cb): Fixed bug where this routine was passing
5966 the wrong item to the context menu.
5968 2000-02-11 Elliot Lee <sopwith@redhat.com>
5969 * src/ntl-window.c: If an empty string is passed for a status string, just unset it all.
5970 * src/ntl-window-msgs.c: If we get a selection of size 1, indicate it on the status bar.
5971 (Triggers a nautilus_window_set_status bug, will fix later.)
5973 2000-02-11 John Sullivan <sullivan@eazel.com>
5976 Return of the stored widgets for toolbar buttons that need
5977 sensitivity changes, only this time do them all and add
5978 the new menu items too.
5981 (nautilus_window_constructed): Save away pointers to all the
5982 widgets that need accessing later.
5983 (nautilus_window_allow_back), (nautilus_window_allow_forward),
5984 (nautilus_window_allow_up), (nautilus_window_allow_reload),
5985 (nautilus_window_allow_stop): Use stored widget pointers rather
5986 than GnomeUIInfo arrays to access the buttons and menu items.
5987 Getting the widget from the array only worked until another
5990 * libnautilus/nautilus-directory.c: (get_directory_item_count_hack):
5991 Subtract 2 from item count before returning, to account for . and ..
5993 2000-02-11 John Sullivan <sullivan@eazel.com>
5995 Sensitized "Open" context menu item, and added
5996 "Open in New Window". Extended the framework as
5997 required to support opening into a new window.
5999 * src/ntl-types.h: Added use_new_window gboolean
6000 to NautilusNavigationInfo struct. (Nautilus_
6001 NavigationRequestInfo already had a concept of using
6002 a new window, but it was never passed on to the
6003 window-managing code).
6005 * src/ntl-uri-map.c: (nautilus_navinfo_new): Set the
6006 use_new_window field of the new object based on the
6007 new_window_default/suggested/enforced settings from
6008 the NavigationRequestInfo.
6010 * src/ntl-window-msgs.c: (nautilus_window_change_location_2):
6011 Create a new window if passed-in NautilusNavigationInfo says so.
6013 * src/file-manager/fm-directory-view.h:
6014 (fm_directory_view_activate_entry): Added gboolean
6015 request_new_window parameter.
6017 * src/file-manager/fm-directory-view.c:
6018 (fm_directory_view_activate_entry): Set new_window_suggested
6019 of NavigationRequestInfo based on value of new
6020 request_new_window parameter.
6021 (open_cb): New function, calls fm_directory_view_activate_entry
6022 with request_new_window FALSE.
6023 (open_in_new_window_cb): New function, calls
6024 fm_directory_view_activate_entry with request_new_window TRUE.
6025 (append_item_context_menu_items): Sensitize "Open" item, add
6026 "Open in New Window" item, wire 'em up.
6028 * src/file-manager/fm-directory-view-icons.c:
6029 (icon_container_activate_cb): pass FALSE for request_new_window.
6031 * src/file-manager/fm-directory-view-list.c:
6032 (flist_activate_cb): pass FALSE for request_new_window.
6035 Added beginnings of Go menu, and cleaned up some
6036 cruft found in the process. Holler now if you think
6037 the Go menu is a bad idea.
6040 Removed btn_back and btn_fwd fields, as they were being
6041 initialized and then ignored.
6044 Added go_menu_info array and filled it with Back, Forward,
6045 Up, and Home, all with keyboard equivalents. (Later this menu
6046 will also contain dynamic history list.)
6047 Added #defines for toolbar button indices.
6048 (nautilus_window_constructed): Removed mentions of btn_back
6049 and btn_fwd; moved nautilus_window_allow_stop to after the
6050 menus are set up; added nautilus_window_allow_back and
6051 nautilus_window_allow_forward calls.
6052 (nautilus_window_allow_back): Use #define for Back button index
6053 instead of hardcoded magic number; set Back menu item sensitivity.
6054 (nautilus_window_allow_forward): Use #define for Forward button index
6055 instead of hardcoded magic number; set Forward menu item sensitivity.
6056 (nautilus_window_allow_up): Use #define for Up button index
6057 instead of hardcoded magic number; set Up menu item sensitivity.
6058 (nautilus_window_allow_reload): Use #define for Reload button index
6059 instead of hardcoded magic number (which was incorrect).
6060 (nautilus_window_allow_stop): Use #define for Stop button index
6061 instead of hardcoded magic number.
6063 2000-02-10 Andy Hertzfeld <andy@eazel.com>
6065 * src/ntl-index-panel.c:
6066 added code to hide metaview when the title tab is clicked upon
6067 * src/nautilus-index-tabs.c:
6068 made hit-testing work for the title tab
6070 defaulted hpaned position to proper size
6072 2000-02-10 Andy Hertzfeld <andy@eazel.com>
6074 * src/nautilus-index-tabs.c,h:
6075 added visibility property to tabs, improved drawing and layout,
6076 added title mode for title tab on top
6077 * src/ntl-index-panel.c
6078 made it allocate title tab and use it
6079 made clicking on tabs activate the proper view
6081 2000-02-10 John Sullivan <sullivan@eazel.com>
6083 * libnautilus/nautilus-icons-view-icon-item.c:
6084 (draw_or_measure_text): Removed : from the set of breakable
6085 characters, so times won't get broken in two.
6087 2000-02-10 Elliot Lee <sopwith@redhat.com>
6089 * src/ntl-window.c: Set hpaned position for Darin's sanity.
6090 * src/ntl-window-state.c: Handle view loading failure properly.
6092 2000-02-10 Darin Adler <darin@eazel.com>
6094 * ntl-window-msgs.c: (nautilus_window_has_really_changed):
6095 Check GTK_OBJECT_DESTROYED to handle the case of a view
6096 that self-destructs.
6098 2000-02-10 Darin Adler <darin@eazel.com>
6100 * nautilus-index-tabs.c: (draw_or_hit_test_all_tabs):
6101 Fix so it doesn't try to create a GC when hit testing
6102 a tab. This gets rid of critical errors people were
6105 2000-02-10 John Sullivan <sullivan@eazel.com>
6107 * libnautilus/nautilus-directory.c:
6108 (nautilus_file_get_owner_as_string): New function
6109 (nautilus_file_get_group_as_string): New function
6110 (nautilus_file_get_permissions_as_string): New function
6111 (nautilus_file_get_string_attribute): Now supports
6112 "owner", "group", and "permissions" string attributes.
6114 * src/file-manager/fm-icon-text-window.c:
6115 Now includes "owner", "group", and "permissions" among the
6116 choices to display under an icon.
6118 2000-02-10 Elliot Lee <sopwith@redhat.com>
6120 * src/ntl-main.c: Add "Bonobo" to list of log domains to catch.
6122 * src/ntl-window.c: Do proper UIH setup for the menubar and
6123 toolbar. Also switch to using the hpaned temporarily, to be able
6124 to see/manipulate all the meta views.
6126 * components/history/ntl-history-view.c: Implement client side of
6127 menu merging properly.
6129 2000-02-10 John Sullivan <sullivan@eazel.com>
6131 Used directory item count hack when comparing by size, so
6132 the item counts are sorted correctly. This is horribly
6133 inefficient, but isn't actually horribly slow in most cases.
6134 This will be fixed when we switch the item count calculation
6135 to use the deferred-result architecture.
6137 * libnautilus/nautilus-directory.c:
6138 (nautilus_file_compare_by_size_with_directories): New function,
6139 uses item count hack, as well as putting directories before
6141 (nautilus_file_compare_for_sort_internal): Uses
6142 nautilus_file_compare_by_size_with_directories to handle
6143 directories, falls through to GnomeVFS rules for other cases.
6145 2000-02-10 John Sullivan <sullivan@eazel.com>
6147 Put in quick hack for showing directory item counts under icons
6148 since "--" looks so awful. It's a hack because it blocks the
6149 display until all directories inside this one have been
6150 iterated. We'll change that after we've got a deferred-result
6151 architecture in NautilusDirectory.
6153 * libnautilus/nautilus-directory.c:
6154 (get_directory_item_count_hack): New function to count items
6155 in a directory. Will go away with time.
6156 (nautilus_file_get_size_as_string): uses new hack instead of
6157 returning "--" for directory sizes.
6159 2000-02-09 Andy Hertzfeld <andy@eazel.com>
6161 Completed hit-testing and activation for the index tabs. They're
6162 usable now, but I'm leaving them off until they're more refined.
6164 * src/nautilus-index-tabs.c:
6165 completed hit-testing
6166 * src/ntl-index-panel.c:
6167 activate the appropriate metaview when the corresponding tab is clicked
6169 2000-02-09 Andy Hertzfeld <andy@eazel.com>
6171 More work on the index panel, still conditionally disabled;
6172 change USE_NEW_TABS to a non-zero value if you want to check it out.
6174 * src/nautilus-index-tabs.c,h:
6175 improved positioning and started on hit-testing
6176 * src/ntl-index-panel.c:
6177 made the notebook hidden by default and added hit-testing infrastructure
6178 * src/nautilus-zoom-control.c:
6179 fixed incorrect comment
6181 2000-02-09 Darin Adler <darin@eazel.com>
6183 * fm-directory-view-icons.c:
6184 (fm_directory_view_icons_get_full_icon_text_attribute_names):
6185 (fm_directory_view_icons_set_full_icon_text_attribute_names):
6186 After talking to John, removed the asserts from both of these
6187 routines. Later, he'll figure out whether this needs refinement,
6188 but for now we just want to avoid the abort on startup!
6190 2000-02-09 Darin Adler <darin@eazel.com>
6192 Reworked the canvas item class used by the icon
6193 container. Straightened out the use of various coordinate systems
6194 and bounds calculations and removed much unused code inherited
6195 from the GdkPixbuf canvas item class that Andy cloned our code
6196 from. Changed the class so it doesn't scale icons any more -- we
6197 leave that to the icon factory so the scaled icons can be cached.
6199 * libnautilus/gnome-icon-container-dnd.c:
6200 * libnautilus/gnome-icon-container-private.h:
6201 * libnautilus/gnome-icon-container.c:
6202 * libnautilus/nautilus-icons-view-icon-item.c:
6203 * libnautilus/nautilus-icons-view-icon-item.h:
6204 Made extensive changes to the icon item class, including getting
6205 rid of the "x", "y", "width", and "height" attributes, adding a
6206 new "font" attribute, changing the "label" attribute name to "text"
6207 to be more consistent with other canvas items, simplifying the
6208 update logic for now (we can recomplicate it later if need be),
6209 changing the pixbuf to have a fixed size in pixels instead of being
6210 scaled with the pixels_per_unit and changing the pixbuf when we change
6211 zoom levels, and other misc. cleanup.
6212 (nautilus_icons_view_icon_item_get_arg):
6213 Fixed bug for "label" which would return a non-strdup'd piece of text.
6214 (draw_or_measure_text_box):
6215 Fixed bug where width of the selection box would be based on the
6216 length of the last line of text, not the widest, and extra GCs would
6217 be created for each line of text.
6219 * libnautilus/nautilus-icons-controller.h:
6220 * libnautilus/nautilus-icons-controller.c:
6221 (nautilus_icons_controller_get_icon_image):
6222 * src/file-manager/fm-icons-controller.c:
6223 (fm_icons_controller_get_icon_image):
6224 Changed the interface so that the icons controller specifies the icon
6225 as a NautilusScalableIcon instead of a GdkPixbuf. This lets the icon
6226 container get the appropriate icon for size as it zooms.
6228 * libnautilus/gdk-extensions.h:
6229 * libnautilus/gdk-extensions.c:
6230 (nautilus_gdk_font_equal):
6231 Added a version of gdk_font_equal that works with NULL for the font.
6232 Maybe we need a naming scheme for these NULL-tolerant variations on
6235 * src/ntl-uri-map.c: (nautilus_navinfo_free):
6236 * src/ntl-window-msgs.c: (nautilus_window_change_location_2):
6237 Fixed a NULL dereference that would happen when @navi was NULL.
6239 * libnautilus/nautilus-directory.c:
6240 (nautilus_directory_try_to_read_metafile):
6241 Fixed error handling for case when gnome_vfs_read fails. Fixed
6242 error handling for case where metafile_info.size won't fit into a
6243 size_t. Switched back to g_malloc instead of g_alloca, since the
6244 size of a file might be too big for the stack. In the long run, we
6245 will feed the file data directly to the XML code, so this is a bit
6246 temporary. Removed the assert that Elliot added to help track
6247 down the giant files sizes coming from gnome-vfs; the failure in
6248 g_malloc will be easy to debug, unlike the failure in
6249 g_alloca. (The assert was added without a ChangeLog entry.)
6251 2000-02-09 John Sullivan <sullivan@eazel.com>
6253 Fixed bug Andy found with icon-text window.
6255 * src/file-manager/fm-icon-text-window.c:
6256 * src/file-manager/fm-icon-text-window.h:
6257 Removed icon_view static variable.
6258 (changed_attributes_option_menu_cb): Removed assert that icon_view
6259 is valid, since there's only a global setting; pass NULL as parameter
6260 to fm_directory_view_icons_set_full_icon_text_attribute_names.
6261 (fm_icon_text_window_set_view): Eliminated, since there's only a
6264 * src/file-manager/fm-directory-view-icons.c:
6265 (customize_icon_text_cb): Removed call to fm_icon_text_window_set_view.
6266 (fm_directory_view_icons_get_full_icon_text_attribute_names),
6267 (fm_directory_view_icons_set_full_icon_text_attribute_names):
6268 Clarified comments, and added assertion that no particular
6269 viewer was specified.
6271 2000-02-09 Elliot Lee <sopwith@redhat.com>
6273 * libnautilus/bonobo-stream-vfs.[ch]: Implement truncate.
6274 * src/nautilus-zoom-control.c: Use GINT_TO_POINTER and GPOINTER_TO_INT macros
6275 for "proper" int <-> pointer conversion.
6277 2000-02-09 John Sullivan <sullivan@eazel.com>
6279 * src/file-manager/fm-icon-text-window.c:
6280 (get_attribute_index_from_option_menu): New helper function.
6281 (ensure_unique_attributes): New function, makes sure that no
6282 two option menus in this window have same value.
6283 (is_in_chosen_values): New function, used by ensure_unique_attributes.
6284 (get_chosen_attribute_name): Use get_attribute_index_from_option_menu.
6285 (changed_attributes_option_menu_cb): Reworked to use array of
6286 option menus; also calls ensure_unique_attributes so the user can't
6287 set more than one of the menus to the same value (new one wins, old
6288 one gets set to first unused value).
6289 (create_attributes_option_menu): Now takes menu_number parameter,
6290 which is passed to item-activation callback.
6291 (create_icon_text_window): Reworked to use array of option menus;
6292 renamed all glade-invented variable names to sensible ones.
6294 * src/file-manager/fm-directory-view-icons.c:
6295 (fm_directory_view_icons_append_background_context_menu_items):
6296 Added a separator before "Customize Icon Text...", since by acting
6297 globally rather than on the viewed directory it's conceptually in a
6298 different class than the other menu items. It may move out of this
6299 menu entirely someday.
6301 * libnautilus/nautilus-directory.c:
6302 (nautilus_file_get_size_as_string): Back to using "--" for directories,
6303 so there's no blank line. We want to use item counts here, but I've
6304 postponed implementing that feature.
6305 (nautilus_file_get_type_as_string): Made files with no mime type
6306 return "unknown type" at Andy's suggestion.
6307 (nautilus_file_compare_by_type): New function, needed to compare
6308 nautilus-generated type strings (can't use GnomeVFS comparison function).
6310 2000-02-09 Elliot Lee <sopwith@redhat.com>
6312 * src/ntl-view-bonobo-control.c: In notify_location_change, send
6313 progress back (because the Bonobo control, which might be the
6314 content view, can't do it).
6316 * src/ntl-view-bonobo-subdoc.c: As above, plus don't use
6317 PersistFile interface, plus use bonobo-stream-vfs instead of
6320 * src/ntl-uri-map.c: If no content type is found, default to text/plain.
6322 * libnautilus/bonobo-stream-vfs.[ch], libnautilus/Makefile.am:
6323 Initial implementation of bonobo streams in terms of Gnome VFS.
6325 2000-02-09 Maciej Stachowiak <mjs@eazel.com>
6327 * src/ntl-meta-view.c: To avoid a bug which caused parts of the
6328 destroy function calling chain to be skipped, remove the destroy
6329 function. In the process, switch over to using the boilerplate
6330 generation macros from nautilus-gtk-macros.h
6332 2000-02-08 Andy Hertzfeld <andy@eazel.com>
6334 More work on the index tabs; they're drawing properly now but they're
6335 still not ready to be left hooked up.
6337 * src/nautilus-index-tabs.c:
6338 made the index tabs draw properly
6339 * src/nautilus-index-panel.c:
6340 install the new index tabs if the USE_NEW_TABS define is set; it's
6342 * icons/tableft.png, icons/tabright.png:
6343 added alpha channel to edge pixmaps so they can draw non-rectangular
6345 2000-02-08 John Sullivan <sullivan@eazel.com>
6347 Tweaked the appearance of the icon-text choosing window.
6348 Still not quite laid out right, but it's closer.
6350 * src/file-manager/fm-icon-text-window.c:
6351 (create_attributes_option_menu): Center the text in the menu items.
6352 (create_icon_text_window): Change expand parameter for vertical
6353 box so option menus are only as wide as they need to be.
6355 2000-02-08 John Sullivan <sullivan@eazel.com>
6357 Completed first cut at icon-text-choosing UI.
6358 Choose "Customize Icon Text..." from context menu in icon view to try.
6359 Still doesn't save global setting across sessions; awaiting
6360 more of a Preferences framework for that.
6362 * src/file-manager/fm-signaller.h: New file.
6363 * src/file-manager/fm-signaller.c: New file, manages object that acts
6364 as a central place for file manager objects to register with and
6365 broadcast signals, without having to wire specific objects together.
6366 * src/file-manager/Makefile.am: Added these two new files to the build.
6368 * src/file-manager/fm-directory-view-icons.h:
6369 (fm_directory_view_icons_set_full_icon_text_attribute_names): Removed the
6370 set_default parameter; for now at least, the text beneath icons is only
6371 changeable on a global basis.
6372 * src/file-manager/fm-directory-view-icons.c:
6373 (icon_text_changed_cb): New function, tells GnomeIconContainer to
6374 update all its icons.
6375 (fm_directory_view_icons_initialize): Connect with FMSignaller's
6376 "icon_text_changed" signal, so all windows will be updated.
6377 (fm_directory_view_icons_set_full_icon_text_attribute_names):
6378 Removed the set_default parameter; also tell FMSignaller to emit
6379 "icon_text_changed".
6381 * src/file-manager/fm-icon-text-window.c:
6382 Completely reworked. Window used to contain three radio buttons for
6383 pre-defined orderings of size/type/date_modified. Now window contains
6384 three option menus, each with all available text attributes (except
6385 name, which is hardwired to always go first). Selecting from any of
6386 the option menus instantly updates all directory views.
6388 * libnautilus/nautilus-directory.c:
6389 defined private typedef enum NautilusDateType.
6390 (nautilus_file_get_date_as_string): Added NautilusDateType parameter,
6391 which chooses between the three available file dates (modified, changed,
6393 (nautilus_file_get_string_attribute): Now handles all three date types.
6395 2000-02-08 John Sullivan <sullivan@eazel.com>
6397 * configure.in: turned -Werror back on. It had been turned off a
6398 few days ago, presumably accidentally.
6399 * src/nautilus-index-tabs.c: (draw_one_tab): #if-0'ed this
6400 currently unused function out since -Werror doesn't like unused functions.
6402 2000-02-08 Elliot Lee <sopwith@redhat.com>
6404 * src/ntl-window-msgs.c: Don't segfault if an error occurs while loading the start page.
6406 2000-02-07 John Sullivan <sullivan@eazel.com>
6408 Switching which info appears in icon labels is now demoable.
6409 Choose "Customize Icon Text..." from context menu in icon view to try.
6410 Next I'll make a decent UI for it.
6412 * libnautilus/gnome-icon-container.h:
6413 (gnome_icon_container_request_update_all): New function.
6414 * libnautilus/gnome-icon-container.c:
6415 (gnome_icon_container_request_update_all): New function, tells
6416 the container to get fresh text & image for each icon.
6417 (request_update_one): Renamed, was synch_icon_with_controller
6418 (gnome_icon_container_set_zoom_level): Extracted code from which
6419 to form request_update_all, which this now calls.
6421 * src/file-manager/fm-directory-view.h:
6422 (append_background_context_menu_items): New signal, lets subclasses
6423 append (or otherwise modify) items to background context menu.
6424 * src/file-manager/fm-directory-view.c:
6425 Add enum entry for APPEND_BACKGROUND_CONTEXT_MENU_ITEMS
6426 (fm_directory_view_initialize_class): Create new signal, and assign
6428 (fm_directory_view_real_append_background_context_menu_items): Renamed
6429 from append_background_items, now that it's a default signal handler.
6430 (append_item_context_menu_items): New function, broke code out from
6431 create_item_context_menu. This may have an associated signal also someday,
6433 (fm_directory_view_append_background_context_menu_items): New function,
6434 emits "append_background_context_menu_items" signal.
6435 (create_item_context_menu): Broke out append_item_context_menu_items, and
6436 now calls fm_directory_view_append_background_context_menu_items.
6437 (create_background_context_menu): Now calls
6438 fm_directory_view_append_background_context_menu_items.
6440 * src/file-manager/fm-directory-view-icons.h:
6441 (fm_directory_view_icons_set_full_icon_text_attribute_names),
6442 (fm_directory_view_icons_get_full_icon_text_attrubute_names): New functions.
6443 * src/file-manager/fm-directory-view-icons.c:
6444 (fm_directory_view_icons_initialize_class): Replaces function
6445 pointer for append_background_context_menu_items.
6446 (customize_icon_text_cb): New function, shows icon-text-customizing window.
6447 (fm_directory_view_icons_append_background_context_menu_items): New
6448 function, appends a "Customize Icon Text..." item to context menu, which
6449 when selected calls customize_icon_text_cb.
6450 (fm_directory_view_icons_set_full_icon_text_attribute_names): New function,
6451 sets a new order in which to display icon text, and forces an update.
6452 (fm_directory_view_icons_get_full_icon_text_attrubute_names): New function,
6453 returns the order in which to display icon text.
6454 (fm_directory_view_icons_get_icon_text_attribute_names): Reworked to
6455 return a substring of the full string, based on zoom level.
6457 * src/file-manager/fm-icon-text-window.h: New file
6458 * src/file-manager/fm-icon-text-window.c: New file, handles creating
6459 and maintaining state for window from which user chooses text to
6460 display beneath icons.
6461 * src/file-manager/Makefile.am: Build these two new files.
6463 * src/nautilus-bookmarks-window.c:
6464 (create_bookmarks_window): Capitalized "Nautilus" in window title.
6466 2000-02-07 Andy Hertzfeld <andy@eazel.com>
6468 first cut at real tabs for index panel, still incomplete and not
6469 hooked up yet, but will be soon.
6471 * icons/tableft.png, tabright.png:
6472 small pixmaps for nice rounded edges for the tabs
6474 added tableft.png and tabright.png
6476 * src/nautilus-index-tabs.c,h
6477 new class for drawing the index tabs
6479 added index-tabs class to build
6481 2000-02-07 Elliot Lee <sopwith@redhat.com>
6482 * idl/*.idl: Include the .idl files of other modules that we use.
6483 * libnautilus/Makefile.am, src/Makefile.am, src/file-manager/Makefile.am:
6484 Define -D_REENTRANT, just in case.
6485 * src/file-manager/Makefile.am: Add cflags for .idl compilation.
6487 * components/help/Makefile.am: Build converters. Stop installing
6488 the now-unneeded .schemes file.
6490 * components/websearch/ntl-web-search.c: Get rid of
6491 gnome_button_can_default()
6493 * libnautilus/nautilus-icons-view-icon-item.c: Get rid of missing
6494 prototypes and associated warnings by including needed headers.
6496 * src/ntl-types.h, src/ntl-uri-map.[ch], src/ntl-window.h,
6497 src/ntl-window-msgs.c: Remove scheme mapping functionality (now
6498 done in gnome-vfs). Use asynchronous version of get_file_info.
6500 2000-02-04 John Sullivan <sullivan@eazel.com>
6502 Zooming now shows different information at different
6503 zoom levels. Currently uses hardwired pattern. Next
6504 I'll make the pattern configurable.
6506 * src/file-manager/fm-directory-view-icons.c:
6507 * src/file-manager/fm-directory-view-icons.h:
6508 (fm_directory_view_icons_get_icon_text_attribute_names):
6509 New function, returns set of attribute names representing
6510 text to appear in icon label. The set varies depending on
6511 zoom level, but is otherwise currently hardwired.
6513 * src/file-manager/fm-icons-controller.c:
6514 (fm_icons_controller_get_text): Now gets attribute names
6515 from icon view, then creates & returns a newline-delimited
6516 string using nautilus_file_get_string_attribute.
6518 * libnautilus/gnome-icon-container.c:
6519 (synch_icon_with_controller): New function, reinstalls item's
6521 (icon_new): Reworked to call synch_icon_with_controller.
6522 (gnome_icon_container_set_zoom_level): Now iterates through the
6523 icons, calling synch_icon_with_controller so text (and, later, image)
6524 is updated when zoom level changes.
6526 * libnautilus/nautilus-directory.c:
6527 (nautilus_file_get_size_as_string): Changed to return empty
6528 string instead of "--" for directories, because this looked
6529 better in icon view. Might change list view back to use "--"
6532 * libnautilus/nautilus-icons-view-icon-item.c:
6533 (draw_or_measure_text_box): Made it display blank lines
6534 instead of collapsing them out.
6535 (nautilus_icons_view_icon_item_draw): Took out special case
6536 for not showing text at tiniest zoom level. This is now handled
6537 the same way as the other levels.
6539 2000-02-04 Darin Adler <darin@eazel.com>
6541 Make optimized builds succeed.
6543 * configure.in: Turn off uninitialized variable warnings.
6544 At some point, we should turn these off only for the ORBit-
6545 generated stub files, since they are meaningful and useful in
6546 other files. For now, though, since we use -Werror, we need be
6547 sure these warnings don't cause trouble for people who do
6550 * src/ntl-main.c (main): Added GnomeUI to the list of domains
6551 to "stop on warning/critical".
6553 2000-02-04 John Sullivan <sullivan@eazel.com>
6555 Some renaming and reorganization heading towards supporting
6556 icons with more info in label at higher zoom levels.
6558 * libnautilus/nautilus-icons-controller.c:
6559 * libnautilus/nautilus-icons-controller.h:
6560 (nautilus_icons_controller_get_icon_name): Renamed to
6561 nautilus_icons_controller_get_icon_text since it won't always
6563 * src/file-manager/fm-icons-controller.c:
6564 (fm_icons_controller_get_icon_name): Renamed to
6565 fm_icons_controller_get_icon_text to match.
6566 * libnautilus/gnome-icon-container.c:
6567 (icon_new): Updated for name change.
6569 * libnautilus/nautilus-directory.c:
6570 * libnautilus/nautilus-directory.h:
6571 (nautilus_file_get_string_attribute): New function, consolidates
6572 nautilus_file_get_date_as_string, nautilus_file_get_size_as_string,
6573 and nautilus_file_get_type_as_string (and more to come). These old
6574 functions are now private.
6576 * src/file-manager/fm-directory-view-list.c:
6577 Changed column-identifying strings stored in metadata to be attribute
6578 names recognized by nautilus_file_get_string_attribute. Added
6579 LIST_VIEW_DEFAULT_SORTING_ATTRIBUTE.
6580 (get_column_from_metadata_value): Renamed to get_column_from_attribute
6581 (get_metadata_value_from_column): Renamed to get_attribute_from_column
6582 (get_sort_column_from_attribute): New function, handles unknown attributes
6583 by using LIST_VIEW_DEFAULT_SORTING_ATTRIBUTE.
6584 (add_to_flist): Rewrote to use column attributes and nautilus_file_
6585 get_string_attribute.
6586 (fm_directory_view_list_begin_loading): Now calls get_sort_column_
6587 from_attribute to handle the case where saved sorting attribute is unknown.
6589 2000-02-04 Ettore Perazzoli <ettore@helixcode.com>
6591 * components/html/Makefile.am: Use `GTKHTML_LIBS' and
6594 * configure.in: Added a GtkHTML test. If GtkHTML is not
6595 installed, abort. Otherwise, set `GTKHTML_LIBS' and
6596 `GTKHTML_CFLAGS' to the appropriate values to compile and link
6599 2000-02-04 John Sullivan <sullivan@eazel.com>
6601 * libnautilus/nautilus-icon-factory.c:
6602 (nautilus_icon_factory_scale): Changed back to ART_FILTER_BILINEAR
6603 once again after jrb & federico both pointed out that the
6604 black-scaled-icons problem should be fixed (and was) in the latest
6607 2000-02-03 Andy Hertzfeld <andy@eazel.com>
6609 * src/nautilus-zoom-control.c:
6610 made clicking in the middle set zoom to 100%;
6611 made right-clicking on the control bring up a context menu allowing
6612 you to select any of the available choices
6614 2000-02-03 Jonathan Blandford <jrb@redhat.com>
6616 * configure.in: added
6617 components/help/converters/gnome-db2html2/Makefile to the list.
6619 2000-02-03 John Sullivan <sullivan@eazel.com>
6621 * libnautilus/nautilus-icon-factory.c:
6622 (nautilus_icon_factory_scale): Changed back to ART_FILTER_NEAREST
6623 because ART_FILTER_BILINEAR caused scaled icons in list view &
6624 bookmarks menu to appear nearly black.
6626 * libnautilus/nautilus-icons-view-icon-item.c:
6627 (draw_or_measure_text_box): Renamed from nautilus_icons_view_draw_text_box
6629 (nautilus_icons_view_draw_text_box): New cover for draw_or_measure_text_box,
6630 with fewer parameters.
6631 (nautilus_icons_view_measure_text_box): New cover for
6632 draw_or_measure_text_box, with fewer parameters.
6633 (nautilus_icons_view_icon_item_update): Now calls
6634 nautilus_icons_view_measure_text_box.
6635 (nautilus_icons_view_icon_item_draw): Removed extra parameter from call
6636 to nautilus_icons_view_draw_text_box.
6637 (draw_or_measure_text_box): Took out special case for one-line labels,
6638 after measuring to determine that it wasn't making a significant speed
6639 difference. It had bugs with baseline alignment and made updating the
6640 code tricky. Added support for carriage returns in icon labels, by
6641 looping through the measuring code for each carriage-return-delimited
6642 piece. (I tested this with temporary code, so there are no current
6643 carriage-return cases, but there will be soon.)
6645 2000-02-02 Andy Hertzfeld <andy@eazel.com>
6647 * src/nautilus-zoom-control.c:
6648 fixed bug where the zoom size wasn't updating properly by overriding
6649 expose. Also, disable the appropriate arrow at min and max zoom levels
6651 * icons/nautilus3.jpg:
6652 crassly slapped our logo on the nautilus image
6654 2000-02-02 Elliot Lee <sopwith@redhat.com>
6656 * src/ntl-window-msgs.c: If an error happens, we need to reset the
6657 location bar to current location, in case the location change
6658 happened via a drop on the location bar.
6660 * src/file-manager/fm-directory-view.c: Consensus is to use
6661 individual headers rather than catch-alls.
6663 * libnautilus/gnome-icon-container-dnd.c,
6664 libnautilus/nautilus-icons-view-icon-item.c,
6665 libnautilus/nautilus-icon-factory.c: Use bilinear scaling - almost
6666 as fast, much nicer looking.
6668 2000-02-02 Darin Adler <darin@eazel.com>
6670 (on John Sullivan's machine)
6671 * libnautilus/nautilus-directory.c:
6672 (nautilus_directory_get): Changed a ! to a == NULL
6673 (nautilus_directory_start_monitoring): Bail out if directory
6674 is already loaded; this fixes bug where switching views added
6677 2000-02-02 Andy Hertzfeld <andy@eazel.com>
6679 added a zoom control to location bar, not yet wired up to the content view
6681 * icons/Makefile.am:
6683 added zoom image for use in zoom control
6685 * src/nautilus-zoom-control.h:
6686 * src/nautilus-zoom-control.c:
6688 new zoom control widget
6691 added zoom control to location bar
6693 2000-02-01 Darin Adler <darin@eazel.com>
6695 * libnautilus/nautilus-icon-factory.h:
6696 * libnautilus/nautilus-icon-factory.c:
6697 (nautilus_icon_factory_new):
6698 (nautilus_icon_factory_destroy):
6699 (nautilus_get_current_icon_factory):
6700 (nautilus_icon_factory_get_icon_for_file):
6701 (nautilus_icon_factory_set_theme):
6702 (nautilus_icon_factory_get_icon_by_name):
6703 (nautilus_icon_factory_get_pixbuf_for_icon):
6704 (nautilus_scalable_icon_ref):
6705 (nautilus_scalable_icon_unref):
6706 (nautilus_scalable_icon_get_name):
6707 (scalable_icon_get):
6708 (icon_set_possibly_free):
6709 (scalable_icon_new):
6710 Changed the icon factory interface in a few ways: 1) There's no
6711 longer a NautilusIconFactory object. There's just a single global
6712 icon factory. If we find that we need multiple factories, we can
6713 implement that later. 2) Instead of going straight from a file to
6714 a pixbuf, you get a scalable icon, and then get a pixbuf from
6715 that. This allows you to choose the icon and then get
6716 different-sized versions of it without going through the icon
6717 selection process over and over again. There's also a name for
6718 each icon which can be stored in the metafile so you can get the
6719 same icon again before you have full information on a file.
6721 * src/nautilus-bookmark.c:
6722 (nautilus_bookmark_get_pixmap_and_mask):
6723 * src/file-manager/fm-directory-view-list.c:
6725 * src/file-manager/fm-icons-controller.c:
6726 (fm_icons_controller_get_icon_image):
6727 Changed icon factory clients to use the new interface. Maybe
6728 after a while I'll add a convenience function that's as simple as
6729 the old interface was for the common case where you want to go
6730 straight to the pixbuf, but lets try it this way for a while.
6732 * libnautilus/nautilus-string.h:
6733 * libnautilus/nautilus-string.c:
6734 (nautilus_has_prefix):
6735 Added nautilus_has_prefix. This checks to see if a string has a
6736 particular prefix. It's both clearer to read and more efficient
6737 than Andy's typical trick of calling strstr.
6739 * libnautilus/nautilus-lib-self-check-functions.h:
6740 * libnautilus/nautilus-string.c:
6741 Added self-checks for nautilus-string.c. The tests uncovered a
6742 bug in nautilus_string_to_int that I fixed.
6744 * nautilus-glib-extensions.c:
6745 Just a stray new-line.
6747 2000-02-01 John Sullivan <sullivan@eazel.com>
6749 Fixed bug where selection info didn't appear in the status bar when
6750 Select All was performed in the list view.
6752 * libnautilus/gtkflist.c:
6753 (select_or_unselect_row_cb): New function, emits SELECTION_CHANGED
6755 (gtk_flist_initialize): Connect parent class's "select_row" and
6756 "unselect_row" signals to select_or_unselect_row_cb.
6757 (select_row): Remove emission of SELECTION_CHANGED signal here since
6758 it's now handled at the correct bottleneck.
6760 2000-02-01 Darin Adler <darin@eazel.com>
6762 Started work on icon stretching. In the process, I am doing some
6763 cleanup on the icon container, and I am checking in some of that
6764 before the stretching is implemented.
6766 * libnautilus/gnome-icon-container-private.h:
6767 * libnautilus/gnome-icon-container.c:
6768 (icon_is_in_region):
6769 Got rid of width and height stored in each icon.
6771 * libnautilus/gnome-icon-container.c:
6772 A lot of cleanup, including getting rid of the
6773 icon_get_text_bounding_box function.
6775 * libnautilus/gnome-icon-container.c:
6776 (gnome_icon_container_begin_stretch):
6777 (gnome_icon_container_stretch):
6778 (gnome_icon_container_end_stretch):
6779 (button_release_event):
6780 (motion_notify_event):
6781 (handle_icon_button_press):
6782 First cut at adding stretching hooks in button handlers.
6784 * libnautilus/nautilus-icons-view-icon-item.c:
6785 (nautilus_icons_view_draw_text_box):
6786 Rewrote to fix bug with position of text when it's too long for
6789 * libnautilus/nautilus-glib-extensions.h:
6790 Added a macro named NAUTILUS_N_ELEMENTS.
6791 src/ntl-index-panel.c:
6792 src/explorer-location-bar.c:
6793 libnautilus/gtkflist.c:
6794 Used the NAUTILUS_N_ELEMENTS macro.
6796 2000-01-31 Andy Hertzfeld <andy@eazel.com>
6798 made the keyboard selection rectangle work again. It's no longer a
6799 separate canvas object, but rather a state reflected by the icon_item
6800 like regular selection
6802 * libnautilus/gnome-icon-container-private.h:
6803 removed the kdb_navigation_item field
6805 * libnautilus/gnome-icon-container.c:
6806 removed code that manipulated the kbd_navigation_item, replaced
6807 with setting and clearing the "alt_selection" item attribute
6809 * libnautilus/nautilus-icons-view-icon-item.c:
6810 if the alt_selected attribute is set, frame the item's text with
6811 a gray-stippled rectangle
6813 2000-01-31 John Sullivan <sullivan@eazel.com>
6815 Now saves/restores zoom level in icon & list views, and
6816 sort column & direction in list view.
6818 * nautilus-metadata.h: New #defines for ICON_VIEW_ZOOM_LEVEL_METADATA_KEY,
6819 LIST_VIEW_ZOOM_LEVEL_METADATA_KEY, LIST_VIEW_SORT_COLUMN_METADATA_KEY,
6820 LIST_VIEW_SORT_REVERSED_METADATA_KEY.
6822 * src/file-manager/fm-directory-view.c:
6823 (fm_directory_view_load_uri): Now emits the BEGIN_LOADING signal. This
6824 signal was already defined but its use had been removed.
6826 * src/file-manager/fm-directory-view-icons.c:
6827 (fm_directory_view_icons_set_zoom_level): Stores new zoom level in
6829 (fm_directory_view_icons_begin_loading): Sets zoom level to the one
6830 read from the metadata.
6832 * src/file-manager/fm-directory-view-list.c:
6833 Created #defines for column names stored in metadata.
6834 (get_metadata_value_from_column), (get_column_from_metadata_value):
6835 Helper functions for converting between column number and string to
6837 (fm_directory_view_list_begin_loading): New function: sets zoom level,
6838 sort column, and sort direction to the values read from the metadata.
6839 (fm_directory_view_initialize_class): Wire up begin_loading function
6841 (fm_directory_view_initialize): Change initial value of sort column
6842 to LIST_VIEW_COLUMN_NONE, so when it changes later the right updating
6844 (compare_rows): Added another g_return_val_if_fail condition.
6845 (create_flist): Removed some of the sorting set-up; it is now done
6846 in begin_loading instead.
6847 (fm_directory_view_list_set_zoom_level): Stores new zoom level in
6849 (fm_directory_view_list_sort_items): Stores new sort column and
6850 direction in metadata.
6852 2000-01-31 Andy Hertzfeld <andy@eazel.com>
6854 implemented the "select all" command in the context menus
6856 * src/file-manager/directory_view.c,h:
6857 added a directory_view_select_all slot for subclasses to override,
6858 enabled "select all" item and attached a signal to the item, whose
6859 callback calls fm_directory_view_select_all
6861 * src/file-manager/directory_view_icons.c:
6862 implemented directory_view_icons_select_all by invoking the "select all"
6863 operation of GnomeIconContainer.
6865 * src/file-manager/directory_view_list.c:
6866 implemented directory_view_list_select_all by invoking the "select all"
6867 operation of the clist widget
6869 2000-01-31 Elliot Lee <sopwith@redhat.com>
6871 * src/ntl-window-msgs.c, src/ntl-window-private.h: Update debugging messages. Allow
6872 synchronous state changes (needed to avoid race conditions), and
6873 don't reset the idle handler if the idle handler is already running.
6875 * src/file-manager/fm-directory-view.c: Include
6876 <libnautilus/libnautilus.h> rather than just
6877 <libnautilus/nautilus-alloc.h> - nitpick in passing.
6879 * src/ntl-uri-map.c: OK, don't check for NULL here, in an attempt to flush out bugs elsewhere.
6881 2000-01-31 Darin Adler <darin@eazel.com>
6883 * nautilus-icons-view-icon-item.c:
6884 (nautilus_icons_view_draw_text_box):
6885 Changed it to not attempt to create a GC just to measure the text.
6886 This makes it work when the widget is not realized.
6888 * nautilus-icons-view-icon-item.h:
6889 nautilus-icons-view-icon-item.c:
6890 gnome-icon-container-dnd.c:
6891 (nautilus_icons_view_icon_item_center_offset):
6892 Changed the parameter type to NautilusIconsViewIconItem.
6894 * fm-directory-view.c:
6896 (fm_directory_view_load_uri):
6897 Fixed code so that if you stop loading more than once, or
6898 stop before you even start, it won't send extra progress
6899 requests to the Nautilus shell or call stop_monitoring
6900 extra times on the NautilusDirectory object.
6902 * nautilus-icons-view-icon-item.h:
6903 nautilus-icons-view-icon-item.c:
6904 gnome-icon-container-dnd.c:
6905 Quick cleanup of the new NautilusIconsViewIconItem class.
6907 * libnautilus/gdk-extensions.c:
6908 libnautilus/gnome-icon-container-dnd.c:
6909 libnautilus/gnome-icon-container.c:
6910 libnautilus/gtkflist.c:
6911 libnautilus/nautilus-background-canvas-group.c:
6912 libnautilus/nautilus-background.c:
6913 libnautilus/nautilus-debug.c:
6914 libnautilus/nautilus-default-file-icon.c:
6915 libnautilus/nautilus-directory.c:
6916 libnautilus/nautilus-icon-factory.c:
6917 libnautilus/nautilus-icons-controller.c:
6918 libnautilus/nautilus-icons-view-icon-item.c:
6919 libnautilus/nautilus-lib-self-check-functions.c:
6920 libnautilus/nautilus-self-checks.c:
6921 libnautilus/nautilus-string.c:
6922 src/explorer-location-bar.c:
6923 src/file-manager/dfos-corba.c:
6924 src/file-manager/dfos-xfer-progress-dialog.c:
6925 src/file-manager/dfos-xfer.c:
6926 src/file-manager/dfos.c:
6927 src/file-manager/fm-directory-view-icons.c:
6928 src/file-manager/fm-directory-view-list.c:
6929 src/file-manager/fm-directory-view.c:
6930 src/file-manager/fm-icons-controller.c:
6931 src/file-manager/fm-main.c:
6932 src/nautilus-self-check-functions.c:
6933 src/ntl-index-panel.c:
6934 Got rid of #ifdef HAVE_CONFIG_H. Elliot says that we must always
6935 include <config.h>, but there's no reason to include that ifdef
6936 since we don't plan on building without a <config.h> ever.
6938 2000-01-31 Andy Hertzfeld <andy@eazel.com>
6940 * libnautilus/gnome-icon-container-dnd.c:
6941 fixed bug where icons were horizontally mis-positioned after dragging;
6942 fixed by taking the center offset into account
6944 2000-01-31 John Sullivan <sullivan@eazel.com>
6946 * libnautilus/nautilus-directory.h:
6947 * libnautilus/nautilus-directory.c:
6948 (nautilus_directory_get_boolean_metadata),
6949 (nautilus_directory_set_boolean_metadata),
6950 (nautilus_directory_get_integer_metadata),
6951 (nautilus_directory_set_integer_metadata): New convenience functions
6952 for getting/setting metadata that's naturally in boolean or integer form.
6953 I'll be adding clients for these next.
6955 2000-01-31 Darin Adler <darin@eazel.com>
6957 NautilusDirectory is now in charge of loading directories.
6958 FMDirectoryView has been relieved of that responsibility.
6960 * nautilus-directory.h:
6961 nautilus-directory.c:
6962 (nautilus_directory_start_monitoring):
6963 (nautilus_directory_stop_monitoring):
6964 (nautilus_directory_is_ready_for_layout):
6965 (nautilus_directory_new_file):
6966 (nautilus_directory_are_all_files_seen):
6967 Added monitoring API that's used to read the contents of
6968 a directory. Made nautilus_directory_new_file private since
6969 we now use the monitoring API instead.
6971 * fm-directory-view.c:
6972 (fm_directory_view_initialize):
6974 (display_pending_entries):
6975 (display_pending_files):
6976 (display_pending_idle_cb):
6977 (display_timeout_cb):
6978 (display_pending_timeout_cb):
6979 (directory_load_cb):
6980 (schedule_idle_display_of_pending_files):
6981 (schedule_timeout_display_of_pending_files):
6982 (unschedule_idle_display_of_pending_files):
6983 (unschedule_timeout_display_of_pending_files):
6984 (unschedule_display_of_pending_files):
6986 (fm_directory_view_activate_entry):
6987 (fm_directory_view_load_uri):
6988 (disconnect_model_handlers):
6989 (fm_directory_view_stop):
6990 Changed to use monitoring instead of directly calling
6991 gnome_vfs_async_load_directory directly.
6993 * fm-directory-view.c:
6994 (update_zoom_menu_items):
6997 (pop_up_context_menu):
6998 (pop_up_temporary_context_menu):
6999 (append_background_items):
7000 (create_background_context_menu):
7001 (fm_directory_view_popup_item_context_menu):
7002 (fm_directory_view_popup_background_context_menu):
7003 Changed to re-created background menu each time instead of
7004 keeping a single global menu up to date. This is simpler, and
7005 the imperceptible additional delay from recreating the menu
7006 each time should not be a problem.
7008 * ntl-window.c: (nautilus_window_up):
7009 ntl-map.c: (nautilus_navinfo_new):
7010 Handle the case where the current URI is NULL.
7012 * fm-directory-view-icons.c: (create_icon_container):
7013 Removed the leftover puts calls in here.
7014 This gets rid of "A", "B", "C" on each start of nautilus.
7016 2000-01-31 John Sullivan <sullivan@eazel.com>
7018 Put all metadata keys in a central place so we can keep
7021 * libnautilus/nautilus-metadata.h: New file, contains
7022 #defines for all the metadata keys currently in use.
7023 * libnautilus/Makefile.am: add nautilus-metadata.h to list of headers.
7024 * src/ntl-index-panel.c:
7025 * src/file-manager/fm-directory-view-icons.c:
7026 * src/file-manager/fm-directory-view-list.c:
7027 Update all non-test callers of nautilus_directory_get_metadata and
7028 nautilus_directory_set_metadata to use new #defines
7030 2000-01-31 John Sullivan <sullivan@eazel.com>
7032 Improved zooming API and made zoom items on item context
7033 menu disable properly. (There's still a bug with disabling
7034 the background menu if an item menu ever appears; Darin will
7035 fix this in his next checkin.)
7037 * src/file-manager/fm-directory-view.c:
7038 * src/file-manager/fm-directory-view.h:
7039 (can_zoom_in), (can_zoom_out): New function pointers for subclasses
7041 (fm_directory_view_can_zoom_in), (fm_directory_view_can_zoom_out):
7042 New functions that call through to the new function pointers.
7043 (bump_zoom_level), (fm_directory_view_bump_zoom_level):
7044 Removed return value in favor of new functions.
7045 (update_zoom_menu_items): Helper function to update sensitivity of
7046 background context menu Zoom In and Zoom Out items. Darin will eliminate
7047 this with his next checkin.
7048 (zoom_in_cb), (zoom_out_cb): Now use update_zoom_menu_items to share code.
7049 (append_background_items): Set sensitivity of Zoom In and Zoom Out items
7052 * src/file-manager/fm-directory-view-list.c:
7053 (fm_directory_view_list_bump_zoom_level): Removed return value.
7054 (fm_directory_view_list_can_zoom_in), (fm_directory_view_list_can_zoom_out):
7055 New functions, compare current zoom level against limits.
7056 (fm_directory_view_list_get_zoom_level),
7057 (fm_directory_view_list_set_zoom_level): New convenience functions,
7058 deployed throughout this file.
7059 (fm_directory_view_list_initialize_class): Replace can_zoom_in and
7060 can_zoom_out function pointers.
7062 * src/file-manager/fm-directory-view-icons.c:
7063 (fm_directory_view_icons_bump_zoom_level): Removed return value.
7064 (fm_directory_view_icons_can_zoom_in), (fm_directory_view_icons_can_zoom_out):
7065 New functions, compare current zoom level against limits.
7066 (fm_directory_view_icons_get_zoom_level): New convenience function,
7067 deployed throughout this file.
7068 (fm_directory_view_icons_initialize_class): Replace can_zoom_in and
7069 can_zoom_out function pointers.
7071 2000-01-30 Andy Hertzfeld <andy@eazel.com>
7073 made fonts scale according to the zoom level:
7075 * libnautilus/gnome-icon-container-private.h:
7076 replaced label font with array of fonts
7077 * libnautilus/gnome-icon-container.c:
7078 load a font for each zoom level
7079 * libnautilus/nautilus_icons_view_icon_item:c
7080 use a font selected by the zoom level
7082 enabled/disabled zoom items as necessary in context menu:
7084 * src/file-manager/fm-directory-view-icons.c:
7085 made bump_zoom_level return a boolean indicating if it can zoom further
7086 * src/file-manager/fm-directory-view-list.c:
7087 made bump_zoom_level return a boolean indicating if it can zoom further
7088 * src/file-manager/fm-directory-view-list.c:
7089 enable/disable items in zoom level according to the passed-back booleans
7091 2000-01-28 Andy Hertzfeld <andy@eazel.com>
7093 * libnautilus/gnome-icon-container-dnd.c:
7094 made shadow rectangles track icons properly by adding in the center offset
7096 2000-01-28 John Sullivan <sullivan@eazel.com>
7098 A little zoom cleanup:
7100 * libnautilus/gnome-icon-container-private.h: #include
7101 nautilus-icon-factory.h and remove copy of NautilusZoomLevel enum.
7102 * libnautilus/gnome-icon-container.c:
7103 (gnome_icon_container_set_zoom_level): Now uses ratios of standard
7104 NAUTILUS_ICON_SIZEs to compute canvas pixels/unit instead of locally
7106 * libnautilus/nautilus-icon-factory.h:
7107 Changed pixel sizes of some NAUTILUS_ICON_SIZE #defines to match
7108 the ratios formerly used in gnome-icon-container.c
7110 Added icons to bookmarks menu and window:
7112 * libnautilus/nautilus-directory.c: (nautilus_file_get): Changed
7113 options passed to gnome_vfs_get_file_info to match those used in
7114 directory view; this causes the mime type to be read so the custom
7115 image icon can appear.
7116 * src/nautilus-bookmark.c:
7117 * src/nautilus-bookmark.h:
7118 Now uses details structure to hold implementation details.
7119 (nautilus_bookmark_get_pixmap_and_mask): New utility function to
7120 get image suitable for use in a GtkMenuItem or GtkCList
7121 (nautilus_bookmark_destroy): Free details structure
7122 (init): Alloc details structure
7123 * src/nautilus-bookmarks-menu.c:
7124 (create_pixmap_widget_for_bookmark): New utility function to create
7125 the kind of pixmap widget that a menu item likes.
7126 (bookmark_menu_item_new): New utility function that returns a menu
7127 item with bookmark's icon & name installed.
7128 (nautilus_bookmarks_menu_repopulate): Uses bookmark_menu_item_new.
7129 * src/nautilus-bookmarks-window.c:
7130 Now uses #defines for the list columns (icon & name)
7131 (create_bookmarks_window): Create one more column to hold icon;
7132 set column width & row height taking new icon column into account.
7133 (install_bookmark_icon): New function, installs pixmap & mask for
7134 bookmark into GtkCList cell.
7135 (repopulate): Fill in icon column as well as name column.
7137 Fixed storage leaks:
7139 * src/file-manager/fm-directory-view-icons.c:
7140 (fm_directory_view_destroy): free details structure
7141 * src/file-manager/fm-directory-view-list.c:
7142 (fm_directory_view_list_destroy): free details structure
7143 * src/file-manager/fm-directory-view.c:
7144 (fm_directory_view_icons_destroy): free details structure; also,
7145 don't bother setting details->icons_not_positioned to NULL since
7146 details is about to be freed.
7149 2000-01-28 Andy Hertzfeld <andy@eazel.com>
7151 * libnautilus/nautilus_icons_view_icon_item.c,h:
7152 made icons be centered in their box by adding a center_offset method
7153 and using it where appropriate.
7154 * libnautilus/gnome-icon-container-dnd.c:
7155 used center_offset in drag offset calculation
7157 2000-01-28 John Sullivan <sullivan@eazel.com>
7159 Moved FMIconCache to libnautilus, renaming it
7160 NautilusIconFactory at the same time. Renamed all public
7161 and private functions accordingly.
7163 * RENAMING: removed this finished item.
7165 * src/file-manager/fm-default-file-icon.c: Removed file
7166 * src/file-manager/fm-default-file-icon.h: Removed file
7167 * src/file-manager/fm-icon-cache.c: Removed file
7168 * src/file-manager/fm-icon-cache.h: Removed file
7169 * src/file-manager/Makefile.am: Took out mentions of removed files.
7171 * libnautilus/nautilus-default-file-icon.c: New file
7172 * libnautilus/nautilus-default-file-icon.h: New file
7173 * libnautilus/nautilus-icon-factory.c: New file
7174 * libnautilus/nautilus-icon-factory.h: New file
7175 * libnautilus/Makefile.am: Added new files to build.
7177 * src/file-manager/fm-directory-view-icons.c: Took out
7178 #include for fm-icon-cache, which was obsolete in this file.
7179 * src/file-manager/fm-directory-view-list.c: Renamed #include
7180 and affected function calls.
7181 * src/file-manager/fm-icons-controller.c: Renamed #include
7182 and affected function calls.
7184 2000-01-28 John Sullivan <sullivan@eazel.com>
7186 Made zooming work in directory list view. Also made
7187 right-click menu on a directory view always include
7188 the non-icon-specific items.
7190 * src/file-manager/fm-icon-cache.h:
7191 * src/file-manager/fm-icon-cache.c:
7192 (nautilus_icon_size_for_zoom_level): New function, maps
7193 between NautilusZoomLevel and nominal icon sizes.
7195 * src/file-manager/fm-directory-view.c:
7196 (append_background_items): New utility function, adds the
7197 non-file-specific context menu items to a menu.
7198 (create_background_context_menu): Moved most of guts to
7199 new append_background_items, which this now calls.
7200 (create_item_context_menu): Now adds a separator and then
7201 calls append_background_items. This means right-clicking on
7202 an icon will show the icon-specific commands followed by the
7203 non-icon-specific ones. This makes the non-icon-specific ones
7204 easier to discover and access, especially in list view where
7205 anywhere you click in a long list gives the item's context menu.
7207 * src/file-manager/fm-directory-view-list.c:
7208 Now stores zoom level rather than icon size in details structure.
7209 (fm_directory_view_list_bump_zoom_level),
7210 (fm_directory_view_list_set_zoom_level): New functions for setting
7212 (fm_directory_view_list_initialize_class): Wire up bump_zoom_level to
7213 slot in parent class structure.
7214 (compare_rows), (add_to_flist): Changed mechanism that temporarily
7215 stores pending row data to use object data rather than a static variable
7216 so it will work with multiple list views at the same time.
7217 (fm_directory_view_list_get_icon_size): New function, gets icon size
7218 from zoom level stored in details structure.
7219 (create_flist): Deploy fm_directory_view_list_get_icon_size where
7220 details structure was examined before.
7221 (install_icon): Removed NautilusFile and column parameters; made function
7222 compute these internally.
7224 2000-01-28 Elliot Lee <sopwith@redhat.com>
7225 * components/html/ntl-web-browser.c: Remove use of gtk_html_parse() - deprecated
7228 2000-01-28 Andy Hertzfeld <andy@eazel.com>
7230 *libnautilus/gnome-icon-container-dnd.c:
7231 fixed dragging when zoomed by scaling the pixbuf and offsets if necessary
7233 2000-01-27 Andy Hertzfeld <andy@eazel.com>
7235 *libnautilus/nautilus-icons-view-icon-item.c:
7236 some fixes to improve positioning when zoomed by multiplying by pixel_per_unit
7239 2000-01-27 John Sullivan <sullivan@eazel.com>
7241 Finished this round of sorting architecture improvements.
7243 * libnautilus/nautilus-directory.c:
7244 (nautilus_file_compare_for_sort_internal): Made sorting NautilusFiles
7245 by name be case-insensitive.
7247 * src/file-manager/fm-directory-view.h:
7248 * src/file-manager/fm-directory-view.c:
7249 Removed enum FMDirectoryViewSortType (replaced by recently-added
7250 NautilusFileSortType)
7251 (fm_directory_view_sort): Removed this function; subclasses now
7252 must handle sorting internally.
7253 (fm_directory_view_repopulate): Removed this function, formerly
7254 called only by fm_directory_view_sort.
7256 * src/file-manager/fm-directory-view-list.c:
7257 (fm_directory_view_list_initialize): list_view->details->sort_column
7258 now starts out at LIST_VIEW_COLUMN_NAME.
7259 (compare_rows): New function to compare rows for sorting GtkCList-style.
7260 (create_flist): Set up GtkCList sorting mechanism; formerly I had been
7261 ignoring it (unaware) and handling sorting from scratch.
7262 (add_to_flist): Don't assume that newly-added item will be at end; also
7263 add hack to make pending row data accessible to compare function.
7264 (sort_criterion_from_column): New function, broken out of
7265 fm_directory_view_list_sort_items.
7266 (fm_directory_view_list_sort_items): Broke out sort criterion choosing,
7267 now uses GtkCList-style sorting instead of asking FMDirectoryView to sort.
7268 (install_icon): Added a couple more g_return_if_fails.
7270 2000-01-27 Darin Adler <darin@eazel.com>
7272 * src/ntl-app.c: Added missing includes to get it to compile.
7273 * components/help/converters/.cvsignore:
7274 components/help/converters/gnome-info2html2/.cvsignore:
7275 components/help/converters/gnome-man2html2/.cvsignore:
7278 2000-01-27 Maciej Stachowiak <mjs@eazel.com>
7280 * src/Makefile.am, src/nautilus.goad, src/ntl-app.c,
7281 src/file-manager/Makefile.am: Made the file manager component
7282 statically linked in again.
7283 * src/file-manager/ntl-file-manager.goad: Removed.
7285 2000-01-27 Elliot Lee <sopwith@redhat.com>
7287 * configure.in: Add components/help/converters/* makefiles.
7288 * libnautilus/nautilus-directory.c: Check for NULL directory
7289 result before doing stuff with it.
7290 * src/ntl-index-panel.c: Ditto.
7291 * src/ntl-prefs.c: Add help browser nav tree to list of possibilities.
7292 * src/ntl-window-msgs.c: Handle non-VFS-handleable URIs correctly WRT 'up' button.
7294 2000-01-27 Andy Hertzfeld <andy@eazel.com>
7296 * libnautilus/nautilus-icons-view-icon-item.c:
7297 made the canvas item respect the scale factor by removing code in
7298 compute_viewport_affine that was defeating it. There's still a
7299 bunch more to do to make it right for non-unity scale factors, but
7300 at least we can start that now.
7302 2000-01-27 Andy Hertzfeld <andy@eazel.com>
7304 hooked zooming up to the background context menu; right now the canvas item
7305 doesn't work at different zoom levels properly, which we'll fix soon.
7307 * libnautilus/fm-directory-view.c,h:
7308 enable zoom in and zoom out items and hooked them up to callback
7309 added a bump_zoom_level slot, to be overriden by subclasses, which the zoom callback use
7311 * libnautilus/fm-directory-view-icons.c:
7312 added method for bump_zoom_index that calls the icon container to do the work
7314 * libnautilus/gnome-icon-container-private.h:
7315 added a private instance variable for zoom level
7317 * libnautilus/gnome-icon-container.c,.h:
7318 added methods for get_zoom_level and set_zoom_level
7320 2000-01-27 Darin Adler <darin@eazel.com>
7322 * libnautilus/gnome-icon-container.c:
7324 Fixed a bug that was causing some icons to not get
7325 selected or unselected properly due to strangeness of
7328 * libnautilus/gnome-progressive-loader.h:
7329 libnautilus/gnome-progressive-loader.c:
7330 libnautilus/Makefile.am:
7331 Got rid of GnomeProgressiveLoader.
7332 We're not going to use it.
7334 * RENAMING: Andy added a new file that matched RENAMING,
7335 but then I changed my mind about a renaming, spawning yet
7338 * src/file-manager/fm-directory-view-icons.c:
7339 Just tiny reformatting.
7341 2000-01-27 John Sullivan <sullivan@eazel.com>
7343 More work towards changing the sorting framework, and
7344 fixed some bugs in nautilus_file_get.
7346 * libnautilus/nautilus-directory.h:
7347 Added NautilusFileSortType enum.
7348 (nautilus_file_compare_for_sort): New function
7349 (nautilus_file_compare_for_sort_reversed): New function
7351 * libnautilus/nautilus-directory.c:
7352 (nautilus_file_ref): New function (prototype already existed).
7353 (nautilus_file_get): file_info had been stack variable,
7354 but that didn't work right, so now it's xxx_new()ed.
7355 Also ref'ed file before returning.
7356 (nautilus_file_compare_for_sort),
7357 (nautilus_file_compare_for_sort_reversed),
7358 (nautilus_file_compare_for_sort_internal): New functions.
7359 (nautilus_self_check_directory): Added some simple tests for
7360 nautilus_file_get and nautilus_file_compare_xxx.
7362 * src/file-manager/fm-directory-view.c:
7363 (fm_directory_view_load_uri): Removed sort_rules that were
7364 passed in to gnome_vfs_asynch_load_directory_uri, since they
7365 had no effect and we're changing the sorting framework.
7367 2000-01-27 Elliot Lee <sopwith@redhat.com>
7368 * libnautilus/Makefile.am: Link to $(BONOBO_LIBS)
7369 * libnautilus/gnome-icon-container.c: Include <string.h> to get
7370 prototype for memset.
7372 2000-01-26 Maciej Stachowiak <mjs@eazel.com>
7374 * components/help/hyperbola-main.c,
7375 components/help/hyperbola-nav-tree.c,
7376 components/history/ntl-history-view.c, components/html/main.c,
7377 components/html/ntl-web-browser.c,
7378 components/websearch/ntl-web-search.c, idl/nautilus.idl,
7379 libnautilus/gnome-icon-container.c,
7380 libnautilus/gnome-progressive-loader.c,
7381 libnautilus/gnome-progressive-loader.h, libnautilus/libnautilus.h,
7382 libnautilus/ntl-content-view-frame.c,
7383 libnautilus/ntl-meta-view-frame.c, libnautilus/ntl-view-frame.c,
7384 libnautilus/ntl-view-frame.h, src/nautilus.h,
7385 src/ntl-index-panel.c, src/ntl-view-bonobo-control.c,
7386 src/ntl-view-bonobo-subdoc.c, src/ntl-view-frame-svr.c,
7387 src/ntl-view-nautilus.c, src/ntl-view-private.h, src/ntl-view.c,
7388 src/ntl-view.h, src/ntl-window.c, src/ntl-window.h,
7389 src/file-manager/dfos-corba.h, src/file-manager/dfos-xfer.c,
7390 src/file-manager/dfos-xfer.h, src/file-manager/fm-main.c: Build
7391 with the recent Bonobo global renaming, and Havoc's changes. A
7392 patch from Kjartan Maraas <kmaraas@online.no> and scripts from Nat
7393 Friedman <nat@helixcode.com> were a very helpful starting point.
7395 2000-01-26 Havoc Pennington <hp@pobox.com>
7397 * src/nautilus-gconf.h, src/nautilus-gconf.c: Trivial files I'd
7398 written before getting stuck on the OAF thing, that might be of
7399 interest. I have some other bits I did that aren't worth checking
7400 in, Ramiro said he's doing the prefs dialog.
7402 2000-01-26 John Sullivan <sullivan@eazel.com>
7404 Moved list view sort indicator to left of right-justified
7407 * src/file-manager/fm-directory-view-list.c:
7408 (create_flist): Marked the sort indicators with special
7409 data/value pairs so they can be located later regardless
7410 of view order. Made right-justified ones use pack_start
7411 instead of pack_end.
7412 (get_sort_indicator): Find sort indicators from special
7413 data/value pairs rather than relying on view order.
7415 2000-01-26 John Sullivan <sullivan@eazel.com>
7417 A few changes in the direction of improving the directory
7418 view sorting architecture. No visible effects yet.
7420 * src/file-manager/fm-directory-view-icons.c:
7421 (create_icon_container): Took out useless call to
7422 fm_directory_view_populate().
7424 * src/file-manager/fm-directory-view-list.c:
7425 (fm_directory_view_list_sort_items): New function, extracted
7426 from column_clicked_cb, that does the actual sorting.
7427 (column_clicked_cb): Replaced actual sorting code with
7428 call to new fm_directory_view_list_sort_items; retained
7430 (create_flist): Took out useless call to
7431 fm_directory_view_populate().
7433 * src/file-manager/fm-directory-view.h:
7434 (fm_directory_view_populate): Removed this call from public API.
7436 * src/file-manager/fm-directory-view.c:
7437 (fm_directory_view_populate): Made static and renamed to
7438 ..._repopulate now that I better understand its use. Soon it will
7441 2000-01-26 Andy Hertzfeld <andy@eazel.com>
7443 * libnautilus/gnome-icon-container-dnd.c:
7444 made the drag shadow have the same dimensions as the icon being dragged;
7445 fixed bug where it was confusing the width and height order in the
7446 custom uri it built for dragging within Nautilus
7448 2000-01-26 Darin Adler <darin@eazel.com>
7450 * libnautilus/nautilus-directory.c:
7451 (nautilus_file_get_name):
7452 Fixed an assert I missed.
7454 2000-01-26 Darin Adler <darin@eazel.com>
7456 * libnautilus/nautilus-directory.h:
7457 libnautilus/nautilus-directory.c:
7458 (nautilus_file_get):
7459 (nautilus_file_detach):
7460 (nautilus_directory_finalize):
7461 (nautilus_file_unref):
7462 Added interface to get a NautilusFile for a specific file rather than
7463 a file from a directory that we are scanning.
7465 * libnautilus/nautilus-glib-extensions.c:
7466 (check_tm_to_g_date):
7467 A little cleanup of the self-check code.
7469 * libnautilus/Makefile.am:
7470 libnautilus/libnautilus.h:
7471 libnautilus/nautilus-alloc.h:
7472 libnautilus/nautilus-directory.h:
7473 Moved g_alloca into its own header file so you don't have to include
7474 all the Bonobo stuff just to use g_alloca.
7476 2000-01-26 Andy Hertzfeld <andy@eazel.com>
7478 * src/file-manager/fm-icon-cache.c:
7479 first cut at making images with small file sizes display as themselves
7480 * libnautilus/nautilus-icons-view-icon-item.c:
7481 clean-ups, plus added alternate selection boolean for keyboard selection
7483 2000-01-25 John Sullivan <sullivan@eazel.com>
7485 * libnautilus/nautilus-directory.c:
7486 (nautilus_file_get_date_as_string): A few cleanups
7487 based on feedback from Darin and Havoc.
7489 2000-01-25 Andy Hertzfeld <andy@eazel.com>
7491 * libnautilus/nautilus-icons-view-icon-item.c
7492 disabled icon centering code that was causing glitchey updates
7494 2000-01-25 Darin Adler <darin@eazel.com>
7496 * libnautilus/gnome-icon-container-dnd.c:
7497 (create_selection_shadow):
7498 (set_gnome_icon_list_selection):
7499 (get_gnome_icon_list_selection):
7500 (gnome_icon_container_receive_dropped_icons):
7501 Redid drag code so that it will work if there are multiple
7502 windows involved, although we still don't handle copies.
7503 Changed selection to include the width and height of the icon,
7504 and to hold the top left of the icon.
7506 * libnautilus/gnome-icon-container-private.h:
7507 libnautilus/gnome-icon-container.c:
7509 (gnome_icon_container_move_icon):
7510 Made move_icon visible to the DnD code, and added a raise boolean
7511 so it could move and icon and bring it to the front.
7512 (gnome_icon_container_get_icon_by_uri):
7513 (gnome_icon_container_select_list_unselect_others):
7514 Added new functions for use by DnD code.
7516 * libnautilus/gnome-icon-container-private.h:
7517 libnautilus/gnome-icon-container.c:
7518 (handle_icon_button_press):
7519 Got rid of unused drag_x_offset and drag_y_offset.
7521 * libnautilus/gnome-icon-container.c:
7523 (icon_toggle_selected):
7525 (select_one_unselect_others):
7527 (unselect_all_but_one):
7529 (rubberband_select_in_cell):
7532 (linger_select_timeout_cb):
7533 (handle_icon_button_press):
7534 (gnome_icon_container_select_all):
7535 (gnome_icon_container_unselect_all):
7536 Cleaned up selection logic and made it simpler.
7538 * libnautilus/gnome-icon-container.h:
7539 libnautilus/gnome-icon-container.c:
7540 (gnome_icon_container_xlate_selected):
7541 Got rid of unused function.
7543 * libnautilus/nautilus-self-checks.h:
7544 libnautilus/nautilus-self-checks.c:
7545 (nautilus_self_checks_failed):
7546 (nautilus_exit_if_self_checks_failed):
7549 Added blank lines before and after the first and last failed
7550 checks when at least one check fails.
7553 (nautilus_view_destroy):
7554 Removed a straggler message. (I hope Elliot's not still using it.)
7556 * RENAMING: Some new name ideas.
7558 2000-01-25 John Sullivan <sullivan@eazel.com>
7560 Better text for displayed file dates. This is currently used only
7561 in the list view date column, but will be used later in icon view
7562 when we get multiple lines of text per icon working.
7564 * libnautilus/nautilus-glib-extensions.c:
7565 * libnautilus/nautilus-glib-extensions.h:
7566 New files, intended to hold nautilus code that logically belongs
7567 in glib. Now contains a g_date constructor that takes a struct tm,
7568 and a strdup_strftime function that returns a new string of exactly
7570 * libnautilus/Makefile.am: Build and install these two new files.
7571 * libnautilus/nautilus-lib-self-check-functions.h: include the
7572 new self-check function for nautilus-glib-extensions.
7574 * libnautilus/nautilus-directory.c:
7575 #include nautilus-glib-extensions.h
7576 (nautilus_file_get_date_as_string): Replaced simple ctime version
7577 with fancy version that uses shorter date format, the words
7578 "today" and "yesterday" when appropriate, and the weekday name if
7579 the date is in the last week (other than today or yesterday).
7581 2000-01-25 Andy Hertzfeld <andy@eazel.com>
7583 * libnautilus/nautilus-icons-view-icon-item.c,h:
7584 new canvas item class for icon items. Now we use a single
7585 canvas item to draw the icons instead of a group with two subitems.
7586 This will pay-off when we implement the emblems, zooming and
7587 special icons for text, etc. This is the first cut, I'm pretty
7588 sure it doesn't work when pixels_per_item isn't 1.0 and there
7589 are other small problems.
7591 * libnautilus/gnome-icon-container-private.h:
7592 removed old fields for sub-items
7594 * libnautilus/Makefile.am:
7595 added new item class to makefile
7597 * libnautilus/gnome-icon-container-dnd.c:
7598 drag asks main item for pixbuf instead of image item
7600 * libnautilus/gnome-icon-container.c:
7601 use new icon item instead of making group with two sub-items
7603 2000-01-24 Maciej Stachowiak <mjs@eazel.com>
7605 * src/file-manager/fm-directory-view.c,
7606 src/file-manager/fm-directory-view.h
7607 (fm_directory_view_popup_item_context_menu,
7608 fm_directory_view_popup_background_context_menu): New functions
7609 for subclasses to call, to implement right-click menus. Most of
7610 the guts are here now. Machinery to merge view-specific items with
7611 generic ones will be added here.
7612 * src/file-manager/fm-directory-view-icons.c,
7613 src/file-manager/fm-directory-view-list.c: Use the new interface
7614 for right-click stuff.
7616 * src/file-manager/fm-directory-view-icons.c: Corrected memory
7617 management for background and item popup menus.
7619 2000-01-24 Darin Adler <darin@eazel.com>
7621 * gnome-icon-container-dnd.c:
7622 (gnome_icon_container_receive_dropped_icons):
7623 Removed bogus warning. Need to do some more work to get
7624 dragging working with multiple windows, but there's no
7625 easy way to detect that case, so just let it go.
7627 * fm-directory-view-icons.c:
7628 (icon_container_context_click_icon_cb):
7629 (icon_container_context_click_background_cb):
7630 Fixed the callbacks to match the new interface without the
7631 icon name. I missed this in my check-in earlier today.
7633 2000-01-24 John Sullivan <sullivan@eazel.com>
7635 Added sort indicators to list view column titles
7637 * src/file-manager/fm-directory-view-list.c:
7638 Added #define LIST_VIEW_COLUMN_NONE
7639 Added tiny in-line XPMs for up & down sort indicators.
7640 (struct _FMDirectoryViewListDetails): Replaced
7641 sort_type field with sort_column field.
7642 (fm_directory_view_initalize): initialize details->sort_column
7643 to LIST_VIEW_COLUMN_NONE
7644 (get_sort_indicator), (hide_sort_indicator), (show_sort_indicator):
7645 New functions for setting the sort indicators' states.
7646 (column_clicked_cb): update details->sort_column and call
7647 hide_sort_indicator and show_sort_indicator
7648 (create_flist): Add sort indicator widgets to column titles,
7650 (flist_activate_cb): Renamed "ignored" parameter and tested its
7651 value, to make mjs happy.
7653 2000-01-24 Maciej Stachowiak <mjs@eazel.com>
7655 * libnautilus/gtkflist.c, libnautilus/gtkflist.h: Rename
7656 "row_popup_menu" and "empty_popup_menu" signals to
7657 "context_click_row" and "context_click_background" for more
7658 consistency with the way the icon container does it. Removed
7659 GdkEvent parameters from these signals. Added an int indicating
7660 the row right-clicked.
7661 (gtk_flist_button_press): Do not change the selection to the row
7662 that gets right-clicked. It was inconsistent with the icon view
7663 and most of the known universe.
7665 2000-01-24 Darin Adler <darin@eazel.com>
7667 Added a controller object that lets GnomeIconContainer
7668 ask questions and perform actions, even though only the
7669 FMDirectoryViewIcons knows how to answer the questions
7670 and perform the actions.
7672 Replaced use of nautilus_file_get_info with specific
7673 accessors for various file info.
7675 * libnautilus/Makefile.am:
7676 libnautilus/nautilus-icons-controller.h:
7677 libnautilus/nautilus-icons-controller.c:
7678 libnautilus/gnome-icon-container-private.h:
7679 libnautilus/gnome-icon-container.h:
7680 libnautilus/gnome-icon-container.c:
7682 (gnome_icon_container_new):
7683 (gnome_icon_container_add):
7684 (gnome_icon_container_add_auto):
7685 Added NautilusIconsController, an interface provided so that the
7686 file manager can connect the icons up with the file code. This is
7687 all so we can keep the view/controller separation. This eliminates
7688 the need to pass around the icon name all the time, so the signals
7689 have changed to not take the icon name as a parameter.
7691 * src/file-manager/Makefile.am:
7692 src/file-manager/fm-icons-controller.c:
7693 src/file-manager/fm-icons-controller.h:
7694 Added FMIconsController, the actual controller used by the file
7695 manager instance of GnomeIconContainer.
7696 src/file-manager/fm-directory-view-icons.c:
7697 (create_icon_container):
7698 (add_icon_if_already_positioned):
7699 (add_icon_at_free_position):
7700 (icon_container_activate_cb):
7701 (fm_directory_view_icons_icon_moved_cb):
7702 Create and use the FMIconController.
7704 * libnautilus/gnome-icon-container-private.h:
7705 libnautilus/gnome-icon-container-dnd.c:
7706 (set_gnome_icon_list_selection):
7707 (set_uri_list_selection):
7708 libnautilus/gnome-icon-container.c:
7709 (gnome_icon_container_set_base_uri):
7710 src/file-manager/fm-directory-view-icons.c:
7712 (fm_directory_view_icons_begin_loading):
7713 Get rid of the old base_uri technique for handling drags. Instead
7714 the icon controller supplies URIs for icons when requested.
7716 * RENAMING: Proposed that we use NautilusIconsView as the new name
7717 for GnomeIconContainer instead of NautilusIconContainer.
7719 * libnautilus/gnome-icon-container-private.h:
7720 libnautilus/gnome-icon-container.h:
7721 libnautilus/gnome-icon-container.c:
7722 (gnome_icon_container_initialize):
7723 (handle_icon_enter_notify):
7724 (handle_icon_leave_notify):
7725 Renamed browser mode to linger selection mode.
7727 * libnautilus/gnome-icon-container-private.h:
7728 libnautilus/gnome-icon-container.h:
7729 libnautilus/gnome-icon-container.c:
7733 (gnome_icon_container_initialize):
7734 (gnome_icon_container_set_icon_mode):
7735 (gnome_icon_container_get_icon_mode):
7736 src/file-manager/fm-directory-view-icons.c:
7737 (fm_directory_view_icons_initialize):
7738 Got rid of icon mode, since we won't be using it.
7740 * libnautilus/gnome-icon-container-dnd.c:
7741 (get_gnome_icon_list_selection):
7742 Changed geometry parsing so it will not ignore extra characters
7743 after the numeric geometry.
7744 (gnome_icon_container_receive_dropped_icons):
7745 The code here tried to work when dragging icons between windows,
7746 but the implementation was actually only good within the same
7747 window, so I modified it to check for that case.
7749 * libnautilus/gnome-icon-container-dnd.c:
7750 (create_selection_shadow):
7751 (set_gnome_icon_list_selection):
7752 libnautilus/gnome-icon-container.c:
7754 Renamed GNOME_ICON_CONTAINER_ICON_XOFFSET to
7755 GNOME_ICON_CONTAINER_ICON_X_OFFSET and
7756 GNOME_ICON_CONTAINER_ICON_YOFFSET to
7757 GNOME_ICON_CONTAINER_ICON_Y_OFFSET. We use an underscore between
7758 words in identifiers.
7760 * libnautilus/gnome-icon-container.c:
7762 Added code to remove timeouts and idles when the container is
7765 * libnautilus/nautilus-directory.h:
7766 libnautilus/nautilus-directory.c:
7767 (nautilus_file_get_info):
7768 Get rid of the direct call to get GnomeVFSFileInfo. All info is
7769 accessed through individual functions.
7770 (nautilus_file_get_size):
7771 (nautilus_file_get_type):
7772 (nautilus_file_get_mime_type):
7773 (nautilus_file_is_executable):
7774 (nautilus_file_is_symbolic_link):
7775 Added new accessor functions as needed.
7776 src/file-manager/fm-directory-view.c:
7777 (display_selection_info):
7778 src/file-manager/fm-icon-cache.c:
7779 (fm_icon_cache_get_icon_set_for_file):
7780 (fm_icon_cache_get_icon_for_file):
7781 Change code to use the accessors instead of get_info.
7783 * libnautilus/nautilus-gtk-macros.h:
7784 (NAUTILUS_ASSIGN_MUST_OVERRIDE_SIGNAL):
7785 Changed macro to take a class pointer of the right type instead
7786 of taking both a casting macro name and a class pointer.
7787 src/file-manager/fm-directory-view.c:
7788 (fm_directory_view_initialize_class):
7789 Changed existing uses of macro to match.
7791 * src/file-manager/Makefile.am:
7792 src/file-manager/fm-icon-cache.c:
7793 src/file-manager/fm-default-file-icon.h:
7794 src/file-manager/fm-default-file-icon.c:
7795 Moved the default icon into its own file.
7797 2000-01-24 John Sullivan <sullivan@eazel.com>
7799 * libnautilus/gnome-icon-container.c:
7800 (button_event_modifies_selection): New function, encapsulates idea
7801 of which button events modify the selection. Formerly this was
7802 done in several places and the answer was "those with the Control
7803 key down". Now the answer is "those with the Control or Shift key
7804 down" to match list view (and traditional, i.e. Mac) behavior more
7806 (button_press_event), (button_release_event),
7807 (handle_icon_button_press): Deployed
7808 button_event_modifies_selection.
7809 (button_release_event): Check whether modifying selection and
7810 don't activate on single-click if so.
7811 (kbd_move_to): Just added comment.
7813 2000-01-22 Havoc Pennington <hp@pobox.com>
7815 * configure.in: check for libwww
7817 * components/html/Makefile.am: add libwww flags
7819 2000-01-21 Maciej Stachowiak <mjs@eazel.com>
7821 * src/file-manager/fm-directory-view-icons.c: Added background and
7822 item context click menus. Right now they only work for the
7823 directory view, and contain only insensitive items. This needs
7824 more work but I wanted to check in something basic.
7826 2000-01-21 Havoc Pennington <hp@redhat.com>
7828 * src/file-manager/Makefile.am (INCLUDES): fix to gnomecanvaspixbuf
7830 * src/Makefile.am (INCLUDES): fix to gnomecanvaspixbuf
7832 * libnautilus/Makefile.am (INCLUDES): fix to use gnomecanvaspixbuf
7835 * configure.in: Look for gnomecanvaspixbuf properly (via
7838 2000-01-21 John Sullivan <sullivan@eazel.com>
7840 * src/ntl-window.c: Move Preferences item to Edit menu, its
7843 2000-01-21 John Sullivan <sullivan@eazel.com>
7845 Make icons appear in list view, and do some of the restructuring
7846 necessary for supporting multiple icon sizes.
7848 * src/file-manager/fm-icon-cache.h:
7849 Added enum for Nautilus's 7 levels of zooming.
7850 Added #defines for nominal icon sizes matching these 7 levels.
7851 (fm_icon_cache_get_icon): Renamed to fm_icon_cache_get_icon_for_file,
7852 and changed parameters to take a NautilusFile and a size (in pixels)
7853 instead of a GnomeVFSFileInfo.
7855 * src/file-manager/fm-icon-cache.c
7856 Changed static vars fm_default_file_icon_width & height to use new
7857 NAUTILUS_ICON_SIZE_STANDARD #define
7858 (fm_icon_cache_get_icon_for_file): Renamed to
7859 fm_icon_cache_get_icon_set_for_file to avoid collision with changed
7860 public API call. Also changed parameters to take a NautilusFile instead
7861 of a GnomeVFSFileInfo.
7862 (fm_icon_cache_get_icon): Renamed to fm_icon_cache_get_icon_for_file,
7863 and changed parameters to take a NautilusFile and a size (in pixels)
7864 instead of a GnomeVFSFileInfo. If the size parameter is not the
7865 standard size, calls fm_icon_cache_scale to get a scaled icon.
7866 Eventually icons will be stored at various sizes, but for now we
7868 (fm_icon_cache_scale): New function, scales standard-sized GdkPixbuf
7871 * src/file-manager/fm-directory-view-icons.c:
7872 (add_icon_if_already_positioned), (add_icon_at_free_position):
7873 Updated callers of fm_icon_cache_get_icon, passing in
7874 NAUTILUS_ICON_SIZE_STANDARD.
7876 * src/file-manager/fm-directory-view-list.c:
7877 (struct _FMDirectoryViewListDetails): Add icon_size field.
7878 (fm_directory_view_list_initialize): Initialize icon_size field.
7879 (create_flist): Determine icon column width and row height from icon size.
7880 (add_to_flist): Change parameters to take FMDirectoryViewList
7881 instead of GtkFList, and remove FMIconCache parameter. Now calls
7883 (fm_directory_view_list_add_entry): Update add_to_flist parameters.
7884 (install_icon): New function, gets an appropriately-sized icon for
7885 a NautilusFile and puts it into icon column in list.
7887 2000-01-21 Elliot Lee <sopwith@redhat.com>
7889 * src/ntl-window.[ch], src/ntl-window-msgs.c,
7890 src/ntl-window-private.h: Add a specific flag to indicate reload,
7893 * libnautilus/nautilus-directory.c: Allocate an extra byte in the
7894 buffer, for safety's sake.
7895 * src/ntl-window-msgs.c: Fix back/fwd buttons.
7896 * src/ntl-window-msgs.c: Remove debugging printouts, and display
7898 * src/ntl-window-msgs.c, src/ntl-window.h: Fix the bug that was
7899 causing list view to be blank.
7901 2000-01-21 Darin Adler <darin@eazel.com>
7903 Started some cleanup of the icon view.
7905 * libnautilus/Makefile.am:
7906 libnautilus/gnome-icon-container-layout.c:
7907 libnautilus/gnome-icon-container-layout.h:
7908 libnautilus/gnome-icon-container.c:
7909 libnautilus/gnome-icon-container.h:
7910 src/file-manager/fm-directory-view-icons.c:
7911 src/file-manager/fm-directory-view-icons.h:
7912 Got rid of the GnomeIconContainerLayout.
7913 This was the old mechanism for saving and loading
7914 icon positions and we have a better signal-based one.
7915 Also made the new mechanism work more the way that
7916 Ettore had intended to make the layout work, where
7917 all the icons that have preassigned positions get
7918 positioned first, then the ones that are auto positioned.
7919 In the long run, we'll need something a bit fancier.
7921 * libnautilus/gnome-icon-container-dnd.c:
7922 libnautilus/gnome-icon-container.c:
7923 libnautilus/gnome-icon-container.h:
7924 libnautilus/gnome-icon-container-private.h:
7925 Change the priv pointer to be named details to match
7926 what we use in other places in Nautilus.
7928 2000-01-21 John Sullivan <sullivan@eazel.com>
7930 Made list view activation work on single click, like icon view.
7932 * libnautilus/gtkflist.c
7933 (struct _GtkFListDetails): Added single_click_mode
7934 and button_down_time, renamed dnd_select_pending_row to
7936 Added #define MAX_CLICK_TIME, copied from gnome_icon_container.
7937 (gtk_flist_initialize): Initialize single_click_mode to TRUE
7938 (activate_row): New function, extracts code needed to activate
7939 an item from its row number.
7940 (gtk_flist_button_press): Save button_down_time, save
7941 button_down_row more often, use activate_row () for double-click.
7942 (gtk_flist_button_release): Activate on single click if single_click_mode
7943 is true, selection isn't being extended, mouse hasn't moved to a different
7944 row, and not too much time has passed.
7945 (gtk_flist_motion): Deploy button_down_row name change.
7947 2000-01-20 Andy Hertzfeld <andy@eazel.com>
7949 * libnautilus/gnome-icon-container.c:
7950 Disabled the pernicious call to relayout in size_allocate. We
7951 will want to do automatic layout when the window size changes, but
7952 this is the wrong level for it, it happens too frequently
7954 2000-01-20 Elliot Lee <sopwith@redhat.com>
7956 * src/ntl-window-msgs.c:
7957 Missed piece in last commit.
7959 John added this entry for Elliot, who made this change three
7960 hours later than his last checkin. The comment is from the
7963 2000-01-20 Darin Adler <darin@eazel.com>
7965 * src/file-manager/fm-directory-view.c:
7966 (fm_directory_view_activate_entry):
7967 Fixed double free that was causing lots of nasty errors in
7969 (fm_directory_view_load_uri):
7970 Made the old directory hang around a bit longer when loading
7972 (display_selection_info):
7973 (fm_directory_view_send_selection_change):
7974 (display_selection_info_idle_cb):
7975 Fixed a storage leak and broke out the selection change into
7976 its own function instead of mixing it with the status line.
7977 Also made the selection actually use URIs instead of just
7978 names for the selected items.
7980 * libnautilus/nautilus-directory.h:
7981 libnautilus/nautilus-directory.c:
7982 (nautilus_file_get_uri):
7983 Added this function that gets a URI (rather than just a
7986 * libnautilus/nautilus-directory.c:
7987 (nautilus_directory_finalize):
7988 (nautilus_self_check_directory):
7989 Added more self checks and fixed a bug where a metadata
7990 change would get lost if you delete the directory too soon
7991 after making the change.
7993 2000-01-20 John Sullivan <sullivan@eazel.com>
7995 * libnautilus/gtkflist.c:
7996 * libnautilus/gtkflist.h:
7997 Move fields into details structure inside .c file.
7999 2000-01-20 Jonathan Blandford <jrb@redhat.com>
8001 * src/file-manager/fm-directory-view-list.c (column_clicked_cb):
8002 more initialization to clean up an warning.
8004 2000-01-20 Darin Adler <darin@eazel.com>
8006 * src/gnome-icon-container.c:
8007 (gnome_icon_container_xlate_selected):
8008 Fixed a bug where dragging an icon would cause the "kbd_selected"
8009 icon to scroll into view. Just passed FALSE instead of TRUE for
8010 "schedule_visibility".
8012 * libnautilus/nautilus-background.c:
8013 (nautilus_background_draw_flat_box):
8014 Tiny change, to fit our style rule against initializing.
8016 2000-01-20 Jonathan Blandford <jrb@redhat.com>
8018 * libnautilus/nautilus-background.c
8019 (nautilus_background_draw_flat_box): fix warning.
8021 2000-01-20 Elliot Lee <sopwith@redhat.com>
8023 * src/ntl-uri-map.c: Async notification of navinfo - now we just need an async get_file_info call.
8024 * src/ntl-view.[ch]: Better error handling.
8025 * src/file-manager/fm-directory-view.c (display_selection_info): Send a 'selection change' request.
8027 2000-01-19 Elliot Lee <sopwith@redhat.com>
8029 * src/ntl-window-msgs.c: Totally rewrite the state changing machine. Now handles things slightly better.
8030 * src/ntl-types.h: Remove requesting_view from the navigation info.
8031 * src/ntl-window.h: Move all the state machine stuff into NautilusWindow itself.
8032 * src/ntl-window.c: Update for new 'stop doing stuff' API.
8034 2000-01-20 Darin Adler <darin@eazel.com>
8036 Store icon positions as "x,y" in ICON_POSITION instead of
8037 storing ICON_X and ICON_Y.
8039 Take first step in moving the directory view to use the opaque
8040 NautilusDirectory and NautilusFile instead of using gnome-vfs
8041 directly. This will separate the controller from the model:
8042 FMDirectoryView is a controller and NautilusDirectory a model.
8044 * src/file-manager/fm-directory-view-icons.c:
8045 (add_to_icon_container):
8046 (fm_directory_view_icons_icon_moved_cb):
8047 Store icons positions as "x,y" in ICON_POSITION instead of storing
8048 separate numbers in ICON_X and ICON_Y.
8050 * libnautilus/nautilus-directory.h:
8051 libnautilus/nautilus-directory.c:
8052 (nautilus_directory_get_uri):
8053 Added a new call needed to replace fm_directory_view_get_uri.
8054 (nautilus_directory_get_file_metadata):
8055 (nautilus_directory_set_file_metadata):
8056 (nautilus_file_get_metadata):
8057 (nautilus_file_set_metadata):
8058 Moved the calls for getting and setting file metadata into the
8060 (nautilus_directory_new_file):
8061 (nautilus_file_get_info):
8062 Added temporary interfaces for the current situation where we're
8063 dealing with both NautilusFile and GnomeVFSFileInfo objects at
8065 (nautilus_directory_finalize):
8066 Detach and unref all the files when the directory is destroyed.
8067 (nautilus_file_unref):
8068 (nautilus_file_get_name):
8069 Implemented these functions now that we are using them.
8071 * src/file-manager/fm-directory-view.h:
8072 src/file-manager/fm-directory-view.c:
8073 (fm_directory_view_add_entry):
8074 (fm_directory_view_activate_entry):
8075 (display_selection_info):
8076 (fm_directory_view_get_selection):
8077 src/file-manager/fm-directory-view-icons.c:
8078 (add_to_icon_container):
8079 (fm_directory_view_icons_icon_moved_cb):
8080 (dm_directory_view_icons_add_entry):
8081 (fm_directory_view_icons_get_selection):
8082 (icon_container_activate_cb):
8083 src/file-manager/fm-directory-view-list.c:
8085 (fm_directory_view_list_add_entry):
8086 Change all the code to work with NautilusFile instead of
8087 GnomeVFSFileInfo, except for the parts of FMDirectoryView dealing
8088 with the directory_list.
8090 * src/file-manager/fm-directory-view.h:
8091 src/file-manager/fm-directory-view.c:
8092 (nautilus_file_date_as_string):
8093 (nautilus_file_size_as_string):
8094 (nautilus_file_type_as_string):
8095 libnautilus/nautilus-directory.h:
8096 libnautilus/nautilus-directory.c:
8097 (nautilus_file_get_date_as_string):
8098 (nautilus_file_get_size_as_string):
8099 (nautilus_file_get_type_as_string):
8100 Moved and renamed these functions and made them work on
8101 NautilusFile objects.
8103 2000-01-20 John Sullivan <sullivan@eazel.com>
8105 * src/file-manager/fm-directory-view.c: (display_selection_info):
8106 Made selection info in status bar use name of item when only one
8107 item. Also reorganized copy/pasted code in this function.
8109 2000-01-20 Darin Adler <darin@eazel.com>
8111 Made backgrounds work better in the list view. Gradients still
8112 won't work because the list view draws its background with calls
8113 to gdk_draw_rectangle explicitly, and doesn't call the functions
8114 in the style, so it can't be overridden.
8116 * libnautilus/nautilus-background.c:
8117 (nautilus_background_set_widget_style): Fix bug where the list
8118 items were not highlighting properly. Set only the NORMAL and
8119 ACTIVE background color. That way we don't screw up the SELECTED
8120 and other background colors.
8122 2000-01-20 Darin Adler <darin@eazel.com>
8124 * libnautilus/nautilus-directory.c:
8125 (nautilus_directory_get_file_metadata): Fix segfault that was
8126 happening when viewing a folder without a metafile.
8128 2000-01-19 Darin Adler <darin@eazel.com>
8130 The list view now has a background color just like the
8131 icon view does. Some more code could be saved, but that's
8132 a refactoring for another time.
8134 * libnautilus/gtkflist.c: Added support for receiving dragged
8135 colors to set the background of the list.
8137 * src/file-manager/fm-directory-view-list.c:
8138 (fm_directory_view_list_initialize_class):
8139 (fm_directory_view_list_clear):
8140 (fm_directory_view_list_background_changed_cb): Added code to load
8141 and save the background color from metadata.
8143 * libnautilus/nautilus-background.c: Put the background color in
8144 all the bg and base colors in the style instead of putting it only
8145 in bg[GTK_STATE_NORMAL].
8147 * libnautilus/nautilus-gtk-macros.h:
8148 (NAUTILUS_DEFINE_CLASS_BOILERPLATE): Make sure that the macro only
8149 evaluates the parent_class_type argument once, like it says in the
8150 comment. (NAUTILUS_CALL_PARENT_CLASS): Fix this macro so it can
8151 be used in places where an expression is expected.
8153 * RENAMING: Added this file to list name changes we are
8154 planning for the future.
8156 * libnautilus/gtkflist.h: libnautilus/gtkflist.c:
8157 src/explorer-location-bar.h: src/explorer-location-bar.c:
8160 * src/ntl-index-panel.c:
8161 src/file-manager/fm-directory-view-icons.c: Fixed some comments
8164 2000-01-19 Darin Adler <darin@eazel.com>
8166 Icon positions are now written out when you drag an icon,
8167 and read in when you visit a directory. But the code then
8168 immediately re-lays out the icons, so the position is lost!
8170 * src/file-manager/fm-directory-view-icons.c:
8171 (fm_directory_view_icons_icon_moved_cb):
8172 (fm_directory_view_icons_initialize): (add_container_icon): Save
8173 icon position when an icon is moved. Get icon position when an
8174 icon is first created.
8176 * libnautilus/nautilus-directory.c:
8177 (nautilus_directory_get_metadata_from_node):
8178 (nautilus_directory_get_metadata):
8179 (nautilus_directory_create_metafile_tree_root):
8180 (nautilus_directory_get_metadata):
8181 (nautilus_directory_set_metadata):
8182 (nautilus_directory_get_file_metadata):
8183 (nautilus_directory_set_file_metadata): Added the routines to get
8184 and set metadata for individual files.
8186 * libnautilus/nautilus-string.h: libnautilus/nautilus-string.c:
8187 (nautilus_eat_strcmp): (nautilus_string_to_int):
8188 (nautilus_eat_string_to_int): Made new string functions that free
8189 the existing strings, and a function to convert an int to a
8192 * libnautilus/gnome-icon-container.h:
8193 libnautilus/gnome-icon-container.c: (move_icon): (class_init):
8194 (handle_icon_button_press): Added context_click_background and
8195 icon_moved signals, and renamed context_click to
8198 * configure.in: Turned -Wunused back on. I had to turn -W off,
8199 but I think it's worth it.
8201 2000-01-19 John Sullivan <sullivan@eazel.com>
8203 * src/file-manager/fm-directory-view.c:
8204 Added #include <libgnomevfs/gnome-vfs-file-info.h>
8205 (fm_directory_view_populate), (display_pending_entries):
8206 Bump refcount on file info before adding it to directory.
8207 (fm_directory_view_load_uri): Destroy directory list
8208 before setting it to NULL. With previous change, this
8209 should prevent leaking GnomeVFSFileInfos and their
8212 2000-01-19 Darin Adler <darin@eazel.com>
8214 * libnautilus/nautilus-directory.c: (nautilus_directory_finalize):
8215 (nautilus_directory_try_to_read_metafile):
8216 (nautilus_directory_read_metafile):
8217 (nautilus_directory_try_to_write_metafile):
8218 (nautilus_directory_write_metafile):
8219 (nautilus_directory_construct_alternate_metafile_uri):
8220 (nautilus_directory_new): After Andy explained his change to me, I
8221 realized that it would always write the metafile in the alternate
8222 place if there was no pre-existing metafile. So I changed the
8223 logic. The new rule is: read the metafile from the alternate
8224 location first. If we find it there, write it back
8225 there. Otherwise, try to write in the directory itself. If that
8226 fails, write it in the alternate location instead.
8228 * libnautilus/nautilus-directory.c:
8229 (nautilus_directory_get_metadata): Allow get_metadata on a NULL
8230 NautilusDirectory and return NULL for data.
8232 2000-01-19 Darin Adler <darin@eazel.com>
8234 Allow changing the background of the icon view by dropping colors
8237 * libnautilus/gnome-icon-container-dnd.h:
8238 libnautilus/gnome-icon-container-dnd.c:
8239 (gnome_icon_container_position_shadow): (drag_data_received_cb):
8240 (gnome_icon_container_ensure_drag_data): (drag_motion_cb):
8241 (drag_drop_cb): (gnome_icon_container_receive_dropped_icons):
8242 (gnome_icon_container_free_drag_data): (drag_leave_cb): Added
8243 support for receiving dropped colors to change the background of a
8246 * src/file-manager/fm-directory-view-icons.c:
8247 (fm_directory_view_icons_initialize_class):
8248 (fm_directory_view_icons_clear):
8249 (fm_directory_view_icons_background_changed_cb): Added code to
8250 load and save the background color from metadata.
8252 * libnautilus/gdk-extensions.c: (nautilus_gradient_new): Changed
8253 nautilus_gradient_new to handle NULLs in the same way that the
8254 rest of the gradient functions do instead of NULL being an illegal
8257 * src/file-manager/fm-directory-view.h:
8258 src/file-manager/fm-directory-view.c:
8259 (fm_directory_view_initialize): (fm_directory_view_destroy):
8260 (fm_directory_view_get_model): (fm_directory_view_load_uri): Added
8261 a NautilusDirectory object to each directory view, accessed by
8262 subclasses with a call to fm_directory_view_get_model.
8264 * libnautilus/nautilus-gtk-extensions.h:
8265 libnautilus/nautilus-gtk-extensions.c:
8266 (gnome_icon_container_dropped_icon_feedback):
8267 (nautilus_gdk_selection_data_copy_deep): Added deep versions of
8268 these GtkSelectionData functions.
8270 * libnautilus/nautilus-gtk-macros.h:
8271 (NAUTILUS_DEFINE_GET_TYPE_FUNCTION):
8272 (NAUTILUS_DEFINE_CLASS_BOILERPLATE): Added definition and
8273 initialization of the parent_class global to
8274 NAUTILUS_DEFINE_GET_TYPE_FUNCTION and renamed it to
8275 NAUTILUS_DEFINE_CLASS_BOILERPLATE.
8277 * libnautilus/nautilus-background-canvas-group:
8278 (nautilus_background_canvas_group_initialize_class):
8279 libnautilus/nautilus-background.c:
8280 (nautilus_background_initialize_class):
8281 libnautilus/nautilus-directory.c:
8282 (nautilus_directory_initialize_class): src/ntl-index-panel.c:
8283 (nautilus_index_panel_initialize_class):
8284 src/file-manager/fm-directory-view-icons.c:
8285 (fm_directory_view_icons_initialize_class):
8286 src/file-manager/fm-directory-view-list.c:
8287 (fm_directory_view_list_initialize_class):
8288 src/file-manager/fm-directory-view.c:
8289 (fm_directory_view_initialize_class): Take advantage of the new
8290 NAUTILUS_DEFINE_CLASS_BOILERPLATE and get rid of existing code to
8291 set up parent_class.
8293 * libnautilus/gnome-icon-container-dnd.h:
8294 libnautilus/gnome-icon-container-dnd.c:
8295 libnautilus/gnome-icon-container-layout.h:
8296 libnautilus/gnome-icon-container-layout.c:
8297 libnautilus/gnome-icon-container.c: Minimized includes.
8299 2000-01-18 Andy Hertzfeld <andy@eazel.com>
8301 * libnautilus/gnome-icon-container.c
8302 made icon centered in cell by setting "x_set" pixbuf property so
8303 it listens to our offset also, adjusted x_offset constant
8304 * libnautilus/gnome-icon-container-dnd.c
8305 made shadow be centered properly by taking difference between
8306 cellwidth and iconwidth into account
8308 2000-01-18 Ettore Perazzoli <ettore@helixcode.com>
8310 * src/file-manager/dfos-xfer.c (xfer_info_destroy): Removed `#if
8313 * src/ntl-uri-map.c (nautilus_navinfo_new): Use
8314 `gnome_vfs_file_info_unref()' instead of
8315 `gnome_vfs_file_info_destroy()'.
8317 2000-01-18 Andy Hertzfeld <andy@eazel.com>
8319 * libnautilus/gnome-icon-container-private.h:
8320 added "button_down_time" field to private data structure
8321 * libnautilus/gnome-icon-container.c
8322 made it not activate objects if the button was held down too long
8323 by remember the mouse down time and comparing it with the up time
8325 2000-01-18 John Sullivan <sullivan@eazel.com>
8327 * src/file-manager/fm-directory-view.c:
8328 (fm_directory_view_load_uri): Set directory list to NULL
8329 but don't destroy it; this fixes crash entering a directory
8330 and then going up. Will ask Ettore about real fix.
8332 2000-01-18 John Sullivan <sullivan@eazel.com>
8334 * src/ntl-window-msgs.c:
8335 (nautilus_window_refresh_title): Sets the window title to
8336 Nautilus: x, where x is short name of current location.
8337 (nautilus_window_change_location_internal): Call
8338 nautilus_window_refresh_title.
8340 2000-01-18 John Sullivan <sullivan@eazel.com>
8342 * src/file-manager/fm-directory-view.c:
8343 (display_selection_info): Call selection "items" rather than
8344 "files" because users distinguish directories from files.
8346 2000-01-18 John Sullivan <sullivan@eazel.com>
8348 * src/file-manager/fm-directory-view.h:
8349 (enum _FMDirectoryViewSortType): added FM_DIRECTORY_VIEW_SORT_NONE
8350 and FM_DIRECTORY_VIEW_SORT_BYMTIME
8351 (fm_directory_view_sort): added reverse_sort parameter.
8352 (nautilus_file_date_as_string):
8353 (nautilus_file_size_as_string): Changed parameter for these two
8354 functions to be GnomeVFSFileInfo so they can handle special cases better.
8355 (nautilus_file_type_as_string): New function
8357 * src/file-manager/fm-directory-view.c
8358 (stop_load): Removed code resetting directory_list and current_position.
8359 This was the wrong place for it, and resetting directory_list was leaking.
8360 (directory_load_cb): Changed commented assignment to assert.
8361 (fm_directory_view_load_uri): Reset directory_list (without leaking old
8362 value) and current_position here.
8363 (fm_directory_view_sort): Pass through new reverse_sort parameter to
8364 gnome_vfs_directory_view_sort; add new case for
8365 FM_DIRECTORY_VIEW_SORT_BYMTIME; don't put directories first when sorting
8367 (nautilus_file_date_as_string): Now takes a GnomeVFSFileInfo pointer
8368 instead of a time_t (assumes mtime, with comment explaining why).
8369 (nautilus_file_size_as_string): Now takes a GnomeVFSFileInfo pointer
8370 instead of a size; uses this to special-case "--" for directory size.
8371 (nautilus_file_type_as_string): New function, special-cases directories
8372 to return "directory", otherwise returns mime_type.
8374 * src/file-manager/fm-directory-view-list.h
8375 Added private details structure to FMDirectoryViewList.
8377 * src/file-manager/fm-directory-view-list.c
8378 Added _FMDirectoryViewListDetails struct, containing sort_type and
8380 (fm_directory_view_initialize): initialize details struct.
8381 (column_clicked_cb): New function, sorts list by clicked column.
8382 If list already sorted by that column, reverses sort. Still need
8383 visual indicator of sort direction.
8384 (create_flist): Added Type column, tweaked column widths, added
8385 signal connection for "click_column"
8386 (add_to_flist): now passes GnomeVFSFileInfo to
8387 nautilus_file_size_as_string and nautilus_file_date_as_string;
8388 uses new nautilus_file_type_as_string for type column.
8390 2000-01-18 Andy Hertzfeld <andy@eazel.com>
8392 * libnautilus/nautilus-directory:
8393 * made reading metafile from directory where we don't have write
8394 permissions work by changing error-check to look in common place on
8395 any error instead of just access_denied.
8397 2000-01-18 Andy Hertzfeld <andy@eazel.com>
8399 * libnautilus/nautilus-directory.c:
8400 fixed bug caused by Elliot where he used alloca but forgot to remove g_free
8402 2000-01-18 Elliot Lee <sopwith@redhat.com>
8404 * libnautilus/nautilus-gtk-macros.h: Since the prototypes for
8405 GtkObjectInitFunc and GtkClassInitFunc just have a 'gpointer' for the args,
8406 cast the given values to these function types, so that people can use the actual
8407 pointer types as arguments without receiving a warning.
8409 * src/ntl-index-panel.c: Change to match. Also set
8410 object_klass->destroy & object_klass->finalize to point to our
8411 implementation. Also remove unused variables
8412 (nautilus_index_panel_initialize,
8413 nautilus_index_panel_set_up_label).
8415 * libnautilus/nautilus-background.c, src/ntl-window-msgs.c,
8416 src/ntl-window.c, src/file-manager/fm-directory-icons.c: Remove
8419 * src/ntl-window.h: Add a variable (unused) for future handling of content view loading.
8421 * libnautilus/libnautilus.h: Add an interim g_alloca.
8423 * libnautilus/nautilus-directory.c: Clean up a bit further, by
8424 removing the need for another if(), and using g_alloca instead of
8427 2000-01-18 Darin Adler <darin@eazel.com>
8429 * libnautilus/nautilus-directory.c:
8430 (nautilus_directory_read_metafile):
8431 (nautilus_directory_try_to_read_metafile):
8432 (nautilus_directory_write_metafile):
8433 (nautilus_directory_try_to_write_metafile):
8434 (nautilus_directory_switch_to_alternate_metafile_uri):
8435 (nautilus_directory_escape_slashes):
8436 (nautilus_make_directory_and_parents): Added first cut at code to
8437 put metafiles in the user's home directory if the directory is not
8438 accessible and you can't read and write a metafile in the
8439 directory itself. We'll have to refine this later to handle cases
8440 where you end up with two metafiles.
8442 * libnautilus/Makefile.am: libnautilus/nautilus-debug.h:
8443 libnautilus/nautilus-debug.c: Took trick for getting into the
8444 debugger and put it into a public header file so it can be used
8445 outside of the nautilus executable.
8447 * src/ntl-main.c: (stop_in_debugger):
8448 (nautilus_stop_after_default_log_handler): (main): Use the new
8449 calls from libnautilus to set up the drop into debugger for
8450 criticals and warnings.
8452 * src/file-manager/fm-main.c: (main): Minimized includes and used
8453 the new calls from libnautilus to set up the drop into debugger
8454 for criticals and warnings.
8456 * src/ntl-uri-map.c: (nautilus_navinfo_add_mapping):
8457 src/ntl-window.c: (nautilus_window_constructed):
8458 src/file-manager/fm-directory-view.c:
8459 (fm_directory_view_initialize): (fm_directory_view_destroy):
8460 (notify_location_change_cb): (stop_location_change_cb):
8461 (fm_directory_view_sort): Removed some messages that aren't so
8464 * libnautilus/ntl-view-frame.h: Minimized includes.
8465 * libnautilus/ntl-view-frame.c: Include "ntl-view-frame.h" first
8466 so it tests to see that it has sufficient includes in it.
8468 * src/ntl-view.c: (nautilus_view_load_client): Changed function so
8469 that NULL for an iid is allowed and simply results in a failed
8470 load instead of being illegal.
8472 * src/ntl-window-msgs.c:
8473 (nautilus_window_change_location_internal): src/ntl-window.c:
8474 (nautilus_window_up): Got rid of calls to gnome_vfs_uri_destroy;
8475 use gnome_vfs_uri_unref instead since it's safer and Federico is
8476 getting rid of gnome_vfs_uri_destroy.
8478 * src/file-manager/fm-directory-view-icons.h:
8479 src/file-manager/fm-directory-view-icons.c:
8480 (fm_directory_view_icons_new):
8481 src/file-manager/fm-directory-view-list.h:
8482 src/file-manager/fm-directory-view-list.c:
8483 (fm_directory_view_list_new):
8484 src/file-manager/fm-directory-view.h:
8485 src/file-manager/fm-directory-view.c: (fm_directory_view_new):
8486 Minimized includes and got rid of the unused _new functions.
8488 * libnautilus/nautilus-directory.h: Added a missing 2000 copyright
8491 2000-01-17 John Sullivan <sullivan@eazel.com>
8492 First steps towards making the list view non-degenerate.
8494 * src/file-manager/fm-directory-view.h:
8495 * src/file-manager/fm-directory-view.c:
8496 (nautilus_file_date_as_string): New function, returns string suitable
8497 for displaying in a list view column.
8498 (nautilus_file_size_as_string): New function, calls newly-publicized
8499 gnome_vfs_file_size_to_string.
8500 (display_selection_info): Now calls gnome_vfs_file_size_to_string
8501 instead of redoing the string-creation code here.
8503 * src/file-manager/fm-directory-view-list.c
8504 (create_flist): Creates new columns for icon, size, and mod date.
8505 (add_to_flist): Fills columns for size & mod date. Icon column
8506 is empty for the moment. Columns do not yet sort.
8508 2000-01-17 Andy Hertzfeld <andy@eazel.com>
8510 * libnautilus/gnome-icon-container-dnd.c:
8511 made dragging work right by using gdk_pixbuf_render_pixmap_and_mask
8512 to make a pixmap and mask to pass to the gtk dragging machinery
8513 * libnautilus/gnome-icon-container.c:
8514 changed xoffset constant for the icon mode positioning to make the
8515 feedback box line up with the icon.
8517 2000-01-16 Andy Hertzfeld <andy@eazel.com>
8519 * libnautilus/gnome-icon-container-dnd.c:
8520 made dragging use an image of the canvas item dragged
8521 still disabled, though, because it's not handling the mask yet
8523 2000-01-16 Andy Hertzfeld <andy@eazel.com>
8525 * libnautilus/gnome-icon-container-private.h:
8526 added "single_click_mode" boolean
8528 * libnautilus/gnome-icon-container.h
8529 made single-click open optionally work by adding code in
8530 button_release_event to activate the icon if appropriate
8531 enabled single-click mode by default
8533 * libnautilus/gnome-icon-container-dnd.c
8534 made dragging to desktop and else work by cleaning up code in set_uri_list_selection
8535 did work toward better dragging feedback using an image but didn't finish that yet
8537 2000-01-15 Andy Hertzfeld <andy@eazel.com>
8539 *libnautilus/gnome-icon-container-dnd.c:
8540 made dragging files within a window actually work graphically, and set the stage for dragging between windows
8541 made drag_leave_cb no longer delete the selection_list
8542 made drag_data_received_cb delete selection if present instead of asserting it's gone
8543 made drag_drop_cb use the selection_list to determine the directory we're dragging from,
8544 if it's the same, move within the window, otherwise copy between (coming soon)
8545 didn't update positions in the metafile yet
8547 2000-01-14 John Sullivan <sullivan@eazel.com>
8549 * src/file-manager/fm-directory-view.c:
8550 (display_selection_info):
8551 Fixed a killer typo that caused selection to crash.
8553 2000-01-14 John Sullivan <sullivan@eazel.com>
8555 Finished refactoring FMDirectoryView and subclasses. I
8556 don't plan any more major reworking on these files, so
8557 feel free to change things without fear of stomping on
8560 * src/file-manager/fm-directory-view.c:
8561 * src/file-manager/fm-directory-view.h:
8562 * src/file-manager/fm-directory-view-icons.c:
8563 * src/file-manager/fm-directory-view-icons.h:
8564 * src/file-manager/fm-directory-view-list.c:
8565 * src/file-manager/fm-directory-view-list.h:
8566 Moved icon_layout and icons_not_in_layout fields from
8567 FMDirectoryView to FMDirectoryViewIcons (where they hide
8568 inside a details structure in fm-directory-view-icons.c)
8569 Commented .h files and all public functions in .c files.
8570 Removed unnecessary #includes.
8571 Changed signatures on many static functions in subclasses
8572 to take subclass type instead of superclass type.
8573 (display_selection_info_idle_cb):
8574 (fm_directory_view_get_selection):
8575 (fm_directory_view_icons_get_selection):
8576 (fm_directory_view_list_get_selection):
8577 (fm_directory_view_notify_selection_changed):
8578 New functions used to handle subclasses telling
8579 superclass about the selection, so superclass can
8580 display info about it.
8581 (display_icon_container_selection_info_idle_cb):
8582 (display_flist_selection_info_idle_cb): Removed these
8583 old functions in favor of new cleaner mechanism.
8584 (flist_activate_cb), (icon_container_activate_cb): Moved
8585 common code into new superclass function...
8586 (fm_directory_view_activate_entry): New home of that common
8589 * src/file-manager/fm-directory-view.c:
8590 * src/file-manager/fm-directory-view.h:
8591 Moved remaining fields of FMDirectoryView inside a private
8592 details structure so they can change without affecting clients.
8593 (fm_directory_view_get_uri): (fm_directory_view_get_view_frame):
8594 New functions to use instead of peeking at structure directly.
8595 (init): (class_init): (fm_directory_view_get_type): Renamed
8596 the former two functions and removed the latter while
8597 deploying NAUTILUS_DEFINE_GET_TYPE_FUNCTION macro.
8599 * src/file-manager/fm-main.c:
8600 (make_obj): Use fm_directory_view_get_view_frame() where it
8601 had been peeking at structure directly.
8603 2000-01-14 Darin Adler <darin@eazel.com>
8605 Fixed our handling of warnings and criticals.
8607 * src/ntl-main.c: Added new functions that stop in the debugger
8608 when you hit a g_warning or a critical error, only if the
8609 environment variable NAUTILUS_DEBUG is set. This is better than
8610 the way the old code made everything fatal, since it doesn't do
8611 anything if the debugger isn't running.
8613 2000-01-14 Darin Adler <darin@eazel.com>
8615 Turned on gradients for backgrounds.
8617 * src/ntl-index-panel.c:
8618 (nautilus_index_panel_drag_data_received): Use the new
8619 accept_dropped_color function in NautilusBackground instead of
8620 code in here. (nautilus_index_panel_background_changed):
8621 (nautilus_index_panel_set_up_info): Save background to metadata
8622 when the NautilusBackground object emits the changed signal.
8624 * libnautilus/nautilus-background.h:
8625 libnautilus/nautilus-background.c:
8626 (nautilus_background_accept_dropped_color): Moved logic about
8627 dropping a color coupon to change the background into the
8628 NautilusBackground class. This includes a first cut at the rules
8631 * libnautilus/nautilus-background.c:
8632 (nautilus_background_get_color): Implemented this missing
8633 function. It's used by the code in index panel now to save the
8636 * libnautilus/nautilus-background.c:
8637 (nautilus_background_draw_flat_box): Implemented gradient fills
8638 through the GtkStyle subclass.
8640 * src/ntl-main.c: (main): Made criticals and warnings be always
8641 fatal. Next step is to make them drop into the debugger, but not
8642 result in a core dump if the debugger is not running.
8644 2000-01-14 Darin Adler <darin@eazel.com>
8646 * src/ntl-index-panel.c: (nautilus_index_panel_set_up_label):
8647 Changed code to use the new gnome_vfs_uri_extract_short_name
8648 instead of its own private function.
8650 2000-01-14 Darin Adler <darin@eazel.com>
8652 First cut at some actual saving of metadata.
8653 Neither the interface nor the implementation is great yet.
8656 * libnautilus/Makefile.am:
8657 libnautilus/nautilus-directory.h:
8658 libnautilus/nautilus-directory.c:
8659 libnautilus/nautilus-lib-self-check-functions.h:
8660 libnautilus/nautilus-lib-self-check-functions.c:
8661 src/file-manager/Makefile.am:
8662 src/file-manager/fm-directory-protected.h:
8663 src/file-manager/fm-directory.h:
8664 src/file-manager/fm-directory.c:
8665 src/file-manager/fm-vfs-directory.h:
8666 src/file-manager/fm-vfs-directory.c:
8667 Moved the old FMDirectory class into the library and named it
8668 NautilusDirectory. Added functions for reading and writing
8671 * src/ntl-index-panel.c: Added the code to save the index panel's
8672 background color in metadata.
8674 * libnautilus/Makefile.am: Added gnome-vfs and gnome-xml,
8675 since the new code uses them.
8677 * libnautilus/nautilus-self-checks.h:
8678 libnautilus/nautilus-lib-self-check-functions.h:
8679 libnautilus/nautilus-lib-self-check-functions.c:
8680 src/nautilus-self-check-functions.h:
8681 src/nautilus-self-check-functions.c:
8682 Added macros to the self-check framework so the list of self check
8683 functions appears in exactly one place for each directory/module.
8685 * src/ntl-index-panel.h: src/ntl-index-panel.c: Moved the fields
8686 of the index panel inside a private details structure so they can
8687 change without affecting clients.
8689 * libnautilus/nautilus-background.c: Just some reformatting.
8691 2000-01-13 John Sullivan <sullivan@eazel.com>
8693 More work pushing code from FMDirectoryView into subclasses.
8696 * src/file-manager/fm-directory-view.h:
8697 Removed enum _FMDirectoryViewMode and its typedef.
8698 Removed field entries_to_display.
8699 Removed transition section holding function prototypes that
8700 were on their way into subclasses.
8701 (fm_directory_view_is_valid_mode): Removed.
8702 (fm_directory_view_get_mode): Removed.
8703 (fm_directory_view_set_mode): Removed.
8705 (fm_directory_view_begin_adding_entries): New function & signal.
8706 (fm_directory_view_add_entry): New function & signal.
8707 (fm_directory_view_done_adding_entries): New function & signal.
8708 (fm_directory_view_done_sorting_entries): New function & signal.
8709 (fm_directory_view_begin_loading): New function & signal.
8711 (fm_directory_view_display_selection_info): Newly exposed function.
8713 * src/file-manager/fm-directory-view.c:
8714 Removed some now-unnecessary #includes.
8715 Added constants for new signals to enum.
8716 Removed global variable for icon cache in favor of already-extant
8717 fm_get_current_icon_cache().
8718 Removed all references to entries_to_display.
8719 (display_selection_info): Renamed to
8720 fm_directory_view_display_selection_info now that it's public.
8721 (view_has_icon_container): Removed.
8722 (get_icon_container): Moved into subclass FMDirectoryViewIcons.
8723 (add_to_icon_container): Moved into subclass FMDirectoryViewIcons.
8724 (load_icon_container): Moved into subclass FMDirectoryViewIcons.
8725 (display_icons_not_in_layout): Moved into subclass FMDirectoryViewIcons.
8726 (setup_base_uri): Moved into subclass FMDirectoryViewIcons (and renamed
8727 to set_up_base_uri).
8728 (view_has_flist): Removed.
8729 (get_flist): Moved into subclass FMDirectoryViewList.
8730 (add_to_flist): Moved into subclass FMDirectoryViewList.
8731 (class_init): Signal initialization code for begin_adding_entries,
8732 add_entry, done_adding_entries, done_sorting_entries, and begin_loading.
8733 (init): Removed mode-setting line.
8734 (display_pending_entries): Replaced the bulk of this function with three
8735 new signals: begin_adding_entries, add_entry, done_adding_entries. The
8736 loop structure and GnomeVFSFileInfo retrieving part remains.
8737 (directory_load_cb): Deployed new signal begin_loading where setup_base_uri
8739 (fm_directory_view_is_valid_mode): Removed.
8740 (fm_directory_view_get_mode): Removed.
8741 (fm_directory_view_set_mode): Removed.
8742 (fm_directory_view_begin_adding_entries): New function, emits signal.
8743 (fm_directory_view_add_entry): New function, emits signal.
8744 (fm_directory_view_done_adding_entries): New function, emits signal.
8745 (fm_directory_view_done_sorting_entries): New function, emits signal.
8746 (fm_directory_view_begin_loading): New function, emits signal.
8747 (fm_directory_view_sort): Replaced some icon-container-specific
8748 code with fm_directory_view_done_sorting_entries().
8750 * src/file-manager/fm-directory-view-icons.c:
8751 (fm_directory_view_icons_initialize_class): Wired up signal handlers
8752 for add_entry, done_adding_entries, done_sorting_entries, and begin_loading.
8753 (fm_directory_view_icons_initialize): Removed set_mode call.
8754 (display_icons_not_in_layout): Moved here from superclass FMDirectoryView.
8755 (get_icon_container): Moved here from superclass FMDirectoryView.
8756 (add_to_icon_container): Moved here from superclass FMDirectoryView.
8757 (load_icon_container): Moved here from superclass FMDirectoryView.
8758 (set_up_base_uri): Moved here from superclass FMDirectoryView.
8759 (fm_directory_view_icons_add_entry): New signal handler function, code
8760 taken and simplified from superclass FMDirectoryView.
8761 (fm_directory_view_icons_done_adding_entries): New signal handler
8762 function, code taken and simplified from superclass FMDirectoryView.
8763 (fm_directory_view_icons_done_sorting_entries): New signal handler
8764 function, code taken and simplified from superclass FMDirectoryView.
8765 (fm_directory_view_icons_begin_loading): New signal handler function,
8766 code taken and simplified from superclass FMDirectoryView.
8768 * src/file-manager/fm-directory-view-list.c:
8769 (fm_directory_view_list_initialize_class): Wired up signal handlers
8770 for begin_adding_entries, add_entry, and done_adding_entries
8771 (fm_directory_view_list_initialize): Removed set_mode call.
8772 (get_flist): Moved here from superclass FMDirectoryView.
8773 (add_to_flist): Moved here from superclass FMDirectoryView.
8774 (fm_directory_view_list_begin_adding_entries): New signal handler
8775 function, code taken and simplified from superclass FMDirectoryView.
8776 (fm_directory_view_list_add_entry): New signal handler function, code
8777 taken and simplified from superclass FMDirectoryView.
8778 (fm_directory_view_list_done_adding_entries): New signal handler
8779 function, code taken and simplified from superclass FMDirectoryView.
8781 2000-01-13 John Sullivan <sullivan@eazel.com>
8783 * libnautilus/nautilus-gtk-macros.h: Defined macros
8784 for use when a signal must be overridden by subclasses.
8785 * src/file-manager/fm-directory-view.c: Deployed these
8786 new macros for the "clear" signal.
8787 NAUTILUS_IMPLEMENT_MUST_OVERRIDE_SIGNAL is outside any
8789 (class_init): NAUTILUS_MUST_OVERRIDE_SIGNAL is in here.
8790 (fm_directory_view_real_clear): Eliminated this in favor
8791 of the above macros.
8792 * src/file-manager/fm-directory-view-icons.c:
8793 (fm_directory_view_icons_get_type): Replaced function with
8794 NAUTILUS_DEFINE_GET_TYPE_FUNCTION macro.
8795 (fm_directory_view_icons_init): Renamed to
8796 fm_directory_view_icons_initialize and standardized parameters
8797 to work with NAUTILUS_DEFINE_GET_TYPE_FUNCTION macro.
8798 (fm_directory_view_icons_class_init): Renamed to
8799 fm_directory_view_icons_initialize_class and standardized
8800 parameters to work with NAUTILUS_DEFINE_GET_TYPE_FUNCTION macro.
8801 (fm_directory_view_icons_destroy): Deployed
8802 NAUTILUS_CALL_PARENT_CLASS macro.
8803 * src/file-manager/fm-directory-view-list.c:
8804 (fm_directory_view_list_get_type): Replaced function with
8805 NAUTILUS_DEFINE_GET_TYPE_FUNCTION macro.
8806 (fm_directory_view_list_init): Renamed to
8807 fm_directory_view_list_initialize and standardized parameters
8808 to work with NAUTILUS_DEFINE_GET_TYPE_FUNCTION macro.
8809 (fm_directory_view_list_class_init): Renamed to
8810 fm_directory_view_list_initialize_class and standardized
8811 parameters to work with NAUTILUS_DEFINE_GET_TYPE_FUNCTION macro.
8812 (fm_directory_view_list_destroy): Deployed
8813 NAUTILUS_CALL_PARENT_CLASS macro.
8815 2000-01-12 John Sullivan <sullivan@eazel.com>
8817 More work at pushing appropriate fm_directory_view code
8820 * src/file-manager/fm-directory-view.c:
8821 (class_init): Register "clear" signal, make
8822 fm_directory_view_real_clear be default handler.
8823 (fm_directory_view_real_clear): New function, does
8824 nothing but complain when it's called. (I'm going to
8825 replace this with a debug-only mechanism soon.)
8826 (fm_directory_view_clear): New function, emits "clear" signal.
8827 (fm_directory_view_load_uri): Replaced "if icons clear this way,
8828 if list clear that way" code with call to fm_directory_view_clear.
8829 (mode_uses_flist): Eliminated, wrapped into only remaining caller
8830 view_has_flist (which will itself go away soon).
8831 (mode_uses_icon_container): Eliminated, wrapped into only remaining caller
8832 view_has_icon_container (which will itself go away soon).
8834 * src/file-manager/fm-directory-view-icons.c:
8835 (fm_directory_view_icons_clear): New function, erases icon container.
8836 (fm_directory_view_icons_init): Replace fm_directory_view's
8837 "clear" signal handler with fm_directory_view_icons_clear
8838 (fm_directory_view_icons_get_icon_layout): Moved to here.
8839 (fm_directory_view_icons_set_icon_layout): Moved to here.
8840 (fm_directory_view_icons_line_up_icons): Moved to here.
8842 * src/file-manager/fm-directory-view-list.c:
8843 (fm_directory_view_list_clear): New function, erases list contents.
8844 (fm_directory_view_list_init): Replace fm_directory_view's
8845 "clear" signal handler with fm_directory_view_list_clear
8847 * src/file-manager/fm-directory-view.h:
8848 (fm_directory_view_clear): Added "clear" signal, and
8849 fm_directory_view_clear prototype.
8850 (fm_directory_view_icons_get_icon_layout): Moved out of here.
8851 (fm_directory_view_icons_set_icon_layout): Moved out of here.
8852 (fm_directory_view_icons_line_up_icons): Moved out of here.
8854 * src/file-manager/fm-directory-view-icons.h:
8855 (fm_directory_view_icons_get_icon_layout): Moved to here.
8856 (fm_directory_view_icons_set_icon_layout): Moved to here.
8857 (fm_directory_view_icons_line_up_icons): Moved to here.
8859 2000-01-12 John Sullivan <sullivan@eazel.com>
8861 * src/ntl-window-msgs.c (nautilus_window_load_content_view_menu):
8862 Made option menu say "View as Icons" (e.g.) instead of just "Icons"
8864 2000-01-11 Andy Hertzfeld <andy@eazel.com>
8867 added a debug menu, and it's first item to show a color picker to test dropping colors
8869 2000-01-11 John Sullivan <sullivan@eazel.com>
8871 Started moving icon-specific and list-specific code
8872 into the subclasses. As a transition step, added some
8873 private prototypes to the .h file (clearly marked).
8875 * src/file-manager/fm-directory-view.c:
8876 (setup_flist), (setup_icon_container): eliminated completely.
8877 (display_icon_container_selection_info_idle_cb),
8878 (icon_container_selection_changed_cb), (icon_container_activate_cb),
8879 (create_icon_container), (display_flist_selection_info_idle_cb),
8880 (flist_activate_cb), (flist_selection_changed_cb),
8881 (create_flist): moved out.
8882 (fm_directory_view_set_mode): removed the guts, which are now
8883 in the init functions for the subclasses; now just sets the
8884 field (which will go away eventually).
8885 * src/file-manager/fm-directory-view.h:
8886 (add_to_flist), (display_selection_info), (get_flist),
8887 (get_icon_container), (load_icon_container): temporarily
8889 * src/file-manager/fm-directory-view-icons.c:
8890 (display_icon_container_selection_info_idle_cb),
8891 (icon_container_selection_changed_cb), (icon_container_activate_cb),
8892 (create_icon_container): moved in.
8893 (fm_directory_view_icons_init): Now creates icon_container here instead of
8894 in fm_directory_view_set_mode (which will eventually go away).
8895 * src/file-manager/fm-directory-view-list.c:
8896 (display_flist_selection_info_idle_cb), (flist_activate_cb),
8897 (flist_selection_changed_cb), (create_flist): moved in.
8898 (fm_directory_view_list_init): Now creates flist here instead of
8899 in fm_directory_view_set_mode (which will eventually go away).
8902 (real_nautilus_window_set_content_view): Renamed to
8903 nautilus_window_real_set_content_view. Also added
8906 2000-01-11 Darin Adler <darin@eazel.com>
8908 NautilusBackground is now used for the index panel background.
8910 * libnautilus/nautilus-background.c:
8911 (nautilus_background_attach_to_canvas):
8912 (nautilus_get_widget_background):
8913 (nautilus_gtk_style_get_default_class):
8914 (nautilus_gdk_window_update_sizes):
8915 (nautilus_background_draw_flat_box):
8916 (nautilus_background_get_gtk_style_class):
8917 (nautilus_background_set_widget_style):
8918 (nautilus_background_set_up_canvas):
8919 (nautilus_widget_background_changed):
8920 (nautilus_get_widget_background):
8921 Added new code that changes the background of a widget by
8922 modifying the GtkStyle. For solid colors and tiled images we
8923 can just modify the GtkStyle. For gradients we need to make
8924 a GtkStyle subclass.
8926 * libnautilus/nautilus-background.h:
8927 (nautilus_background_attach_to_canvas):
8928 (nautilus_get_widget_background):
8929 Changed the old interface that was canvas-specific, to a new one
8930 that allows attacking a background to any widget.
8932 * src/ntl-index-panel.h:
8933 Now that the background is attached to the widget, we don't need
8934 a background field in NautilusIndexPanel.
8936 * src/ntl-index-panel.c:
8937 (nautilus_index_panel_set_up_background)
8938 (nautilus_index_panel_finalize):
8939 (nautilus_index_panel_drag_data_received):
8940 (nautilus_index_panel_set_up_info):
8941 Changed the index panel to use NautilusBackground.
8943 * libnautilus/nautilus-background-canvas-group.h:
8944 libnautilus/nautilus-background-canvas-group.c:
8945 (nautilus_background_canvas_group_get_background):
8946 (nautilus_background_canvas_group_set_background):
8947 Moved the code that manages the background object out of the
8948 canvas group code, since we can now attach a background to
8951 * libnautilus/gdk-extensions.c:
8952 (nautilus_gdk_color_parse_with_white_default): Changed this helper
8953 to accept NULLs and return the default instead of prohibiting
8954 NULL. This is consistent with the gradient's use of NULL to
8955 represent the default color.
8957 2000-01-11 John Sullivan <sullivan@eazel.com>
8959 * libnautilus/nautilus-gtk-extensions.h:
8960 * libnautilus/nautilus-gtk-extensions.c:
8961 (nautilus_gtk_signal_connect_free_data): New function,
8962 convenience wrapper for gtk_signal_connect_full where
8963 the destroy-function is g_free() and the other extra
8964 values are the defaults.
8965 * src/ntl-window-msgs.c: (nautilus_window_load_content_view_menu):
8966 Use nautilus_gtk_signal_connect_free_data to avoid leaking the menu item's
8967 signal's copy of the iid string.
8969 2000-01-11 John Sullivan <sullivan@eazel.com>
8971 Content view menu now works (can switch between List and Icon views).
8973 * src/ntl-window-msgs.c:
8974 (nautilus_window_load_content_view): Made it return the new
8975 content view, so callers don't need a load_info structure to
8976 determine the new view. Also made it accept NULL for
8978 (view_menu_switch_views_cb): New function, callback for when
8979 a view is chosen from the list of available content views.
8980 Elliot told me that this requires further work, so I checked
8981 it in with comments for later fixing by Elliot or someone
8982 else who understands the loading process better.
8983 (nautilus_view_load_content_view_menu): Added explicit
8984 parameter for NautilusNavigationInfo for clarity (had been
8985 getting this from deep in window temporary state guts).
8986 Connected view_menu_switch_views_cb to menu items.
8988 (nautilus_window_set_arg): Fixed bug in ARG_CONTENT_VIEW case where
8989 new view was sometimes being added to view hierarchy twice. Then
8990 moved this code into...
8991 (real_nautilus_window_set_content_view): New function, implements
8992 guts of content-view changing so set_arg doesn't have a big block
8993 of code in a switch statement.
8994 (nautilus_window_set_content_view): Moved the gtk_widget_show call
8995 from here to real_nautilus_window_set_content_view so it happens
8996 even if set_arg is called from elsewhere.
8997 (gtk_option_menu_do_resize): Removed this
8998 obsolete function (I removed the callers yesterday but forgot this).
9000 2000-01-11 Darin Adler <darin@eazel.com>
9002 * libnautilus/ntl-view-frame.c: Fixed typos and oversights in
9003 Maciej's check-in. He didn't compile his changes :-(
9005 2000-01-11 Maciej Stachowiak <mjs@eazel.com>
9007 * libnautilus/ntl-view-frame.c, libnautilus/ntl-view-frame.h: Redo
9008 signals the conventional way, to avoid array size mismatches in
9011 2000-01-10 Maciej Stachowiak <mjs@eazel.com>
9013 * docs/architecture.txt: Some documentation on the nautilus
9014 architecture including a block diagram and some conrol flow
9015 explanations. Needs editing for both style and technical
9016 completeness/accuracy, but it's a start.
9018 * libnautilus/gnome-icon-container.c (handle_icon_button_press):
9019 Reorder code so "context_click" is actually emitted on a button 3
9022 * src/file-manager/fm-main.c,
9023 src/file-manager/fm-directory-view.c,
9024 src/file-manager/fm-directory-view.h: Changed FMDirectoryView to
9025 use a NautilusViewFrame rather than inheriting from one.
9027 * libnautilus/ntl-view-frame.c (nautilus_view_frame_class_init):
9028 Fixed marshall type for "stop_location_change" signal. How could
9029 this ever have worked?
9031 * src/ntl-view.c (nautilus_view_load_client): Once an appropriate
9032 component type is found, do not keep looping.
9034 2000-01-10 John Sullivan <sullivan@eazel.com>
9036 First step at splitting the directory view into separate
9037 icon and list views. List view compiles and runs now,
9038 but is still inaccessible from the UI.
9040 * src/file-manager/fm-directory-view-icons.h:
9041 * src/file-manager/fm-directory-view-icons.c:
9042 * src/file-manager/fm-directory-view-list.h:
9043 * src/file-manager/fm-directory-view-list.c:
9044 New files. These implement two subclasses of FMDirectoryView.
9045 Currently the subclasses are trivial; the only code in the
9046 subclasses other than boilerplate is the one line that sets
9047 the view mode. Later I'll push the rest of the relevant code
9048 down into the subclasses.
9049 * src/file-manager/Makefile.am
9050 Added the four new files to the build.
9051 * src/file-manager/fm-directory-view.c: (init): Removed the
9052 call to fm_directory_view_set_mode since the subclasses are
9053 responsible for this now.
9054 (setup_base_uri): Don't call get_icon_container for non-icon
9055 views, as it asserts if you do; this was broken but since
9056 you couldn't switch to a non-icon view we didn't realize it.
9057 * src/file-manager/fm-main.c: (make_obj): Now calls either
9058 fm_directory_view_icons_get_type() or fm_directory_view_list_get_type()
9059 depending on the goad_id.
9060 * src/file-manager/ntl-file-manager.goad: Replaced entry for
9061 ntl_file_manager with two, one for ntl_file_manager_icon_view
9062 and one for ntl_file_manager_list_view
9063 * src/ntl-uri-map.c: (nautilus_navinfo_new): Now it sets up
9064 the two content views for directories with their new goad ids.
9066 2000-01-10 Maciej Stachowiak <mjs@eazel.com>
9068 * libnautilus/ntl-view-frame.c, libnautilus/ntl-view-frame.c:
9069 Fixed mismatch between declared signal array size and actual
9070 number of signals (this should still be rewritten to follow proper
9073 * libnautilus/ntl-content-view-frame.c,
9074 libnautilus/ntl-content-view-frame.h,
9075 libnautilus/ntl-meta-view-frame.c,
9076 libnautilus/ntl-meta-view-frame.h, libnautilus/ntl-view-frame.c,
9077 libnautilus/ntl-view-frame.h, src/ntl-app.c,
9078 src/ntl-view-bonobo-control.c, src/ntl-view-bonobo-subdoc.c,
9079 src/ntl-view-frame-svr.c, src/ntl-view-nautilus.c,
9080 src/ntl-view-private.h, src/ntl-view.c, src/ntl-view.h,
9081 src/ntl-window-msgs.c, src/ntl-window-msgs.h,
9082 src/ntl-window-state.c, src/ntl-window.c, src/ntl-window.h,
9083 src/file-manager/fm-directory-view.c,
9084 src/file-manager/fm-directory-view.h, src/file-manager/fm-main.c:
9085 Added Eazel copyright to files I've changed non-trivially.
9087 2000-01-10 Darin Adler <darin@eazel.com>
9089 * src/ntl-index-panel.c: (nautilus_index_panel_set_up_label):
9090 Added workaround to problem with basename and gnome-vfs.
9092 2000-01-10 Maciej Stachowiak <mjs@eazel.com>
9094 * libnautilus/ntl-view-frame.c, libnautilus/ntl-view-frame.h,
9095 libnautilus/ntl-content-view-frame.c,
9096 libnautilus/ntl-content-view-frame.h,
9097 libnautilus/ntl-meta-view-frame.c,
9098 libnautilus/ntl-meta-view-frame.h: Renamed from
9099 libnautilus/ntl-view-client.c, libnautilus/ntl-view-client.h,
9100 libnautilus/ntl-content-view-client.c,
9101 libnautilus/ntl-content-view-client.h,
9102 libnautilus/ntl-meta-view-client.c,
9103 libnautilus/ntl-meta-view-client.h.
9104 * libnautilus/Makefile.am, libnautilus/libnautilus.h: reflect this
9107 2000-01-10 Darin Adler <darin@eazel.com>
9109 * ntl-window-msgs.c: (nautilus_window_request_progress_change):
9110 (nautilus_window_advance_state):
9111 (nautilus_window_switch_to_new_views):
9112 (nautilus_window_revert_to_old_views):
9113 (nautilus_window_free_load_info):
9114 (nautilus_window_end_location_change):
9115 (nautilus_window_change_location_2):
9116 (nautilus_window_change_location): Got rid of the race condition
9117 in the existing code and cleaned up the state machine a bit. The
9118 new code separates the state of the nautilus window from the state
9119 of the content view, which makes things a bit simpler.
9121 2000-01-10 John Sullivan <sullivan@eazel.com>
9123 Added some of the framework for supporting multiple
9124 content views for the same uri. More to come later.
9126 * src/ntl-types.h: added NautilusViewIdentifier struct
9127 to keep track of iid and human-readable name. Renamed
9128 NautilusNavigationInfo.content_iid to default_content_iid,
9129 and added content_identifiers GSList.
9130 * src/ntl-uri-map.c:
9131 (nautilus_view_identifier_new): New function.
9132 (nautilus_view_identifier_free): New function.
9133 (nautilus_navinfo_new): Create a human-readable-name
9134 for each content iid, and store them together in
9135 content_identifiers list. I included a currently
9136 unworking "List" choice for the directory case, to
9138 (nautilus_navinfo_free): Free the content_identifiers list.
9139 * src/ntl-window-msgs.c:
9140 (nautilus_window_load_content_view_menu): New function,
9141 iterates through the content_identifiers list to fill in
9142 the menu of content view choices. The menu items don't do
9144 (nautilus_window_change_location_internal): Added call to
9145 nautilus_window_load_content_view_menu.
9146 (nautilus_window_change_location_2): Fixed spelling and
9147 grammar in a couple of error messages.
9148 * src/ntl-window.c: (nautilus_window_constructed): Removed
9149 "View as (placeholder)" text in menu; now it has no text
9150 until the actual choices appear. Removed some option-menu-sizing
9151 trickery that didn't work correctly when items were added later.
9152 Now the entire menu is replaced when its contents change.
9153 * src/ntl-window.h: Removed menu_cvtype field; code all uses
9154 just option_cvtype now.
9156 2000-01-10 Darin Adler <darin@eazel.com>
9158 * libnautilus/Makefile.am, libnautilus/nautilus-background.h,
9159 libnautilus/nautilus-background.c,
9160 libnautilus/nautilus-background-canvas-group.h,
9161 libnautilus/nautilus-background-canvas-group.c,
9162 libnautilus/nautilus-lib-self-check-functions.h,
9163 libnautilus/nautilus-lib-self-check-functions.c: Added first cut
9164 at a new class to manage backgrounds that can be colors, color
9165 gradients, or tiled images.
9167 * libnautilus/Makefile.am, libnautilus/nautilus-string.h,
9168 libnautilus/nautilus-string.c: Added functions that manipulate
9169 strings that allow NULLs to reduce NULL checks in code that
9170 treats NULL the same as an empty string.
9172 * libnautilus/gdk_extensions.c: (nautilus_gradient_new):
9173 (nautilus_gradient_is_gradient):
9174 (nautilus_gradient_is_horizontal):
9175 (nautilus_gradient_strip_trailing_direction_if_any):
9176 (nautilus_gradient_get_start_color_spec):
9177 (nautilus_gradient_get_end_color_spec):
9178 (nautilus_gradient_set_edge_color): Changed gradient functions to
9179 allow NULL and treat it the same as an empty string.
9181 * libnautilus/gdk_extensions.h: libnautilus/gdk_extensions.c:
9182 (nautilus_gdk_color_parse_with_default):
9183 (nautilus_gdk_color_parse_with_white_default): Added alternate
9184 version of gdk_color_parse that uses a default color instead of
9185 just returning false. Added self-checks and updated some existing
9186 self checks at the same time.
9188 * src/ntl-index-panel.h, src/ntl-index-panel.c: Wholesale
9189 cleanup and reformatting of NautilusIndexPanel. Fixed a number of
9190 bugs, including storage leaks, and took first step toward using
9191 NautilusBackground class.
9193 * src/ntl-window.c: (nautilus_window_get_requested_uri):
9194 Changed this so it works when window->ni is NULL.
9196 * src/ntl-window.h: Changed index_panel to be a NautilusIndexPanel
9197 now that the index panel interface uses the class instead of using
9198 GtkWidget everywhere.
9200 * src/file-manager/.cvsignore: Added *.la.
9202 * src/file-manager/fm-directory.c: Minor reformatting to match
9203 GNOME code style better.
9205 2000-01-10 John Sullivan <sullivan@eazel.com>
9207 * src/ntl-index-panel.c: (nautilus_index_panel_set_up_label):
9208 Check for NULL filename
9210 2000-01-10 Maciej Stachowiak <mjs@eazel.com>
9212 * src/file-manager/.cvsignore: ignore ntl-file-manager rather than
9213 libntl-file-manager.la
9215 Made file manager view a CORBA server that lives in a separate
9218 * src/file-manager/fm-main.c: New file which includes main()
9219 function and basic framework to make the file manager an
9220 executable CORBA server.
9221 * src/file-manager/ntl-file-manager.goad: gnorba activation file
9222 for the file manager.
9223 * src/file-manager/Makefile.am: Build ntl-file-manager as an
9224 executable rather than a library. Add fm-main.c to build. Install
9225 ntl-file-manager.goad. Link in appropriate libraries.
9226 * src/ntl-app.c: Remove nautilus_make_object() and other vestiges
9227 of the attempt to be a CORBA server for file manager view objects.
9228 * src/nautilus.gnorba: Removed.
9229 * nautilus-self-check-functions.c: Remove call to test of
9230 functions now in the separate ntl-file-manager executable.
9231 * src/Makefile.am: Don't try to link in file manager. Don't try to
9232 install nautilus.goad.
9234 2000-01-10 Maciej Stachowiak <mjs@eazel.com>
9236 * src/ntl-main.c (main): Added missing CORBA_exception_init() call.
9238 2000-01-09 Maciej Stachowiak <mjs@eazel.com>
9240 * libnautilus/ntl-view-client.c, libnautilus/ntl-view-client.h,
9241 libnautilus/ntl-content-view-client.c,
9242 libnautilus/ntl-content-view-client.h,
9243 libnautilus/ntl-meta-view-client.c,
9244 libnautilus/ntl-meta-view-client.h,: Rename NautilusViewClient to
9245 NautilusViewFrame, NautilusContentViewClient to
9246 NautilusContentViewFrame, and NautilusMetaViewClient to
9247 NautilusMetaViewFrame.
9248 * components/help/hyperbola-nav-tree.c,
9249 components/history/ntl-history-view.c,
9250 components/html/ntl-web-browser.c,
9251 components/websearch/ntl-web-search.c, src/ntl-app.c,
9252 src/file-manager/fm-directory-view.c,
9253 src/file-manager/fm-directory-view.h: Reflect the above renaming.
9255 2000-01-09 Andy Hertzfeld <andy@eazel.com>
9257 * src/ntl-index-panel.c: made dropping a color from the color
9258 picker set the background accordingly. It doesn't save the
9259 meta-data yet, thought
9261 2000-01-09 Maciej Stachowiak <mjs@eazel.com>
9263 * components/websearch/.cvsignore: Added .deps, .libs,
9266 2000-01-07 Andy Hertzfeld <andy@eazel.com>
9268 changed the way the index panel gets notified of location changes
9269 removed the index_panel_connect stuff
9270 instead, calls index_panel_set_uri directly from nautilus_window_change_location
9272 * src/ntl-index-panel.c, src/ntl-index-panel.h:
9273 restructured the code that populates the view with the info,
9274 added logic to use as large a font as possible for the title
9275 fixed bug involving the path ending with a slash.
9276 * src/ntl-window-msgs.c:
9277 added explicit call to index_panel_set_uri as mentioned above
9279 removed call to index_panel_connect as mentioned above
9281 2000-01-07 John Sullivan <sullivan@eazel.com>
9283 Added and deployed utility routine for presenting a
9284 window (in any current state) to user.
9286 * libnautilus/nautilus-gtk-extensions.h:
9287 * libnautilus/nautilus-gtk-extensions.c: New files
9288 (nautilus_gtk_window_present): New function, presents
9289 a window to user (opens it, brings it to front w/focus)
9290 regardless of whether it was showing, buried, hidden, or
9292 * libnautilus/Makefile.am: added these two new files. Also
9293 changed ".c" to ".h" for two self-check files in the HEADERS
9294 list (apparent typo).
9295 * src/nautilus-bookmarks-menu.c: (edit_bookmarks_cb):
9296 Replaced call to nautilus_bookmarks_window_present with
9297 call to nautilus_gtk_window_present.
9298 * src/nautilus-bookmarks-window.c:
9299 * src/nautilus-bookmarks-window.h:
9300 (nautilus_bookmarks_window_present): Deleted this function.
9301 * src/nautilus-bookmarks-window.c:
9302 (create-bookmarks-window): Now calls nautilus_bookmarks_
9303 window_restore_geometry just once here, instead of every
9304 time window was shown.
9305 * src/ntl-window.c: (nautilus_about_window_cb):
9306 Now it keeps around a single About window, instead of
9307 creating a new one each time (you could litter the screen
9308 with About windows before). Also removed some obsolete
9309 gtk_widget_set_sensitive calls.
9311 2000-01-07 John Sullivan <sullivan@eazel.com>
9313 Bookmarks window position is now saved & restored within
9314 a session and across sessions. Some of this work can be
9315 turned into general-purpose utilities but I didn't do
9316 that yet (I will when we have a second need for it)
9318 * src/nautilus-bookmarklist.c:
9319 * src/nautilus-bookmarklist.h:
9320 (nautilus_bookmarklist_set_window_geometry):
9321 (nautilus_bookmarklist_get_window_geometry): New functions,
9322 take/return a string representing the window position.
9323 * src/nautilus-bookmarklist.c:
9324 (nautilus_bookmarklist_load_file):
9325 (nautilus_bookmarklist_save_file): read/write xml node for
9326 window geometry in addition to bookmarks. Also cleaned up
9327 a couple of leaked results from xmlGetProp and reformatted.
9328 (set_window_geometry_internal): New utility function.
9329 * src/nautilus-bookmarks-menu.c: (edit_bookmarks_cb): Moved
9330 window-displaying logic out of this routine and into new
9331 routine nautilus_bookmarks_window_present(), which is now
9333 * src/nautilus-boomarks-menu.c:
9334 * src/nautilus-boomarks-menu.h:
9335 (nautilus_bookmarks_menu_exiting): New function, handles telling
9336 bookmarks window to save itself when application exits.
9337 * src/ntl-app.c: (nautilus_app_exiting): Now calls
9338 nautilus_bookmarks_menu_exiting.
9339 * src/nautilus.h: Now #includes "nautilus-bookmarks-menu.h"
9340 * src/nautilus-bookmarks-window.h:
9341 * src/nautilus-bookmarks-window.c:
9342 (nautilus_bookmarks_window_present): New function, handles
9343 presenting the bookmarks window on screen regardless of current state.
9344 (nautilus_bookmarks_window_save_geometry): New function, reads window
9345 position & size and passes them along to
9346 nautilus_bookmarklist_set_window_geometry for safe-keeping.
9347 * src/nautilus-bookmarks-window.c:
9348 (nautilus_bookmarks_window_restore_geometry): New function, gets
9349 window geometry from bookmarklist and sets window size & position
9350 from it (after adjusting with some sanity checks)
9351 (create_bookmarks_window): Replaced set_default_size call with
9352 nautilus_bookmarks_window_restore_geometry call.
9356 2000-01-07 Elliot Lee <sopwith@redhat.com>
9358 * src/ntl-window.c, src/ntl-index-panel.c: Fix warnings.
9360 2000-01-07 Andy Hertzfeld <andy@eazel.com>
9362 * src/ntl-index-panel.h, src/ntl-index-panel.c: new files for index panel class
9363 Initial bare-bones implementation of index panel still using notebook object instead of custom tabs
9365 * src/ntl-window.h, src/ntl-window.c:
9366 just use box instead of pane for nautilus window content,
9367 index_panel now responsible for the meta-views allocate and
9368 install index_panel instead of meta_notebook connect_signals calls
9369 index_panel so it can connect, too added myself as an author
9372 added index_panel class
9374 2000-01-06 Darin Adler <darin@eazel.com>
9376 * libnautilus/Makefile.am,
9377 libnautilus/nautilus-lib-self-check-functions.c,
9378 libnautilus/nautilus-lib-self-check-functions.h,
9379 libnautilus/nautilus-self-checks.c,
9380 libnautilus/nautilus-self-checks.h, src/Makefile.am,
9381 src/nautilus-self-check-functions.c,
9382 src/nautilus-self-check-functions.h, src/nautilus-self-checks.c,
9383 src/nautilus-self-checks.h, src/ntl-main.c (main),
9384 src/file-manager/fm-directory.c,
9385 src/file-manager/fm-vfs-directory.c: Moved self-check framework
9386 into libnautilus. Added functions so each check will report if it
9387 fails instead of just aborting.
9389 * src/gdk-extensions.c, src/gdk-extensions.h
9390 (nautilus_gradient_new, nautilus_gradient_is_gradient,
9391 nautilus_gradient_get_start_color_spec,
9392 nautilus_gradient_get_end_color_spec,
9393 nautilus_gradient_is_horizontal,
9394 nautilus_gradient_set_left_color_spec,
9395 nautilus_gradient_set_top_color_spec,
9396 nautilus_gradient_set_right_color_spec,
9397 nautilus_gradient_set_bottom_color_spec): Added new functions to
9398 manage a string that specifies a color or gradient, and added
9399 tests for the new functions.
9401 2000-01-06 John Sullivan <sullivan@eazel.com>
9403 * src/ntl-app.h: src/ntl-app.c: (nautilus_app_exiting):
9404 New function for doing app-wide cleanup. Moved call to
9405 nautilus_prefs_save in here.
9406 * src/ntl-app.c: (nautilus_app_destroy_window): Former
9407 home of call to nautilus_prefs_save.
9408 * src/ntl-main.c: (main): After event loop concludes,
9409 call nautilus_app_exiting.
9411 2000-01-06 Elliot Lee <sopwith@redhat.com>
9413 * libnautilus/gnome-icon-container.c: Relayout when size changes.
9415 2000-01-06 Andy Hertzfeld <andy@eazel.com>
9417 * ntl-window.c: made location bar draggable to be consistent with the others by removing DOCK_LOCKED
9420 2000-01-06 Elliot Lee <sopwith@redhat.com>
9422 * libnautilus/gnome-icon-container.c: Eliminate gratuitous scroll bars.
9424 * src/ntl-window-msgs.c, components/help/hyperbola-filefmt.c, components/html/gnome-dialogs.c: Bug fixes.
9426 2000-01-06 John Sullivan <sullivan@eazel.com>
9428 * src/ntl-prefs.c: added NULLs to array initializers to
9429 eliminate compiler warnings.
9431 2000-01-06 Elliot Lee <sopwith@redhat.com>
9433 * src/ntl-prefs.c, src/ntl-uri-map.c: Implement preferences for
9434 which meta-views to always load with a page. Loading doesn't seem to quite work.
9436 * src/ntl-window.c, src/ntl-view.c: Try to fix a crash that
9437 happens when going to a new page, and a meta view is being
9438 destroyed in the process. Still crashes.
9440 2000-01-05 Maciej Stachowiak <mjs@eazel.com>
9442 * src/ntl-uri-map.c (nautilus_navinfo_free): Fix warning.
9444 2000-01-05 Elliot Lee <sopwith@redhat.com>
9446 * src/ntl-types.h, src/ntl-uri-map.[ch], src/ntl-window-msgs.c, src/ntl-window.[ch]:
9447 Add support for the location change state machine and related notifications,
9448 to allow much better error handling.
9449 * src/ntl-view.[ch]: Catch client failures, also allow for active sensing of client death.
9450 * src/file-manager/fm-directory-view.c: Send progress notifications.
9451 * components/html/ntl-web-browser.c: Send progress
9452 notifications. Try to fix crashes caused by ending an error stream
9455 * src/file-manager/fm-icon-cache.c: Update for gdk-pixbuf changes.
9457 2000-01-05 John Sullivan <sullivan@eazel.com>
9459 * src/nautilus-bookmarks-window.c: (create_bookmarks_window):
9460 Remove horizontal scroll bar from list via set_policy.
9462 2000-01-05 John Sullivan <sullivan@eazel.com>
9464 * src/nautilus-bookmarks-menu.c: (nautilus_bookmarks_menu_fill):
9465 Stopped using GNOMEUIINFO_ITEM_DATA macro, because it doesn't work
9466 right (on some machines) when there's no pixmap for the item.
9468 2000-01-04 John Sullivan <sullivan@eazel.com>
9470 * src/nautilus-bookmarks-menu.c: comment changes only
9472 * src/nautilus-bookmarks-window.c:
9473 (create_bookmarks_window): added padding to "Remove" button
9474 so it isn't so scrawny.
9475 (on_remove_button_clicked): Removed item from clist explicitly
9476 instead of relying on notification that bookmark list changed;
9477 this correctly moves the selection to the next item instead of
9478 jumping it back to the top of the list.
9480 2000-01-04 Darin Adler <darin@eazel.com>
9482 A couple of quick fixes to make "make check" work again.
9484 * src/file-manager/fm-directory.c (fm_directory_initialize):
9485 src/file-manager/fm-vfs-directory.c (fm_vfs_directory_initialize):
9486 Use g_new0 instead of g_new for details structure to better
9487 mimic what gtk_object_new does.
9489 * src/file-manager/fm-directory.c (fm_directory_get):
9490 Added an assert to check that the hash table key is set up
9491 correctly. This was failing when John did a "make check".
9493 * src/file-manager/fm-vfs-directory.c (fm_vfs_directory_new):
9494 Set up the hash table key when creating the object. This
9495 was causing a failure in "make check".
9497 2000-01-04 John Sullivan <sullivan@eazel.com>
9499 * src/nautilus-bookmarks-window.c (create_bookmarks_window):
9500 Replaced hardwired numbers with constants; specified a minimum
9501 size separate from default size and changed parameter to
9502 gtk_window_set_policy to prevent shrinking below minimum size.
9504 2000-01-04 John Sullivan <sullivan@eazel.com>
9506 After talking with Sopwith and Darin, removed
9507 my changes from earlier today. The current framework
9508 handles bogus URIs better than I thought, though still
9509 with some known problems. I can't implement the bookmarks
9510 part until the problems are fixed. And the new functions
9511 don't seem to be required in any case.
9512 * libnautilus/nautilus-uri-utilities.c: removed file
9513 * libnautilus/nautilus-uri-utilities.h: removed file
9514 * libnautilus/Makefile.am: removed these two files
9515 from the build, and removed GnomeVFS
9516 * src/ntl-window.c: removed #include for nautilus-uri-utilitie.h.
9517 Sopwith had removed the call from (nautilus_window_goto_uri_cb)
9518 earlier (without a ChangeLog entry).
9520 2000-01-04 Darin Adler <darin@eazel.com>
9522 * src/Makefile.am, src/check-nautilus,
9523 src/nautilus-self-check-functions.h, src/nautilus-self-checks.c,
9524 src/nautilus-self-checks.h, src/ntl-main.c (main): Added self
9525 checks to nautilus. The checks are invoked by "make check"
9526 (actually need to do "make install check" if you changed
9527 libnautilus) or by invoking the nautilus executable with "--check".
9528 Later, nautilus-self-checks.h may include various helpful
9529 functions for use by the self-checking code.
9531 * src/file-manager/Makefile.am, src/file-manager/fm-directory.c,
9532 src/file-manager/fm-directory.h,
9533 src/file-manager/fm-directory-protected.h,
9534 src/file-manager/fm-vfs-directory.c,
9535 src/file-manager/fm-vfs-directory.h: Started work on an abstract
9536 FMDirectory class that provides a model for what's viewed by the
9537 file manager. Also began work on the FMVFSDirectory concrete child
9538 class that implements this on top of VFS. It's not hooked up yet,
9539 and there's a lot that needs to be done before it's ready to use.
9541 * libnautilus/gdk-extensions.c, libnautilus/gdk-extensions.h:
9542 Renamed functions to use nautilus_ prefix instead of gdk_
9543 prefix. Added a tiny bit of self-check code.
9545 * libnautilus/nautilus-gtk-macros.h: Added some macros (that will
9546 no doubt be controversial) to do some basic GTK object
9549 2000-01-04 John Sullivan <sullivan@eazel.com>
9551 Made location-entering field handle bogus URIs better
9554 * libnautilus/nautilus-uri-utilities.c: new file
9555 * libnautilus/nautilus-uri-utilities.h: new file
9556 At this point there's just one uri utility function,
9557 nautilus_path_known_not_to_exist(), which is a quick
9558 check for a bogus URI. (It's not guaranteed to return
9559 TRUE for all bad URIs, just the ones it can tell quickly
9561 * libnautilus/Makefile.am: added these two new files
9562 to the build, and linked with GnomeVFS (needed for new
9564 * src/ntl-window.c: (nautilus_window_goto_uri_cb):
9565 If typed path can quickly be rejected, puts an error
9566 message in the status bar and doesn't try to go there.
9568 * components/websearch/.cvsignore: added Makefile
9570 2000-01-03 Maciej Stachowiak <mjs@eazel.com>
9572 * idl/nautilus.idl: Added stop_location_change method to NautilusView interface.
9573 * ntl-view-client.c, ntl-view-client.h (stop_location_change): New
9574 signal, triggered on receipt of stop_location_change request via
9577 * ntl-view.c, ntl-view.h, ntl-view-private.h, ntl-view-nautilus.c,
9578 ntl-view-bonobo-control.c, ntl-view-bonobo-subdoc.c
9579 (nautilus_view_stop_location_change): Added this function; also
9580 added implementation to nautilus view type function table and
9581 NULL'd out for now for Bonobo control and subdoc view types (need
9582 to find out if loading is synchronous or asynchronous for those,
9583 and if there is a way to abort).
9585 * ntl-window.c: Stop loading for all views when Stop button is
9588 * ntl-window-msgs.c: Enable stop button when we start loading;
9589 enable Stop button when
9591 * src/file-manager/fm-directory-view.c: Call
9592 request_progress_change() when loading is done or an error is
9593 reached; implement handler for stop_location_change signal.
9595 2000-01-03 Maciej Stachowiak <mjs@eazel.com>
9597 * src/ntl-prefs.c: Fix warnings.
9599 * src/ntl-view.c, src/ntl-view.h, src/ntl-view-frame-svr.c
9600 (nautilus_view_notify_location_change,
9601 nautilus_view_notify_selection_change, nautilus_view_load_state,
9602 nautilus_view_save_state, nautilus_view_show_properties): Made
9603 these functions public and removed the corresponding signals;
9604 these are operations you do to the NautilusView, not something it
9605 informs other parts of the program of.
9606 (request_location_change, request_selection_change,
9607 request_status_change, request_progress_change): New
9608 signals. These allow NautilusView to have less dependence on
9610 (nautilus_view_signals): Moved signal number table from view to
9611 this static variable.
9612 (nautilus_view_request_location_change,
9613 nautilus_view_request_selection_change,
9614 nautilus_view_request_status_change,
9615 nautilus_view_request_progress_change): Move to ntl-view.c and
9616 make them emit the proper signals in lieu of hardcoded handling.
9617 * src/ntl-window.c, src/ntl-window.h src/ntl-window-msgs.c,
9618 src/ntl-window-msgs.h, src/ntl-window-state.c
9619 (request_location_change, request_selection_change,
9620 request_status_change, request_progress_change): Removed these
9621 signals; they are operations you do on a NautilusWindow, not
9622 something it notifies you of, and any usefulness for inheritance
9623 purposes is purely speculative right now.
9624 (nautilus_window_connect_view, nautilus_window_disconnect_view):
9625 Use these new helper functions to connect callbacks to
9626 NautilusView's signals instead of expecting them to just get
9628 (nautilus_view_request_location_change,
9629 nautilus_view_request_selection_change,
9630 nautilus_view_request_status_change,
9631 nautilus_view_request_progress_change): Execute bodies of real_
9632 versions instead of emitting singals.
9633 (nautilus_view_real_request_location_change,
9634 nautilus_view_real_request_selection_change,
9635 nautilus_view_real_request_status_change,
9636 nautilus_view_real_request_progress_change): Removed these.
9637 Finally, always call nautilus_winodow_set_content_view or
9638 nautilus_window_add_meta_view before calling
9639 nautilus_view_load_client to make sure no signals are lost.
9641 2000-01-03 Elliot Lee <sopwith@redhat.com>
9643 * components/websearch, configure.in: The ten minute version of kwebsearch.
9644 * components/html/ntl-web-browser.c: Handle forms (POST is untested and probably buggy).
9645 * src/ntl-uri-map.c: Check result of file_info retrieval. Load web search by default.
9646 * src/ntl-prefs.[ch]: First (lame) attempt at implementing application preferences.
9647 * src/ntl-app.c: Load prefs at startup
9649 2000-01-03 John Sullivan <sullivan@eazel.com>
9651 Added underline-accelerators to Add Bookmark and
9652 Edit Bookmarks in Bookmarks menu. This was much
9653 more difficult than I expected.
9655 * src/nautilus-bookmarks-menu.c:
9656 (init): Removed all the guts of this function.
9657 (nautilus_bookmarks_menu_new): Now calls
9658 nautilus_bookmarks_menu_fill() on freshly-created menu.
9659 (nautilus_bookmarks_menu_fill): New function, takes over
9660 the chore of initially populating the Bookmarks menu.
9661 Uses GnomeUIInfo structs to set up Add Bookmarks and
9662 Edit Bookmarks so they'll have underline-accelerators.
9663 Also they now have tooltip strings (and I added a call
9664 to gnome_app_install_menu_hints() to make the tooltips work).
9666 2000-01-03 John Sullivan <sullivan@eazel.com>
9668 Fixed memory leaks in bookmarks stuff
9670 * src/nautilus-bookmarklist.c: (nautilus_bookmarklist_delete_item_at):
9671 Destroy the bookmark when removing it from list.
9672 * src/nautilus-bookmarks-menu.c:
9673 (nautilus_bookmarks_menu_repopulate):
9674 Store an index rather than a bookmark in the menu item, since the
9675 item will be destroyed if the menu is reordered.
9676 (bookmark_activated_cb): Find bookmark from the index stored in item.
9678 2000-01-03 John Sullivan <sullivan@eazel.com>
9680 Started new file for file-related utilities in Nautilus.
9682 * libnautilus/nautilus-file-utilities.h : new file
9683 * libnautilus/nautilus-file-utilities.c : new file
9684 * libnautilus/Makefile.am : added these two new files to the build.
9686 * src/nautilus_bookmarklist.c:
9687 (nautilus_bookmarklist_get_file_path): Deployed
9688 nautilus_make_path() and nautilus_user_directory()
9690 2000-01-03 Darin Adler <darin@eazel.com>
9692 * configure.in: Added "-Wall -Wno-unused" to list of warnings.
9693 It seems to me that at one point we got these from the gnome
9694 default warnings, but this seems to have stopped. There's no
9695 harm in repeating them in here and it fixes the problem for
9696 now, but I'd like to know what happened.
9697 * components/html/.cvsignore: Added some generated files.
9698 * components/html/gnome-dialogs.c: (glibwww_progress):
9699 Replaced an incorrect "%l" in a printf format string with
9701 * libnautilus/.cvsignore: Added some generated files.
9703 2000-01-03 John Sullivan <sullivan@eazel.com>
9705 * src/nautilus_bookmarklist.c:
9706 (nautilus_bookmarklist_save_file): Took out unused local
9707 variables. My compiler didn't notice these because -Wall
9708 isn't in our compile flags. Darin is fixing the compile flags.
9710 2000-01-03 Elliot Lee <sopwith@redhat.com>
9712 * All files: Update copyright notices.
9714 1999-12-30 John Sullivan <sullivan@eazel.com>
9716 * src/nautilus_bookmarklist.c: (nautilus_bookmarklist_get_file_path):
9717 Create directory that contains bookmarks file if it's not already
9718 there. Saving bookmarks would have failed (silently) for anyone
9719 who didn't already have a ~/.gnomad directory without this change.
9721 1999-12-30 John Sullivan <sullivan@eazel.com>
9723 Made NautilusBookmark use gchar * instead of GString
9724 since it wasn't using any special GString features.
9726 * src/nautilus-bookmark.h: changed definition in struct
9727 * str/nautilus-bookmark.c:
9728 (nautilus_bookmark_destroy): changed g_string_free to g_free
9729 (init): eliminated g_string_new
9730 (nautilus_bookmark_get_name): replaced bookmark->uri->name
9732 (nautilus_bookmark_get-uri): replaced bookmark->uri->str
9734 (nautilus_bookmark_new): changed initializers from
9735 GString style to gchar * style
9737 Save/restore bookmarks across sessions with XML file.
9739 * src/nautilus_bookmarklist.c:
9740 (append_bookmark_node): new foreach static function
9741 (destroy_bookmark): new foreach static function
9742 (nautilus_bookmarklist_get_file_path): new static function
9743 (nautilus_bookmarklist_load_file): new static function
9744 (nautilus_bookmarklist_save_file): new static function
9745 (init): renamed to nautilus_bookmark_init
9746 (class_init): renamed to nautilus_bookmark_class_init
9747 (nautilus_bookmarklist_contents_changed): now calls
9748 nautilus_bookmarklist_save_file
9749 (nautilus_bookmarklist_init): now calls
9750 nautilus_bookmarklist_load_file
9752 1999-12-30 John Sullivan <sullivan@eazel.com>
9754 Linked in GNOME-XML library, since I'll need it for bookmarks.
9756 * configure.in: defined XML-related macros (copied from gconf)
9757 * src/Makefile.am: included $(XML_CFLAGS) and $(XML_LIBS)
9759 1999-12-30 John Sullivan <sullivan@eazel.com>
9761 The bookmark-editing window is now functional, though simple.
9762 It allows editing names & uris, reordering bookmarks via
9763 dragging in the list, and removing bookmarks. Coming next:
9764 bookmarks persisting across sessions.
9766 * src/nautilus-bookmarks-window.h: New file.
9767 * src/nautilus-bookmarks-window.c: New file.
9768 * src/Makefile.am: added nautilus-bookmarks-window.[ch]
9769 * src/nautilus-bookmarklist.h, nautilus-bookmarklist.c:
9770 (nautilus_bookmarklist_delete_item_at): New function
9771 (nautilus_bookmarklist_insert_item): New function
9772 * src/nautilus-bookmarks-menu.c: (init): Removed
9773 insensitization of Edit Bookmarks item.
9775 Added parameter names to prototypes where they were missing
9777 * src/nautilus-bookmark.h
9778 * src/nautilus-bookmarklist.h
9779 * src/nautilus-bookmarks-menu.h
9781 Fixed bug where activating bookmarks failed in any but the
9784 * src/nautilus-bookmarks-menu.c
9785 (bookmark_activated_cb):
9786 (nautilus_bookmarks_menu_repopulate):
9787 Changed bookmark menu items to keep a pointer to their
9788 menu, rather than the menu's window, because sometimes
9789 the menu's window isn't set when the menu item is created.
9791 1999-12-29 John Sullivan <sullivan@eazel.com>
9793 * src/nautilus-bookmarklist.c:
9794 (nautilus_bookmarklist_contains):
9795 changed two g_return_if_fail to g_return_val_if_fail. Eek! I
9796 accidentally checked this in yesterday without compiling. I
9797 should be tarred and feathered.
9798 (nautilus_bookmarklist_append): Now calls new nautilus_bookmark_copy
9799 * src/nautilus-bookmark.c:
9800 (nautilus_bookmark_copy): New method
9801 * src/nautilus-bookmark.h:
9802 (nautilus_bookmark_copy): New method
9804 1999-12-28 John Sullivan <sullivan@eazel.com>
9806 * src/nautilus-bookmark.c:
9807 * src/nautilus-bookmarklist.c:
9808 * src/nautilus-bookmarks-menu.c:
9810 Removed unnecessary g_return_if_fail (obj != NULL) calls
9811 since the g_return_if_fail (NAUTILUS_IS_WHATEVER (obj)) call
9812 also handles the NULL case. Also added some more calls of
9815 1999-12-28 John Sullivan <sullivan@eazel.com>
9817 * src/nautilus-bookmark.c, src/nautilus-bookmark.h:
9818 (nautilus_bookmark_compare_with):
9819 new function, compares two bookmarks for equivalence, used by:
9820 * src/nautilus-bookmarklist.c, src/nautilus-bookmarklist.h:
9821 (nautilus_bookmarklist_contains):
9822 new function, checks whether a given bookmark is already in the
9824 * src/nautilus-bookmarks-menu.c, src/nautilus-bookmarks-menu.h:
9825 (add_bookmark_cb): now silently refuses to add another bookmark
9826 for the current location if there's one already in the list.
9827 (init): now uses connect_signal_while_alive to avoid nastiness
9828 when trying to add a bookmark after one or more windows were closed.
9829 * src/ntl-window.c: (file_menu_new_window_cb): Now calls
9830 nautilus_app_create_window() instead of creating the new window
9831 in line, so that the window count gets properly updated and closing
9832 windows works correctly.
9834 1999-12-28 John Sullivan <sullivan@eazel.com>
9836 * src/ntl-view.c: (nautilus_view_load_client):
9837 Undid the previous change. It turned out I
9838 needed to rebuild the latest ORBit and then
9839 the latest gnome-libs. I had built them in
9840 the wrong order before.
9842 1999-12-28 John Sullivan <sullivan@eazel.com>
9844 * src/ntl-view.c: (nautilus_view_load_client): cast
9845 a const CORBA_char * to a CORBA_char * in call to
9846 GNOME_Unknown_query_interface to fix the build.
9847 Darin thinks this is a mistake in the API and is
9848 investigating fixing the API.
9850 1999-12-22 Elliot Lee <sopwith@redhat.com>
9852 * src/ntl-uri-map.[ch]: Add initialization function. Implement scheme mapping.
9854 * components/history/ntl-history-view.c: Testbed for UIHandler usage.
9855 * src/ntl-*view*.c: Better error checking, support UIHandler usage.
9856 * src/ntl-window-msgs.c: Better error checking.
9857 * src/ntl-window.c: Better error checking, plus move menu creation so that UIHandler usage is easier.
9859 1999-12-21 Elliot Lee <sopwith@redhat.com>
9861 * idl/nautilus.idl, libnautilus/ntl-view-client.[ch], src/ntl-window*.[ch], src/ntl-view-frame-svr.c:
9862 Add request_progress_change notification
9864 * src/ntl-view-*: Fix/finish various mjs changes: Do the component type abstraction properly,
9865 lose ntl-view-frame-svr.h, add ntl-view-private.h, add various component type implementations.
9867 * src/ntl-view-frame-svr.h: Add 'extern' so everyone doesn't get their
9870 1999-12-20 Maciej Stachowiak <mjs@eazel.com>
9872 * src/ntl-view.h: Remove request_* calls from public API (they are
9873 just an implementation detail of the fact that NautilusView
9874 implements a Nautilus:ViewFrame CORBA server - the nautilus app
9875 should not need to call these).
9877 * src/ntl-view.c: Split all the three way conditional stuff out so
9878 there is a separate function for each branch of the condition. Not
9879 a big win yet, but will provide opportunities for more
9882 * src/ntl-view-frame-svr.c, ntl-view-frame-svr.h: Move
9883 implementation of Nautilus:ViewFrame CORBA server here as much as
9885 * src/ntl-view.c: Remove it from here.
9886 * src/nautilus.h: #include ntl-view-frame-svr.h
9887 * src/Makefile.am: add ntl-view-frame-svr.[ch] to build.
9889 * src/ntl-window.c: Add myself to About box (pout).
9891 * components/html/ntl-web-browser.c: Fix warnings.
9893 1999-12-20 Elliot Lee <sopwith@redhat.com>
9895 * configure.in, components/Makefile.am: Add HTML component to build.
9896 * components/help/hyperbola-main.c, components/history/ntl-history-view.c: Make process die when
9897 all objects have been destroyed.
9898 * components/history/ntl-history-view.c: Bug fixes.
9899 * components/html/*.[ch]: Copy glibwww over, write new NautilusViewClient for HTML browsing.
9900 * src/ntl-uri-map.c: Cleanup, and use ntl_web_browser as default HTML display engine.
9901 * src/ntl-view.c: Try to handle Bonobo views for data display.
9903 1999-12-20 John Sullivan <sullivan@eazel.com>
9904 * src/nautilus-bookmark.h,c: new files
9905 * src/nautilus-bookmarklist.h,c: new files
9906 * src/nautilus-bookmarks-menu.h,c: new files
9907 * src/Makefile.am: added these six new files to nautilus_SOURCES
9908 * src/ntl-window.c: now #includes nautilus-bookmarks-menu.h
9909 (bookmarks_menu_info[]): removed all items except GNOMEUIINFO_END;
9910 subtree is added dynamically later.
9911 (nautilus-window-constructed): insert bookmarks menu
9912 (nautilus-window-constructed): add padding to status bar so text
9913 isn't jammed against frame.
9915 The bookmark menu is now limping along. The Add Bookmark item works,
9916 and the items that get added do the right thing. Edit Bookmarks is
9917 still insensitive, so there's no way to remove items. Except by
9918 quitting, because they aren't yet being saved/restored across sessions.
9920 1999-12-20 Havoc Pennington <hp@redhat.com>
9922 * src/file-manager/fm-icon-cache.c: Add inline RGB data for
9924 (fm_icon_cache_load_icon): only
9925 ref the pixbuf if it exists
9926 (fm_icon_cache_new): add a new fallback special icon set
9927 (fm_icon_cache_load_icon): load fallback if the icon name is ""
9929 1999-12-20 Havoc Pennington <hp@redhat.com>
9931 * libnautilus/gnome-icon-container.c (set_kbd_current): return if
9932 the icon being set is NULL. This may be fixing a symptom rather
9935 1999-12-20 Elliot Lee <sopwith@redhat.com>
9937 * src/ntl-*.[ch]: Support multiple view types (Nautilus/View, GNOME/Control, GNOME/Embeddable)
9938 * src/ntl-window.[ch]: Add nautilus_window_get_uih()
9939 * idl/*.idl: Reindent.
9941 1999-12-19 Havoc Pennington <hp@pobox.com>
9943 * src/file-manager/desktop-window.c (desktop_window_realize): turn
9944 on window decorations for debugging
9945 (desktop_window_init): debug comment-out the no-resize policy
9947 * src/file-manager/desktop-layout.c (desktop_layout_arrange):
9948 fool with layout routines
9950 * src/file-manager/desktop-canvas.c
9951 (desktop_canvas_size_allocate): debugging border to detect layout screwups
9953 * src/file-manager/desktop-item.c (icon_realize): set the canvas
9956 1999-12-19 Havoc Pennington <hp@pobox.com>
9958 * src/file-manager/desktop-layout.c: don't do an arrangement
9961 * src/file-manager/desktop-canvas.c
9962 (desktop_canvas_load_desktop_icons): connect to finished_load and
9963 arrange the icons when we get it. This is a temporary hack,
9964 because the DesktopLayout engine isn't progressive yet.
9966 * src/file-manager/fm-directory-list.c
9967 (fm_directory_list_class_init): add a finished_load signal
9969 * src/file-manager/desktop-window.c (desktop_window_init): for
9970 now, don't fill the whole screen so we can see gdb.
9972 * src/file-manager/desktop-item.c: Move user data accessors into
9973 the .c file, these are private.
9975 1999-12-17 Havoc Pennington <hp@redhat.com>
9977 * src/file-manager/desktop-item.h: New module, for items
9980 * src/file-manager/fm-directory-view.c: Change to use
9981 get_current_icon_cache() (it wasn't ever freeing the icon cache anyway)
9983 * src/file-manager/fm-icon-cache.c (fm_get_current_icon_cache):
9984 function to get a global icon cache, we will share this throughout
9987 1999-12-19 Havoc Pennington <hp@pobox.com>
9989 * src/file-manager/desktop-canvas.c
9990 (desktop_canvas_load_desktop_icons): new function, loads icons
9991 from a given directory - don't get too excited, it doesn't yet
9992 _display_ any icons!
9994 * src/file-manager/desktop-canvas.h: Add directory list field.
9996 * src/file-manager/Makefile.am (gnome_desktop_SOURCES): Add
9997 fm-directory-list.[hc]
9998 (libntl_file_manager_la_SOURCES): add fm_directory_list.[hc]
10000 * src/file-manager/fm-directory-list.h, fm-directory-list.c:
10001 New files, the non-GUI portion of a directory listing. Handles
10002 loading the dir listing and the icons.
10004 1999-12-17 Maciej Stachowiak <mjs@eazel.com>
10006 * src/ntl-window.c, src/ntl-window-msgs.c: Added up, reload, home,
10007 stop toolbar buttons. Stop is not implemented yet. Up needs more
10008 thought with respect to various protocols.
10010 * src/ntl-window.c, src/ntl-window.h: Added calls to
10011 allow/disallow some of the toolbar operations.
10013 1999-12-17 Havoc Pennington <hp@redhat.com>
10015 * src/file-manager/fm-directory-view.c: Change to use
10016 get_current_icon_cache() (it wasn't ever freeing the icon cache anyway)
10018 * src/file-manager/fm-icon-cache.c (fm_get_current_icon_cache):
10019 function to get a global icon cache, we will share this throughout
10022 1999-12-17 Havoc Pennington <hp@redhat.com>
10024 * src/ntl-window.c (nautilus_window_realize): set the mini icon.
10025 (nautilus_window_class_init): init parent_class and install
10028 * src/ntl-miniicon.c: new files, to set mini icon
10030 1999-12-16 Elliot Lee <sopwith@redhat.com>
10031 * libnautilus/{gdk-extensions.c,gnome-icon-container.c}: Fix warnings
10032 * libnautilus/gnome-icon-container.c: Try (unsuccessfully) to get
10033 proper icon reflow by calling icon_grid_resize() instead of
10034 icon_grid_set_visible_width(), in size_allocate().
10035 * src/*.*: Add ntl-app.[ch].
10036 * src/file-manager/desktop-*.c: Fix warnings.
10037 * src/file-manager/fm-directory-view.c: Remove incorrect warning,
10038 allow turning off use of icon_layout altogether.
10040 1999-12-16 John Sullivan <sullivan@eazel.com>
10042 * src/ntl-window.c:
10044 * src/file-manager/fm-directory-view.c:
10045 Changed evil // comments to /* */. Sorry about that!
10047 * src/ntl-window.c: added insensitive rudimentary Bookmark menu
10049 1999-12-16 Havoc Pennington <hp@redhat.com>
10051 * src/ntl-window-state.c (nautilus_window_save_state): lookup
10052 signum before it's first used.
10054 * src/file-manager/desktop-layout.c: new layout module, not yet
10057 * src/file-manager/desktop-canvas.c (desktop_canvas_init): Create
10058 the right-click menu.
10060 * src/file-manager/desktop-menu.c (desktop_menu_new): New module
10061 to stick the right-click menu code in
10063 1999-12-16 Maciej Stachowiak <mjs@eazel.com>
10065 * src/ntl-window.c: Put meta-views on the right.
10067 * src/ntl-window.c, src/ntl-main.c, src/ntl-window.h,
10068 src/ntl-window-msgs.c, src/ntl-window-state.c: Enabled multiple
10069 main windows and new window menu entry. In the process replaced
10070 url with uri where appropriate and added
10071 nautilus_window_get_requested_uri accessor.
10073 1999-12-16 Darin Adler <darin@eazel.com>
10075 * libnautilus/.cvsignore: Ignore all *.lo instead of listing each.
10076 * libnautilus/Makefile.am: Added gdk-extensions.c and $(WERROR).
10077 * libnautilus/gdk-extensions.[ch]: Added functions for filling with a
10078 gradient. Currently they are named gdk_fill_rectangle_with_gradient
10079 and gdk_interpolate_color, but perhaps the gdk_ prefix should be
10080 replaced with another one. These functions are not yet tested, but they
10081 compile and I want to get them in here before I leave for vacation.
10083 * src/ntl-uri-map.c: (nautilus_navinfo_new): Some null checks in
10084 the "click on an item" hack. This was a halfhearted attempt to get
10085 the program to not segfault when you open icons.
10086 * src/ntl-window-msgs.c: (nautilus_window_load_content_view):
10087 Some g_return_if_fail in here. I'll add a ton more at some point.
10088 These were part of the halfhearted attempt to get the program to
10089 not segfault when you open icons.
10091 * src/file-manager/.cvsignore: Igore all *.lo instead of listing each.
10093 1999-12-16 Elliot Lee <sopwith@redhat.com>
10095 * components/history/ntl-history-view.c: Now works.
10096 * src/ntl-uri-map.c: Duplicate the URI being requested, since we
10097 don't know what the lifetime of the original value will be.
10098 * src/ntl-window.c: Use the paned instead of hbox, use create_menus_with_data instead.
10099 * src/file-manager: Misc warning fixes.
10100 * src/gtkscrollframe.c: Try to get rid of scrollbar chopping.
10102 1999-12-16 John Sullivan <sullivan@eazel.com>
10104 * src/ntl-window.c (file_menu_new_window_cb):
10105 New, currently empty callback.
10107 * src/ntl-window.c (file_menu_info[]):
10108 Added New Window item.
10110 * src/ntl-window.c (edit_menu_info[]):
10111 Added standard menu items, all unimplemented as of now.
10113 * src/ntl-window.c (help_menu_info[]):
10114 Added About item, unimplemented as of now.
10116 * src/ntl-window.c (main_menu[]):
10117 Now includes edit and help menus.
10119 * src/ntl-window.c (nautilus_window_constructed):
10120 Changed the way the toolbar is created, to fix bug
10121 where Back failed because data parameter was NULL.
10122 Also desensitized all the new unimplemented menu items.
10124 1999-12-16 Maciej Stachowiak <mjs@eazel.com>
10126 * src/file-manager/gnome-desktop.c (main): Quiet some warnings.
10128 1999-12-16 Havoc Pennington <hp@redhat.com>
10130 * src/file-manager/gnome-desktop.c (main): warning fixes
10132 * src/file-manager/desktop-canvas.c
10133 (desktop_canvas_update_background): start actually honoring
10134 background settings.
10136 * src/file-manager/fm-icon-cache.c: add copyright and Emacs magic.
10138 * src/file-manager/fm-icon-cache.h (fm_icon_cache_get_icon): Run
10139 egtk-format-protos on these prototypes, add copyright and Emacs magic
10141 1999-12-16 Havoc Pennington <hp@redhat.com>
10143 * src/file-manager/desktop-canvas.h: Added API for controlling the
10144 background, so we can connect that to the IDL interface.
10146 * src/file-manager/desktop-canvas.h: New file
10148 * src/file-manager/desktop-window.h: tweaks
10150 * idl/gnome-desktop.idl: Change BackgroundInfo to not be a union.
10152 1999-12-16 John Sullivan <sullivan@eazel.com>
10154 * src/file-manager/fm-directory-view.c (directory_load_cb):
10155 changed assert to warning
10157 1999-12-16 Elliot Lee <sopwith@redhat.com>
10159 * components/help/hyperbola-nav-tree.c: Translate strings.
10161 * components/history/ntl-history-view.c: Bug fixes, use API
10162 function for setting meta-view label.
10164 * libnautilus/ntl-meta-view-client.[ch]:
10165 s/meta_view_set_label/meta_view_client_set_label/
10167 * src/ntl-uri-map.c: Use history view instead of help view as the
10168 default meta view for now.
10170 * src/ntl-window.c: As per the comment that was removed from
10171 ntl-window.c, gnome_app_install_menu_hints() needs to be called
10172 after_ statusbar creation
10174 * src/file-manager/fm-directory-view.c: Add more debugging assertions
10177 1999-12-15 John Sullivan <sullivan@eazel.com>
10179 * src/ntl-window.c: (nautilus_window_constructed): Added beginnings
10180 of a menu bar, and reorganized toolbar a little. There's a rudimentary
10181 File menu now. The View As option menu moved down to the location bar
10182 line. This is by no means a complete or final organization, but it's
10184 * (file_menu_close_cb): new callback for File/Close menu item
10185 * (file_menu_exit_cb): new callback for File/Quit menu item
10186 * file_menu_info[]: new GNOMEUIINFO struct for File menu
10187 * toolbar_info[]: new GNOMEUIINFO struct for toolbar
10189 1999-12-15 Elliot Lee <sopwith@redhat.com>
10191 * Warning fixes throughout.
10192 * Use $(WERROR) in Makefiles to get -Werror.
10194 1999-12-15 Darin Adler <darin@eazel.com>
10196 * components/help/.cvsignore: Ignore more generated files.
10197 * components/help/hyperbols-filefmt.c: Fix warnings.
10198 * components/help/hyperbols-main.c: Fix warnings.
10199 * components/help/hyperbols-nav-tree.c: Fix warnings.
10201 1999-12-15 Elliot Lee <sopwith@redhat.com>
10203 * components/Makefile.am: Turn on compilation of hyperbola component.
10204 * components/help/*: Compile and run.
10205 * libnautilus/ntl-meta-view-client.c: Create & set the property bag if it doesn't exist.
10206 * src/ntl-uri-map.c: Load the hyperbola nav tree component as a test meta view.
10207 * src/ntl-view.c: Fill in NULL fields with empty strings, so that ORBit doesn't segfault.
10208 * src/ntl-window-msgs.c: When creating new meta views, they should
10209 be meta views and not content views (cut & paste error).
10210 * src/file-manager/fm-directory-view.c: Don't redisplay every time a new entry comes in.
10212 1999-12-15 Darin Adler <darin@eazel.com>
10214 * configure.in: Turned "-Wshadow" and "-Wundef" off for now, since they
10215 fire in some existing code.
10216 * gnome-icon-container.c: (handle_icon_button_press): Null out the drag
10217 variables before sending the activate signal. This makes activating an
10218 icon with a double-click work without crashing.
10219 * ntl-main.c: (main): Make critical and warning messages fatal if
10220 NAUTILUS_DEBUG is set in the environment. Make sure you have a new
10221 gnome-vfs that doesn't use g_warning for status messages.
10222 * ntl-window-msgs.c: (nautilus_window_change_location_internal):
10223 Made the history store away the current position as the new "previous"
10224 instead of storing away the new position. This makes the forward and
10225 back buttons work better.
10226 * ntl-window.c: (nautilus_window_back, nautilus_window_fwd):
10227 Had to make a corresponding change here after the change to the
10229 * fm-directory-view.c: (display_selection_info): Some fixes to the
10230 selection info display: "file"/"files" was backwards, text said "in"
10231 before the file size, and the display was not cleared when the
10232 selection was made empty. I still see problems where the selection
10233 info gets cleared when the window is lowered and then raised.
10235 1999-12-15 Andy Hertzfeld <andy@eazel.com>
10237 * my first change: changed ntl-window-state.c
10238 (nautilus_window_set_initial_state): changed initial path
10239 to be the user's home directory, getting rid of confusing "localhost"
10241 1999-12-15 Elliot Lee <sopwith@redhat.com>
10243 * configure.in: Add --enable-more-warnings and --enable-fatal-warnings switches.
10244 * src/ntl-uri-map.c: Add comment about functionality-in-waiting.
10246 1999-12-15 Darin Adler <darin@eazel.com>
10248 * libnautilus/gtkscrollframe.c (gtk_scroll_frame_size_allocate):
10249 Rolled out my change. I was confused. Elliot had this fixed
10250 already but I forgot to "make install".
10252 1999-12-15 Darin Adler <darin@eazel.com>
10254 * libnautilus/gtkscrollframe.c (gtk_scroll_frame_size_allocate):
10255 Fixed overflow problem caused by gint16 local variable.
10257 1999-12-15 Darin Adler <darin@eazel.com>
10259 * src/ntl-window.c (nautilus_window_constructed):
10260 Fixed signal handler to point to nautilus_window_goto_url_cb
10261 instead of nautilus_window_goto_url. This was causing a bad
10262 cast when a new URL was typed.
10264 1999-12-15 Darin Adler <darin@eazel.com>
10266 * src/ntl-uri-map.c (nautilus_navinfo_new): Changed back to
10267 const gchar*. To compile, you need to install the latest
10270 1999-12-15 Elliot Lee <sopwith@redhat.com>
10272 * libnautilus/gtkscrollframe.c: Fix size_allocate.
10274 1999-12-14 Maciej Stachowiak <mjs@eazel.com>
10276 * src/ntl-uri-map.c (nautilus_navinfo_new): a const char* can't be
10277 passed where a gchar* is expected.
10279 1999-12-14 Darin Adler <darin@eazel.com>
10281 * configure.in: Turned on more warnings, including -Werror.
10282 I found one or two real bugs, and made some minor changes
10283 to quiet the compiler so I could turn on some useful warnings
10284 that triggered on the existing code.
10286 * src/file-manager/dfos-xfer.c: (handle_xfer_vfs_error):
10287 Fixed a place where it was calling the gnome error(), but using
10288 the parameters from the old gnome-fm error() function.
10290 * libnautilus/ntl-meta-view-client.c:
10291 (nautilus_meta_view_set_label): Fixed a place where we
10292 were passing in string literals to code that will free them.
10293 We need to call g_strdup before passing them to gnome_property_bag_add.
10295 * libnautilus/gnome-icon-container.c: Fixed a warning.
10296 * libnautilus/gtkscrollframe.c: Fixed a warning.
10297 * libnautilus/ntl-content-view-client.c: Fixed a warning.
10298 * libnautilus/ntl-view-client.c: Fixed a warning.
10299 * libnautilus/ntl-content-view.c: Fixed a warning.
10300 * src/ntl-main.c: Fixed a warning.
10301 * src/ntl-meta-view.c: Fixed a warning.
10302 * src/ntl-types.h: Fixed a warning.
10303 * src/ntl-view.c: Fixed a warning.
10304 * src/ntl-window.c: Fixed a warning.
10305 * src/file-manager/dfos-xfer-progress-dialog.c: Fixed a warning.
10306 * src/file-manager/fm-icon-cache.c: Fixed a warning.
10308 1999-12-14 Elliot Lee <sopwith@redhat.com>
10310 * src/*.c: Restructure the whole NautilusWindow code for sanity's sake.
10311 * src/ntl-uri-map.[ch]: Instead of just passing in various pieces of information about the old URL,
10312 pass in the Nautilus_NavigationInfo that has to be kept around anyways.
10313 * idl/nautilus.idl: Allow a selection to be multiple URI's.
10315 1999-12-14 Darin Adler <darin@eazel.com>
10317 * src/ntl-window.c: (nautilus-window-constructed): Forward-button signal
10318 was connected with NULL parameter instead of window. Fixed that so it
10319 has a chance of working.
10321 * .cvsignore: Ignore more generated files.
10322 * components/.cvsignore: Ignore more generated files.
10323 * help/.cvsignore: Ignore more generated files.
10324 * history/.cvsignore: Ignore more generated files.
10325 * icons/.cvsignore: Ignore more generated files.
10326 * idl/.cvsignore: Ignore more generated files.
10327 * libnautilus/.cvsignore: Ignore more generated files.
10328 * src/.cvsignore: Ignore more generated files.
10329 * src/file-manager/.cvsignore: Ignore more generated files.
10331 1999-12-14 John Sullivan <sullivan@eazel.com>
10333 * src/ntl-window.c: (nautilus-window-constructed): Reordered option menu
10334 creation code to fix bug where it wasn't sizing itself properly. Changed
10335 label of placeholder item and desensitized it to make it more obvious that
10336 it's a non-working placeholder.
10338 1999-12-14 Elliot Lee <sopwith@redhat.com>
10340 * configure.in, Makefile.am, icons/: Add icons
10342 * src/file-manager/fm-directory-view.c: Everything goes inside the scroll-frame, not the view itself.
10344 1999-12-13 Elliot Lee <sopwith@redhat.com>
10346 * libnautils/g*.[ch]: Switch from imlib to pixbuf.
10347 * src/file-manager: Import from gnome-fm.
10349 * idl/nautilus.idl: Add a 'main_window' attribute on a ViewFrame, so that views can talk to the main window.
10351 1999-12-10 Elliot Lee <sopwith@redhat.com>
10353 * libnautilus/ntl-meta-view.[ch]: Add a convenience function for
10356 * Throughout: Rename the meta view "description" property to "label",
10357 which more accurately describes its use.
10359 * components/help: Start turning hyperbola into component.
10361 1999-12-09 Elliot Lee <sopwith@redhat.com>
10363 * Start migration from gnome-fm.
10365 src/explorer-location-bar.[ch]:
10366 Copy over from gnome-fm, change signal to include new URI.
10368 Make NautilusWindow use it.