ChangeLog-20000414 177 KB
Newer Older
Elliot Lee's avatar
Elliot Lee committed
1 2 3 4
2000-02-14  Elliot Lee  <sopwith@redhat.com>
	* src/ntl-window-msgs.c: Revert.
	* components/help/hyperbola-nav-index.c: More work.

5 6 7 8 9 10 11 12 13 14 15
2000-02-13  Andy Hertzfeld <andy@eazel.com>

	* libnautilus/nautilus-icon-factory.c:
	made it use custom image specified in meta-data, if present.
	also, upped the size used for displaying images as themselves without thumbnails,
	from 10K to 16K.
	* src/nautilus-index-title.c:
	display "notes" from metadata in index panel if present
	* src/ntl-index-panel.c:
	fiddled with drag and drop code trying to get it to accept image files, not yet working
	
16 17 18 19 20 21 22 23 24 25 26 27 28
2000-02-13  Andy Hertzfeld <andy@eazel.com>

	made nautilus-index-title widget to hold the title information for the index panel
	
	* src/ntl-index-panel.c:
	allocated index-title to display info, removed old code that did it
	* src/Makefile.am:
	added nautilus-index-title.c and nautilus-index-title.h
	* src/nautilus-index-title.c,h:
	moved code from index-panel here to show icon and title
	used nautilus_file and icon_factory to get the icon the real way
	added more info besides the name (size, type and date)
	
29 30 31 32 33 34 35
2000-02-12  Andy Hertzfeld <andy@eazel.com>

	* src/nautilus-index-tabs.c:
	made the tabs layout be more dynamic, laying out as many
	tabs as fit in a row instead of a maximum of two.  Tightened
	up the layout and improved the drawing, too.
	* src/ntl-index-panel.c:
36
    	right clicking on the tabs adds extra ones for testing purposes
37
    
38 39 40 41 42
2000-02-11  Andy Hertzfeld <andy@eazel.com>

	* libnautilus/gnome-icon-container-dnd.c:
	made it no longer use a drag shadow rectangle when dragging a single item
	
43 44 45 46 47 48 49
2000-02-11  Andy Hertzfeld <andy@eazel.com>

	* src/ntl-window.c:
	removed Elliot's weird hack where the index panel size would vary
	according to the first letter of the username; replaced it with code
	that special-cases the size for "sopwith".
	
50 51 52 53 54 55 56 57 58 59 60 61 62
2000-02-11  Andy Hertzfeld <andy@eazel.com>

	Finally enabled the new metaview UI
	
	* src/nautilus-index-tabs.c,h:
	made clicking on the title tab deactivate the current metaview
	removed the panel_width field since it didn't work for the
	resizable panel, instead, look at the parents width on the fly
	added code to test lots of tabs and improved the drawing in that case
	before removing the test code.
	* src/ntl-index-panel.c:
	removed the USE_NEW_TABS boolean; we always use them now
	
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
2000-02-11  John Sullivan <sullivan@eazel.com>

	Made right-clicking on an item select just that one item
	before popping up context menu. This makes it clear what
	the context menu is operating on.

	* libnautilus/gnome-icon-container.c:
	(handle_icon_button_press): Select just the clicked icon
	before sending CONTEXT_CLICK_ICON signal.
	* libnautilus/gtkflist.c:
	(gtk_flist_button_press): Select just the clicked row
	before sending CONTEXT_CLICK_ROW signal.

	Fixed bug where "Open" and "Open in New Window" had
	unexpected results in list view.

	* src/file-manager/fm-directory-view-list.c:
	(context_click_row_cb): Fixed bug where this routine was passing
	the wrong item to the context menu.

83 84 85 86 87
2000-02-11  Elliot Lee  <sopwith@redhat.com>
	* src/ntl-window.c: If an empty string is passed for a status string, just unset it all.
	* src/ntl-window-msgs.c: If we get a selection of size 1, indicate it on the status bar.
	  (Triggers a nautilus_window_set_status bug, will fix later.)

