ChangeLog-20000414 162 KB
Newer Older
Elliot Lee's avatar
Elliot Lee committed
1 2 3 4
2000-02-09  Elliot Lee  <sopwith@redhat.com>

	* libnautilus/bonobo-stream-vfs.[ch]: Implement truncate.

5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
2000-02-09  John Sullivan <sullivan@eazel.com>

	* src/file-manager/fm-icon-text-window.c:
	(get_attribute_index_from_option_menu): New helper function.
	(ensure_unique_attributes): New function, makes sure that no
	two option menus in this window have same value.
	(is_in_chosen_values): New function, used by ensure_unique_attributes.
	(get_chosen_attribute_name): Use get_attribute_index_from_option_menu.
	(changed_attributes_option_menu_cb): Reworked to use array of
	option menus; also calls ensure_unique_attributes so the user can't
	set more than one of the menus to the same value (new one wins, old
	one gets set to first unused value).
	(create_attributes_option_menu): Now takes menu_number parameter,
	which is passed to item-activation callback.
	(create_icon_text_window): Reworked to use array of option menus;
	renamed all glade-invented variable names to sensible ones.
	
	* src/file-manager/fm-directory-view-icons.c:
	(fm_directory_view_icons_append_background_context_menu_items):
	Added a separator before "Customize Icon Text...", since by acting
	globally rather than on the viewed directory it's conceptually in a
	different class than the other menu items. It may move out of this
	menu entirely someday.
	
	* libnautilus/nautilus-directory.c:
	(nautilus_file_get_size_as_string): Back to using "--" for directories,
	so there's no blank line. We want to use item counts here, but I've
	postponed implementing that feature.
	(nautilus_file_get_type_as_string): Made files with no mime type
	return "unknown type" at Andy's suggestion.
	(nautilus_file_compare_by_type): New function, needed to compare
	nautilus-generated type strings (can't use GnomeVFS comparison function).

38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
2000-02-09  Elliot Lee  <sopwith@redhat.com>

	* src/ntl-view-bonobo-control.c: In notify_location_change, send
	progress back (because the Bonobo control, which might be the
	content view, can't do it).

	* src/ntl-view-bonobo-subdoc.c: As above, plus don't use
	PersistFile interface, plus use bonobo-stream-vfs instead of
	bonobo-stream-fs.

	* src/ntl-uri-map.c: If no content type is found, default to text/plain.

	* libnautilus/bonobo-stream-vfs.[ch], libnautilus/Makefile.am:
	Initial implementation of bonobo streams in terms of Gnome VFS.

53 54 55 56 57 58 59
2000-02-09  Maciej Stachowiak  <mjs@eazel.com>

	* src/ntl-meta-view.c: To avoid a bug which caused parts of the
	destroy function calling chain to be skipped, remove the destroy
	function. In the process, switch over to using the boilerplate
	generation macros from nautilus-gtk-macros.h

60 61 62 63 64 65 66 67 68 69 70 71 72
2000-02-08  Andy Hertzfeld <andy@eazel.com>

	more work on the index tabs; they're drawing properly now but they're
	still not ready to be left hooked up
	
	* src/nautilus-index-tabs.c:
	made the index tabs draw properly
	* src/nautilus-index-panel.c:
	install the new index tabs if the USE_NEW_TABS define is set; it's
	not by default
	* icons/tableft.png, icons/tabright.png:
	added alpha channel to edge pixmaps so they can draw non-rectangular
	
73 74 75 76 77 78 79 80 81 82
2000-02-08  John Sullivan <sullivan@eazel.com>

	Tweaked the appearance of the icon-text choosing window.
	Still not quite laid out right, but it's closer.

	* src/file-manager/fm-icon-text-window.c:
	(create_attributes_option_menu): Center the text in the menu items.
	(create_icon_text_window): Change expand parameter for vertical
	box so option menus are only as wide as they need to be. 

83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
2000-02-08  John Sullivan <sullivan@eazel.com>

	Completed first cut at icon-text-choosing UI.
	Choose "Customize Icon Text..." from context menu in icon view to try.
	Still doesn't save global setting across sessions; awaiting
	more of a Preferences framework for that.

	* src/file-manager/fm-signaller.h: New file.
	* src/file-manager/fm-signaller.c: New file, manages object that acts
	as a central place for file manager objects to register with and
	broadcast signals, without having to wire specific objects together.
	* src/file-manager/Makefile.am: Added these two new files to the build.

	* src/file-manager/fm-directory-view-icons.h:
	(fm_directory_view_icons_set_full_icon_text_attribute_names): Removed the
	set_default parameter; for now at least, the text beneath icons is only
	changeable on a global basis.
	* src/file-manager/fm-directory-view-icons.c:
	(icon_text_changed_cb): New function, tells GnomeIconContainer to
	update all its icons.
	(fm_directory_view_icons_initialize): Connect with FMSignaller's
	"icon_text_changed" signal, so all windows will be updated.
	(fm_directory_view_icons_set_full_icon_text_attribute_names):
	Removed the set_default parameter; also tell FMSignaller to emit
	"icon_text_changed".

	* src/file-manager/fm-icon-text-window.c:
	Completely reworked. Window used to contain three radio buttons for
	pre-defined orderings of size/type/date_modified. Now window contains
	three option menus, each with all available text attributes (except
	name, which is hardwired to always go first). Selecting from any of
	the option menus instantly updates all directory views.
	
	* libnautilus/nautilus-directory.c:
	defined private typedef enum NautilusDateType.
	(nautilus_file_get_date_as_string): Added NautilusDateType parameter,
	which chooses between the three available file dates (modified, changed,
	accessed).
	(nautilus_file_get_string_attribute): Now handles all three date types.

John Sullivan's avatar
John Sullivan committed
123 124 125 126 127 128 129
2000-02-08  John Sullivan <sullivan@eazel.com>

	* configure.in: turned -Werror back on. It had been turned off a
	few days ago, presumably accidentally.
	* src/nautilus-index-tabs.c: (draw_one_tab): #if-0'ed this
	currently unused function out since -Werror doesn't like unused functions.

130 131 132 133
2000-02-08  Elliot Lee  <sopwith@redhat.com>

	* src/ntl-window-msgs.c: Don't segfault if an error occurs while loading the start page.

134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 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
2000-02-07  John Sullivan <sullivan@eazel.com>

	Switching which info appears in icon labels is now demoable.
	Choose "Customize Icon Text..." from context menu in icon view to try.
	Next I'll make a decent UI for it.

	* libnautilus/gnome-icon-container.h:
	(gnome_icon_container_request_update_all): New function.
	* libnautilus/gnome-icon-container.c:
	(gnome_icon_container_request_update_all): New function, tells
	the container to get fresh text & image for each icon.
	(request_update_one): Renamed, was synch_icon_with_controller
	(gnome_icon_container_set_zoom_level): Extracted code from which
	to form request_update_all, which this now calls.
	
	* src/file-manager/fm-directory-view.h:
	(append_background_context_menu_items): New signal, lets subclasses
	append (or otherwise modify) items to background context menu.
	* src/file-manager/fm-directory-view.c:
	Add enum entry for APPEND_BACKGROUND_CONTEXT_MENU_ITEMS
	(fm_directory_view_initialize_class): Create new signal, and assign
	function pointer.
	(fm_directory_view_real_append_background_context_menu_items): Renamed
	from append_background_items, now that it's a default signal handler.
	(append_item_context_menu_items): New function, broke code out from
	create_item_context_menu. This may have an associated signal also someday,
	but not yet.
	(fm_directory_view_append_background_context_menu_items): New function,
	emits "append_background_context_menu_items" signal.
	(create_item_context_menu): Broke out append_item_context_menu_items, and
	now calls fm_directory_view_append_background_context_menu_items.
	(create_background_context_menu): Now calls
	fm_directory_view_append_background_context_menu_items.
	
	* src/file-manager/fm-directory-view-icons.h:
	(fm_directory_view_icons_set_full_icon_text_attribute_names),
	(fm_directory_view_icons_get_full_icon_text_attrubute_names): New functions.
	* src/file-manager/fm-directory-view-icons.c:
	(fm_directory_view_icons_initialize_class): Replaces function
	pointer for append_background_context_menu_items.
	(customize_icon_text_cb): New function, shows icon-text-customizing window.
	(fm_directory_view_icons_append_background_context_menu_items): New
	function, appends a "Customize Icon Text..." item to context menu, which
	when selected calls customize_icon_text_cb.
	(fm_directory_view_icons_set_full_icon_text_attribute_names): New function,
	sets a new order in which to display icon text, and forces an update.
	(fm_directory_view_icons_get_full_icon_text_attrubute_names): New function,
	returns the order in which to display icon text.
	(fm_directory_view_icons_get_icon_text_attribute_names): Reworked to
	return a substring of the full string, based on zoom level.
	
	* src/file-manager/fm-icon-text-window.h: New file
	* src/file-manager/fm-icon-text-window.c: New file, handles creating
	and maintaining state for window from which user chooses text to 
	display beneath icons.
	* src/file-manager/Makefile.am: Build these two new files.

	* src/nautilus-bookmarks-window.c:
	(create_bookmarks_window): Capitalized "Nautilus" in window title.

194 195 196 197 198 199 200 201 202 203 204 205 206 207 208
2000-02-07  Andy Hertzfeld <andy@eazel.com>

        first cut at real tabs for index panel, still incomplete and not
	hooked up yet, but will be soon.
	
	* icons/tableft.png, tabright.png:
	small pixmaps for nice rounded edges for the tabs
	* icons/Makefile.am
	added tableft.png and tabright.png
	
	* src/nautilus-index-tabs.c,h
	new class for drawing the index tabs
	* src/Makefile.am
	added index-tabs class to build
	
209
2000-02-07  Elliot Lee  <sopwith@redhat.com>
210 211 212 213 214
	* idl/*.idl: Include the .idl files of other modules that we use.
	* libnautilus/Makefile.am, src/Makefile.am, src/file-manager/Makefile.am:
	Define -D_REENTRANT, just in case.
	* src/file-manager/Makefile.am: Add cflags for .idl compilation.

215 216 217 218 219 220 221 222 223 224 225 226 227
	* components/help/Makefile.am: Build converters. Stop installing
	the now-unneeded .schemes file.

	* components/websearch/ntl-web-search.c: Get rid of
	gnome_button_can_default()

	* libnautilus/nautilus-icons-view-icon-item.c: Get rid of missing
	prototypes and associated warnings by including needed headers.

	* src/ntl-types.h, src/ntl-uri-map.[ch], src/ntl-window.h,
	src/ntl-window-msgs.c: Remove scheme mapping functionality (now
	done in gnome-vfs). Use asynchronous version of get_file_info.

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
2000-02-04  John Sullivan <sullivan@eazel.com>

	Zooming now shows different information at different
	zoom levels. Currently uses hardwired pattern. Next
	I'll make the pattern configurable.

	* src/file-manager/fm-directory-view-icons.c:
	* src/file-manager/fm-directory-view-icons.h:
	(fm_directory_view_icons_get_icon_text_attribute_names):
	New function, returns set of attribute names representing
	text to appear in icon label. The set varies depending on
	zoom level, but is otherwise currently hardwired.
	
	* src/file-manager/fm-icons-controller.c:
	(fm_icons_controller_get_text): Now gets attribute names
	from icon view, then creates & returns a newline-delimited
	string using nautilus_file_get_string_attribute.

	* libnautilus/gnome-icon-container.c:
	(synch_icon_with_controller): New function, reinstalls item's
	label and image.
	(icon_new): Reworked to call synch_icon_with_controller.
	(gnome_icon_container_set_zoom_level): Now iterates through the
	icons, calling synch_icon_with_controller so text (and, later, image)
	is updated when zoom level changes.
	
	* libnautilus/nautilus-directory.c:
	(nautilus_file_get_size_as_string): Changed to return empty
	string instead of "--" for directories, because this looked
	better in icon view. Might change list view back to use "--"
	later.
	
	* libnautilus/nautilus-icons-view-icon-item.c:
	(draw_or_measure_text_box): Made it display blank lines
	instead of collapsing them out.
	(nautilus_icons_view_icon_item_draw): Took out special case
	for not showing text at tiniest zoom level. This is now handled
	the same way as the other levels.
	
Darin Adler's avatar
Darin Adler committed
267 268 269 270 271 272 273 274 275 276 277 278 279 280
2000-02-04  Darin Adler  <darin@eazel.com>

	Make optimized builds succeed.
        
        * configure.in: Turn off uninitialized variable warnings.
        At some point, we should turn these off only for the ORBit-
        generated stub files, since they are meaningful and useful
        in other files. For now, though, since we use -Werror, we
	need be sure these warnings don't cause trouble for people
        who do optimized builds.
        
        * src/ntl-main.c (main): Added GnomeUI to the list of domains
        to "stop on warning/critical".

281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316
2000-02-04  John Sullivan <sullivan@eazel.com>

	Some renaming and reorganization heading towards supporting
	icons with more info in label at higher zoom levels.

	* libnautilus/nautilus-icons-controller.c:
	* libnautilus/nautilus-icons-controller.h:
	(nautilus_icons_controller_get_icon_name): Renamed to
	nautilus_icons_controller_get_icon_text since it won't always
	just be the name.
	* src/file-manager/fm-icons-controller.c:
	(fm_icons_controller_get_icon_name): Renamed to
	fm_icons_controller_get_icon_text to match.
	* libnautilus/gnome-icon-container.c:
	(icon_new): Updated for name change.
	
	* libnautilus/nautilus-directory.c:
	* libnautilus/nautilus-directory.h:
	(nautilus_file_get_string_attribute): New function, consolidates
	nautilus_file_get_date_as_string, nautilus_file_get_size_as_string,
	and nautilus_file_get_type_as_string (and more to come). These old
	functions are now private.
	
	* src/file-manager/fm-directory-view-list.c:
	Changed column-identifying strings stored in metadata to be attribute
	names recognized by nautilus_file_get_string_attribute. Added
	LIST_VIEW_DEFAULT_SORTING_ATTRIBUTE.
	(get_column_from_metadata_value): Renamed to get_column_from_attribute
	(get_metadata_value_from_column): Renamed to get_attribute_from_column
	(get_sort_column_from_attribute): New function, handles unknown attributes
	by using LIST_VIEW_DEFAULT_SORTING_ATTRIBUTE.
	(add_to_flist): Rewrote to use column attributes and nautilus_file_
	get_string_attribute.
	(fm_directory_view_list_begin_loading): Now calls get_sort_column_
	from_attribute to handle the case where saved sorting attribute is unknown.

317 318 319 320 321 322 323 324 325 326
2000-02-04  Ettore Perazzoli  <ettore@helixcode.com>

	* components/html/Makefile.am: Use `GTKHTML_LIBS' and
	`GTKHTML_CFLAGS'.

	* configure.in: Added a GtkHTML test.  If GtkHTML is not
	installed, abort.  Otherwise, set `GTKHTML_LIBS' and
	`GTKHTML_CFLAGS' to the appropriate values to compile and link
	with GtkHTML.

327 328 329 330 331 332 333 334
2000-02-04  John Sullivan <sullivan@eazel.com>

	* libnautilus/nautilus-icon-factory.c:
	(nautilus_icon_factory_scale): Changed back to ART_FILTER_BILINEAR
	once again after jrb & federico both pointed out that the 
	black-scaled-icons problem should be fixed (and was) in the latest
	gdk-pixbuf.

335 336 337 338 339 340 341
2000-02-03  Andy Hertzfeld <andy@eazel.com>

	* src/nautilus-zoom-control.c:
	made clicking in the middle set zoom to 100%;
	made right-clicking on the control bring up a context menu allowing
	you to select any of the available choices

342 343 344 345 346
2000-02-03  Jonathan Blandford  <jrb@redhat.com>

	* configure.in: added
	components/help/converters/gnome-db2html2/Makefile to the list.

347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372
2000-02-03  John Sullivan <sullivan@eazel.com>

	* libnautilus/nautilus-icon-factory.c:
	(nautilus_icon_factory_scale): Changed back to ART_FILTER_NEAREST
	because ART_FILTER_BILINEAR caused scaled icons in list view &
	bookmarks menu to appear nearly black.

	* libnautilus/nautilus-icons-view-icon-item.c:
	(draw_or_measure_text_box): Renamed from nautilus_icons_view_draw_text_box
	for clarity.
	(nautilus_icons_view_draw_text_box): New cover for draw_or_measure_text_box,
	with fewer parameters.
	(nautilus_icons_view_measure_text_box): New cover for 
	draw_or_measure_text_box, with fewer parameters.
	(nautilus_icons_view_icon_item_update): Now calls 
	nautilus_icons_view_measure_text_box.
	(nautilus_icons_view_icon_item_draw): Removed extra parameter from call
	to nautilus_icons_view_draw_text_box.
	(draw_or_measure_text_box): Took out special case for one-line labels,
	after measuring to determine that it wasn't making a significant speed
	difference. It had bugs with baseline alignment and made updating the
	code tricky. Added support for carriage returns in icon labels, by 
	looping through the measuring code for each carriage-return-delimited
	piece. (I tested this with temporary code, so there are no current
	carriage-return cases, but there will be soon.)

373 374 375 376 377 378 379 380 381
2000-02-02  Andy Hertzfeld <andy@eazel.com>

	* src/nautilus-zoom-control.c:
	fixed bug where the zoom size wasn't updating properly by overriding
	expose.  Also, disable the appropriate arrow at min and max zoom levels
	
	* icons/nautilus3.jpg:
	crassly slapped our logo on the nautilus image
	
382 383 384 385 386 387 388 389 390 391 392 393 394 395
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.

396 397 398 399 400 401 402 403 404
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.

405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420
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
	
421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 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
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.

475 476 477 478 479 480 481 482 483 484 485 486 487
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.

488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517
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
518
	Added a macro named NAUTILUS_N_ELEMENTS.
519 520 521
	src/ntl-index-panel.c: 
	src/explorer-location-bar.c: 
	libnautilus/gtkflist.c: 
Darin Adler's avatar
Darin Adler committed
522
	Used the NAUTILUS_N_ELEMENTS macro.
523

524 525 526 527 528 529
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
        
530
	* libnautilus/gnome-icon-container-private.h:
531 532
        removed the kdb_navigation_item field
        
533
	* libnautilus/gnome-icon-container.c:
534 535 536
        removed code that manipulated the kbd_navigation_item, replaced
        with setting and clearing the "alt_selection" item attribute
        
537
	* libnautilus/nautilus-icons-view-icon-item.c:
538 539 540
        if the alt_selected attribute is set, frame the item's text with
        a gray-stippled rectangle
        
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 571 572 573 574 575 576 577 578 579
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.

580 581 582 583
2000-01-31  Andy Hertzfeld <andy@eazel.com>

        implemented the "select all" command in the context menus
        
584
	* src/file-manager/directory_view.c,h:
585 586 587
        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
588 589
	
	* src/file-manager/directory_view_icons.c:
590
        implemented directory_view_icons_select_all by invoking the "select all"
591 592 593
        operation of GnomeIconContainer.
	
	* src/file-manager/directory_view_list.c:
594 595 596
        implemented directory_view_list_select_all by invoking the "select all"
        operation of the clist widget
        
597 598 599 600 601 602 603 604 605 606 607 608
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.

609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665
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.

666 667 668 669 670 671
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
        
672 673 674 675 676 677 678 679 680 681 682
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.

683 684 685 686 687 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 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743
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.

744 745 746 747 748 749 750 751 752 753 754 755 756 757
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

758 759 760 761 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 788 789 790 791 792 793 794 795 796 797 798
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.

799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818
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
    
819 820 821 822 823
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
	
824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 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
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.


877 878 879 880 881 882 883 884
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
	
885 886 887 888 889 890 891 892 893 894 895 896
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
897
	* src/file-manager/Makefile.am: Took out mentions of removed files.
898 899 900 901 902 903 904 905 906 907 908 909 910 911

	* 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. 

912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951
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.
	
952 953 954 955
2000-01-28  Elliot Lee  <sopwith@redhat.com>
	* components/html/ntl-web-browser.c: Remove use of gtk_html_parse() - deprecated
	in latest GtkHTML.

956 957 958 959 960
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
	
961 962 963 964 965 966
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
	
967 968 969
2000-01-27  John Sullivan  <sullivan@eazel.com>

	Finished this round of sorting architecture improvements.
970
	
971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997
	* 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.
	
998 999 1000 1001 1002 1003 1004 1005
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.

1006 1007 1008 1009 1010 1011 1012
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.

1013 1014 1015 1016 1017 1018 1019 1020 1021
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.

1022 1023
2000-01-27  Andy Hertzfeld <andy@eazel.com>

1024 1025 1026 1027 1028
	* 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.
1029
        
1030 1031
2000-01-27  Andy Hertzfeld <andy@eazel.com>

1032 1033
	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.
1034
        
1035 1036 1037
	* 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
1038
        
1039 1040
	* libnautilus/fm-directory-view-icons.c:
	added method for bump_zoom_index that calls the icon container to do the work
1041
        
1042 1043
	* libnautilus/gnome-icon-container-private.h:
	added a private instance variable for zoom level
1044
        
1045 1046
	* libnautilus/gnome-icon-container.c,.h:
	added methods for get_zoom_level and set_zoom_level
1047
        
Darin Adler's avatar
Darin Adler committed
1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068
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.

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
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.

1095 1096
2000-01-27  Elliot Lee  <sopwith@redhat.com>
	* libnautilus/Makefile.am: Link to $(BONOBO_LIBS)
1097 1098
	* libnautilus/gnome-icon-container.c: Include <string.h> to get 
	prototype for memset.
1099

1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122
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.

1123 1124 1125 1126 1127 1128 1129
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.

1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142
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.

1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168
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.

1169 1170
2000-01-26  Andy Hertzfeld <andy@eazel.com>

1171 1172 1173 1174
	* 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
1175
        
Darin Adler's avatar
Darin Adler committed
1176 1177 1178 1179 1180 1181
2000-01-26  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-directory.c:
	(nautilus_file_get_name):
	Fixed an assert I missed.
	
1182 1183 1184
2000-01-26  Darin Adler  <darin@eazel.com>
	
	* libnautilus/nautilus-directory.h:
Darin Adler's avatar
Darin Adler committed
1185
	libnautilus/nautilus-directory.c:
1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203
	(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.

1204 1205 1206 1207
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
1208 1209
	* libnautilus/nautilus-icons-view-icon-item.c:
	clean-ups, plus added alternate selection boolean for keyboard selection
1210
    
1211 1212 1213 1214 1215 1216
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.

1217 1218
2000-01-25  Andy Hertzfeld <andy@eazel.com>

1219 1220
	* libnautilus/nautilus-icons-view-icon-item.c
	disabled icon centering code that was causing glitchey updates
1221
        
1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 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 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285
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.
	
1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308
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).

1309 1310
2000-01-25  Andy Hertzfeld <andy@eazel.com>

1311 1312 1313 1314 1315 1316 1317
	* 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.
1318
          
1319 1320
	* libnautilus/gnome-icon-container-private.h:
	removed old fields for sub-items
1321
        
1322 1323
	* libnautilus/Makefile.am:
	added new item class to makefile
1324
          
1325 1326
	* libnautilus/gnome-icon-container-dnd.c:
	drag asks main item for pixbuf instead of image item
1327
          
1328 1329
	* libnautilus/gnome-icon-container.c:
	use new icon item instead of making group with two sub-items
1330
        
1331 1332
2000-01-24  Maciej Stachowiak  <mjs@eazel.com>

1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343
	* 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.

1344 1345 1346
	* src/file-manager/fm-directory-view-icons.c: Corrected memory
	management for background and item popup menus.

1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360
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.

1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380
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.

1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392
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.

1393
2000-01-24  Darin Adler  <darin@eazel.com>
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 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 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 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524

	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.

1525 1526 1527 1528 1529 1530
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
1531 1532 1533 1534 1535 1536 1537 1538
	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.
1539 1540
	(kbd_move_to): Just added comment.
	
Havoc Pennington's avatar
Havoc Pennington committed
1541 1542 1543 1544 1545 1546
2000-01-22  Havoc Pennington  <hp@pobox.com>

	* configure.in: check for libwww

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

1547 1548 1549 1550 1551 1552 1553
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
1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565
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
1566 1567 1568 1569 1570
2000-01-21  John Sullivan <sullivan@eazel.com>

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

1571 1572 1573 1574 1575 1576 1577 1578 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
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.
1607 1608 1609 1610
	(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.
1611 1612 1613 1614
	(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.

1615
2000-01-21  Elliot Lee  <sopwith@redhat.com>
1616 1617

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

1621 1622 1623
	* libnautilus/nautilus-directory.c: Allocate an extra byte in the
	  buffer, for safety's sake.
	* src/ntl-window-msgs.c: Fix back/fwd buttons.
1624 1625 1626 1627
	* 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.
1628

1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655
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.

1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674
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.

1675 1676 1677
2000-01-20  Andy Hertzfeld <andy@eazel.com>

	* libnautilus/gnome-icon-container.c:
1678 1679 1680
	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
1681
	
John Sullivan's avatar
John Sullivan committed
1682 1683 1684 1685 1686
2000-01-20  Elliot Lee  <sopwith@redhat.com>

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

1687 1688 1689
	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
1690

1691 1692 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
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.

1721 1722 1723 1724 1725 1726
2000-01-20  John Sullivan  <sullivan@eazel.com>

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

1727 1728 1729 1730 1731
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.

1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743
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
1744 1745 1746 1747 1748
2000-01-20  Jonathan Blandford  <jrb@redhat.com>

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

1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761
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.

1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 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
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
1831
2000-01-20  John Sullivan  <sullivan@eazel.com>
1832 1833 1834 1835 1836

	* 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.

1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849
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.

1850 1851 1852 1853 1854 1855
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.

1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891
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.

1892 1893 1894 1895 1896 1897 1898 1899 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
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.

1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939
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.

1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959
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.

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 1991 1992 1993 1994 1995 1996 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
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.

2027 2028 2029
2000-01-18  Andy Hertzfeld <andy@eazel.com>

	* libnautilus/gnome-icon-container.c
2030 2031
	made icon centered in cell by setting "x_set" pixbuf property so
	it listens to our offset also, adjusted x_offset constant
2032
	* libnautilus/gnome-icon-container-dnd.c
2033 2034
	made shadow be centered properly by taking difference between
	cellwidth and iconwidth into account
2035
	
2036 2037 2038 2039 2040 2041 2042 2043 2044
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()'.

2045 2046 2047 2048 2049 2050 2051 2052
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

2053 2054 2055 2056 2057 2058 2059
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.

2060 2061 2062 2063 2064 2065 2066 2067
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.

2068 2069 2070 2071 2072 2073
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.

2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117
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
2118 2119
2000-01-18  Andy Hertzfeld <andy@eazel.com>

2120 2121 2122 2123
        * 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
2124
        
2125 2126 2127
2000-01-18  Andy Hertzfeld <andy@eazel.com>

        * libnautilus/nautilus-directory.c:
Andy Hertzfeld's avatar
Andy Hertzfeld committed
2128 2129
        fixed bug caused by Elliot where he used alloca but forgot to remove g_free
        
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
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,