ChangeLog-20000414 146 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2000-02-02  Elliot Lee  <sopwith@redhat.com>

	* src/ntl-window-msgs.c: If an error happens, we need to reset the
	location bar to current location, in case the location change
	happened via a drop on the location bar.

	* src/file-manager/fm-directory-view.c: Consensus is to use
	individual headers rather than catch-alls.

	* libnautilus/gnome-icon-container-dnd.c,
	libnautilus/nautilus-icons-view-icon-item.c,
	libnautilus/nautilus-icon-factory.c: Use bilinear scaling - almost
	as fast, much nicer looking.

15 16 17 18 19 20 21 22 23
2000-02-02  Darin Adler  <darin@eazel.com>

	(on John Sullivan's machine)
	* libnautilus/nautilus-directory.c:
	(nautilus_directory_get): Changed a ! to a == NULL
	(nautilus_directory_start_monitoring):  Bail out if directory
	is already loaded; this fixes bug where switching views added
	an item each time.

24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
2000-02-02  Andy Hertzfeld <andy@eazel.com>

	added a zoom control to location bar, not yet wired up to the content view
	
	* icons/Makefile.am:
	* icons/zoom.png:
	added zoom image for use in zoom control
	
	* src/nautilus-zoom-control.h:
	* src/nautilus-zoom-control.c:
	* src/Makefile.am
	new zoom control widget
	
	* src/ntl-window.c:
	added zoom control to location bar
	
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
2000-02-01  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-icon-factory.h:
	* libnautilus/nautilus-icon-factory.c:
	(nautilus_icon_factory_new):
	(nautilus_icon_factory_destroy):
	(nautilus_get_current_icon_factory):
	(nautilus_icon_factory_get_icon_for_file):
	(nautilus_icon_factory_set_theme):
	(nautilus_icon_factory_get_icon_by_name):
	(nautilus_icon_factory_get_pixbuf_for_icon):
	(nautilus_scalable_icon_ref):
	(nautilus_scalable_icon_unref):
	(nautilus_scalable_icon_get_name):
	(scalable_icon_get):
	(icon_set_possibly_free):
	(scalable_icon_new):
	Changed the icon factory interface in a few ways: 1) There's no
	longer a NautilusIconFactory object. There's just a single global
	icon factory. If we find that we need multiple factories, we can
	implement that later. 2) Instead of going straight from a file to
	a pixbuf, you get a scalable icon, and then get a pixbuf from
	that. This allows you to choose the icon and then get
	different-sized versions of it without going through the icon
	selection process over and over again. There's also a name for
	each icon which can be stored in the metafile so you can get the
	same icon again before you have full information on a file.

	* src/nautilus-bookmark.c:
	(nautilus_bookmark_get_pixmap_and_mask):
	* src/file-manager/fm-directory-view-list.c:
	(install_icon):
	* src/file-manager/fm-icons-controller.c:
	(fm_icons_controller_get_icon_image):
	Changed icon factory clients to use the new interface. Maybe
	after a while I'll add a convenience function that's as simple as
	the old interface was for the common case where you want to go
	straight to the pixbuf, but lets try it this way for a while.
	
	* libnautilus/nautilus-string.h:
	* libnautilus/nautilus-string.c:
	(nautilus_has_prefix):
	Added nautilus_has_prefix. This checks to see if a string has a
	particular prefix. It's both clearer to read and more efficient
	than Andy's typical trick of calling strstr.
	
	* libnautilus/nautilus-lib-self-check-functions.h:
	* libnautilus/nautilus-string.c:
	Added self-checks for nautilus-string.c. The tests uncovered a
	bug in nautilus_string_to_int that I fixed.

	* nautilus-glib-extensions.c:
	Just a stray new-line.

94 95 96 97 98 99 100 101 102 103 104 105 106
2000-02-01  John Sullivan  <sullivan@eazel.com>

	Fixed bug where selection info didn't appear in the status bar when
	Select All was performed in the list view.

	* libnautilus/gtkflist.c:
	(select_or_unselect_row_cb): New function, emits SELECTION_CHANGED
	signal.
	(gtk_flist_initialize): Connect parent class's "select_row" and
	"unselect_row" signals to select_or_unselect_row_cb.
	(select_row): Remove emission of SELECTION_CHANGED signal here since
	it's now handled at the correct bottleneck.

107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
2000-02-01  Darin Adler  <darin@eazel.com>

	Started work on icon stretching. In the process, I am doing some
	cleanup on the icon container, and I am checking in some of that
	before the stretching is implemented.

	* libnautilus/gnome-icon-container-private.h:
	* libnautilus/gnome-icon-container.c:
	(icon_is_in_region):
	Got rid of width and height stored in each icon.

	* libnautilus/gnome-icon-container.c:
	A lot of cleanup, including getting rid of the
	icon_get_text_bounding_box function.
	
	* libnautilus/gnome-icon-container.c:
	(gnome_icon_container_begin_stretch):
	(gnome_icon_container_stretch):
	(gnome_icon_container_end_stretch):
	(button_release_event):
	(motion_notify_event):
	(handle_icon_button_press):
	First cut at adding stretching hooks in button handlers.
	
	* libnautilus/nautilus-icons-view-icon-item.c:
	(nautilus_icons_view_draw_text_box):
	Rewrote to fix bug with position of text when it's too long for
	a single line.
	
	* libnautilus/nautilus-glib-extensions.h:
Darin Adler's avatar
Darin Adler committed
137
	Added a macro named NAUTILUS_N_ELEMENTS.
138 139 140
	src/ntl-index-panel.c: 
	src/explorer-location-bar.c: 
	libnautilus/gtkflist.c: 
Darin Adler's avatar
Darin Adler committed
141
	Used the NAUTILUS_N_ELEMENTS macro.
142

143 144 145 146 147 148
2000-01-31  Andy Hertzfeld <andy@eazel.com>

        made the keyboard selection rectangle work again.  It's no longer a
        separate canvas object, but rather a state reflected by the icon_item
        like regular selection
        
149
	* libnautilus/gnome-icon-container-private.h:
150 151
        removed the kdb_navigation_item field
        
152
	* libnautilus/gnome-icon-container.c:
153 154 155
        removed code that manipulated the kbd_navigation_item, replaced
        with setting and clearing the "alt_selection" item attribute
        
156
	* libnautilus/nautilus-icons-view-icon-item.c:
157 158 159
        if the alt_selected attribute is set, frame the item's text with
        a gray-stippled rectangle
        
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
2000-01-31  John Sullivan <sullivan@eazel.com>

	Now saves/restores zoom level in icon & list views, and
	sort column & direction in list view.

	* nautilus-metadata.h: New #defines for ICON_VIEW_ZOOM_LEVEL_METADATA_KEY,
	LIST_VIEW_ZOOM_LEVEL_METADATA_KEY, LIST_VIEW_SORT_COLUMN_METADATA_KEY,
	LIST_VIEW_SORT_REVERSED_METADATA_KEY.

	* src/file-manager/fm-directory-view.c:
	(fm_directory_view_load_uri): Now emits the BEGIN_LOADING signal. This
	signal was already defined but its use had been removed.
	
	* src/file-manager/fm-directory-view-icons.c:
	(fm_directory_view_icons_set_zoom_level): Stores new zoom level in
	the metadata.
	(fm_directory_view_icons_begin_loading): Sets zoom level to the one
	read from the metadata.

	* src/file-manager/fm-directory-view-list.c:
	Created #defines for column names stored in metadata.
	(get_metadata_value_from_column), (get_column_from_metadata_value):
	Helper functions for converting between column number and string to
	store in metadata.
	(fm_directory_view_list_begin_loading): New function: sets zoom level,
	sort column, and sort direction to the values read from the metadata. 
	(fm_directory_view_initialize_class): Wire up begin_loading function 
	pointer.
	(fm_directory_view_initialize): Change initial value of sort column
	to LIST_VIEW_COLUMN_NONE, so when it changes later the right updating
	will occur.
	(compare_rows): Added another g_return_val_if_fail condition.
	(create_flist): Removed some of the sorting set-up; it is now done
	in begin_loading instead.
	(fm_directory_view_list_set_zoom_level): Stores new zoom level in
	the metadata.
	(fm_directory_view_list_sort_items): Stores new sort column and
	direction in metadata.

199 200 201 202
2000-01-31  Andy Hertzfeld <andy@eazel.com>

        implemented the "select all" command in the context menus
        
203
	* src/file-manager/directory_view.c,h:
204 205 206
        added a directory_view_select_all slot for subclasses to override,
        enabled "select all" item and attached a signal to the item, whose
        callback calls fm_directory_view_select_all
207 208
	
	* src/file-manager/directory_view_icons.c:
209
        implemented directory_view_icons_select_all by invoking the "select all"
210 211 212
        operation of GnomeIconContainer.
	
	* src/file-manager/directory_view_list.c:
213 214 215
        implemented directory_view_list_select_all by invoking the "select all"
        operation of the clist widget
        
216 217 218 219 220 221 222 223 224 225 226 227
2000-01-31  Elliot Lee  <sopwith@redhat.com>

	* src/ntl-window-msgs.c, src/ntl-window-private.h: Update debugging messages. Allow
	synchronous state changes (needed to avoid race conditions), and
	don't reset the idle handler if the idle handler is already running.

	* src/file-manager/fm-directory-view.c: Include
	<libnautilus/libnautilus.h> rather than just
	<libnautilus/nautilus-alloc.h> - nitpick in passing.

	* src/ntl-uri-map.c: OK, don't check for NULL here, in an attempt to flush out bugs elsewhere.

228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284
2000-01-31  Darin Adler  <darin@eazel.com>

	* nautilus-icons-view-icon-item.c:
	(nautilus_icons_view_draw_text_box):
	Changed it to not attempt to create a GC just to measure the text.
	This makes it work when the widget is not realized.

	* nautilus-icons-view-icon-item.h:
	nautilus-icons-view-icon-item.c:
	gnome-icon-container-dnd.c:
	(nautilus_icons_view_icon_item_center_offset):
	Changed the parameter type to NautilusIconsViewIconItem.

	* fm-directory-view.c:
	(stop_load):
	(fm_directory_view_load_uri):
	Fixed code so that if you stop loading more than once, or
	stop before you even start, it won't send extra progress
	requests to the Nautilus shell or call stop_monitoring
	extra times on the NautilusDirectory object.

	* nautilus-icons-view-icon-item.h:
	nautilus-icons-view-icon-item.c:
	gnome-icon-container-dnd.c:
	Quick cleanup of the new NautilusIconsViewIconItem class.

	* libnautilus/gdk-extensions.c:
	libnautilus/gnome-icon-container-dnd.c:
	libnautilus/gnome-icon-container.c:
	libnautilus/gtkflist.c:
	libnautilus/nautilus-background-canvas-group.c:
	libnautilus/nautilus-background.c:
	libnautilus/nautilus-debug.c:
	libnautilus/nautilus-default-file-icon.c:
	libnautilus/nautilus-directory.c:
	libnautilus/nautilus-icon-factory.c:
	libnautilus/nautilus-icons-controller.c:
	libnautilus/nautilus-icons-view-icon-item.c:
	libnautilus/nautilus-lib-self-check-functions.c:
	libnautilus/nautilus-self-checks.c:
	libnautilus/nautilus-string.c:
	src/explorer-location-bar.c:
	src/file-manager/dfos-corba.c:
	src/file-manager/dfos-xfer-progress-dialog.c:
	src/file-manager/dfos-xfer.c:
	src/file-manager/dfos.c:
	src/file-manager/fm-directory-view-icons.c:
	src/file-manager/fm-directory-view-list.c:
	src/file-manager/fm-directory-view.c:
	src/file-manager/fm-icons-controller.c:
	src/file-manager/fm-main.c:
	src/nautilus-self-check-functions.c:
	src/ntl-index-panel.c:
	Got rid of #ifdef HAVE_CONFIG_H. Elliot says that we must always
	include <config.h>, but there's no reason to include that ifdef
	since we don't plan on building without a <config.h> ever.