88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
2000-02-11  John Sullivan <sullivan@eazel.com>

	* src/ntl-window.h:
	Return of the stored widgets for toolbar buttons that need
	sensitivity changes, only this time do them all and add
	the new menu items too.

	* src/ntl-window.c:
	(nautilus_window_constructed): Save away pointers to all the
	widgets that need accessing later.
	(nautilus_window_allow_back), (nautilus_window_allow_forward),
	(nautilus_window_allow_up), (nautilus_window_allow_reload),
	(nautilus_window_allow_stop): Use stored widget pointers rather
	than GnomeUIInfo arrays to access the buttons and menu items.
	Getting the widget from the array only worked until another
	window was created.

	* libnautilus/nautilus-directory.c: (get_directory_item_count_hack):
	Subtract 2 from item count before returning, to account for . and ..

108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 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
2000-02-11  John Sullivan <sullivan@eazel.com>

	Sensitized "Open" context menu item, and added
	"Open in New Window". Extended the framework as
	required to support opening into a new window.

	* src/ntl-types.h: Added use_new_window gboolean
	to NautilusNavigationInfo struct. (Nautilus_
	NavigationRequestInfo already had a concept of using
	a new window, but it was never passed on to the
	window-managing code).
	
	* src/ntl-uri-map.c: (nautilus_navinfo_new): Set the
	use_new_window field of the new object based on the
	new_window_default/suggested/enforced settings from
	the NavigationRequestInfo.
	
	* src/ntl-window-msgs.c: (nautilus_window_change_location_2):
	Create a new window if passed-in NautilusNavigationInfo says so.
	
	* src/file-manager/fm-directory-view.h:
	(fm_directory_view_activate_entry): Added gboolean 
	request_new_window parameter. 

	* src/file-manager/fm-directory-view.c:
	(fm_directory_view_activate_entry): Set new_window_suggested
	of NavigationRequestInfo based on value of new
	request_new_window parameter.
	(open_cb): New function, calls fm_directory_view_activate_entry
	with request_new_window FALSE.
	(open_in_new_window_cb): New function, calls 
	fm_directory_view_activate_entry with request_new_window TRUE.
	(append_item_context_menu_items): Sensitize "Open" item, add
	"Open in New Window" item, wire 'em up.
	
	* src/file-manager/fm-directory-view-icons.c:
	(icon_container_activate_cb): pass FALSE for request_new_window.
	
	* src/file-manager/fm-directory-view-list.c:
	(flist_activate_cb): pass FALSE for request_new_window.


	Added beginnings of Go menu, and cleaned up some
	cruft found in the process. Holler now if you think
	the Go menu is a bad idea.

	* src/ntl-window.h:
	Removed btn_back and btn_fwd fields, as they were being
	initialized and then ignored.

	* src/ntl-window.c:
	Added go_menu_info array and filled it with Back, Forward,
	Up, and Home, all with keyboard equivalents. (Later this menu
	will also contain dynamic history list.)
	Added #defines for toolbar button indices.
	(nautilus_window_constructed): Removed mentions of btn_back 
	and btn_fwd; moved nautilus_window_allow_stop to after the
	menus are set up; added nautilus_window_allow_back and
	nautilus_window_allow_forward calls.
	(nautilus_window_allow_back): Use #define for Back button index
	instead of hardcoded magic number; set Back menu item sensitivity.
	(nautilus_window_allow_forward): Use #define for Forward button index
	instead of hardcoded magic number; set Forward menu item sensitivity.
	(nautilus_window_allow_up): Use #define for Up button index
	instead of hardcoded magic number; set Up menu item sensitivity.
	(nautilus_window_allow_reload): Use #define for Reload button index
	instead of hardcoded magic number (which was incorrect).
	(nautilus_window_allow_stop): Use #define for Stop button index
	instead of hardcoded magic number.

