ChangeLog-20000414 185 KB
Newer Older
1 2 3 4 5 6
2000-02-15  Ramiro Estrugo <ramiro@eazel.com>

	Added modules blurb to HACKING file.

	* HACKING: Added modules blurb.

7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
2000-02-15  John Sullivan <sullivan@eazel.com>

	Moved NautilusBookmark to libnautilus, in preparation for
	using it in the History metaview.

	* src/nautilus-bookmark.c: Removed file.
	* src/nautilus-bookmark.h: Removed file.
	* src/Makefile.am: Took out these two files.
	
	* libnautilus/nautilus-bookmark.c: Added file.
	* libnautilus/nautilus-bookmark.h: Added file.
	* libnautilus/Makefile.am:  Build the two new files.

	* src/nautilus-bookmarklist.h: Updated #include

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
2000-02-15  John Sullivan <sullivan@eazel.com>

	Right-click menus from Back and Forward buttons now include
	small icons. To support this, window back/forward lists now
	store NautilusBookmarks.

	* src/nautilus-bookmarks-menu.c:
	(bookmark_menu_item_new): Removed (moved to nautilus-bookmark.c/h,
	and renamed nautilus_bookmark_menu_item_new).
	(create_pixmap_widget_for_bookmark): Removed (moved to nautilus-bookmark.c/h)
	(nautilus_bookmarks_menu_repopulate): updated caller to match name change.

	* src/nautilus-bookmark.h:
	(nautilus_bookmark_menu_item_new): New function.
	* src/nautilus-bookmark.c:
	(nautilus_bookmark_menu_item_new): New function, moved over from
	nautilus-bookmarks-menu.c
	(create_pixmap_widget_for_bookmark): New function, moved over from
	nautilus-bookmarks-menu.c

	* src/ntl-window.h:
	Replaced uris_prev and uris_next with back_list and forward_list.
	Added comment explaining that the data is now NautilusBookmark * and
	not just char *.
	* src/ntl-window-msgs.c:
	(nautilus_window_update_internals): updated to use back_list and 
	forward_list.
	* src/ntl-window.c:
	(activate_back_or_forward_menu_item), (nautilus_window_destroy): 
	updated to use back_list and forward_list
	(create_back_or_forward_menu): updated to use back_list and
	forward_list; use nautilus_bookmark_menu_item_new to get icons.
	(nautilus_window_back_or_forward): New function, consolidates
	repeated code from nautilus_window_back and nautilus_window_forward.
	(nautilus_window_back), (nautilus_window_fwd): Now call
	nautilus_window_back_or_forward.

59 60 61 62 63 64
2000-02-15  Andy Hertzfeld <andy@eazel.com>

	* src/nautilus-index-tabs/c:
	improved tab-resizing code by not the last one if it's invisible,
	also, invoked resize code after a tab is selected
	
65 66 67 68 69 70 71 72
2000-02-14  Andy Hertzfeld <andy@eazel.com>

	* components/notes/ntl-notes.c:
	fixed problems with notes component by initializing gnome-vfs, etc.
	changed metadata key to "ANNOTATION" to keep them separate from panel notes
	* libnautilus/nautilus-metadata.h:
	defined "ANNOTATION" metadata type

73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
2000-02-14  Andy Hertzfeld <andy@eazel.com>

	first cut at annotation metaview
	
	* components/notes/Makefile.am:
	automake file for notes component
	* components/notes/ntl-notes.c:
	implementation of annotation metaview
	* components/notes/ntl-notes.goad:
	activation file for notes component
	* components/Makefile.am:
	added notes folder
	* configure.in:
	added component/notes/Makefile
	* src/ntl-prefs.c:
	added annotation metaview to prefs
	
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
2000-02-14  John Sullivan <sullivan@eazel.com>

	Back and Forward buttons now sprout right-click menus.
	Still work to do to put small icons in them, and to 
	make them keep the back/forward chain intact.

	* libnautilus/nautilus-gtk-extensions.h:
	* libnautilus/nautilus-gtk-extensions.c:
	(nautilus_pop_up_context_menu): New helper function used
	when displaying right-click context menus.

	* src/file-manager/fm-directory-view.c:
	(popup_context_menu): Removed (moved & renamed to
	nautilus_pop_up_context_menu).
	(fm_directory_view_popup_item_context_menu),
	(fm_directory_view_popup_background_context_menu): 
	Now use nautilus_pop_up_context_menu.
	
	* src/ntl-window.c:
	(activate_back_or_forward_menu_item): New function, go to the
	appropriate location.
	(activate_back_menu_item_cb): New function, call
	activate_back_or_forward_menu_item.
	(activate_forward_menu_item_cb): New function, call
	activate_back_or_forward_menu_item.
	(create_back_or_forward_menu): New function, create and populate a
	menu from the back list or the forward list.
	(back_or_forward_button_clicked_cb): New function, pop up the result
	of create_back_or_forward_menu.
	(nautilus_window_constructed): Wire up context menu code to
	back and forward buttons.