285 286 287 288 289 290
2000-01-31  Andy Hertzfeld <andy@eazel.com>

        * libnautilus/gnome-icon-container-dnd.c:
        fixed bug where icons were horizontally mis-positioned after dragging;
        fixed by taking the center offset into account
        
291 292 293 294 295 296 297 298 299 300 301
2000-01-31  John Sullivan  <sullivan@eazel.com>

	* libnautilus/nautilus-directory.h:
	* libnautilus/nautilus-directory.c:
	(nautilus_directory_get_boolean_metadata), 
	(nautilus_directory_set_boolean_metadata),
	(nautilus_directory_get_integer_metadata), 
	(nautilus_directory_set_integer_metadata): New convenience functions
	for getting/setting metadata that's naturally in boolean or integer form.
	I'll be adding clients for these next.

302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362
2000-01-31  Darin Adler  <darin@eazel.com>

	NautilusDirectory is now in charge of loading directories.
	FMDirectoryView has been relieved of that responsibility.

	* nautilus-directory.h:
	nautilus-directory.c:
	(nautilus_directory_start_monitoring):
	(nautilus_directory_stop_monitoring):
	(nautilus_directory_is_ready_for_layout):
	(nautilus_directory_new_file):
	(nautilus_directory_are_all_files_seen):
	Added monitoring API that's used to read the contents of
	a directory. Made nautilus_directory_new_file private since
	we now use the monitoring API instead.

	* fm-directory-view.c:
	(fm_directory_view_initialize):
	(stop_load):
	(display_pending_entries):
	(display_pending_files):
	(display_pending_idle_cb):
	(display_timeout_cb):
	(display_pending_timeout_cb):
	(directory_load_cb):
	(schedule_idle_display_of_pending_files):
	(schedule_timeout_display_of_pending_files):
	(unschedule_idle_display_of_pending_files):
	(unschedule_timeout_display_of_pending_files):
	(unschedule_display_of_pending_files):
	(add_files_cb):
	(fm_directory_view_activate_entry):
	(fm_directory_view_load_uri):
	(disconnect_model_handlers):
	(fm_directory_view_stop):
	Changed to use monitoring instead of directly calling
	gnome_vfs_async_load_directory directly.

	* fm-directory-view.c:
	(update_zoom_menu_items):
	(zoom_in_cb):
	(zoom_out_cb):
	(pop_up_context_menu):
	(pop_up_temporary_context_menu):
	(append_background_items):
	(create_background_context_menu):
	(fm_directory_view_popup_item_context_menu):
	(fm_directory_view_popup_background_context_menu):
	Changed to re-created background menu each time instead of
	keeping a single global menu up to date. This is simpler, and
	the imperceptible additional delay from recreating the menu
	each time should not be a problem.
	
	* ntl-window.c:	(nautilus_window_up):
	ntl-map.c: (nautilus_navinfo_new):
	Handle the case where the current URI is NULL.

	* fm-directory-view-icons.c: (create_icon_container):
	Removed the leftover puts calls in here.
	This gets rid of "A", "B", "C" on each start of nautilus.

363 364 365 366 367 368 369 370 371 372 373 374 375 376
2000-01-31  John Sullivan <sullivan@eazel.com>

	Put all metadata keys in a central place so we can keep
	track of them.

	* libnautilus/nautilus-metadata.h: New file, contains
	#defines for all the metadata keys currently in use.
	* libnautilus/Makefile.am: add nautilus-metadata.h to list of headers.
	* src/ntl-index-panel.c:
	* src/file-manager/fm-directory-view-icons.c:
	* src/file-manager/fm-directory-view-list.c:
	Update all non-test callers of nautilus_directory_get_metadata and
	nautilus_directory_set_metadata to use new #defines

377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417
2000-01-31  John Sullivan <sullivan@eazel.com>

	Improved zooming API and made zoom items on item context
	menu disable properly. (There's still a bug with disabling
	the background menu if an item menu ever appears; Darin will
	fix this in his next checkin.)

	* src/file-manager/fm-directory-view.c:
	* src/file-manager/fm-directory-view.h:
	(can_zoom_in), (can_zoom_out): New function pointers for subclasses
	to replace.
	(fm_directory_view_can_zoom_in), (fm_directory_view_can_zoom_out):
	New functions that call through to the new function pointers.
	(bump_zoom_level), (fm_directory_view_bump_zoom_level): 
	Removed return value in favor of new functions.
	(update_zoom_menu_items): Helper function to update sensitivity of
	background context menu Zoom In and Zoom Out items. Darin will eliminate
	this with his next checkin.
	(zoom_in_cb), (zoom_out_cb): Now use update_zoom_menu_items to share code.
	(append_background_items): Set sensitivity of Zoom In and Zoom Out items
	at creation time.
	
	* src/file-manager/fm-directory-view-list.c:
	(fm_directory_view_list_bump_zoom_level): Removed return value.
	(fm_directory_view_list_can_zoom_in), (fm_directory_view_list_can_zoom_out):
	New functions, compare current zoom level against limits.
	(fm_directory_view_list_get_zoom_level), 
	(fm_directory_view_list_set_zoom_level): New convenience functions,
	deployed throughout this file.
	(fm_directory_view_list_initialize_class): Replace can_zoom_in and 
	can_zoom_out function pointers.
	
	* src/file-manager/fm-directory-view-icons.c:
	(fm_directory_view_icons_bump_zoom_level): Removed return value.
	(fm_directory_view_icons_can_zoom_in), (fm_directory_view_icons_can_zoom_out):
	New functions, compare current zoom level against limits.
	(fm_directory_view_icons_get_zoom_level): New convenience function,
	deployed throughout this file.
	(fm_directory_view_icons_initialize_class): Replace can_zoom_in and 
	can_zoom_out function pointers.

418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437
2000-01-30  Andy Hertzfeld <andy@eazel.com>

	made fonts scale according to the zoom level:
	
	* libnautilus/gnome-icon-container-private.h:
	replaced label font with array of fonts
	* libnautilus/gnome-icon-container.c:
	load a font for each zoom level
	* libnautilus/nautilus_icons_view_icon_item:c
	use a font selected by the zoom level
	
	enabled/disabled zoom items as necessary in context menu:
	
	* src/file-manager/fm-directory-view-icons.c:
	made bump_zoom_level return a boolean indicating if it can zoom further
	* src/file-manager/fm-directory-view-list.c:
	made bump_zoom_level return a boolean indicating if it can zoom further
	* src/file-manager/fm-directory-view-list.c:
	enable/disable items in zoom level according to the passed-back booleans
    
438 439 440 441 442
2000-01-28  Andy Hertzfeld <andy@eazel.com>

	* libnautilus/gnome-icon-container-dnd.c:
	made shadow rectangles track icons properly by adding in the center offset
	
443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495
2000-01-28  John Sullivan  <sullivan@eazel.com>

	A little zoom cleanup:

	* libnautilus/gnome-icon-container-private.h: #include
	nautilus-icon-factory.h and remove copy of NautilusZoomLevel enum.
	* libnautilus/gnome-icon-container.c:
	(gnome_icon_container_set_zoom_level): Now uses ratios of standard
	NAUTILUS_ICON_SIZEs to compute canvas pixels/unit instead of locally
	storing ratios.
	* libnautilus/nautilus-icon-factory.h:
	Changed pixel sizes of some NAUTILUS_ICON_SIZE #defines to match
	the ratios formerly used in gnome-icon-container.c

	Added icons to bookmarks menu and window:

	* libnautilus/nautilus-directory.c: (nautilus_file_get): Changed
	options passed to gnome_vfs_get_file_info to match those used in
	directory view; this causes the mime type to be read so the custom
	image icon can appear.
	* src/nautilus-bookmark.c:
	* src/nautilus-bookmark.h:
	Now uses details structure to hold implementation details.
	(nautilus_bookmark_get_pixmap_and_mask): New utility function to
	get image suitable for use in a GtkMenuItem or GtkCList
	(nautilus_bookmark_destroy): Free details structure
	(init): Alloc details structure
	* src/nautilus-bookmarks-menu.c:
	(create_pixmap_widget_for_bookmark): New utility function to create
	the kind of pixmap widget that a menu item likes.
	(bookmark_menu_item_new): New utility function that returns a menu
	item with bookmark's icon & name installed.
	(nautilus_bookmarks_menu_repopulate): Uses bookmark_menu_item_new.
	* src/nautilus-bookmarks-window.c:
	Now uses #defines for the list columns (icon & name)
	(create_bookmarks_window): Create one more column to hold icon;
	set column width & row height taking new icon column into account.
	(install_bookmark_icon): New function, installs pixmap & mask for
	bookmark into GtkCList cell.
	(repopulate): Fill in icon column as well as name column.
	
	Fixed storage leaks:
	
	* src/file-manager/fm-directory-view-icons.c:
	(fm_directory_view_destroy): free details structure
	* src/file-manager/fm-directory-view-list.c:
	(fm_directory_view_list_destroy): free details structure
	* src/file-manager/fm-directory-view.c:
	(fm_directory_view_icons_destroy): free details structure; also,
	don't bother setting details->icons_not_positioned to NULL since
	details is about to be freed.


496 497 498 499 500 501 502 503
2000-01-28  Andy Hertzfeld <andy@eazel.com>

	* libnautilus/nautilus_icons_view_icon_item.c,h:
	made icons be centered in their box by adding a center_offset method
	and using it where appropriate.
	* libnautilus/gnome-icon-container-dnd.c:
	used center_offset in drag offset calculation
	
504 505 506 507 508 509 510 511 512 513 514 515
2000-01-28  John Sullivan  <sullivan@eazel.com>

	Moved FMIconCache to libnautilus, renaming it
	NautilusIconFactory at the same time. Renamed all public
	and private functions accordingly.

	* RENAMING: removed this finished item.

	* src/file-manager/fm-default-file-icon.c: Removed file
	* src/file-manager/fm-default-file-icon.h: Removed file
	* src/file-manager/fm-icon-cache.c: Removed file
	* src/file-manager/fm-icon-cache.h: Removed file
516
	* src/file-manager/Makefile.am: Took out mentions of removed files.
517 518 519 520 521 522 523 524 525 526 527 528 529 530

	* libnautilus/nautilus-default-file-icon.c: New file
	* libnautilus/nautilus-default-file-icon.h: New file
	* libnautilus/nautilus-icon-factory.c: New file
	* libnautilus/nautilus-icon-factory.h: New file
	* libnautilus/Makefile.am: Added new files to build.

	* src/file-manager/fm-directory-view-icons.c: Took out
	#include for fm-icon-cache, which was obsolete in this file.
	* src/file-manager/fm-directory-view-list.c: Renamed #include
	and affected function calls. 
	* src/file-manager/fm-icons-controller.c: Renamed #include
	and affected function calls. 