178 179
2000-02-10  Andy Hertzfeld <andy@eazel.com>

180 181 182 183 184 185
	* src/ntl-index-panel.c:
	added code to hide metaview when the title tab is clicked upon
	* src/nautilus-index-tabs.c:
	made hit-testing work for the title tab
	* src/ntl-window.c:
	defaulted hpaned position to proper size
186
    
187 188 189 190 191 192 193 194 195
2000-02-10  Andy Hertzfeld <andy@eazel.com>

	* src/nautilus-index-tabs.c,h:
	added visibility property to tabs, improved drawing and layout,
	added title mode for title tab on top
	* src/ntl-index-panel.c
	made it allocate title tab and use it
	made clicking on tabs activate the proper view
	
196 197 198 199 200 201
2000-02-10  John Sullivan <sullivan@eazel.com>

	* libnautilus/nautilus-icons-view-icon-item.c:
	(draw_or_measure_text): Removed : from the set of breakable
	characters, so times won't get broken in two.

202 203 204 205 206 207
2000-02-10  Elliot Lee  <sopwith@redhat.com>

	* src/ntl-window.c: Set hpaned position for Darin's sanity.

	* src/ntl-window-state.c: Handle view loading failure properly.

208 209 210 211 212 213
2000-02-10  Darin Adler  <darin@eazel.com>

	* ntl-window-msgs.c: (nautilus_window_has_really_changed):
	Check GTK_OBJECT_DESTROYTED to handle the case of a view
	that self-destructs.

214 215 216 217 218 219 220
2000-02-10  Darin Adler  <darin@eazel.com>

	* nautilus-index-tabs.c: (draw_or_hit_test_all_tabs):
	Fix so it doesn't try to create a GC when hit testing
	a tab. This gets rid of critical errors people were
	running into.

221 222 223 224 225 226 227 228 229 230 231 232 233
2000-02-10  John Sullivan <sullivan@eazel.com>

	* libnautilus/nautilus-directory.c:
	(nautilus_file_get_owner_as_string): New function
	(nautilus_file_get_group_as_string): New function
	(nautilus_file_get_permissions_as_string): New function
	(nautilus_file_get_string_attribute): Now supports
	"owner", "group", and "permissions" string attributes.

	* src/file-manager/fm-icon-text-window.c:
	Now includes "owner", "group", and "permissions" among the
	choices to display under an icon.

234 235 236 237 238 239 240 241 242 243 244
2000-02-10  Elliot Lee  <sopwith@redhat.com>

	* src/ntl-main.c: Add "Bonobo" to list of log domains to catch.

	* src/ntl-window.c: Do proper UIH setup for the menubar and
	toolbar. Also switch to using the hpaned temporarily, to be able
	to see/manipulate all the meta views.

	* components/history/ntl-history-view.c: Implement client side of
	menu merging properly.

245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260
2000-02-10  John Sullivan <sullivan@eazel.com>

	Used directory item count hack when comparing by size, so
	the item counts are sorted correctly. This is horribly
	inefficient, but isn't actually horribly slow in most cases.
	This will be fixed when we switch the item count calculation
	to use the deferred-result architecture.

	* libnautilus/nautilus-directory.c:
	(nautilus_file_compare_by_size_with_directories): New function,
	uses item count hack, as well as putting directories before 
	non-directories.
	(nautilus_file_compare_for_sort_internal): Uses
	nautilus_file_compare_by_size_with_directories to handle
	directories, falls through to GnomeVFS rules for other cases.

261 262 263 264 265 266 267 268 269 270 271 272 273 274
2000-02-10  John Sullivan <sullivan@eazel.com>

	Put in quick hack for showing directory item counts under icons
	since "--" looks so awful. It's a hack because it blocks the
	display until all directories inside this one have been
	iterated. We'll change that after we've got a deferred-result
	architecture in NautilusDirectory.

	* libnautilus/nautilus-directory.c:
	(get_directory_item_count_hack): New function to count items
	in a directory. Will go away with time.
	(nautilus_file_get_size_as_string): uses new hack instead of
	returning "--" for directory sizes.