Darin Adler's avatar
Darin Adler committed
122 123 124 125 126 127 128
2000-02-14  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-icon-factory.c:
	(nautilus_icon_factory_load_icon):
	Just noticed that Elliot checked in a gdk-pixbuf fix, so I can
	roll the cast back out.
	
129 130 131 132 133 134 135
2000-02-14  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-icon-factory.c:
	(nautilus_icon_factory_load_icon):
	Need a cast in here so people can build while I wait for the OK
	from Federico to check in my const change to gdk-pixbuf.
	
136
2000-02-14  Elliot Lee  <sopwith@redhat.com>
137 138 139
	
	* libnautilus/nautilus-icon-factory.c: Use GPOINTER_TO_UINT()
	instead of a manual cast.
140

141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
2000-02-14  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-directory.c: (nautilus_directory_read_metafile):
	Handle the case where you try to make a NautilusDirectory object for
	something that's a file.

	* libnautilus/nautilus-directory.c: (nautilus_directory_get_metadata):
	Handle NULL directory objects better.

	* src/ntl-index-panel.c:
	Changed handling of NULL directory case so it will display something
	instead of doing early exits that leave the display as-is.

	* src/nautilus-index-title.h:
	* src/nautilus-index-title.c:
	Reformatted, some minor cleanups.

158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
2000-02-14  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-icon-factory.c:
	Redid the icon factory to fix a few things:
	
	- Replaced the existing non-working count-based LRU algorithm with
	  one that works (uses a linked list).
	- Keep resized icons in the cache.
	- Hand out a single NautilusScalableIcon when multiple callers ask
	  for the same icon instead of a new one each time.
	- Fixed one bug where pixbuf's would get an extra ref and never get
	  freed once they are no longer used.

	* libnautilus/nautilus-metadata.h:
	* src/nautilus-index-title.c (nautilus_index_title_set_up_info):
	* libnautilus/nautilus-icon-factory.c
	(nautilus_icon_factory_get_icon_for_file):
	Added keys for the two pieces of metadata Andy just added.

	* libnautilus/gnome-icon-container-private.h:
	* libnautilus/gnome-icon-container.c: (scroll),
	(make_icon_visible), (set_scroll_region): Fixed the code that
	resizes the canvas as items are added and removed to properly
	handle the case where the canvas extends into negative-coordinate
	territory. This included removing the width and height that were
	stored in the private structure.

	* libnautilus/nautilus-directory.c: (nautilus_directory_get): Tiny
	formatting tweak.