531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570
2000-01-28  John Sullivan  <sullivan@eazel.com>

	Made zooming work in directory list view. Also made
	right-click menu on a directory view always include
	the non-icon-specific items.

	* src/file-manager/fm-icon-cache.h:
	* src/file-manager/fm-icon-cache.c:
	(nautilus_icon_size_for_zoom_level): New function, maps
	between NautilusZoomLevel and nominal icon sizes.
	
	* src/file-manager/fm-directory-view.c:
	(append_background_items): New utility function, adds the
	non-file-specific context menu items to a menu.
	(create_background_context_menu): Moved most of guts to
	new append_background_items, which this now calls.
	(create_item_context_menu): Now adds a separator and then
	calls append_background_items. This means right-clicking on
	an icon will show the icon-specific commands followed by the
	non-icon-specific ones. This makes the non-icon-specific ones
	easier to discover and access, especially in list view where
	anywhere you click in a long list gives the item's context menu.
	
	* src/file-manager/fm-directory-view-list.c:
	Now stores zoom level rather than icon size in details structure.
	(fm_directory_view_list_bump_zoom_level),
	(fm_directory_view_list_set_zoom_level): New functions for setting
	the zoom level.
	(fm_directory_view_list_initialize_class): Wire up bump_zoom_level to
	slot in parent class structure.
	(compare_rows), (add_to_flist): Changed mechanism that temporarily
	stores pending row data to use object data rather than a static variable
	so it will work with multiple list views at the same time.
	(fm_directory_view_list_get_icon_size): New function, gets icon size
	from zoom level stored in details structure.
	(create_flist): Deploy fm_directory_view_list_get_icon_size where
	details structure was examined before.
	(install_icon): Removed NautilusFile and column parameters; made function
	compute these internally.
	
571 572 573 574
2000-01-28  Elliot Lee  <sopwith@redhat.com>
	* components/html/ntl-web-browser.c: Remove use of gtk_html_parse() - deprecated
	in latest GtkHTML.

575 576 577 578 579
2000-01-28  Andy Hertzfeld <andy@eazel.com>

	*libnautilus/gnome-icon-container-dnd.c:
	fixed dragging when zoomed by scaling the pixbuf and offsets if necessary
	
580 581 582 583 584 585
2000-01-27  Andy Hertzfeld <andy@eazel.com>

	*libnautilus/nautilus-icons-view-icon-item.c:
	some fixes to improve positioning when zoomed by multiplying by pixel_per_unit
	when appropriate
	
586 587 588
2000-01-27  John Sullivan  <sullivan@eazel.com>

	Finished this round of sorting architecture improvements.
589
	
590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616
	* libnautilus/nautilus-directory.c:
	(nautilus_file_compare_for_sort_internal): Made sorting NautilusFiles
	by name be case-insensitive.
	
	* src/file-manager/fm-directory-view.h:
	* src/file-manager/fm-directory-view.c:
	Removed enum FMDirectoryViewSortType (replaced by recently-added
	NautilusFileSortType)
	(fm_directory_view_sort): Removed this function; subclasses now
	must handle sorting internally.
	(fm_directory_view_repopulate): Removed this function, formerly
	called only by fm_directory_view_sort.
	
	* src/file-manager/fm-directory-view-list.c:
	(fm_directory_view_list_initialize): list_view->details->sort_column
	now starts out at LIST_VIEW_COLUMN_NAME.
	(compare_rows): New function to compare rows for sorting GtkCList-style.
	(create_flist): Set up GtkCList sorting mechanism; formerly I had been
	ignoring it (unaware) and handling sorting from scratch.
	(add_to_flist): Don't assume that newly-added item will be at end; also
	add hack to make pending row data accessible to compare function.
	(sort_criterion_from_column): New function, broken out of 
	fm_directory_view_list_sort_items.
	(fm_directory_view_list_sort_items): Broke out sort criterion choosing,
	now uses GtkCList-style sorting instead of asking FMDirectoryView to sort.
	(install_icon): Added a couple more g_return_if_fails.
	
617 618 619 620 621 622 623 624
2000-01-27  Darin Adler  <darin@eazel.com>

	* src/ntl-app.c: Added missing includes to get it to compile.
	* components/help/converters/.cvsignore:
	components/help/converters/gnome-info2html2/.cvsignore:
	components/help/converters/gnome-man2html2/.cvsignore:
	Added Makefile.

625 626 627 628 629 630 631
2000-01-27  Maciej Stachowiak  <mjs@eazel.com>

	* src/Makefile.am, src/nautilus.goad, src/ntl-app.c,
	src/file-manager/Makefile.am: Made the file manager component
	statically linked in again.  
	* src/file-manager/ntl-file-manager.goad: Removed.