275 276
2000-02-09  Andy Hertzfeld <andy@eazel.com>

277 278
	Completed hit-testing and activation for the index tabs.  They're
	usable now, but I'm leaving them off until they're more refined.
279
    
280 281 282 283
	* src/nautilus-index-tabs.c:
	completed hit-testing
	* src/ntl-index-panel.c:
	activate the appropriate metaview when the corresponding tab is clicked
284
    
285 286
2000-02-09  Andy Hertzfeld <andy@eazel.com>

287 288
	More work on the index panel, still conditionally disabled;
	change USE_NEW_TABS to a non-zero value if you want to check it out.
289
	
290
	* src/nautilus-index-tabs.c,h:
291
	improved positioning and started on hit-testing
292
	* src/ntl-index-panel.c:
293
	made the notebook hidden by default and added hit-testing infrastructure
294
	* src/nautilus-zoom-control.c:
295 296
	fixed incorrect comment
	
297 298 299 300 301 302 303 304 305
2000-02-09  Darin Adler  <darin@eazel.com>

	* fm-directory-view-icons.c:
	(fm_directory_view_icons_get_full_icon_text_attribute_names):
	(fm_directory_view_icons_set_full_icon_text_attribute_names):
	After talking to John, removed the asserts from both of these
	routines. Later, he'll figure out whether this needs refinement,
	but for now we just want to avoid the abort on startup!

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

	Reworked the canvas item class used by the icon
	container. Straightened out the use of various coordinate systems
	and bounds calculations and removed much unused code inherited
	from the GdkPixbuf canvas item class that Andy cloned our code
	from. Changed the class so it doesn't scale icons any more -- we
	leave that to the icon factory so the scaled icons can be cached.

	* libnautilus/gnome-icon-container-dnd.c:
	* libnautilus/gnome-icon-container-private.h:
	* libnautilus/gnome-icon-container.c:
	* libnautilus/nautilus-icons-view-icon-item.c:
	* libnautilus/nautilus-icons-view-icon-item.h:
	Made extensive changes to the icon item class, including getting
	rid of the "x", "y", "width", and "height" attributes, adding a
	new "font" attribute, changing the "label" attribute name to "text"
	to be more consistent with other canvas items, simplifying the
	update logic for now (we can recomplicate it later if need be),
	changing the pixbuf to have a fixed size in pixels instead of being
	scaled with the pixels_per_unit and changing the pixbuf when we change
	zoom levels, and other misc. cleanup.
	(nautilus_icons_view_icon_item_get_arg):
	Fixed bug for "label" which would return a non-strdup'd	piece of text.
	(draw_or_measure_text_box):
	Fixed bug where width of the selection box would be based on the
	length of the last line of text, not the widest, and extra GCs would
	be created for each line of text.

	* libnautilus/nautilus-icons-controller.h:
	* libnautilus/nautilus-icons-controller.c:
	(nautilus_icons_controller_get_icon_image):
	* src/file-manager/fm-icons-controller.c:
	(fm_icons_controller_get_icon_image):
	Changed the interface so that the icons controller specifies the icon
	as a NautilusScalableIcon instead of a GdkPixbuf. This lets the icon
	container get the appropriate icon for size as it zooms.

	* libnautilus/gdk-extensions.h:
	* libnautilus/gdk-extensions.c:
	(nautilus_gdk_font_equal):
	Added a version of gdk_font_equal that works with NULL for the font.
	Maybe we need a naming scheme for these NULL-tolerant variations on
	basic calls.

	* src/ntl-uri-map.c: (nautilus_navinfo_free):
	* src/ntl-window-msgs.c: (nautilus_window_change_location_2):
	Fixed a NULL dereference that would happen when @navi was NULL.
	
	* libnautilus/nautilus-directory.c:
	(nautilus_directory_try_to_read_metafile):
	Fixed error handling for case when gnome_vfs_read fails.  Fixed
	error handling for case where metafile_info.size won't fit into a
	size_t.  Switched back to g_malloc instead of g_alloca, since the
	size of a file might be too big for the stack. In the long run, we
	will feed the file data directly to the XML code, so this is a bit
	temporary.  Removed the assert that Elliot added to help track
	down the giant files sizes coming from gnome-vfs; the failure in
	g_malloc will be easy to debug, unlike the failure in
	g_alloca. (The assert was added without a ChangeLog entry.)