188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231
2000-02-14  John Sullivan <sullivan@eazel.com>

	Fixed index title bugs that showed up when visiting http:// url.
	It's still the case that the wrong text appears; I just made it
	not drop into the debugger.

	* libnautilus/nautilus-icon-factory.c:
	(nautilus_icon_factory_get_icon_for_file): Made it return NULL
	for a NULL file. Could have made this a return_val_if_fail
	instead, wasn't sure which was better in this case.

	* src/nautilus-index-title.c:
	(nautilus_index_title_set_up_icon): Made it bail out early if
	NautilusFile parameter is NULL.
	(nautilus_index_title_set_up_info): Made it bail out early if
	NautilusFile parameter is NULL.
	(nautilus_index_title_set_uri): Made it unref file_object only
	if non-NULL.


	Experimental zoom behavior change: Now it resets the default
	zoom level every time the zoom level is set. This means that
	zoom level changes stick across locations, until you revisit
	a location that had its zoom level set explicitly earlier.

	* src/file-manager/fm-directory-view-icons.c:
	Added default_zoom_level to Details struct.
	(fm_directory_view_icons_initialize): Initialize default_zoom_level
	to NAUTILUS_ZOOM_LEVEL_STANDARD.
	(fm_directory_view_icons_begin_loading),
	(fm_directory_view_icons_get_zoom_level): Pass default_zoom_level
	to metadata calls.
	(fm_directory_view_icons_set_zoom_level): Pass default_zoom_level
	to metadata call, also reset default_zoom_level to new level.
	
	* src/file-manager/fm-directory-view-list.c:
	Added default_zoom_level to Details struct.
	(fm_directory_view_icons_initialize): Initialize default_zoom_level
	to NAUTILUS_ZOOM_LEVEL_SMALLER.
	(fm_directory_view_list_begin_loading): Pass default_zoom_level
	to metadata call.
	(fm_directory_view_list_set_zoom_level): Pass default_zoom_level
	to metadata call, also reset default_zoom_level to new level.
	
232 233 234 235 236
2000-02-14  Elliot Lee  <sopwith@redhat.com>

	* components/html/ntl-web-browser.c: Send status strings for now,
	until nautilus knows how to generate them from selection info.

237 238
2000-02-14  Andy Hertzfeld <andy@eazel.com>

239
	* src/nautilus-index-tabs.c:
240 241
	Fixed warning about measuring NULL string that Elliot pointed out
	
Elliot Lee's avatar
Elliot Lee committed
242
2000-02-14  Elliot Lee  <sopwith@redhat.com>
243
	
Elliot Lee's avatar
Elliot Lee committed
244 245 246
	* src/ntl-window-msgs.c: Revert.
	* components/help/hyperbola-nav-index.c: More work.

247 248 249
2000-02-13  Andy Hertzfeld <andy@eazel.com>

	* libnautilus/nautilus-icon-factory.c:
250 251 252
	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.
253
	* src/nautilus-index-title.c:
254
	Display "notes" from metadata in index panel if present.
255
	* src/ntl-index-panel.c:
256 257
	Fiddled with drag and drop code trying to get it to accept
	image files, not yet working
258
	
259 260
2000-02-13  Andy Hertzfeld <andy@eazel.com>

261 262
	Made nautilus-index-title widget to hold the title information
	for the index panel.
263 264 265 266 267 268 269 270 271 272
	
	* 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)
	
273 274 275 276
2000-02-12  Andy Hertzfeld <andy@eazel.com>

	* src/nautilus-index-tabs.c:
	made the tabs layout be more dynamic, laying out as many
277
	tabs as fit in a row instead of a maximum of two. Tightened
278 279
	up the layout and improved the drawing, too.
	* src/ntl-index-panel.c:
280 281
	Right clicking on the tabs adds extra ones for testing purposes.
	
282 283 284 285 286
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
	
287 288 289 290 291 292 293
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".
	
294 295 296 297 298 299 300 301 302 303 304 305 306
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
	
307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326
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.

327 328 329 330 331
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.)

332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351
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 ..

352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421
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.

422 423
2000-02-10  Andy Hertzfeld <andy@eazel.com>

424 425 426 427 428 429
	* 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
430
    
431 432 433 434 435 436 437 438 439
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
	
440 441 442 443 444 445
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.

446 447 448 449 450
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.

451 452 453
2000-02-10  Darin Adler  <darin@eazel.com>

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

457 458 459 460 461 462 463
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.

464 465 466 467 468 469 470 471 472 473 474 475 476
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.

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

488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503
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.

504 505 506 507 508 509 510 511 512 513 514 515 516 517
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.

518 519
2000-02-09  Andy Hertzfeld <andy@eazel.com>

520 521
	Completed hit-testing and activation for the index tabs.  They're
	usable now, but I'm leaving them off until they're more refined.
522
    
523 524 525 526
	* src/nautilus-index-tabs.c:
	completed hit-testing
	* src/ntl-index-panel.c:
	activate the appropriate metaview when the corresponding tab is clicked
527
    
528 529
2000-02-09  Andy Hertzfeld <andy@eazel.com>

530 531
	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.