632 633 634 635 636 637 638 639 640
2000-01-27  Elliot Lee  <sopwith@redhat.com>

	* configure.in: Add components/help/converters/* makefiles.
	* libnautilus/nautilus-directory.c: Check for NULL directory
	result before doing stuff with it.
	* src/ntl-index-panel.c: Ditto.
	* src/ntl-prefs.c: Add help browser nav tree to list of possibilities.
	* src/ntl-window-msgs.c: Handle non-VFS-handleable URIs correctly WRT 'up' button.

641 642
2000-01-27  Andy Hertzfeld <andy@eazel.com>

643 644 645 646 647
	* libnautilus/nautilus-icons-view-icon-item.c:
	made the canvas item respect the scale factor by removing code in
	compute_viewport_affine that was defeating it. There's still a
	bunch more to do to make it right for non-unity scale factors, but
	at least we can start that now.
648
        
649 650
2000-01-27  Andy Hertzfeld <andy@eazel.com>

651 652
	hooked zooming up to the background context menu; right now the canvas item
	doesn't work at different zoom levels properly, which we'll fix soon.
653
        
654 655 656
	* libnautilus/fm-directory-view.c,h:
	enable zoom in and zoom out items and hooked them up to callback
	added a bump_zoom_level slot, to be overriden by subclasses, which the zoom callback use
657
        
658 659
	* libnautilus/fm-directory-view-icons.c:
	added method for bump_zoom_index that calls the icon container to do the work
660
        
661 662
	* libnautilus/gnome-icon-container-private.h:
	added a private instance variable for zoom level
663
        
664 665
	* libnautilus/gnome-icon-container.c,.h:
	added methods for get_zoom_level and set_zoom_level
666
        
Darin Adler's avatar
Darin Adler committed
667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687
2000-01-27  Darin Adler  <darin@eazel.com>

	* libnautilus/gnome-icon-container.c:
	(icon_select):
	Fixed a bug that was causing some icons to not get
	selected or unselected properly due to strangeness of
	bit fields.

	* libnautilus/gnome-progressive-loader.h: 
	libnautilus/gnome-progressive-loader.c: 
	libnautilus/Makefile.am:
	Got rid of GnomeProgressiveLoader.
	We're not going to use it.

	* RENAMING: Andy added a new file that matched RENAMING,
	but then I changed my mind about a renaming, spawning yet
	more renaming!

	* src/file-manager/fm-directory-view-icons.c:
	Just tiny reformatting.

688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713
2000-01-27  John Sullivan  <sullivan@eazel.com>

	More work towards changing the sorting framework, and
	fixed some bugs in nautilus_file_get.

	* libnautilus/nautilus-directory.h:
	Added NautilusFileSortType enum.
	(nautilus_file_compare_for_sort): New function
	(nautilus_file_compare_for_sort_reversed): New function
	
	* libnautilus/nautilus-directory.c:
	(nautilus_file_ref): New function (prototype already existed).
	(nautilus_file_get): file_info had been stack variable,
	but that didn't work right, so now it's xxx_new()ed.
	Also ref'ed file before returning.
	(nautilus_file_compare_for_sort), 
	(nautilus_file_compare_for_sort_reversed),
	(nautilus_file_compare_for_sort_internal): New functions.
	(nautilus_self_check_directory): Added some simple tests for
	nautilus_file_get and nautilus_file_compare_xxx.

	* src/file-manager/fm-directory-view.c:
	(fm_directory_view_load_uri): Removed sort_rules that were
	passed in to gnome_vfs_asynch_load_directory_uri, since they
	had no effect and we're changing the sorting framework.

714 715
2000-01-27  Elliot Lee  <sopwith@redhat.com>
	* libnautilus/Makefile.am: Link to $(BONOBO_LIBS)
716 717
	* libnautilus/gnome-icon-container.c: Include <string.h> to get 
	prototype for memset.
718

719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741
2000-01-26  Maciej Stachowiak  <mjs@eazel.com>

	* components/help/hyperbola-main.c,
	components/help/hyperbola-nav-tree.c,
	components/history/ntl-history-view.c, components/html/main.c,
	components/html/ntl-web-browser.c,
	components/websearch/ntl-web-search.c, idl/nautilus.idl,
	libnautilus/gnome-icon-container.c,
	libnautilus/gnome-progressive-loader.c,
	libnautilus/gnome-progressive-loader.h, libnautilus/libnautilus.h,
	libnautilus/ntl-content-view-frame.c,
	libnautilus/ntl-meta-view-frame.c, libnautilus/ntl-view-frame.c,
	libnautilus/ntl-view-frame.h, src/nautilus.h,
	src/ntl-index-panel.c, src/ntl-view-bonobo-control.c,
	src/ntl-view-bonobo-subdoc.c, src/ntl-view-frame-svr.c,
	src/ntl-view-nautilus.c, src/ntl-view-private.h, src/ntl-view.c,
	src/ntl-view.h, src/ntl-window.c, src/ntl-window.h,
	src/file-manager/dfos-corba.h, src/file-manager/dfos-xfer.c,
	src/file-manager/dfos-xfer.h, src/file-manager/fm-main.c: Build
	with the recent Bonobo global renaming, and Havoc's changes. A
	patch from Kjartan Maraas <kmaraas@online.no> and scripts from Nat
	Friedman <nat@helixcode.com> were a very helpful starting point.

742 743 744 745 746 747 748
2000-01-26  Havoc Pennington  <hp@pobox.com>

	* src/nautilus-gconf.h, src/nautilus-gconf.c: Trivial files I'd
	written before getting stuck on the OAF thing, that might be of
	interest. I have some other bits I did that aren't worth checking
	in, Ramiro said he's doing the prefs dialog.

749 750 751 752 753 754 755 756 757 758 759 760 761
2000-01-26  John Sullivan  <sullivan@eazel.com>

	Moved list view sort indicator to left of right-justified 
	columns.

	* src/file-manager/fm-directory-view-list.c:
	(create_flist): Marked the sort indicators with special
	data/value pairs so they can be located later regardless
	of view order. Made right-justified ones use pack_start
	instead of pack_end.
	(get_sort_indicator): Find sort indicators from special
	data/value pairs rather than relying on view order.

762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787
2000-01-26  John Sullivan  <sullivan@eazel.com>

	A few changes in the direction of improving the directory
	view sorting architecture. No visible effects yet.

	* src/file-manager/fm-directory-view-icons.c:
	(create_icon_container): Took out useless call to
	fm_directory_view_populate().

	* src/file-manager/fm-directory-view-list.c:
	(fm_directory_view_list_sort_items): New function, extracted
	from column_clicked_cb, that does the actual sorting.
	(column_clicked_cb): Replaced actual sorting code with
	call to new fm_directory_view_list_sort_items; retained
	setup code.
	(create_flist): Took out useless call to
	fm_directory_view_populate().

	* src/file-manager/fm-directory-view.h:
	(fm_directory_view_populate): Removed this call from public API.

	* src/file-manager/fm-directory-view.c:
	(fm_directory_view_populate): Made static and renamed to 
	..._repopulate now that I better understand its use. Soon it will
	go away entirely.

788 789
2000-01-26  Andy Hertzfeld <andy@eazel.com>

790 791 792 793
	* libnautilus/gnome-icon-container-dnd.c:
	made the drag shadow have the same dimensions as the icon being dragged;
	fixed bug where it was confusing the width and height order in the
	custom uri it built for dragging within Nautilus
794
        
Darin Adler's avatar
Darin Adler committed
795 796 797 798 799 800
2000-01-26  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-directory.c:
	(nautilus_file_get_name):
	Fixed an assert I missed.
	
801 802 803
2000-01-26  Darin Adler  <darin@eazel.com>
	
	* libnautilus/nautilus-directory.h:
Darin Adler's avatar
Darin Adler committed
804
	libnautilus/nautilus-directory.c:
805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822
	(nautilus_file_get):
	(nautilus_file_detach):
	(nautilus_directory_finalize):
	(nautilus_file_unref):
	Added interface to get a NautilusFile for a specific file rather than
	a file from a directory that we are scanning.

	* libnautilus/nautilus-glib-extensions.c:
	(check_tm_to_g_date):
	A little cleanup of the self-check code.

	* libnautilus/Makefile.am:
	libnautilus/libnautilus.h:
	libnautilus/nautilus-alloc.h: 
	libnautilus/nautilus-directory.h:
	Moved g_alloca into its own header file so you don't have to include
	all the Bonobo stuff just to use g_alloca.

823 824 825 826
2000-01-26  Andy Hertzfeld <andy@eazel.com>

	* src/file-manager/fm-icon-cache.c:
	first cut at making images with small file sizes display as themselves
827 828
	* libnautilus/nautilus-icons-view-icon-item.c:
	clean-ups, plus added alternate selection boolean for keyboard selection
829
    
830 831 832 833 834 835
2000-01-25  John Sullivan <sullivan@eazel.com>

	* libnautilus/nautilus-directory.c:
	(nautilus_file_get_date_as_string): A few cleanups
	based on feedback from Darin and Havoc.

836 837
2000-01-25  Andy Hertzfeld <andy@eazel.com>

838 839
	* libnautilus/nautilus-icons-view-icon-item.c
	disabled icon centering code that was causing glitchey updates
840
        
841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904
2000-01-25  Darin Adler  <darin@eazel.com>

	* libnautilus/gnome-icon-container-dnd.c:
	(create_selection_shadow):
	(set_gnome_icon_list_selection):
	(get_gnome_icon_list_selection):
	(gnome_icon_container_receive_dropped_icons):
	Redid drag code so that it will work if there are multiple
	windows involved, although we still don't handle copies.
	Changed selection to include the width and height of the icon,
	and to hold the top left of the icon.

	* libnautilus/gnome-icon-container-private.h:
	libnautilus/gnome-icon-container.c:
	(move_icon):
	(gnome_icon_container_move_icon):
	Made move_icon visible to the DnD code, and added a raise boolean
	so it could move and icon and bring it to the front.
	(gnome_icon_container_get_icon_by_uri):
	(gnome_icon_container_select_list_unselect_others):
	Added new functions for use by DnD code.

	* libnautilus/gnome-icon-container-private.h:
	libnautilus/gnome-icon-container.c:
	(handle_icon_button_press):
	Got rid of unused drag_x_offset and drag_y_offset.

	* libnautilus/gnome-icon-container.c:
	(icon_select):
	(icon_toggle_selected):
	(select_icon):
	(select_one_unselect_others):
	(toggle_icon):
	(unselect_all_but_one):
	(unselect_all):
	(rubberband_select_in_cell):
	(kbd_move_to):
	(kbd_space):
	(linger_select_timeout_cb):
	(handle_icon_button_press):
	(gnome_icon_container_select_all):
	(gnome_icon_container_unselect_all):
	Cleaned up selection logic and made it simpler.

	* libnautilus/gnome-icon-container.h:
	libnautilus/gnome-icon-container.c:
	(gnome_icon_container_xlate_selected):
	Got rid of unused function.

	* libnautilus/nautilus-self-checks.h:
	libnautilus/nautilus-self-checks.c:
	(nautilus_self_checks_failed):
	(nautilus_exit_if_self_checks_failed):
	src/ntl-main.c:
	(main):
	Added blank lines before and after the first and last failed
	checks when at least one check fails.

	* src/ntl-view.c:
	(nautilus_view_destroy):
	Removed a straggler message. (I hope Elliot's not still using it.)

	* RENAMING: Some new name ideas.
	
905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927
2000-01-25  John Sullivan <sullivan@eazel.com>

	Better text for displayed file dates. This is currently used only
	in the list view date column, but will be used later in icon view
	when we get multiple lines of text per icon working.

	* libnautilus/nautilus-glib-extensions.c:
	* libnautilus/nautilus-glib-extensions.h:
	New files, intended to hold nautilus code that logically belongs
	in glib. Now contains a g_date constructor that takes a struct tm,
	and a strdup_strftime function that returns a new string of exactly
	the right size.
	* libnautilus/Makefile.am: Build and install these two new files.
	* libnautilus/nautilus-lib-self-check-functions.h: include the
	new self-check function for nautilus-glib-extensions.

	* libnautilus/nautilus-directory.c:
	#include nautilus-glib-extensions.h
	(nautilus_file_get_date_as_string): Replaced simple ctime version
	with fancy version that uses shorter date format, the words
	"today" and "yesterday" when appropriate, and the weekday name if
	the date is in the last week (other than today or yesterday).

928 929
2000-01-25  Andy Hertzfeld <andy@eazel.com>

930 931 932 933 934 935 936
	* libnautilus/nautilus-icons-view-icon-item.c,h:
	new canvas item class for icon items.  Now we use a single
	canvas item to draw the icons instead of a group with two subitems.
	This will pay-off when we implement the emblems, zooming and
	special icons for text, etc.  This is the first cut, I'm pretty
	sure it doesn't work when pixels_per_item isn't 1.0 and there
	are other small problems.
937
          
938 939
	* libnautilus/gnome-icon-container-private.h:
	removed old fields for sub-items
940
        
941 942
	* libnautilus/Makefile.am:
	added new item class to makefile
943
          
944 945
	* libnautilus/gnome-icon-container-dnd.c:
	drag asks main item for pixbuf instead of image item
946
          
947 948
	* libnautilus/gnome-icon-container.c:
	use new icon item instead of making group with two sub-items
949
        
950 951
2000-01-24  Maciej Stachowiak  <mjs@eazel.com>

952 953 954 955 956 957 958 959 960 961 962
	* src/file-manager/fm-directory-view.c,
	src/file-manager/fm-directory-view.h
	(fm_directory_view_popup_item_context_menu,
	fm_directory_view_popup_background_context_menu): New functions
	for subclasses to call, to implement right-click menus. Most of
	the guts are here now. Machinery to merge view-specific items with
	generic ones will be added here.
	* src/file-manager/fm-directory-view-icons.c,
	src/file-manager/fm-directory-view-list.c: Use the new interface
	for right-click stuff.

963 964 965
	* src/file-manager/fm-directory-view-icons.c: Corrected memory
	management for background and item popup menus.

966 967 968 969 970 971 972 973 974 975 976 977 978 979
2000-01-24  Darin Adler  <darin@eazel.com>

	* gnome-icon-container-dnd.c:
	(gnome_icon_container_receive_dropped_icons):
	Removed bogus warning. Need to do some more work to get
	dragging working with multiple windows, but there's no
	easy way to detect that case, so just let it go.

	* fm-directory-view-icons.c:
	(icon_container_context_click_icon_cb):
	(icon_container_context_click_background_cb):
	Fixed the callbacks to match the new interface without the
	icon name. I missed this in my check-in earlier today.

980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999
2000-01-24  John Sullivan <sullivan@eazel.com>

	Added sort indicators to list view column titles

	* src/file-manager/fm-directory-view-list.c: 
	Added #define LIST_VIEW_COLUMN_NONE
	Added tiny in-line XPMs for up & down sort indicators.
	(struct _FMDirectoryViewListDetails): Replaced
	sort_type field with sort_column field.
	(fm_directory_view_initalize): initialize details->sort_column
	to LIST_VIEW_COLUMN_NONE
	(get_sort_indicator), (hide_sort_indicator), (show_sort_indicator):
	New functions for setting the sort indicators' states.
	(column_clicked_cb): update details->sort_column and call
	hide_sort_indicator and show_sort_indicator
	(create_flist): Add sort indicator widgets to column titles,
	initially hidden
	(flist_activate_cb): Renamed "ignored" parameter and tested its
	value, to make mjs happy.

1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011
2000-01-24  Maciej Stachowiak  <mjs@eazel.com>

	* libnautilus/gtkflist.c, libnautilus/gtkflist.h: Rename
	"row_popup_menu" and "empty_popup_menu" signals to
	"context_click_row" and "context_click_background" for more
	consistency with the way the icon container does it. Removed
	GdkEvent parameters from these signals. Added an int indicating
	the row right-clicked.
	(gtk_flist_button_press): Do not change the selection to the row
	that gets right-clicked. It was inconsistent with the icon view
	and most of the known universe.

1012
2000-01-24  Darin Adler  <darin@eazel.com>
1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143

	Added a controller object that lets GnomeIconContainer
	ask questions and perform actions, even though only the
	FMDirectoryViewIcons knows how to answer the questions
	and perform the actions.

	Replaced use of nautilus_file_get_info with specific
	accessors for various file info.

	* libnautilus/Makefile.am:
	libnautilus/nautilus-icons-controller.h:
	libnautilus/nautilus-icons-controller.c:
	libnautilus/gnome-icon-container-private.h:
	libnautilus/gnome-icon-container.h:
	libnautilus/gnome-icon-container.c:
	(icon_new_pixbuf):
	(gnome_icon_container_new):
	(gnome_icon_container_add):
	(gnome_icon_container_add_auto):
	Added NautilusIconsController, an interface provided so that the
	file manager can connect the icons up with the file code. This is
	all so we can keep the view/controller separation. This eliminates
	the need to pass around the icon name all the time, so the signals
	have changed to not take the icon name as a parameter.

	* src/file-manager/Makefile.am:
	src/file-manager/fm-icons-controller.c:
	src/file-manager/fm-icons-controller.h:
	Added FMIconsController, the actual controller used by the file
	manager instance of GnomeIconContainer.
	src/file-manager/fm-directory-view-icons.c:
	(create_icon_container):
	(add_icon_if_already_positioned):
	(add_icon_at_free_position):
	(icon_container_activate_cb):
	(fm_directory_view_icons_icon_moved_cb):
	Create and use the FMIconController.

	* libnautilus/gnome-icon-container-private.h:
	libnautilus/gnome-icon-container-dnd.c:
	(set_gnome_icon_list_selection):
	(set_uri_list_selection):
	libnautilus/gnome-icon-container.c:
	(gnome_icon_container_set_base_uri):
	src/file-manager/fm-directory-view-icons.c:
	(set_up_base_uri):
	(fm_directory_view_icons_begin_loading):
	Get rid of the old base_uri technique for handling drags. Instead
	the icon controller supplies URIs for icons when requested.

	* RENAMING: Proposed that we use NautilusIconsView as the new name
	for GnomeIconContainer instead of NautilusIconContainer.

	* libnautilus/gnome-icon-container-private.h:
	libnautilus/gnome-icon-container.h:
	libnautilus/gnome-icon-container.c:
	(gnome_icon_container_initialize):
	(handle_icon_enter_notify):
	(handle_icon_leave_notify):
	Renamed browser mode to linger selection mode.

	* libnautilus/gnome-icon-container-private.h:
	libnautilus/gnome-icon-container.h:
	libnautilus/gnome-icon-container.c:
	(icon_configure):
	(icon_position):
	(change_icon_mode):
	(gnome_icon_container_initialize):
	(gnome_icon_container_set_icon_mode):
	(gnome_icon_container_get_icon_mode):
	src/file-manager/fm-directory-view-icons.c:
	(fm_directory_view_icons_initialize):
	Got rid of icon mode, since we won't be using it.

	* libnautilus/gnome-icon-container-dnd.c:
	(get_gnome_icon_list_selection):
	Changed geometry parsing so it will not ignore extra characters
	after the numeric geometry.
	(gnome_icon_container_receive_dropped_icons):
	The code here tried to work when dragging icons between windows,
	but the implementation was actually only good within the same
	window, so I modified it to check for that case.

	* libnautilus/gnome-icon-container-dnd.c:
	(create_selection_shadow):
	(set_gnome_icon_list_selection):
	libnautilus/gnome-icon-container.c:
	(icon_position):
	Renamed GNOME_ICON_CONTAINER_ICON_XOFFSET to
	GNOME_ICON_CONTAINER_ICON_X_OFFSET and
	GNOME_ICON_CONTAINER_ICON_YOFFSET to
	GNOME_ICON_CONTAINER_ICON_Y_OFFSET. We use an underscore between
	words in identifiers.

	* libnautilus/gnome-icon-container.c:
	(destroy):
	Added code to remove timeouts and idles when the container is
	destroyed.

	* libnautilus/nautilus-directory.h:
	libnautilus/nautilus-directory.c:
	(nautilus_file_get_info):
	Get rid of the direct call to get GnomeVFSFileInfo. All info is
	accessed through individual functions.
	(nautilus_file_get_size):
	(nautilus_file_get_type):
	(nautilus_file_get_mime_type):
	(nautilus_file_is_executable):
	(nautilus_file_is_symbolic_link):
	Added new accessor functions as needed.
	src/file-manager/fm-directory-view.c:
	(display_selection_info):
	src/file-manager/fm-icon-cache.c:
	(fm_icon_cache_get_icon_set_for_file):
	(fm_icon_cache_get_icon_for_file):
	Change code to use the accessors instead of get_info.
	
	* libnautilus/nautilus-gtk-macros.h:
	(NAUTILUS_ASSIGN_MUST_OVERRIDE_SIGNAL):
	Changed macro to take a class pointer of the right type instead
	of taking both a casting macro name and a class pointer.
	src/file-manager/fm-directory-view.c:
	(fm_directory_view_initialize_class):
	Changed existing uses of macro to match.

	* src/file-manager/Makefile.am:
	src/file-manager/fm-icon-cache.c:
	src/file-manager/fm-default-file-icon.h:
	src/file-manager/fm-default-file-icon.c:
	Moved the default icon into its own file.

1144 1145 1146 1147 1148 1149
2000-01-24  John Sullivan <sullivan@eazel.com>

	* libnautilus/gnome-icon-container.c:
	(button_event_modifies_selection): New function, encapsulates idea
	of which button events modify the selection. Formerly this was
	done in several places and the answer was "those with the Control
1150 1151 1152 1153 1154 1155 1156 1157
	key down". Now the answer is "those with the Control or Shift key
	down" to match list view (and traditional, i.e. Mac) behavior more
	closely.
	(button_press_event), (button_release_event),
	(handle_icon_button_press): Deployed
	button_event_modifies_selection.
	(button_release_event): Check whether modifying selection and
	don't activate on single-click if so.
1158 1159
	(kbd_move_to): Just added comment.
	
Havoc Pennington's avatar
Havoc Pennington committed
1160 1161 1162 1163 1164 1165
2000-01-22  Havoc Pennington  <hp@pobox.com>

	* configure.in: check for libwww

	* components/html/Makefile.am: add libwww flags

1166 1167 1168 1169 1170 1171 1172
2000-01-21  Maciej Stachowiak  <mjs@eazel.com>

	* src/file-manager/fm-directory-view-icons.c: Added background and
	item context click menus. Right now they only work for the
	directory view, and contain only insensitive items. This needs
	more work but I wanted to check in something basic.	

Havoc Pennington's avatar
Havoc Pennington committed
1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184
2000-01-21  Havoc Pennington  <hp@redhat.com>

	* src/file-manager/Makefile.am (INCLUDES): fix to gnomecanvaspixbuf

	* src/Makefile.am (INCLUDES): fix to gnomecanvaspixbuf

	* libnautilus/Makefile.am (INCLUDES): fix to use gnomecanvaspixbuf
	flags

	* configure.in: Look for gnomecanvaspixbuf properly (via
	gnome-config)
	
John Sullivan's avatar
John Sullivan committed
1185 1186 1187 1188 1189
2000-01-21  John Sullivan <sullivan@eazel.com>

	* src/ntl-window.c: Move Preferences item to Edit menu, its
	traditional home.

1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225
2000-01-21  John Sullivan <sullivan@eazel.com>

	Make icons appear in list view, and do some of the restructuring
	necessary for supporting multiple icon sizes.

	* src/file-manager/fm-icon-cache.h:
	Added enum for Nautilus's 7 levels of zooming.
	Added #defines for nominal icon sizes matching these 7 levels.
	(fm_icon_cache_get_icon): Renamed to fm_icon_cache_get_icon_for_file,
	and changed parameters to take a NautilusFile and a size (in pixels)
	instead of a GnomeVFSFileInfo.
	
	* src/file-manager/fm-icon-cache.c
	Changed static vars fm_default_file_icon_width & height to use new
	NAUTILUS_ICON_SIZE_STANDARD #define
	(fm_icon_cache_get_icon_for_file): Renamed to 
	fm_icon_cache_get_icon_set_for_file to avoid collision with changed
	public API call. Also changed parameters to take a NautilusFile instead
	of a GnomeVFSFileInfo.
	(fm_icon_cache_get_icon): Renamed to fm_icon_cache_get_icon_for_file,
	and changed parameters to take a NautilusFile and a size (in pixels)
	instead of a GnomeVFSFileInfo. If the size parameter is not the
	standard size, calls fm_icon_cache_scale to get a scaled icon.
	Eventually icons will be stored at various sizes, but for now we
	always scale.
	(fm_icon_cache_scale): New function, scales standard-sized GdkPixbuf
	to given size.

	* src/file-manager/fm-directory-view-icons.c:
	(add_icon_if_already_positioned), (add_icon_at_free_position):
	Updated callers of fm_icon_cache_get_icon, passing in
	NAUTILUS_ICON_SIZE_STANDARD.

	* src/file-manager/fm-directory-view-list.c:
	(struct _FMDirectoryViewListDetails): Add icon_size field.
	(fm_directory_view_list_initialize): Initialize icon_size field.
1226 1227 1228 1229
	(create_flist): Determine icon column width and row height from icon size.
 	(add_to_flist): Change parameters to take FMDirectoryViewList
	instead of GtkFList, and remove FMIconCache parameter. Now calls
	install_icon.
1230 1231 1232 1233
	(fm_directory_view_list_add_entry): Update add_to_flist parameters.
	(install_icon): New function, gets an appropriately-sized icon for
	a NautilusFile and puts it into icon column in list.

1234
2000-01-21  Elliot Lee  <sopwith@redhat.com>
1235 1236

	* src/ntl-window.[ch], src/ntl-window-msgs.c,
1237 1238
	  src/ntl-window-private.h: Add a specific flag to indicate reload,
	  and make use of it.
1239

1240 1241 1242
	* libnautilus/nautilus-directory.c: Allocate an extra byte in the
	  buffer, for safety's sake.
	* src/ntl-window-msgs.c: Fix back/fwd buttons.
1243 1244 1245 1246
	* src/ntl-window-msgs.c: Remove debugging printouts, and display
	  error dialogs.
	* src/ntl-window-msgs.c, src/ntl-window.h: Fix the bug that was
	  causing list view to be blank.
1247

1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274
2000-01-21  Darin Adler  <darin@eazel.com>

	Started some cleanup of the icon view.

	* libnautilus/Makefile.am:
	libnautilus/gnome-icon-container-layout.c:
	libnautilus/gnome-icon-container-layout.h:
	libnautilus/gnome-icon-container.c:
	libnautilus/gnome-icon-container.h:
	src/file-manager/fm-directory-view-icons.c:
	src/file-manager/fm-directory-view-icons.h:
	Got rid of the GnomeIconContainerLayout.
	This was the old mechanism for saving and loading
	icon positions and we have a better signal-based one.
	Also made the new mechanism work more the way that
	Ettore had intended to make the layout work, where
	all the icons that have preassigned positions get
	positioned first, then the ones that are auto positioned.
	In the long run, we'll need something a bit fancier.

	* libnautilus/gnome-icon-container-dnd.c:
	libnautilus/gnome-icon-container.c:
	libnautilus/gnome-icon-container.h:
	libnautilus/gnome-icon-container-private.h:
	Change the priv pointer to be named details to match
	what we use in other places in Nautilus.

1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293
2000-01-21  John Sullivan <sullivan@eazel.com>

	Made list view activation work on single click, like icon view.

	* libnautilus/gtkflist.c
	(struct _GtkFListDetails): Added single_click_mode
	and button_down_time, renamed dnd_select_pending_row to
	button_down_row.
	Added #define MAX_CLICK_TIME, copied from gnome_icon_container.
	(gtk_flist_initialize): Initialize single_click_mode to TRUE
	(activate_row): New function, extracts code needed to activate
	an item from its row number.
	(gtk_flist_button_press): Save button_down_time, save
	button_down_row more often, use activate_row () for double-click.
	(gtk_flist_button_release): Activate on single click if single_click_mode
	is true, selection isn't being extended, mouse hasn't moved to a different 
	row, and not too much time has passed.
	(gtk_flist_motion): Deploy button_down_row name change.

1294 1295 1296
2000-01-20  Andy Hertzfeld <andy@eazel.com>

	* libnautilus/gnome-icon-container.c:
1297 1298 1299
	Disabled the pernicious call to relayout in size_allocate.  We
	will want to do automatic layout when the window size changes, but
	this is the wrong level for it, it happens too frequently
1300
	
John Sullivan's avatar
John Sullivan committed
1301 1302 1303 1304 1305
2000-01-20  Elliot Lee  <sopwith@redhat.com>

	* src/ntl-window-msgs.c:
	Missed piece in last commit.

1306 1307 1308
	John added this entry for Elliot, who made this change three
	hours later than his last checkin. The comment is from the
	cvs commit.
John Sullivan's avatar
John Sullivan committed
1309

1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339
2000-01-20  Darin Adler  <darin@eazel.com>

	* src/file-manager/fm-directory-view.c:
	(fm_directory_view_activate_entry):
	Fixed double free that was causing lots of nasty errors in
	the file manager.
	(fm_directory_view_load_uri):
	Made the old directory hang around a bit longer when loading
	a new uri.
	(display_selection_info):
	(fm_directory_view_send_selection_change):
	(display_selection_info_idle_cb):
	Fixed a storage leak and broke out the selection change into
	its own function instead of mixing it with the status line.
	Also made the selection actually use URIs instead of just
	names for the selected items.

	* libnautilus/nautilus-directory.h:
	libnautilus/nautilus-directory.c:
	(nautilus_file_get_uri):
	Added this function that gets a URI (rather than just a
	leaf name).

	* libnautilus/nautilus-directory.c:
	(nautilus_directory_finalize):
	(nautilus_self_check_directory):
	Added more self checks and fixed a bug where a metadata
	change would get lost if you delete the directory too soon
	after making the change.

1340 1341 1342 1343 1344 1345
2000-01-20  John Sullivan  <sullivan@eazel.com>

	* libnautilus/gtkflist.c:
	* libnautilus/gtkflist.h:
	Move fields into details structure inside .c file.

1346 1347 1348 1349 1350
2000-01-20  Jonathan Blandford  <jrb@redhat.com>

	* src/file-manager/fm-directory-view-list.c (column_clicked_cb):
	more initialization to clean up an warning.

1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362
2000-01-20  Darin Adler  <darin@eazel.com>

	* src/gnome-icon-container.c:
	(gnome_icon_container_xlate_selected):
	Fixed a bug where dragging an icon would cause the "kbd_selected"
	icon to scroll into view. Just passed FALSE instead of TRUE for
	"schedule_visibility".

	* libnautilus/nautilus-background.c:
	(nautilus_background_draw_flat_box):
	Tiny change, to fit our style rule against initializing.

Jonathan Blandford's avatar
Jonathan Blandford committed
1363 1364 1365 1366 1367
2000-01-20  Jonathan Blandford  <jrb@redhat.com>

	* libnautilus/nautilus-background.c
	(nautilus_background_draw_flat_box): fix warning.

1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380
2000-01-20  Elliot Lee  <sopwith@redhat.com>

	* src/ntl-uri-map.c: Async notification of navinfo - now we just need an async get_file_info call.
	* src/ntl-view.[ch]: Better error handling.
	* src/file-manager/fm-directory-view.c (display_selection_info): Send a 'selection change' request.

2000-01-19  Elliot Lee  <sopwith@redhat.com>

	* src/ntl-window-msgs.c: Totally rewrite the state changing machine. Now handles things slightly better.
	* src/ntl-types.h: Remove requesting_view from the navigation info.
	* src/ntl-window.h: Move all the state machine stuff into NautilusWindow itself.
	* src/ntl-window.c: Update for new 'stop doing stuff' API.

1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449
2000-01-20  Darin Adler  <darin@eazel.com>

	Store icon positions as "x,y" in ICON_POSITION instead of
	storing ICON_X and ICON_Y.

	Take first step in moving the directory view to use the opaque
	NautilusDirectory and NautilusFile instead of using gnome-vfs
	directly. This will separate the controller from the model:
	FMDirectoryView is a controller and NautilusDirectory a model.

	* src/file-manager/fm-directory-view-icons.c:
	(add_to_icon_container):
	(fm_directory_view_icons_icon_moved_cb):
	Store icons positions as "x,y" in ICON_POSITION instead of storing
	separate numbers in ICON_X and ICON_Y.

	* libnautilus/nautilus-directory.h:
	libnautilus/nautilus-directory.c:
	(nautilus_directory_get_uri):
	Added a new call needed to replace fm_directory_view_get_uri.
	(nautilus_directory_get_file_metadata):
	(nautilus_directory_set_file_metadata):
	(nautilus_file_get_metadata):
	(nautilus_file_set_metadata):
	Moved the calls for getting and setting file metadata into the
	file objects.
	(nautilus_directory_new_file):
	(nautilus_file_get_info):
	Added temporary interfaces for the current situation where we're
	dealing with both NautilusFile and GnomeVFSFileInfo objects at
	once.
	(nautilus_directory_finalize):
	Detach and unref all the files when the directory is destroyed.
	(nautilus_file_unref):
	(nautilus_file_get_name):
	Implemented these functions now that we are using them.

	* src/file-manager/fm-directory-view.h:
	src/file-manager/fm-directory-view.c:
	(fm_directory_view_add_entry):
	(fm_directory_view_activate_entry):
	(display_selection_info):
	(fm_directory_view_get_selection):
	src/file-manager/fm-directory-view-icons.c:
	(add_to_icon_container):
	(fm_directory_view_icons_icon_moved_cb):
	(dm_directory_view_icons_add_entry):
	(fm_directory_view_icons_get_selection):
	(icon_container_activate_cb):
	src/file-manager/fm-directory-view-list.c:
	(add_to_flist):
	(fm_directory_view_list_add_entry):
	Change all the code to work with NautilusFile instead of
	GnomeVFSFileInfo, except for the parts of FMDirectoryView dealing
	with the directory_list.

	* src/file-manager/fm-directory-view.h:
	src/file-manager/fm-directory-view.c:
	(nautilus_file_date_as_string):
	(nautilus_file_size_as_string):
	(nautilus_file_type_as_string):
	libnautilus/nautilus-directory.h:
	libnautilus/nautilus-directory.c:
	(nautilus_file_get_date_as_string):
	(nautilus_file_get_size_as_string):
	(nautilus_file_get_type_as_string):
	Moved and renamed these functions and made them work on
	NautilusFile objects.
	
John Sullivan's avatar
John Sullivan committed
1450
2000-01-20  John Sullivan  <sullivan@eazel.com>
1451 1452 1453 1454 1455

	* src/file-manager/fm-directory-view.c: (display_selection_info):
	Made selection info in status bar use name of item when only one
	item. Also reorganized copy/pasted code in this function.

1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468
2000-01-20  Darin Adler  <darin@eazel.com>

	Made backgrounds work better in the list view. Gradients still
	won't work because the list view draws its background with calls
	to gdk_draw_rectangle explicitly, and doesn't call the functions
	in the style, so it can't be overridden.

	* libnautilus/nautilus-background.c:
	(nautilus_background_set_widget_style): Fix bug where the list
	items were not highlighting properly. Set only the NORMAL and
	ACTIVE background color. That way we don't screw up the SELECTED
	and other background colors.

1469 1470 1471 1472 1473 1474
2000-01-20  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-directory.c:
	(nautilus_directory_get_file_metadata): Fix segfault that was
	happening when viewing a folder without a metafile.

1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510
2000-01-19  Darin Adler  <darin@eazel.com>

	The list view now has a background color just like the
	icon view does. Some more code could be saved, but that's
	a refactoring for another time.

	* libnautilus/gtkflist.c: Added support for receiving dragged
	colors to set the background of the list.

	* src/file-manager/fm-directory-view-list.c:
	(fm_directory_view_list_initialize_class):
	(fm_directory_view_list_clear):
	(fm_directory_view_list_background_changed_cb): Added code to load
	and save the background color from metadata.

	* libnautilus/nautilus-background.c: Put the background color in
	all the bg and base colors in the style instead of putting it only
	in bg[GTK_STATE_NORMAL].

	* libnautilus/nautilus-gtk-macros.h:
	(NAUTILUS_DEFINE_CLASS_BOILERPLATE): Make sure that the macro only
	evaluates the parent_class_type argument once, like it says in the
	comment. (NAUTILUS_CALL_PARENT_CLASS): Fix this macro so it can
	be used in places where an expression is expected.

	* RENAMING: Added this file to list name changes we are
	planning for the future.

	* libnautilus/gtkflist.h: libnautilus/gtkflist.c:
	src/explorer-location-bar.h: src/explorer-location-bar.c:
	Minimized includes.

	* src/ntl-index-panel.c:
	src/file-manager/fm-directory-view-icons.c: Fixed some comments
	and formatting.

1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547
2000-01-19  Darin Adler  <darin@eazel.com>

	Icon positions are now written out when you drag an icon,
	and read in when you visit a directory. But the code then
	immediately re-lays out the icons, so the position is lost!

	* src/file-manager/fm-directory-view-icons.c:
	(fm_directory_view_icons_icon_moved_cb):
	(fm_directory_view_icons_initialize): (add_container_icon): Save
	icon position when an icon is moved. Get icon position when an
	icon is first created.

	* libnautilus/nautilus-directory.c:
	(nautilus_directory_get_metadata_from_node):
	(nautilus_directory_get_metadata):
	(nautilus_directory_create_metafile_tree_root):
	(nautilus_directory_get_metadata):
	(nautilus_directory_set_metadata):
	(nautilus_directory_get_file_metadata):
	(nautilus_directory_set_file_metadata): Added the routines to get
	and set metadata for individual files.

	* libnautilus/nautilus-string.h: libnautilus/nautilus-string.c:
	(nautilus_eat_strcmp): (nautilus_string_to_int):
	(nautilus_eat_string_to_int): Made new string functions that free
	the existing strings, and a function to convert an int to a
	string.

	* libnautilus/gnome-icon-container.h:
	libnautilus/gnome-icon-container.c: (move_icon): (class_init):
	(handle_icon_button_press): Added context_click_background and
	icon_moved signals, and renamed context_click to
	context_click_icon.

	* configure.in: Turned -Wunused back on. I had to turn -W off,
	but I think it's worth it.

1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558
2000-01-19  John Sullivan  <sullivan@eazel.com>

	* src/file-manager/fm-directory-view.c:
	Added #include <libgnomevfs/gnome-vfs-file-info.h>
	(fm_directory_view_populate), (display_pending_entries):
	Bump refcount on file info before adding it to directory.
	(fm_directory_view_load_uri): Destroy directory list
	before setting it to NULL. With previous change, this
	should prevent leaking GnomeVFSFileInfos and their
	lists.

1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578
2000-01-19  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-directory.c: (nautilus_directory_finalize):
	(nautilus_directory_try_to_read_metafile):
	(nautilus_directory_read_metafile):
	(nautilus_directory_try_to_write_metafile):
	(nautilus_directory_write_metafile):
	(nautilus_directory_construct_alternate_metafile_uri):
	(nautilus_directory_new): After Andy explained his change to me, I
	realized that it would always write the metafile in the alternate
	place if there was no pre-existing metafile. So I changed the
	logic. The new rule is: read the metafile from the alternate
	location first. If we find it there, write it back
	there. Otherwise, try to write in the directory itself. If that
	fails, write it in the alternate location instead.

	* libnautilus/nautilus-directory.c:
	(nautilus_directory_get_metadata): Allow get_metadata on a NULL
	NautilusDirectory and return NULL for data.

1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645
2000-01-19  Darin Adler  <darin@eazel.com>

	Allow changing the background of the icon view by dropping colors
	on the icon view.

	* libnautilus/gnome-icon-container-dnd.h:
	libnautilus/gnome-icon-container-dnd.c:
	(gnome_icon_container_position_shadow): (drag_data_received_cb):
	(gnome_icon_container_ensure_drag_data): (drag_motion_cb):
	(drag_drop_cb): (gnome_icon_container_receive_dropped_icons):
	(gnome_icon_container_free_drag_data): (drag_leave_cb): Added
	support for receiving dropped colors to change the background of a
	GnomeIconContainer.

	* src/file-manager/fm-directory-view-icons.c:
	(fm_directory_view_icons_initialize_class):
	(fm_directory_view_icons_clear):
	(fm_directory_view_icons_background_changed_cb): Added code to
	load and save the background color from metadata.

	* libnautilus/gdk-extensions.c: (nautilus_gradient_new): Changed
	nautilus_gradient_new to handle NULLs in the same way that the
	rest of the gradient functions do instead of NULL being an illegal
	input value.

	* src/file-manager/fm-directory-view.h:
	src/file-manager/fm-directory-view.c:
	(fm_directory_view_initialize): (fm_directory_view_destroy):
	(fm_directory_view_get_model): (fm_directory_view_load_uri): Added
	a NautilusDirectory object to each directory view, accessed by
	subclasses with a call to fm_directory_view_get_model.

	* libnautilus/nautilus-gtk-extensions.h:
	libnautilus/nautilus-gtk-extensions.c:
	(gnome_icon_container_dropped_icon_feedback):
	(nautilus_gdk_selection_data_copy_deep): Added deep versions of
	these GtkSelectionData functions.

	* libnautilus/nautilus-gtk-macros.h:
	(NAUTILUS_DEFINE_GET_TYPE_FUNCTION):
	(NAUTILUS_DEFINE_CLASS_BOILERPLATE): Added definition and
	initialization of the parent_class global to
	NAUTILUS_DEFINE_GET_TYPE_FUNCTION and renamed it to
	NAUTILUS_DEFINE_CLASS_BOILERPLATE.

	* libnautilus/nautilus-background-canvas-group:
	(nautilus_background_canvas_group_initialize_class):
	libnautilus/nautilus-background.c:
	(nautilus_background_initialize_class):
	libnautilus/nautilus-directory.c:
	(nautilus_directory_initialize_class): src/ntl-index-panel.c:
	(nautilus_index_panel_initialize_class):
	src/file-manager/fm-directory-view-icons.c:
	(fm_directory_view_icons_initialize_class):
	src/file-manager/fm-directory-view-list.c:
	(fm_directory_view_list_initialize_class):
	src/file-manager/fm-directory-view.c:
	(fm_directory_view_initialize_class): Take advantage of the new
	NAUTILUS_DEFINE_CLASS_BOILERPLATE and get rid of existing code to
	set up parent_class.

	* libnautilus/gnome-icon-container-dnd.h:
	libnautilus/gnome-icon-container-dnd.c:
	libnautilus/gnome-icon-container-layout.h:
	libnautilus/gnome-icon-container-layout.c:
	libnautilus/gnome-icon-container.c: Minimized includes.

1646 1647 1648
2000-01-18  Andy Hertzfeld <andy@eazel.com>

	* libnautilus/gnome-icon-container.c
1649 1650
	made icon centered in cell by setting "x_set" pixbuf property so
	it listens to our offset also, adjusted x_offset constant
1651
	* libnautilus/gnome-icon-container-dnd.c
1652 1653
	made shadow be centered properly by taking difference between
	cellwidth and iconwidth into account
1654
	
1655 1656 1657 1658 1659 1660 1661 1662 1663
2000-01-18  Ettore Perazzoli  <ettore@helixcode.com>

	* src/file-manager/dfos-xfer.c (xfer_info_destroy): Removed `#if
	0'ed out function.

	* src/ntl-uri-map.c (nautilus_navinfo_new): Use
	`gnome_vfs_file_info_unref()' instead of
	`gnome_vfs_file_info_destroy()'.

1664 1665 1666 1667 1668 1669 1670 1671
2000-01-18  Andy Hertzfeld <andy@eazel.com>

        * libnautilus/gnome-icon-container-private.h:
        added "button_down_time" field to private data structure
        * libnautilus/gnome-icon-container.c
        made it not activate objects if the button was held down too long
        by remember the mouse down time and comparing it with the up time

1672 1673 1674 1675 1676 1677 1678
2000-01-18  John Sullivan <sullivan@eazel.com>

	* src/file-manager/fm-directory-view.c:
	(fm_directory_view_load_uri): Set directory list to NULL
	but don't destroy it; this fixes crash entering a directory
	and then going up. Will ask Ettore about real fix.

1679 1680 1681 1682 1683 1684 1685 1686
2000-01-18  John Sullivan <sullivan@eazel.com>

	* src/ntl-window-msgs.c:
	(nautilus_window_refresh_title): Sets the window title to
	Nautilus: x, where x is short name of current location.
	(nautilus_window_change_location_internal): Call
	nautilus_window_refresh_title.

1687 1688 1689 1690 1691 1692
2000-01-18  John Sullivan <sullivan@eazel.com>

	* src/file-manager/fm-directory-view.c:
	(display_selection_info): Call selection "items" rather than
	"files" because users distinguish directories from files.

1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736
2000-01-18  John Sullivan <sullivan@eazel.com>

	* src/file-manager/fm-directory-view.h:
	(enum _FMDirectoryViewSortType): added FM_DIRECTORY_VIEW_SORT_NONE
	and FM_DIRECTORY_VIEW_SORT_BYMTIME
	(fm_directory_view_sort): added reverse_sort parameter.
	(nautilus_file_date_as_string):
	(nautilus_file_size_as_string): Changed parameter for these two
	functions to be GnomeVFSFileInfo so they can handle special cases better.
	(nautilus_file_type_as_string): New function
	
	* src/file-manager/fm-directory-view.c
	(stop_load): Removed code resetting directory_list and current_position.
	This was the wrong place for it, and resetting directory_list was leaking.
	(directory_load_cb): Changed commented assignment to assert.
	(fm_directory_view_load_uri): Reset directory_list (without leaking old
	value) and current_position here.
	(fm_directory_view_sort): Pass through new reverse_sort parameter to
	gnome_vfs_directory_view_sort; add new case for 
	FM_DIRECTORY_VIEW_SORT_BYMTIME; don't put directories first when sorting
	by name.
	(nautilus_file_date_as_string): Now takes a GnomeVFSFileInfo pointer
	instead of a time_t (assumes mtime, with comment explaining why).
	(nautilus_file_size_as_string): Now takes a GnomeVFSFileInfo pointer
	instead of a size; uses this to special-case "--" for directory size.
	(nautilus_file_type_as_string): New function, special-cases directories
	to return "directory", otherwise returns mime_type.
	
	* src/file-manager/fm-directory-view-list.h
	Added private details structure to FMDirectoryViewList.

	* src/file-manager/fm-directory-view-list.c
	Added _FMDirectoryViewListDetails struct, containing sort_type and
	sort_reversed.
	(fm_directory_view_initialize): initialize details struct.
	(column_clicked_cb): New function, sorts list by clicked column.
	If list already sorted by that column, reverses sort. Still need
	visual indicator of sort direction.
	(create_flist): Added Type column, tweaked column widths, added
	signal connection for "click_column"
	(add_to_flist): now passes GnomeVFSFileInfo to 
	nautilus_file_size_as_string and nautilus_file_date_as_string;
	uses new nautilus_file_type_as_string for type column.

Andy Hertzfeld's avatar
Andy Hertzfeld committed
1737 1738
2000-01-18  Andy Hertzfeld <andy@eazel.com>

1739 1740 1741 1742
        * libnautilus/nautilus-directory:
        * made reading metafile from directory where we don't have write
        permissions work by changing error-check to look in common place on
        any error instead of just access_denied.
Andy Hertzfeld's avatar
Andy Hertzfeld committed
1743
        
1744 1745 1746
2000-01-18  Andy Hertzfeld <andy@eazel.com>

        * libnautilus/nautilus-directory.c:
Andy Hertzfeld's avatar
Andy Hertzfeld committed
1747 1748
        fixed bug caused by Elliot where he used alloca but forgot to remove g_free
        
1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773
2000-01-18  Elliot Lee  <sopwith@redhat.com>

	* libnautilus/nautilus-gtk-macros.h: Since the prototypes for
	GtkObjectInitFunc and GtkClassInitFunc just have a 'gpointer' for the args,
	cast the given values to these function types, so that people can use the actual
	pointer types as arguments without receiving a warning.

	* src/ntl-index-panel.c: Change to match. Also set
	object_klass->destroy & object_klass->finalize to point to our
	implementation. Also remove unused variables
	(nautilus_index_panel_initialize,
	nautilus_index_panel_set_up_label).

	* libnautilus/nautilus-background.c, src/ntl-window-msgs.c,
	src/ntl-window.c, src/file-manager/fm-directory-icons.c: Remove
	unused variables.

	* src/ntl-window.h: Add a variable (unused) for future handling of content view loading.

	* libnautilus/libnautilus.h: Add an interim g_alloca.

	* libnautilus/nautilus-directory.c: Clean up a bit further, by
	removing the need for another if(), and using g_alloca instead of
	g_malloc.

1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837
2000-01-18  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-directory.c:
	(nautilus_directory_read_metafile):
	(nautilus_directory_try_to_read_metafile):
	(nautilus_directory_write_metafile):
	(nautilus_directory_try_to_write_metafile):
	(nautilus_directory_switch_to_alternate_metafile_uri):
	(nautilus_directory_escape_slashes):
	(nautilus_make_directory_and_parents): Added first cut at code to
	put metafiles in the user's home directory if the directory is not
	accessible and you can't read and write a metafile in the
	directory itself. We'll have to refine this later to handle cases
	where you end up with two metafiles.

	* libnautilus/Makefile.am: libnautilus/nautilus-debug.h:
	libnautilus/nautilus-debug.c: Took trick for getting into the
	debugger and put it into a public header file so it can be used
	outside of the nautilus executable.

	* src/ntl-main.c: (stop_in_debugger):
	(nautilus_stop_after_default_log_handler): (main): Use the new
	calls from libnautilus to set up the drop into debugger for
	criticals and warnings.

	* src/file-manager/fm-main.c: (main): Minimized includes and used
	the new calls from libnautilus to set up the drop into debugger
	for criticals and warnings.

	* src/ntl-uri-map.c: (nautilus_navinfo_add_mapping):
	src/ntl-window.c: (nautilus_window_constructed):
	src/file-manager/fm-directory-view.c:
	(fm_directory_view_initialize): (fm_directory_view_destroy):
	(notify_location_change_cb): (stop_location_change_cb):
	(fm_directory_view_sort): Removed some messages that aren't so
	useful.

	* libnautilus/ntl-view-frame.h: Minimized includes.
	* libnautilus/ntl-view-frame.c: Include "ntl-view-frame.h" first
	so it tests to see that it has sufficient includes in it.

	* src/ntl-view.c: (nautilus_view_load_client): Changed function so
	that NULL for an iid is allowed and simply results in a failed
	load instead of being illegal.

	* src/ntl-window-msgs.c:
	(nautilus_window_change_location_internal): src/ntl-window.c:
	(nautilus_window_up): Got rid of calls to gnome_vfs_uri_destroy;
	use gnome_vfs_uri_unref instead since it's safer and Federico is
	getting rid of gnome_vfs_uri_destroy.

	* src/file-manager/fm-directory-view-icons.h:
	src/file-manager/fm-directory-view-icons.c:
	(fm_directory_view_icons_new):
	src/file-manager/fm-directory-view-list.h:
	src/file-manager/fm-directory-view-list.c:
	(fm_directory_view_list_new):
	src/file-manager/fm-directory-view.h:
	src/file-manager/fm-directory-view.c: (fm_directory_view_new):
	Minimized includes and got rid of the unused _new functions.

	* libnautilus/nautilus-directory.h: Added a missing 2000 copyright
	date.

1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854
2000-01-17  John Sullivan  <sullivan@eazel.com>
	First steps towards making the list view non-degenerate.

	* src/file-manager/fm-directory-view.h:
	* src/file-manager/fm-directory-view.c:
	(nautilus_file_date_as_string): New function, returns string suitable
	for displaying in a list view column.
	(nautilus_file_size_as_string): New function, calls newly-publicized
	gnome_vfs_file_size_to_string.
	(display_selection_info): Now calls gnome_vfs_file_size_to_string
	instead of redoing the string-creation code here.

	* src/file-manager/fm-directory-view-list.c
	(create_flist): Creates new columns for icon, size, and mod date.
	(add_to_flist): Fills columns for size & mod date. Icon column
	is empty for the moment. Columns do not yet sort.

1855 1856 1857 1858 1859 1860 1861 1862 1863 1864
2000-01-17      Andy Hertzfeld <andy@eazel.com>

        *libnautilus/gnome-icon-container-dnd.c:
        made dragging work right by using gdk_pixbuf_render_pixmap_and_mask
        to make a pixmap and mask to pass to the gtk dragging machinery
        *libnautilus/gnome-icon-container.c:
        changed xoffset constant for the icon mode positioning to make the
        feedback box line up with the icon.
                     
2000-01-16	Andy Hertzfeld <andy@eazel.com>
1865 1866

	*libnautilus/gnome-icon-container-dnd.c:
1867 1868
        made dragging use an image of the canvas item dragged
        still disabled, though, because it's not handling the mask yet
1869
    
1870 1871 1872 1873 1874 1875
2000-01-16	Andy Hertzfeld <andy@eazel.com>

	*libnautilus/gnome-icon-container-private.h:
	added "single_click_mode" boolean
	
	*libnautilus/gnome-icon-container.h
1876 1877
	made single-click open optionally work by adding code in
	button_release_event to activate the icon if appropriate
1878 1879 1880 1881 1882 1883
	enabled single-click mode by default
	
	*libnautilus/gnome-icon-container-dnd.c
	made dragging to desktop and else work by cleaning up code in set_uri_list_selection
	did work toward better dragging feedback using an image but didn't finish that yet
	
1884 1885 1886 1887 1888 1889 1890 1891 1892 1893
2000-01-15	Andy Hertzfeld <andy@eazel.com>

	*libnautilus/gnome-icon-container-dnd.c:
	made dragging files within a window actually work graphically, and set the stage for dragging between windows
	made drag_leave_cb no longer delete the selection_list
	made drag_data_received_cb delete selection if present instead of asserting it's gone
	made drag_drop_cb use the selection_list to determine the directory we're dragging from,
	if it's the same, move within the window, otherwise copy between (coming soon)
	didn't update positions in the metafile yet
	
1894 1895 1896 1897 1898 1899
2000-01-14  John Sullivan  <sullivan@eazel.com>

	* src/file-manager/fm-directory-view.c:
	(display_selection_info):
	Fixed a killer typo that caused selection to crash.

1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949
2000-01-14  John Sullivan  <sullivan@eazel.com>

	Finished refactoring FMDirectoryView and subclasses. I
	don't plan any more major reworking on these files, so
	feel free to change things without fear of stomping on
	me.

	* src/file-manager/fm-directory-view.c:
	* src/file-manager/fm-directory-view.h:
	* src/file-manager/fm-directory-view-icons.c:
	* src/file-manager/fm-directory-view-icons.h:
	* src/file-manager/fm-directory-view-list.c:
	* src/file-manager/fm-directory-view-list.h:
 	Moved icon_layout and icons_not_in_layout fields from
 	FMDirectoryView to FMDirectoryViewIcons (where they hide
 	inside a details structure in fm-directory-view-icons.c)
 	Commented .h files and all public functions in .c files.
 	Removed unnecessary #includes.
 	Changed signatures on many static functions in subclasses
 	to take subclass type instead of superclass type.
 	(display_selection_info_idle_cb):
 	(fm_directory_view_get_selection): 
 	(fm_directory_view_icons_get_selection):
 	(fm_directory_view_list_get_selection):
 	(fm_directory_view_notify_selection_changed):
 	New functions used to handle subclasses telling
 	superclass about the selection, so superclass can
 	display info about it.
 	(display_icon_container_selection_info_idle_cb):
 	(display_flist_selection_info_idle_cb): Removed these
 	old functions in favor of new cleaner mechanism.
 	(flist_activate_cb), (icon_container_activate_cb): Moved
 	common code into new superclass function...
 	(fm_directory_view_activate_entry): New home of that common
 	code.

	* src/file-manager/fm-directory-view.c:
	* src/file-manager/fm-directory-view.h:
 	Moved remaining fields of FMDirectoryView inside a private 
 	details structure so they can change without affecting clients.
 	(fm_directory_view_get_uri): (fm_directory_view_get_view_frame): 
 	New functions to use instead of peeking at structure directly.
 	(init): (class_init): (fm_directory_view_get_type): Renamed
 	the former two functions and removed the latter while
 	deploying NAUTILUS_DEFINE_GET_TYPE_FUNCTION macro.
		
	* src/file-manager/fm-main.c:
	(make_obj): Use fm_directory_view_get_view_frame() where it
	had been peeking at structure directly.

1950 1951 1952 1953 1954 1955 1956 1957 1958 1959
2000-01-14  Darin Adler  <darin@eazel.com>

	Fixed our handling of warnings and criticals.

	* src/ntl-main.c: Added new functions that stop in the debugger
	when you hit a g_warning or a critical error, only if the
	environment variable NAUTILUS_DEBUG is set. This is better than
	the way the old code made everything fatal, since it doesn't do
	anything if the debugger isn't running.

1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990
2000-01-14  Darin Adler  <darin@eazel.com>

	Turned on gradients for backgrounds.
	
	* src/ntl-index-panel.c:
	(nautilus_index_panel_drag_data_received): Use the new
	accept_dropped_color function in NautilusBackground instead of
	code in here. (nautilus_index_panel_background_changed):
	(nautilus_index_panel_set_up_info): Save background to metadata
	when the NautilusBackground object emits the changed signal.

	* libnautilus/nautilus-background.h:
	libnautilus/nautilus-background.c:
	(nautilus_background_accept_dropped_color): Moved logic about
	dropping a color coupon to change the background into the
	NautilusBackground class. This includes a first cut at the rules
	about gradients.

	* libnautilus/nautilus-background.c:
	(nautilus_background_get_color): Implemented this missing
	function. It's used by the code in index panel now to save the
	current background.

	* libnautilus/nautilus-background.c:
	(nautilus_background_draw_flat_box): Implemented gradient fills
	through the GtkStyle subclass.

	* src/ntl-main.c: (main): Made criticals and warnings be always
	fatal. Next step is to make them drop into the debugger, but not
	result in a core dump if the debugger is not running.
	
1991 1992 1993 1994 1995 1996
2000-01-14  Darin Adler  <darin@eazel.com>

	* src/ntl-index-panel.c: (nautilus_index_panel_set_up_label):
	Changed code to use the new gnome_vfs_uri_extract_short_name
	instead of its own private function.

1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037
2000-01-14  Darin Adler  <darin@eazel.com>

	First cut at some actual saving of metadata.
	Neither the interface nor the implementation is great yet.
	But it's a start.

	* libnautilus/Makefile.am:
	libnautilus/nautilus-directory.h:
	libnautilus/nautilus-directory.c:
	libnautilus/nautilus-lib-self-check-functions.h:
	libnautilus/nautilus-lib-self-check-functions.c:
	src/file-manager/Makefile.am:
	src/file-manager/fm-directory-protected.h:
	src/file-manager/fm-directory.h:
	src/file-manager/fm-directory.c:
	src/file-manager/fm-vfs-directory.h:
	src/file-manager/fm-vfs-directory.c:
	Moved the old FMDirectory class into the library and named it
	NautilusDirectory. Added functions for reading and writing
	metadata.

	* src/ntl-index-panel.c: Added the code to save the index panel's
	background color in metadata.
	
	* libnautilus/Makefile.am: Added gnome-vfs and gnome-xml,
	since the new code uses them.

	* libnautilus/nautilus-self-checks.h:
	libnautilus/nautilus-lib-self-check-functions.h:
	libnautilus/nautilus-lib-self-check-functions.c:
	src/nautilus-self-check-functions.h:
	src/nautilus-self-check-functions.c:
	Added macros to the self-check framework so the list of self check
	functions appears in exactly one place for each directory/module.

	* src/ntl-index-panel.h: src/ntl-index-panel.c: Moved the fields
	of the index panel inside a private details structure so they can
	change without affecting clients.

	* libnautilus/nautilus-background.c: Just some reformatting.

2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059
2000-01-13  John Sullivan  <sullivan@eazel.com>

	More work pushing code from FMDirectoryView into subclasses.
	Almost done now.

	* src/file-manager/fm-directory-view.h:
	Removed enum _FMDirectoryViewMode and its typedef.
	Removed field entries_to_display.
	Removed transition section holding function prototypes that
	were on their way into subclasses.
	(fm_directory_view_is_valid_mode): Removed.
	(fm_directory_view_get_mode): Removed.
	(fm_directory_view_set_mode): Removed.

	(fm_directory_view_begin_adding_entries):  New function & signal.
	(fm_directory_view_add_entry):  New function & signal.
	(fm_directory_view_done_adding_entries):  New function & signal.
	(fm_directory_view_done_sorting_entries):  New function & signal.
	(fm_directory_view_begin_loading): New function & signal.

	(fm_directory_view_display_selection_info): Newly exposed function.

2060
	* src/file-manager/fm-directory-view.c:
2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096
	Removed some now-unnecessary #includes.
	Added constants for new signals to enum.
	Removed global variable for icon cache in favor of already-extant
	fm_get_current_icon_cache().
	Removed all references to entries_to_display.
	(display_selection_info): Renamed to 
	fm_directory_view_display_selection_info now that it's public.
	(view_has_icon_container): Removed.
	(get_icon_container): Moved into subclass FMDirectoryViewIcons.
	(add_to_icon_container): Moved into subclass FMDirectoryViewIcons.
	(load_icon_container): Moved into subclass FMDirectoryViewIcons.
	(display_icons_not_in_layout): Moved into subclass FMDirectoryViewIcons.
	(setup_base_uri): Moved into subclass FMDirectoryViewIcons (and renamed
	to set_up_base_uri).
	(view_has_flist): Removed.
	(get_flist): Moved into subclass FMDirectoryViewList.
	(add_to_flist): Moved into subclass FMDirectoryViewList.
	(class_init): Signal initialization code for begin_adding_entries,
	add_entry, done_adding_entries, done_sorting_entries, and begin_loading.
	(init): Removed mode-setting line.
	(display_pending_entries): Replaced the bulk of this function with three
	new signals: begin_adding_entries, add_entry, done_adding_entries. The
	loop structure and GnomeVFSFileInfo retrieving part remains.
	(directory_load_cb): Deployed new signal begin_loading where setup_base_uri
	used to be.
	(fm_directory_view_is_valid_mode): Removed.
	(fm_directory_view_get_mode): Removed.
	(fm_directory_view_set_mode): Removed.
	(fm_directory_view_begin_adding_entries): New function, emits signal.
	(fm_directory_view_add_entry): New function, emits signal.
	(fm_directory_view_done_adding_entries): New function, emits signal.
	(fm_directory_view_done_sorting_entries): New function, emits signal.
	(fm_directory_view_begin_loading): New function, emits signal.
	(fm_directory_view_sort): Replaced some icon-container-specific
	code with fm_directory_view_done_sorting_entries().

2097
	* src/file-manager/fm-directory-view-icons.c:
2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114
	(fm_directory_view_icons_initialize_class): Wired up signal handlers
	for add_entry, done_adding_entries, done_sorting_entries, and begin_loading.
	(fm_directory_view_icons_initialize): Removed set_mode call.
	(display_icons_not_in_layout): Moved here from superclass FMDirectoryView.
	(get_icon_container): Moved here from superclass FMDirectoryView.
	(add_to_icon_container): Moved here from superclass FMDirectoryView.
	(load_icon_container): Moved here from superclass FMDirectoryView.
	(set_up_base_uri): Moved here from superclass FMDirectoryView.
	(fm_directory_view_icons_add_entry): New signal handler function, code 
	taken and simplified from superclass FMDirectoryView.
	(fm_directory_view_icons_done_adding_entries): New signal handler 
	function, code taken and simplified from superclass FMDirectoryView.
	(fm_directory_view_icons_done_sorting_entries): New signal handler 
	function, code taken and simplified from superclass FMDirectoryView.
	(fm_directory_view_icons_begin_loading): New signal handler function, 
	code taken and simplified from superclass FMDirectoryView.
	
2115
	* src/file-manager/fm-directory-view-list.c:
2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127
	(fm_directory_view_list_initialize_class): Wired up signal handlers
	for begin_adding_entries, add_entry, and done_adding_entries
	(fm_directory_view_list_initialize): Removed set_mode call.
	(get_flist): Moved here from superclass FMDirectoryView.
	(add_to_flist): Moved here from superclass FMDirectoryView.
	(fm_directory_view_list_begin_adding_entries): New signal handler 
	function, code taken and simplified from superclass FMDirectoryView.
	(fm_directory_view_list_add_entry): New signal handler function, code 
	taken and simplified from superclass FMDirectoryView.
	(fm_directory_view_list_done_adding_entries): New signal handler 
	function, code taken and simplified from superclass FMDirectoryView.	

2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154