367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386
2000-02-09  John Sullivan <sullivan@eazel.com>

	Fixed bug Andy found with icon-text window.

	* src/file-manager/fm-icon-text-window.c:
	* src/file-manager/fm-icon-text-window.h:
	Removed icon_view static variable.
	(changed_attributes_option_menu_cb): Removed assert that icon_view
	is valid, since there's only a global setting; pass NULL as parameter
	to fm_directory_view_icons_set_full_icon_text_attribute_names.
	(fm_icon_text_window_set_view): Eliminated, since there's only a
	global setting.

	* src/file-manager/fm-directory-view-icons.c:
	(customize_icon_text_cb): Removed call to fm_icon_text_window_set_view.
	(fm_directory_view_icons_get_full_icon_text_attribute_names),
	(fm_directory_view_icons_set_full_icon_text_attribute_names):
	Clarified comments, and added assertion that no particular
	viewer was specified.

Elliot Lee's avatar
Elliot Lee committed
387 388 389
2000-02-09  Elliot Lee  <sopwith@redhat.com>

	* libnautilus/bonobo-stream-vfs.[ch]: Implement truncate.
390 391
	* src/nautilus-zoom-control.c: Use GINT_TO_POINTER and GPOINTER_TO_INT macros
	for "proper" int <-> pointer conversion.
Elliot Lee's avatar
Elliot Lee committed
392

393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425
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).

426 427 428 429 430 431 432 433 434 435 436 437 438 439 440
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.

441 442 443 444 445 446 447
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

448 449
2000-02-08  Andy Hertzfeld <andy@eazel.com>

450 451
	More work on the index tabs; they're drawing properly now but they're
	still not ready to be left hooked up.
452 453 454 455 456 457 458 459 460
	
	* 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
	
461 462 463 464 465 466 467 468 469 470
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. 

471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510
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
511 512 513 514 515 516 517
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.

518 519 520 521
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.

522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581
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.

582 583 584 585 586 587 588 589 590 591 592 593 594 595 596
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
	
597
2000-02-07  Elliot Lee  <sopwith@redhat.com>
598 599 600 601 602
	* 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.

603 604 605 606 607 608 609 610 611 612 613 614 615
	* 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.

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
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
655 656 657
2000-02-04  Darin Adler  <darin@eazel.com>

	Make optimized builds succeed.
658 659 660 661 662 663 664 665 666 667
	
	* 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".
Darin Adler's avatar
Darin Adler committed
668

669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704
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.

705 706 707 708 709 710 711 712 713 714
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.

715 716 717 718 719 720 721 722
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.

723 724 725 726 727 728 729
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

730 731 732 733 734
2000-02-03  Jonathan Blandford  <jrb@redhat.com>

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

735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760
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.)

761 762 763 764 765 766 767 768 769
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
	
770 771 772 773 774 775 776 777 778 779 780 781 782 783
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.

784 785 786 787 788 789 790 791 792
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.

793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808
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
	
809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 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
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.

863 864 865 866 867 868 869 870 871 872 873 874 875
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.

876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905
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
906
	Added a macro named NAUTILUS_N_ELEMENTS.