532
	
533
	* src/nautilus-index-tabs.c,h:
534
	improved positioning and started on hit-testing
535
	* src/ntl-index-panel.c:
536
	made the notebook hidden by default and added hit-testing infrastructure
537
	* src/nautilus-zoom-control.c:
538 539
	fixed incorrect comment
	
540 541 542 543 544 545 546 547 548
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!

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 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609
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.)

610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629
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
630 631 632
2000-02-09  Elliot Lee  <sopwith@redhat.com>

	* libnautilus/bonobo-stream-vfs.[ch]: Implement truncate.
633 634
	* 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
635

636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668
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).

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

684 685 686 687 688 689 690
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

691 692
2000-02-08  Andy Hertzfeld <andy@eazel.com>

693 694
	More work on the index tabs; they're drawing properly now but they're
	still not ready to be left hooked up.
695 696 697 698 699 700 701 702 703
	
	* 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
	
704 705 706 707 708 709 710 711 712 713
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. 

714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753
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
754 755 756 757 758 759 760
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.

761 762 763 764
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.

765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824
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.

825 826 827 828 829 830 831 832 833 834 835 836 837 838 839
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
	
840
2000-02-07  Elliot Lee  <sopwith@redhat.com>
841 842 843 844 845
	* 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.

846 847 848 849 850 851 852 853 854 855 856 857 858
	* 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.

859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897
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
898 899 900
2000-02-04  Darin Adler  <darin@eazel.com>

	Make optimized builds succeed.
901 902 903 904 905 906 907 908 909 910
	
	* 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
911

912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947
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.

948 949 950 951 952 953 954 955 956 957
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.

958 959 960 961 962 963 964 965
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.

966 967 968 969 970 971 972
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

973 974 975 976 977
2000-02-03  Jonathan Blandford  <jrb@redhat.com>

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

978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003
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.)

1004 1005 1006 1007 1008 1009 1010 1011 1012
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
	
1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026
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.

1027 1028 1029 1030 1031 1032 1033 1034 1035
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.

1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051
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
	
1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105
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.

1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118
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.

1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148
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
1149
	Added a macro named NAUTILUS_N_ELEMENTS.
1150 1151 1152
	src/ntl-index-panel.c: 
	src/explorer-location-bar.c: 
	libnautilus/gtkflist.c: 
Darin Adler's avatar
Darin Adler committed
1153
	Used the NAUTILUS_N_ELEMENTS macro.
1154

1155 1156
2000-01-31  Andy Hertzfeld <andy@eazel.com>

1157 1158 1159 1160
	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
	
1161
	* libnautilus/gnome-icon-container-private.h:
1162 1163
	removed the kdb_navigation_item field
	
1164
	* libnautilus/gnome-icon-container.c:
1165 1166 1167
	removed code that manipulated the kbd_navigation_item, replaced
	with setting and clearing the "alt_selection" item attribute
	
1168
	* libnautilus/nautilus-icons-view-icon-item.c:
1169 1170 1171
	if the alt_selected attribute is set, frame the item's text with
	a gray-stippled rectangle
	
1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210
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.

1211 1212
2000-01-31  Andy Hertzfeld <andy@eazel.com>

1213 1214
	implemented the "select all" command in the context menus
	
1215
	* src/file-manager/directory_view.c,h:
1216 1217 1218
	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
1219 1220
	
	* src/file-manager/directory_view_icons.c:
1221 1222
	implemented directory_view_icons_select_all by invoking the "select all"
	operation of GnomeIconContainer.
1223 1224
	
	* src/file-manager/directory_view_list.c:
1225 1226 1227
	implemented directory_view_list_select_all by invoking the "select all"
	operation of the clist widget
	
1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239
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.

1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296
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.

1297 1298
2000-01-31  Andy Hertzfeld <andy@eazel.com>

1299 1300 1301 1302
	* libnautilus/gnome-icon-container-dnd.c:
	fixed bug where icons were horizontally mis-positioned after dragging;
	fixed by taking the center offset into account
	
1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313
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.

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 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374
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.

1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388
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

1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429
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.

1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448
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
1449
	
1450 1451 1452 1453 1454
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
	
1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507
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.


1508 1509 1510 1511 1512 1513 1514 1515
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
	