907 908 909
	src/ntl-index-panel.c: 
	src/explorer-location-bar.c: 
	libnautilus/gtkflist.c: 
Darin Adler's avatar
Darin Adler committed
910
	Used the NAUTILUS_N_ELEMENTS macro.
911

912 913
2000-01-31  Andy Hertzfeld <andy@eazel.com>

914 915 916 917
	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
	
918
	* libnautilus/gnome-icon-container-private.h:
919 920
	removed the kdb_navigation_item field
	
921
	* libnautilus/gnome-icon-container.c:
922 923 924
	removed code that manipulated the kbd_navigation_item, replaced
	with setting and clearing the "alt_selection" item attribute
	
925
	* libnautilus/nautilus-icons-view-icon-item.c:
926 927 928
	if the alt_selected attribute is set, frame the item's text with
	a gray-stippled rectangle
	
929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967
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.

968 969
2000-01-31  Andy Hertzfeld <andy@eazel.com>

970 971
	implemented the "select all" command in the context menus
	
972
	* src/file-manager/directory_view.c,h:
973 974 975
	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
976 977
	
	* src/file-manager/directory_view_icons.c:
978 979
	implemented directory_view_icons_select_all by invoking the "select all"
	operation of GnomeIconContainer.
980 981
	
	* src/file-manager/directory_view_list.c:
982 983 984
	implemented directory_view_list_select_all by invoking the "select all"
	operation of the clist widget
	
985 986 987 988 989 990 991 992 993 994 995 996
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.

997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053
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.

1054 1055
2000-01-31  Andy Hertzfeld <andy@eazel.com>

1056 1057 1058 1059
	* libnautilus/gnome-icon-container-dnd.c:
	fixed bug where icons were horizontally mis-positioned after dragging;
	fixed by taking the center offset into account
	
1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070
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.

1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131
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.

1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145
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

1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186
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.

1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205
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
1206
	
1207 1208 1209 1210 1211
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
	
1212 1213 1214 1215 1216 1217 1218 1219 1220 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
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.


1265 1266 1267 1268 1269 1270 1271 1272
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
	
1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284
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
1285
	* src/file-manager/Makefile.am: Took out mentions of removed files.
1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299

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

1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339
2000-01-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.
	
1340 1341 1342 1343
2000-01-28  Elliot Lee  <sopwith@redhat.com>
	* components/html/ntl-web-browser.c: Remove use of gtk_html_parse() - deprecated
	in latest GtkHTML.

1344 1345 1346 1347 1348
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
	
1349 1350 1351 1352 1353 1354
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
	
1355 1356 1357
2000-01-27  John Sullivan  <sullivan@eazel.com>

	Finished this round of sorting architecture improvements.
1358
	
1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385
	* 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.
	
1386 1387 1388 1389 1390 1391 1392 1393
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.

1394 1395 1396 1397 1398 1399 1400
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.

1401 1402 1403 1404 1405 1406 1407 1408 1409
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.

1410 1411
2000-01-27  Andy Hertzfeld <andy@eazel.com>

1412 1413 1414 1415 1416
	* 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.
1417
	
1418 1419
2000-01-27  Andy Hertzfeld <andy@eazel.com>

1420 1421
	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.
1422
	
1423 1424 1425
	* 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
1426
	
1427 1428
	* libnautilus/fm-directory-view-icons.c:
	added method for bump_zoom_index that calls the icon container to do the work
1429
	
1430 1431
	* libnautilus/gnome-icon-container-private.h:
	added a private instance variable for zoom level
1432
	
1433 1434
	* libnautilus/gnome-icon-container.c,.h:
	added methods for get_zoom_level and set_zoom_level
1435
	
Darin Adler's avatar
Darin Adler committed
1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456
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.

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

1483 1484
2000-01-27  Elliot Lee  <sopwith@redhat.com>
	* libnautilus/Makefile.am: Link to $(BONOBO_LIBS)