1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527
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
1528
	* src/file-manager/Makefile.am: Took out mentions of removed files.
1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542

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

1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582
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.
	
1583 1584 1585 1586
2000-01-28  Elliot Lee  <sopwith@redhat.com>
	* components/html/ntl-web-browser.c: Remove use of gtk_html_parse() - deprecated
	in latest GtkHTML.

1587 1588 1589 1590 1591
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
	
1592 1593 1594 1595 1596 1597
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
	
1598 1599 1600
2000-01-27  John Sullivan  <sullivan@eazel.com>

	Finished this round of sorting architecture improvements.
1601
	
1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628
	* 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.
	
1629 1630 1631 1632 1633 1634 1635 1636
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.

1637 1638 1639 1640 1641 1642 1643
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.

1644 1645 1646 1647 1648 1649 1650 1651 1652
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.

1653 1654
2000-01-27  Andy Hertzfeld <andy@eazel.com>

1655 1656 1657 1658 1659
	* 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.
1660
	
1661 1662
2000-01-27  Andy Hertzfeld <andy@eazel.com>

1663 1664
	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.
1665
	
1666 1667 1668
	* 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
1669
	
1670 1671
	* libnautilus/fm-directory-view-icons.c:
	added method for bump_zoom_index that calls the icon container to do the work
1672
	
1673 1674
	* libnautilus/gnome-icon-container-private.h:
	added a private instance variable for zoom level
1675
	
1676 1677
	* libnautilus/gnome-icon-container.c,.h:
	added methods for get_zoom_level and set_zoom_level
1678
	
Darin Adler's avatar
Darin Adler committed
1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699
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.

1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725
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.

1726 1727
2000-01-27  Elliot Lee  <sopwith@redhat.com>
	* libnautilus/Makefile.am: Link to $(BONOBO_LIBS)
1728 1729
	* libnautilus/gnome-icon-container.c: Include <string.h> to get 
	prototype for memset.
1730

1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753
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.

1754 1755 1756 1757 1758 1759 1760
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.

1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773
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.

1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799
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.

1800 1801
2000-01-26  Andy Hertzfeld <andy@eazel.com>

1802 1803 1804 1805
	* 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
1806
	
Darin Adler's avatar
Darin Adler committed
1807 1808 1809 1810 1811 1812
2000-01-26  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-directory.c:
	(nautilus_file_get_name):
	Fixed an assert I missed.
	
1813 1814 1815
2000-01-26  Darin Adler  <darin@eazel.com>
	
	* libnautilus/nautilus-directory.h:
Darin Adler's avatar
Darin Adler committed
1816
	libnautilus/nautilus-directory.c:
1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834
	(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.

1835 1836 1837 1838
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
1839 1840
	* libnautilus/nautilus-icons-view-icon-item.c:
	clean-ups, plus added alternate selection boolean for keyboard selection
1841

1842 1843 1844 1845 1846 1847
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.

1848 1849
2000-01-25  Andy Hertzfeld <andy@eazel.com>

1850 1851
	* libnautilus/nautilus-icons-view-icon-item.c
	disabled icon centering code that was causing glitchey updates
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 1913 1914 1915 1916
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.
	
1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939
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).

1940 1941
2000-01-25  Andy Hertzfeld <andy@eazel.com>

1942 1943 1944 1945 1946 1947 1948
	* 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.
1949
	  
1950 1951
	* libnautilus/gnome-icon-container-private.h:
	removed old fields for sub-items
1952
	
1953 1954
	* libnautilus/Makefile.am:
	added new item class to makefile
1955
	  
1956 1957
	* libnautilus/gnome-icon-container-dnd.c:
	drag asks main item for pixbuf instead of image item
1958
	  
1959 1960
	* libnautilus/gnome-icon-container.c:
	use new icon item instead of making group with two sub-items
1961
	
1962 1963
2000-01-24  Maciej Stachowiak  <mjs@eazel.com>

1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974
	* 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.

1975 1976 1977
	* src/file-manager/fm-directory-view-icons.c: Corrected memory
	management for background and item popup menus.

1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991
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.

1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011
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.

2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023
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.

2024
2000-01-24  Darin Adler  <darin@eazel.com>
2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038