1485 1486
	* libnautilus/gnome-icon-container.c: Include <string.h> to get 
	prototype for memset.
1487

1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510
2000-01-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.

1511 1512 1513 1514 1515 1516 1517
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.

1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530
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.

1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556
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.

1557 1558
2000-01-26  Andy Hertzfeld <andy@eazel.com>

1559 1560 1561 1562
	* 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
1563
	
Darin Adler's avatar
Darin Adler committed
1564 1565 1566 1567 1568 1569
2000-01-26  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-directory.c:
	(nautilus_file_get_name):
	Fixed an assert I missed.
	
1570 1571 1572
2000-01-26  Darin Adler  <darin@eazel.com>
	
	* libnautilus/nautilus-directory.h:
Darin Adler's avatar
Darin Adler committed
1573
	libnautilus/nautilus-directory.c:
1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591
	(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.

1592 1593 1594 1595
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
1596 1597
	* libnautilus/nautilus-icons-view-icon-item.c:
	clean-ups, plus added alternate selection boolean for keyboard selection
1598

1599 1600 1601 1602 1603 1604
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.

1605 1606
2000-01-25  Andy Hertzfeld <andy@eazel.com>

1607 1608
	* libnautilus/nautilus-icons-view-icon-item.c
	disabled icon centering code that was causing glitchey updates
1609
	
1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673
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.
	
1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696
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).

1697 1698
2000-01-25  Andy Hertzfeld <andy@eazel.com>

1699 1700 1701 1702 1703 1704 1705
	* 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.
1706
	  
1707 1708
	* libnautilus/gnome-icon-container-private.h:
	removed old fields for sub-items
1709
	
1710 1711
	* libnautilus/Makefile.am:
	added new item class to makefile
1712
	  
1713 1714
	* libnautilus/gnome-icon-container-dnd.c:
	drag asks main item for pixbuf instead of image item
1715
	  
1716 1717
	* libnautilus/gnome-icon-container.c:
	use new icon item instead of making group with two sub-items
1718
	
1719 1720
2000-01-24  Maciej Stachowiak  <mjs@eazel.com>

1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731
	* 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.

1732 1733 1734
	* src/file-manager/fm-directory-view-icons.c: Corrected memory
	management for background and item popup menus.

1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748
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.

1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768
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.

1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780
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.

1781
2000-01-24  Darin Adler  <darin@eazel.com>
1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 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 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912

	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.

1913 1914 1915 1916 1917 1918
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
1919 1920 1921 1922 1923 1924 1925 1926
	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.
1927 1928
	(kbd_move_to): Just added comment.
	
Havoc Pennington's avatar
Havoc Pennington committed
1929 1930 1931 1932 1933 1934
2000-01-22  Havoc Pennington  <hp@pobox.com>

	* configure.in: check for libwww

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

1935 1936 1937 1938 1939 1940 1941
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
1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953
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
1954 1955 1956 1957 1958
2000-01-21  John Sullivan <sullivan@eazel.com>

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

1959 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
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.
1995 1996 1997 1998
	(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.
1999 2000 2001 2002
	(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.

2003
2000-01-21  Elliot Lee  <sopwith@redhat.com>
2004 2005

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

2009 2010 2011
	* libnautilus/nautilus-directory.c: Allocate an extra byte in the
	  buffer, for safety's sake.
	* src/ntl-window-msgs.c: Fix back/fwd buttons.
2012 2013 2014 2015
	* 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.
2016

2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043
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.

2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062
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.

2063 2064 2065
2000-01-20  Andy Hertzfeld <andy@eazel.com>

	* libnautilus/gnome-icon-container.c:
2066 2067 2068
	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
2069
	
John Sullivan's avatar
John Sullivan committed
2070 2071 2072 2073 2074
2000-01-20  Elliot Lee  <sopwith@redhat.com>

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