ChangeLog-20000414 408 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
2000-04-14  Raph Levien  <raph@gimp.org>

	* librsvg/art_rgba.c:
	  librsvg/art_rgba.h:
	  librsvg/art_rgba_svp.c:
	  librsvg/art_rgba_svp.h: Added GPL copyright notice making clear
	  that these files are part of libart_gpl. Also made .h files
	  C++ friendly.

	* librsvg/rsvg-bpath-util.c:
	  librsvg/rsvg-bpath-util.h:
	  librsvg/rsvg-path.c:
	  librsvg/rsvg-path.h:
	  librsvg/rsvg.c:
	  librsvg/rsvg.h: Added GPL copyright notice assigning copyright
	  to Eazel. Also made .h files C++ friendly.

	* librsvg/rsvg-bpath.c: Removed this file, it's subsumed by
	  rsvg-bpath-util.c.

21 22 23 24 25 26 27 28 29 30
2000-04-13  Ramiro Estrugo  <ramiro@eazel.com>

	* idl/nautilus.idl,
	  idl/Makefile.am,
	  libnautilus/nautilus-view-component.idl,
	  libnautilus/Makefile.am,
	  libnautilus/.cvsignore:
	
	  Move nautilus view component interface definition into libnautilus.
	
31 32 33 34 35
2000-04-13  Ramiro Estrugo  <ramiro@eazel.com>

	* librsvg/.cvsignore:
	.cvsignore file for new rsvg directory.
	
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
2000-04-13  Andy Hertzfeld <andy@eazel.com>

	added Raph's scalable icon machinery. Right now the only way to see it
	is to use the eazel theme and drag a file over a folder; the open folder
	is a vector icon.  Soon we'll add lots more.
	
	* librsvg/*
	Raph's new library
	* libnautilus/nautilus-icon-factory.c:
	integrate vector icons with the icon factory.  Right now, it prefers
	them to bitmapped ones, which is probably wrong.
	* Makefile.am: added librsvg
	* configure.in: added librsvg
	* src/Makefile.am: link with librsvg
	* components/*/Makefile.am: link with librsvg
	* icons/eazel/Makefile.am: added i-directory-accept.svg
	* icons/eazel/i-directory-accept.svg: our sole vector icon
	
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
2000-04-13  Darin Adler  <darin@eazel.com>
	
	* components/html/ntl-web-browser.c: (browser_vfs_read_callback):
	Fixed a bug my changes to GNOME VFS exposed. The callback couldn't
	handle a "bytes_read" of 0.

	* libnautilus/nautilus-directory-private.h:
	* libnautilus/nautilus-directory.c:
	* libnautilus/nautilus-directory.h:
	* src/file-manager/fm-directory-view.c:
	Added a new interface for monitoring files and directories.
	Also fixed the self-check code that was failing since the
	async. changes.
	
	* libnautilus/nautilus-file.h:
	Added the interface for monitoring single files, but it isn't
	implemented yet.
	
	* libnautilus/nautilus-icon-canvas-item.c: 
	* libnautilus/nautilus-icon-canvas-item.h: 
	* libnautilus/nautilus-icon-container.c: 
	* libnautilus/nautilus-icon-container.h: 
	* libnautilus/nautilus-icon-dnd.c: 
	* libnautilus/nautilus-icon-dnd.h: 
	* libnautilus/nautilus-icon-private.h:
	Restructured Andy's modifier changes so the canvas item doesn't
	have to know about modifiers. This makes the canvas item private
	again. Users of NautilusIconContainer shouldn't have to know
	about the canvas item.
	
	* src/file-manager/fm-icon-view.c:
	Reformatting.
	
2000-04-13  Andy Hertzfeld  <andy@eazel.com>
88 89 90 91 92
	
	* components/services/startup/nautilus-service-startup-view.c:
	made configuration upload work again by adding a "Content-Type"
	header, which is now required by Jonathan's script
	
93
2000-04-13  Andy Hertzfeld  <andy@eazel.com>
94 95 96 97 98

	* components/services/startup/nautilus-service-startup-view.c:
	fixed problems with the url escaping by unescaping the token
	return by the service before re-escaping it
	* components/services/startup/eazel-register.c:
99 100
	added periodic call to gtk_main_iteration during configuration
	gather to get feedback displayed
101

102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
2000-04-13  Andy Hertzfeld <andy@eazel.com>

	added Susan's images to service registration and configuration upload
	
	* configure.in:
	added components/services/startup/icons/Makefile
	* components/services/startup/Makefile.am
	added icons directory to Makefile
	* components/services/startup/icons/Makefile.am
	Makefile for a new directory to hold the images
	* components/services/startup/icons/.cvsignore
	.cvsignore file for the new directory
	* components/services/startup/icons/config-gather.png:
	new icon for configuration gathering form
	* components/services/startup/icons/register.png:
	new icon for registration form
	* components/services/startup/nautilus-service-startup-view.c:
	added code to display the new icons

Darin Adler's avatar
Darin Adler committed
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
2000-04-13  Darin Adler  <darin@eazel.com>

	Updated for new GNOME VFS.

	* libnautilus/nautilus-directory.c
	(read_some_metafile_data), (metafile_read_start),
	(metafile_write_create_callback), (metafile_write_start),
	(nautilus_directory_monitor_files_ref):
	* libnautilus/gdk-pixbuf-extensions.c
	(nautilus_gdk_pixbuf_load_async):
	* src/ntl-uri-map.c (got_metadata_callback):
	* components/html/ntl-web-browser.c (browser_vfs_callback),
	(do_vfs_load):
	Update for the new GNOME VFS which doesn't return an immediate error
	code when doing an async. call.

137 138 139
2000-04-12  Andy Hertzfeld <andy@eazel.com>

	* src/ntl-window-msgs.c:
Darin Adler's avatar
Darin Adler committed
140 141
	improved the title of uri's not handled by gnome-vfs; instead of
	"Nautilus" use the text after the colon, if there is any
142
	* components/services/startup/nautilus-service-startup-view.c:
Darin Adler's avatar
Darin Adler committed
143 144
	used Gene's escaping routine in gnome-vfs to escape http
	parameters as necessary
145
	* libnautilus/nautilus-directory.c:
Darin Adler's avatar
Darin Adler committed
146 147
	weakened assert in metadata callback to allow non-vfs uris to
	continue to work
148
	
149 150 151 152 153 154 155 156 157 158 159
2000-04-12  Andy Hertzfeld <andy@eazel.com>

	* icons/eazel/Makefile.am:
	added more eazel theme open folder icons at different sizes
	* icons/eazel/i-directory-accept.png:
	replaced this one with one that was less crufty
	* icons/eazel/i-directory-accept-36.png:
	new open folder icon at smaller size
	* icons/eazel/i-directory-accept-72.png:
	new open folder icon at larger size
	
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
2000-04-12  Pavel Cisler <pavel@eazel.com>

	* src/file-manager/fm-directory-view.c:
	(fm_directory_duplicate_selection), (bonobo_menu_duplicate_cb),
	(append_uri_one), (duplicate_cb), (fm_directory_view_real_update_menus):
	Added a Duplicate menu item. (task 329)

	* src/file-manager/dfos-xfer.c:
	(fs_xfer)
	Added support for the duplicate command. Passing in a NULL for
	target directory now starts a duplicate operation.

	* src/file-manager/dfos-xfer.c:
	(fs_xfer)
	Made the progress dialog receive the text for the setup state. Pass
	in proper text for copy and move operations.

	* src/file-manager/dfos-xfer.c:
	(handle_xfer_ok)
	Pin the values of the bytes_copied to the preflight maximum -- a copy
	may end up copying more than it estimated when items are added to
	the hierarchy after the copy started. (I was hitting this when copying
	a folder into itself, which is a separate bug).

184
2000-04-12  Andy Hertzfeld <andy@eazel.com>
185

186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
	added a framework for using custom images for icons to reflect their
	highlited states.  Made folders in the eazel theme open up to reflect
	drop highliting.
	
	* icons/eazel/Makefile.am:
	added icon for open folder at standard size
	* icons/eazel/i-directory-accept.png:
	icon of open folder for drop-highlighting
	* libnautilus/nautilus-icon-canvas-item.c,h:
	added a "modifier" text string attribute with appropriate accessors
	when modifier is changed, update the icon
	* libnautilus/nautilus-icon-container.c,h:
	added modifier parameter to "get_icon_images" signal
	added nautilus_icon_container_request_update_by_item to update
	the icon corresponding to a given item.
	* libnautilus/nautilus-icon-factory.c,h:
	added modifier field to NautilusScalableIcon; modified appropriate
	lifetime and hashing routines accordingly;
	use the modifier to select the proper image in get_icon_file_path
	* src/file-manager/fm-icon-view.c:
	pass in the modifier from signal to icon_factory_get_icon_for_file.
207
	
208 209 210 211 212
2000-04-12  John Sullivan  <sullivan@eazel.com>

	* data/mime/nautilus.keys:
	A whole bunch more MIME type descriptions.
	
213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228
2000-04-12  Darin Adler  <darin@eazel.com>

	* check-FIXME.pl: This is a new Perl script for searching for FIXME
	in the code. It reports any FIXME that does not have a bug number
	next to it, or any with a bug number that's not an open bug.
	* libnautilus/nautilus-bookmark.c: Attached a bug number to a FIXME
	for script-testing purposes.
	* docs/architecture.txt: Removed a FIXME. So sue me!

	* src/file-manager/fm-icon-text-window.c
	(create_attributes_option_menu): Added a call to gettext since the
	attribute_labels are now N_ strings.
	* po/.cvsignore: Ignore the generated files.

	* libnautilus/nautilus-icon-factory.c: Formatting tweak.

229 230 231 232 233
2000-04-12  Ramiro Estrugo  <ramiro@eazel.com>

	* src/file-manager/fm-icon-text-window.c:
	Change usage of _("foo") to N_("foo")
	
Valek Frob's avatar
Valek Frob committed
234 235 236 237 238 239 240 241
2000-04-12  Valek Filippov <frob@df.ru>

	* po/POTFILES.in: added files for i18n
	* configure.in:
	* Makefile.am:
	* aconfig.h:	  changed for i18n
	* po/ru.po:       added russian translation.

242
2000-04-12  Pavel Cisler <pavel@eazel.com>
243 244 245 246 247 248 249

	* libnautilus/nautilus-icon-dnd.c:
	* libnautilus/nautilus-icon-dnd.h:
	Fix a problem where drag actions did't update properly when dragging
	between two windows. The pointer to the private GtkDragStatus needs
	to be global, not stored in the drag originator widget.

250 251 252 253 254 255 256 257 258
2000-04-11  Andy Hertzfeld <andy@eazel.com>

	* components/services/startup/eazel-register.c:
	added hostname to configuration node to distinguish machines when
	the user has more than one
	* components/services/startup/nautilus-service-startup-view.c:
	changed protocol for configuration upload to match Jonathans's new
	cgi; configuration upload is now working with Jonathan's stuff!
	
259 260 261 262 263 264 265 266
2000-04-11  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-directory.c
	(nautilus_directory_call_when_ready),
	(nautilus_directory_call_when_ready_internal): Handle case where
	directory is NULL which is needed for URIs that Nautilus
	understand but GNOME VFS does not.

267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305
2000-04-11  John Sullivan  <sullivan@eazel.com>

	Addressed most of task 148 (Better type-as-string for
	directory views). Added new directory to CVS, so make
	sure you do a "cvs update -d" and not just "cvs update".

	"make install" now installs a file of mime-type-to-English
	descriptions in the gnome-mime directory.

	* data/mime/nautilus.keys: The actual mapping between
	MIME types and English descriptions. Read these and send
	me your abuse.
	* data/mime/Makefile.am: New file, copies nautilus.keys to
	gnome-mime directory.
	* data/Makefile.am: includes "mime" subdirectory
	* configure.in: configures "data/mime" directory

	* libnautilus/nautilus-file.c:
	(nautilus_file_get_mime_type_as_string_attribute):
	New function, returns the raw MIME type as a string,
	and handles the no-MIME-type case.
	(nautilus_file_get_string_attribute): handle attribute
	"mime_type", distinct from "type" which is now the 
	human-language one.
	(nautilus_file_get_type_as_string): Use gnome-mime
	to get human-language descriptions based on the MIME
	type.
	(nautilus_file_is_executable): Fixed this function which
	was reading info->flags instead of info->permissions. Now
	the special executable icon appears much more often (though
	we still don't know what it's supposed to be).
	* src/file-manager/fm-error-reporting.c:
	(fm_report_error_renaming_file): Use "directory" instead of
	"folder" to match our terminology elsewhere.
	* src/file-manager/fm-icon-text-window.c:
	add "mime type" to list of choices of text that can appear
	beneath icons (in addition to just plain "type", which is
	the human-language one).

306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327
2000-04-11  Gene Z. Ragan  <gzr@eazel.com>

	Requires new Bonobo.

	* components/sample/nautilus-sample-content-view.c
	Added icon data to BonoboUiHandler.  This is GdkPixbuf
	data and demonstrates the pixbuf data features
	added to bonobo ui handlers.

	* libnautilus/nautilus-bookmark.c
	bonobo_ui_handler_menu_new_item modified to take advantage
	of new bonobo ui handler pixbuf functionality. Components and
	menu items can now display pixbuf data.
	Added nautilus_bookmark_get_pixbuf() routine.

	* libnautilus/nautilus-bookmark.h
	Added nautilus_bookmark_get_pixbuf() routine.

	* src/nautilus-window-menus.c
	bonobo_ui_handler_menu_new_item modified to take advantage
	of new bonobo ui handler pixbuf functionality.

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
2000-04-11  Darin Adler  <darin@eazel.com>

	Finished task 226 (Read metadata asynchronously instead of
	synchronously).

	Requires new GNOME VFS.
	
	* libnautilus/nautilus-directory-private.h:
	* libnautilus/nautilus-directory.c:
	* libnautilus/nautilus-directory.h:
	Changed code to read and write metafiles async. Too many functions
	modified for me to list here.

	* libnautilus/nautilus-file-private.h:
	* libnautilus/nautilus-file.c:
	* libnautilus/nautilus-file.h:
	(nautilus_file_changed), (nautilus_file_emit_changed),
	(nautilus_file_get_metadata), (nautilus_file_set_metadata),
	(nautilus_file_call_when_ready), (nautilus_file_cancel_callback):
	Changes to NautilusFile so it can participate in the new.
	
	* components/notes/ntl-notes.c (notes_load_metainfo):
	Fixed a bug in my recent changes where it would use a bad file
	object when getting metadata.
	
	* src/file-manager/fm-directory-view.c (notes_load_metainfo):
	Renamed "tags" to "keys".

356 357 358 359 360 361 362
2000-04-11  Andy Hertzfeld <andy@eazel.com>
	
	* components/rpmview/nautilus-rpmview.c:
	added install, update and uninstall buttons to the package view,
	that are shown/hidden based on the install state, but they don't
	actually do anything yet.
	
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
2000-04-11  Darin Adler  <darin@eazel.com>

	Updated for new GdkPixbuf.

	* HACKING: gnome-print must be built before bonobo.
	* RENAMING: New renaming ideas.
	* libnautilus/nautilus-graphic-effects.c (create_new_pixbuf),
	(nautilus_create_spotlight_pixbuf),
	(nautilus_create_darkened_pixbuf),
	(nautilus_create_colorized_pixbuf),
	(nautilus_make_semi_transparent): Updated for new GdkPixbuf.
	* libnautilus/nautilus-icon-canvas-item.c (pixbuf_is_acceptable):
	Updated for new GdkPixbuf.
	* libnautilus/nautilus-icon-container.c (icon_get_actual_size):
	Updated for new GdkPixbuf.
	* libnautilus/nautilus-icon-factory.c
	(nautilus_icon_factory_possibly_free_cached_image): Put in a
	temporary hack that allows us to keep working until we get a
	suitable feature in GdkPixbuf for implementing the cache. For now,
	we don't free any pixbufs ever, so the cache grows unbounded.
	(load_image_for_scaling), (load_image_scale_if_necessary):
	(nautilus_icon_factory_make_thumbnails), Updated for new
	GdkPixbuf.
	* src/nautilus-index-title (nautilus_index_title_update_icon):
	Updated for new GdkPixbuf.
	
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 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438
2000-04-11  Pavel Cisler <pavel@eazel.com>

	* libnautilus/nautilus-icon-dnd.c:
	* libnautilus/nautilus-icon-dnd.h:
	(nautilus_icon_dnd_update_drop_target):
	Determine if a drop target can accept drop, update highlight for
	drop accordingly.
	(nautilus_icon_dnd_update_drop_target):
	Add drop highlighting for dragged items that can be accepted by a
	drop target.
	(nautilus_icon_canvas_item_can_accept_item):
	Implement the call.
	(nautilus_icon_canvas_item_can_accept_items):
	Put a cap on the number of items checked as accepted by drop target
	to not lock up the machine when dragging lots of items.
	(nautilus_icon_dnd_modifier_based_action):
	Tweak the modifier keys -- use Alt to force copy.
		
	* libnautilus/nautilus-icon-container.c:
	* libnautilus/nautilus-icon-container.h:
	* src/file-manager/fm-directory-view.c:
	* src/file-manager/fm-directory-view.h:
	* src/file-manager/fm-icon-view.c:
	(can_accept_item), (fm_directory_view_can_accept_item):
	New signal -- helps figuring out if potential drop target can
	accept dropped URIs. For now returns TRUE for any directory that
	doesn't match the dragged item.
	
	* libnautilus/nautilus-icon-container.c:
	(item_event_callback):
	Support for turning the "highlight for drop" state of an icon on/off --
	during drag&drop don't let the "enter notify" signal reach the canvas item
	so that the item won't get prelit.
	
	* libnautilus/nautilus-icon-canvas-item.c:
	(nautilus_icon_canvas_item_event):
	Turn off highlight for drop as well as prelight on leave event.
	This is a fallback in case the drag&drop for some reason leaves
	the target icon highlighted for drop after a drag ends.
	
	* libnautilus/nautilus-gtk-extensions.c:
	* libnautilus/nautilus-gtk-extensions.h:
	(nautilus_gtk_marshal_INT__POINTER_POINTER):
	Added another binder function.
	
	* libnautilus/nautilus-file.c:
	* libnautilus/nautilus-file.h:
	(nautilus_file_matches_uri): Added a utility call used to detect 
	a drop on self.
	
439 440 441 442 443 444
2000-04-10  Andy Hertzfeld <andy@eazel.com>

	* components/rpmview/nautilus-rpmview.c:
	made the package view determine if a package is installed or not and display
	a message accordingly. Command buttons are coming soon.
	
445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470
2000-04-10  Pavel Cisler <pavel@eazel.com>
	Nasty hack to allow drag&drop actions to respond to modifier keys
	and the drop context properly. This will one day get fixed by
	adding proper hooks to Gtk+ and using them. For now we have to
	do this.

	* libnautilus/nautilus-icon-dnd.h:
	* libnautilus/nautilus-icon-dnd.c:
	(nautilus_icon_dnd_update_drop_action),
	(nautilus_icon_dnd_modifier_based_action),
	(nautilus_icon_dnd_get_event_actions),
	(nautilus_icon_dnd_get_event_time),
	(nautilus_icon_dnd_source_check_selection),
	(nautilus_icon_dnd_update),
	(nautilus_icon_drag_key_callback),
	(nautilus_icon_dnd_begin_drag), (drag_drop_callback):
	Pull in a bunch of code from gtkdnd.c. Add new call to
	allow overriding drop actions based on modifiers and the drop 
	context. Connect the "key_press_event" and "key_release_event"
	to the copied code. All this to be able to call
	nautilus_icon_dnd_get_event_actions instead of the broken
	and private gtk_drag_get_event_actions.
	I still have to add code to change the default action based
	on the drop target between copy and move based whether the
	source and drop containers are the same, etc.

471 472 473 474 475 476
2000-04-10  Andy Hertzfeld <andy@eazel.com>

	* components/rpmview/nautilus-rpmview.c:
	made the package view component display a scrolling list of the
	constituent files in the package.
	
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 511 512 513 514
2000-04-10  Darin Adler  <darin@eazel.com>

	Finished changing all callers that use metadata to use it in a way
	that is compatible with async. metadata reading.

	* components/notes/ntl-notes.c:
	(notes_load_metainfo): Changed to use nautilus_file_call_when_ready
	to wait for the metadata. Also fixed a bug that was causing an assert
	inside the call to gtk_editable_insert_text.
	(main): Made warnings and criticals stop in the debugger.

	* libnautilus/nautilus-directory.c:
	* libnautilus/nautilus-directory.h:
	(nautilus_directory_call_when_ready): Renamed the call to indicate
	it can wait for more than just metadata. For now it does only wait
	for metadata, though.
	(nautilus_directory_cancel_callback): Renamed this too.

	* libnautilus/nautilus-file.c:
	(nautilus_file_call_when_ready), (nautilus_file_cancel_callback):
	Made a corresponding call for the metadata of a single file.

	* libnautilus/nautilus-gdk-extensions.c:
	* src/nautilus-index-title.c:
	Formatting changes.

	* libnautilus/nautilus-metadata.h:
	Clarified that ANNOTATION is a per-file piece of metadata.

	* src/ntl-uri-map.c:
	* src/file-manager/fm-directory-view.c:
	Use new names of calls.

	* src/file-manager/fm-icon-view.c:
	* src/file-manager/fm-list-view.c:
	Added comment.

2000-04-10  Andy Hertzfeld  <andy@eazel.com>
515 516 517 518 519 520

	* src/nautilus-index-title.c:
	fixed bug where multi-line titles in index panel would have a big
	vertical gap.  Fixed by breaking out of the loop after it finds a
	split point.  Also, removed an unneccesary justification call.
	
521
2000-04-10  Andy Hertzfeld  <andy@eazel.com>
522 523 524

	* components/services/startup/eazel-register.c:
	added io ports to hardware configuration synopsis
525 526
	
2000-04-10  John Sullivan  <sullivan@eazel.com>
527 528 529 530 531 532 533 534

	Fixed bug 377 (clipping emblems in list view looks bad
	and loses information)

	* libnautilus/nautilus-list.c:
	(draw_row): Made it draw the ellipsis character if there's
	not enough room to show all emblems.

535
2000-04-10  John Sullivan  <sullivan@eazel.com>
536 537 538 539 540 541 542 543 544 545 546 547 548 549 550

	* libnautilus/nautilus-list.c:
	(nautilus_list_initialize_class), (nautilus_list_initialize),
	(select_or_unselect_row_callback), (emit_selection_changed),
	(select_range), (select_row), (select_row_from_mouse), 
	(row_set_selected), (select_row_unselect_others), 
	(nautilus_list_select_all), (nautilus_list_unselect_all), 
	(nautilus_list_button_press), (nautilus_list_keyboard_move_to),
	(nautilus_list_motion), (nautilus_list_set_selection):
	Reworked selection such that the SELECTION_CHANGED signal is
	emitted only once for every selection-affecting operation,
	and never if the selection hasn't changed at all. This makes
	such operations as Select All, switch-from-icon-view-with-lots-
	selected, and arrow-key-to-end-of-list significantly faster.

551
2000-04-09  Andy Hertzfeld  <andy@eazel.com>
552 553

	* components/services/startup/nautilus-service-startup-view.c:
554 555
	now it saves the account token assigned by the service, and passes
	it back in the header of subsequent requests
556
	* libnautilus/nautilus-icon-factory.c:
557 558 559 560
	fixed bug #293, thumbnails of thumbnails endlessly, by explicitly
	testing for thumbnails of thumbnails as part of the criteria for
	making them also, make a "snapshot" frame for thumbnails (task
	295)
561
	
562
2000-04-09  John Sullivan  <sullivan@eazel.com>
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

	Finished task 307 (keyboard navigation in list view should
	use same keys/behavior as in icon view). There are a few
	minor bugs remaining that I'll write up separately.

	* libnautilus/nautilus-list.c:
	NautilusListDetails struct: added fields for
	keyboard_row_to_reveal and keyboard_row_reveal_timer_id;
	(nautilus_list_initialize_class): Removed key binding set for
	this class (uses key_press_event function instead); used
	gtk_binding_entry_clear to get rid of all the unwanted GtkCList
	key bindings; wire up key_press_event function; wire up
	destroy function
	(nautilus_list_destroy): New function, destroy details struct
	(this was storage leak) and clean up pending timer.
	(nautilus_list_clear_keyboard_focus), (nautilus_list_set_keyboard_focus),
	(nautilus_list_keyboard_move_to), (keyboard_row_reveal_timeout_callback),
	(unschedule_keyboard_row_reveal), (schedule_keyboard_row_reveal),
	(reveal_row), (nautilus_list_keyboard_navigation_key_press),
	(nautilus_list_keyboard_home), (nautilus_list_keyboard_end), 
	(nautilus_list_keyboard_up), (nautilus_list_keyboard_down), 
	(nautilus_list_keyboard_page_up), (nautilus_list_keyboard_page_down), 
	(nautilus_list_keyboard_space), (nautilus_list_activate_selected_items),
	(nautilus_list_get_first_selected_row), 
	(nautilus_list_get_last_selected_row), 
	(nautilus_list_key_press): New functions, all the mechanism for
	handling key presses similarly to NautilusIconContainer. Bonus
	key handling for Page Up and Page Down.
	(nautilus_list_move_focus_row), (scroll_vertical): Removed these
	functions that were used by the GtkCList key bindings in favor of
	nautilus_list_key_press and friends.

595
2000-04-07  Andy Hertzfeld  <andy@eazel.com>
596 597 598 599 600

	* libnautilus/nautilus-icon-canvas-item.c:
	inspired by John's list view underlining, the text beneath icons
	is now underlined when the icon is pre-lit
	
601
2000-04-07  John Sullivan  <sullivan@eazel.com>
602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644

	Fixed bug Andy pointed out where list view "links" could
	be activated by clicking in white space past the name.
	Also started making changes in the direction of getting
	keyboard selection working properly in list view (but
	most of the work remains).

	* libnautilus/nautilus-gdk-extensions.h,
	* libnautilus/nautilus-gdk-extensions.c:
	(nautilus_stipple_bitmap): New function, returns pointer to
	static 50% stipple bitmap.
	* libnautilus/nautilus-icon-cvanvas-item.c:
	remove global stipple object;
	(nautilus_icon_canvas_item_initialize_class): Remove initialization
	of global stipple object.
	(draw_or_measure_label_text), (draw_stretch_handles): Use
	nautilus_stipple_bitmap () in lieu of global stipple object
	in this file.
	* libnautilus/nautilus-list.c:
	(get_cell_horizontal_start_position): New function, extracted
	from draw_row so I could use it elsewhere.
	(nautilus_list_key): Removed function.
	(nautilus_list_draw_focus): New function, draws keyboard-focussed
	row with the same stipple outline used in icon view.
	(nautilus_list_move_function_row): New function, copied & simplified
	from GtkCList. Will probably rewrite entirely or eliminate very soon.
	(nautilus_list_scroll_vertical): New function, copied & simplified
	from GtkCList. Handles various keyboard commands, though not yet with
	the behavior we actually want.
	(nautilus_list_initialize_class): Begin to override and eliminate
	GtkCList key bindings that we want to change. I've just started this
	work -- all I've done so far is make space do nothing but Control-space
	toggle the selection status of the keyboard-focussed row. I need to
	go through and fix up all the bad inherited bindings. Also in this
	function replace GtkCList's scroll_vertical and draw_focus function 
	pointers, and removed the key_press_event and key_release_event
	overrides that were deliberately preventing us from inheriting any
	of GtkCList's keyboard behavior.
	(nautilus_list_button_release): Only activate link-text if the click
	is in the horizontal bounds of the text.
	(draw_row) Use get_cell_horizontal_start_position that was extracted
	from this function.

645
2000-04-07  Andy Hertzfeld  <andy@eazel.com>
646 647 648 649 650

	* components/services/startup/nautilus-service-startup-view.c:
	switched over to using Jonathan's prototype service, which is only
	accessible from eazel's intranet for now. Registration now works with
	the service.
651
	
652 653 654 655 656 657
	* libnautilus/nautilus-icon-canvas-item.c:
	first, simple version of drag/swallow highliting - it just darkens the
	icon and emboldens the text, exactly like selection highlighting.
	Pavel's going to set the flag during dragging soon, so this will help
	him see what he's doing.  Soon, we'll have a more elaborate approach.
	
658
2000-04-06  Andy Hertzfeld  <andy@eazel.com>
659 660 661 662 663 664

	* components/services/startup/nautilus-service-startup-view.c:
        made configuration upload make the HTTP request and handle errors, but still not
        quite finished, since it's not passing the cookie back yet.  Also, created a stub
        summary page plus minor clean-ups
	
665 666
2000-04-06  Pavel Cisler  <pavel@eazel.com>

Pavel Cisler's avatar
Pavel Cisler committed
667 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
	* src/file-manager/dfos-xfer-progress-dialog.c:
	* src/file-manager/dfos-xfer-progress-dialog.h:
	(dfos_xfer_progress_dialog_new_file):
	Pass in the current copied file index so that the progress
	dialog doesn't need to get called for every file copied.

	* src/file-manager/dfos-xfer.c:
	(handle_xfer_vfs_error), (handle_xfer_overwrite),
	(handle_xfer_duplicate), (handle_xfer_ok):
	Add error handling with error alerts.
	Add file overwrite alerts.
	Fix up calling the progress to deal with not being
	called for every single file.

	* src/file-manager/dfos-xfer.c:
	(dfos_xfer):
	Fix a bug where the async job handle was not being set properly.

	* src/file-manager/dfos-xfer.c:
	* src/file-manager/dfos-xfer.h:
	(file_operation_alert):
	Utility alert call.

	* src/file-manager/dfos-xfer.c:
	* src/file-manager/dfos-xfer.h:
	(fs_xfer):
	New copy engine main entry.

695
2000-04-06  Andy Hertzfeld  <andy@eazel.com>
696 697 698 699 700

	* components/services/startup/nautilus-service-startup-view.c:
        more work to polish registration and implement configuration upload,
	plus various clean-ups
	
701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737
2000-04-06  John Sullivan  <sullivan@eazel.com>

	Finished task 376 (Resolve single-click behavior)

	* libnautilus/nautilus-gdk-extensions.h:
	#defines for colors NAUTILUS_RGB_COLOR_RED, _GREEN,
	_BLUE, _WHITE, and _BLACK.
	* libnautilus/nautilus-gdk-extensions.c:
	(nautilus_parse_rgb_with_white_default): Replaced
	hard-wired numbers with these #defines.

	* libnautilus/nautilus-list.h,
	* libnautilus/nautilus-list.c:
	added enum entry for NAUTILUS_CELL_LINK_TEXT;
	(nautilus_list_mark_cell_as_link): New functions, converts
	an ordinary text cell into a link-text cell.
	(nautilus_list_button_release): Only activate link-text
	cells on single click; other cells select as in other lists.
	(draw_row): draw link-text cells with blue text and an
	underline, so they look like typical web links.
	(nautilus_list_set_cell_contents): Convert link-text cell
	back to ordinary text cell before cleaning up old
	contents so parent function will do the right thing.

	* src/file-manager/fm-list-view.c:
	(add_to_list): mark file name cell as link-text cell.
	(remove_from_list): New function, extracted from...
	(fm_list_view_file_changed): Followed Darin's advice on
	how to simultaneously clarify this code and fix a 
	storage leak.

	For Darin, fixed a typo that caused every file to be
	displayed as if it were a directory.

	* src/ntl-uri-map.c:
	(my_notify_when_ready): Added two missing "== 0"s.

738 739 740 741 742 743 744 745 746
2000-04-06  Maciej Stachowiak  <mjs@eazel.com>

	* src/file-manager/fm-directory-view.c
	(notify_selection_change_cb, display_pending_files): Add a boolean
	field have_pending_uris_selected to distinguish the case where we
	have _no_ pending selection from the case where we have an empty
	one (in both cases, the pending_uris_selected field should be
	NULL).

747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785
2000-04-06  Darin Adler  <darin@eazel.com>

	Added the hooks needed to make metafile reading asynchronous.
	Next I'll change the actual metafile access to work that way.
	
	* libnautilus/nautilus-directory.h:
	* libnautilus/nautilus-directory.c:
	(nautilus_directory_metadata_call_when_ready): Added function
	that requests a read of some metadata and calls back when the
	data is ready.

	* src/ntl-app.c: (nautilus_app_startup): Got rid of call to
	nautilus_navinfo_init.

	* src/ntl-types.h: Moved the NautilusNavigationInfo struct
	and related defines to ntl-uri-map.h.

	* src/ntl-uri-map.h:
	* src/ntl-uri-map.c:
	Reformatted and changed the names of many functions.
	Added code to use the new metadata callback.
	
	* src/ntl-index-panel.c:
	* src/ntl-main.c:
	* src/ntl-view.h:
	* src/ntl-window-msgs.c:
	* src/ntl-window.c:
	* src/ntl-window.h:
	Had to change includes a bit because of my changes to what
	header files are including.

	* src/ntl-window-msgs.c: (nautilus_window_update_state):
	* src/ntl-window.h:
	Use the new nautilus_navigation_info_cancel call instead of
	reaching right in to cancel the underlying call.

	* src/ntl-view-private.h:
	Reformatting.

786 787 788 789 790 791 792
2000-04-06  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-directory-background.c:
	(nautilus_connect_background_to_directory_metadata):
	Fixed code that was trying to disconnect the handler from the
	new directory, not the old one.

793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808
2000-04-06  John Sullivan  <sullivan@eazel.com>

	* src/file-manager/fm-list-view.c:
	(fm_list_view_file_changed): Only call nautilus_file_unref if
	the file isn't gone. This cures some GTK-CRITICALS I ran into.

	* src/file-manager/fm-properties-window.c:
	(name_field_update): Renamed to name_field_update_to_match_file;
	handle case where file name was changed elsewhere.
	(create_properties_window): Hook up name_field_update_to_match_file
	to get called when file changes externally.
	(remove_properties_window_from_hash_table): New function.
	(fm_properties_window_get_or_create): Use hash table so there's
	only one Properties window per file. This was intended to be the
	design but we forgot to implement it earlier.

809 810 811 812 813 814 815 816
2000-04-05  Andy Hertzfeld <andy@eazel.com>

	* components/services/startup/nautilus-service-startup-view.c:
	made the registration code display errors on various conditions; made it make an
	HTTP request to the service cgi and give appropriate error feedback or move to
	the configuration form if successful.  Disabled the registration button unless something
	is typed into each field.
	
817 818 819 820 821 822 823 824 825 826
2000-04-05  John Sullivan  <sullivan@eazel.com>

	Fixed bug 394 (clicking Home button segfaults)

	* src/ntl-window-msgs.c: (nautilus_window_update_internals):
	Don't update Back list when the location hasn't actually
	changed, since (A) it would be silly and (B) the code that 
	sets up last_location_bookmark and current_location_bookmark
	doesn't work right if you do.

827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887
2000-04-05  John Sullivan  <sullivan@eazel.com>

	Some cleanups from the file-renaming checkin I did
	yesterday. The largest change was making NautilusDirectory
	send "files-changed" signal instead of "files-removed" 
	signal when a file is removed. That way	interested callers 
	need register only for one signal. The callers can use 
	nautilus_file_is_gone () to test whether the file was removed.

	* libnautilus/nautilus-directory-private.h:
	(nautilus_directory_files_removed): Removed function.
	* libnautilus/nautilus-directory.h:
	(files_removed): Removed signal definition, updated comments.
	* libnautilus/nautilus-directory.c:
	Removed FILES_REMOVED signal enum entry;
	(nautilus_directory_initialize_class): Removed FILES_REMOVED
	signal creation.
	(nautilus_directory_files_removed): Removed function.
	* libnautilus/nautilus-file.c:
	(get_file_for_parent_directory): New private function.
	(nautilus_file_can_rename): This function was quite broken in
	its initial check-in. It worked only on a random basis. Now it
	works quite a bit better. It should only return FALSE if it's
	darn well sure that the user can't rename the file; it returns
	TRUE even if it isn't sure, so clients must handle failed
	renames (which they would have to anyway).
	(nautilus_file_delete): Call nautilus_file_changed instead of
	nautilus_directory_files_removed when file is deleted.

	* src/file-manager/fm-directory-view.h:
	(remove_file): Remove signal definition, update comments.
	* src/file-manager/fm-directory-view.c:
	remove REMOVE_FILE signal enum entry; 
	remove files_removed_handler_id and pending_files_removed from
	Details struct;
	(fm_directory_view_initialize_class): remove REMOVE_FILE signal
	initialization
	(display_pending_files): remove "removed" case; made "changed"
	case handle updating uri table; made "changed" case send signal
	even if file is gone.
	(files_removed_cb): Removed function.
	(fm_directory_view_load_uri): removed connection to "files_removed"
	signal
	(disconnect_model_handlers): removed disconnect of files_removed_handler.
	
	* src/file-manager/fm-icon-view.c:
	(fm_icon_view_remove_file): Removed function.
	(fm_icon_view_initialize_class): Remove remove_file signal handler override.
	(fm_icon_view_file_changed): check if file is gone and do what
	fm_icon_view_remove_file used to do if so.
	* src/file-manager/fm-list-view.c:
	(fm_list_view_remove_file): Removed function.
	(fm_list_view_initialize_class): Remove remove_file signal handler override.
	(fm_list_view_file_changed): check if file is gone and do what
	fm_list_view_remove_file used to do if so.
	
	* src/file-manager/fm-properties-window.c:
	(properties_window_file_changed_callback): Don't update the window title 
	if you just nuked the window -- Doh! Now the Properties window will 
	vanish silently if the file is deleted.

888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 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 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978
2000-04-05  Darin Adler  <darin@eazel.com>

	Improved the background handling code so more is shared.
	There's even more we could do in this direction.
	
	* components/music/nautilus-music-view.c:
	(nautilus_music_view_initialize): Got rid of redundant background
	color initialization.
	(nautilus_music_view_realize): Got rid of background color
	initialization.
	(nautilus_music_view_update_from_uri): Changed background color
	handling to use new nautilus_directory_background calls.
	(nautilus_music_view_background_changed): Not needed any more.

	* components/notes/ntl-notes.c:
	Did some cleanup and reformatting.

	* libnautilus/Makefile.am:
	* libnautilus/nautilus-directory-background.c:
	* libnautilus/nautilus-directory-background.h:
	Created a new file with functions that manage the background for
	a window connected with a particular directory. Later we might
	generalize it further to work for windows that are connected to
	any URI, not just a directory.

	* libnautilus/nautilus-directory.c:
	* libnautilus/nautilus-directory.h:
	Added a new "metdata_changed" signal so that the background can
	be updated if the underlying data changes.
	(nautilus_directory_initialize_class): Create the new signal.
	(nautilus_directory_ref), (nautilus_directory_unref): Made these
	functions quietly do nothing for NULL. This simplifies life for
	callers.
	(nautilus_directory_set_metadata): Emit the "metadata_changed"
	signal.

	* libnautilus/nautilus-file.c:
	(nautilus_file_ref), (nautilus_file_unref): Made these
	functions quietly do nothing for NULL. This simplifies life for
	callers.

	* libnautilus/nautilus-metadata.h:
	Renamed all the constants to be consistent. Got rid of separate
	constants for the icon view and list view backgrounds. Changed
	some of the underlying XML tags as well.

	* libnautilus/nautilus-icon-factory.c:
	(nautilus_icon_factory_get_icon_for_file):
	* src/nautilus-index-title.c: (nautilus_index_title_update_info):
	* src/ntl-index-panel: (nautilus_index_panel_update_info),
	(receive_dropped_uri_list),
	(nautilus_index_panel_background_changed):
	* src/ntl-uri-map.c: (set_initial_content_iid),
	(add_components_from_metadata):
	* src/ntl-window-msgs.c: (view_menu_switch_views_cb):
	* src/file-manager/fm-icon-view.c: (add_icon_if_already_positioned),
	(fm_icon_view_begin_loading), (fm_icon_view_set_zoom_level),
	(fm_icon_view_icon_changed_callback):
	* src/file-manager/fm-list-view.c: (fm_list_view_begin_loading),
	(fm_list_view_set_zoom_level), (fm_list_view_sort_items):
	Updated uses of metadata constants to use the new names.

	* src/ntl-index-panel: (nautilus_index_panel_destroy),
	(nautilus_index_panel_update_info):
	* src/ntl-uri-map.c: (add_components_from_metadata):
	* src/file-manager/fm-directory-view.c:
	(fm_directory_view_destroy), (fm_directory_view_load_uri):
	Used new nautilus_directory_unref to simplify code.

	* src/ntl-uri-map.c: (set_initial_content_iid):
	* src/ntl-window-msgs.c: (view_menu_switch_views_cb):
	Added missing nautilus_directory_unref (storage leak).

	* src/file-manager/fm-icon-view.c: (create_icon_container),
	(fm_icon_view_background_changed_callback): Removed "changed"
	signal handler on NautilusBackground since that's now handled
	by the new nautilus_directory_background calls instead.
	(fm_icon_view_begin_loading): Used nautilus_directory_background
	to replace background customization code.

	* src/file-manager/fm-icon-view.c: (fm_icon_view_get_zoom_level):
	Fixed a bug where it would try to use view as an FMIconView after
	the FM_IS_ICON_VIEW check failed.

	* src/file-manager/fm-list-view.c: (create_list),
	(fm_list_view_background_changed_callback): Removed "changed"
	signal handler on NautilusBackground since that's now handled
	by the new nautilus_directory_background calls instead.
	(fm_list_view_begin_loading): Used nautilus_directory_background
	to replace background customization code.

979 980 981 982 983 984 985 986 987 988 989
2000-04-05  John Sullivan  <sullivan@eazel.com>

	Fixed bug in Ramiro's recent checkin that broke booting
	if the icon theme had never been set.

	* libnautilus/nautilus-icon-factory.c:
	(nautilus_icon_factory_initialize_class),
	(nautilus_get_current_icon_factory): Moved theme initialization
	from the former to the latter, because theme needs to be non-NULL
	before initialize_class is called.

990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011
2000-04-05  Darin Adler  <darin@eazel.com>

	* components/services/startup/eazel-register.c:
	(add_package_info):
	* libnautilus/nautilus-file-utilities.c:
	(nautilus_user_top_directory):
	* libnautilus/nautilus-global_preferences.c:
	(global_preferences_get_dialog):
	* libnautilus/nautilus-icon-factory.c:
	(nautilus_icon_factory_get_thumbnail_uri):
	Removed unnecessary \n characters from g_warning, g_error, and
	g_message calls.

	* components/html/ntl-web-browser.c (browser_url_load_done):
	Ettore says we should stop calling gtk_html_private_calc_scrollbars
	and if it causes any problems then it's just a bug in GtkHTML
	that should be fixed,.

	* src/ntl-window-msgs.c:
	Reformatted the code as a first step for some changes
	that will make the state machine easier to understand.

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 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
2000-04-05  Ramiro Estrugo  <ramiro@eazel.com>

	Preferences work.  Make preference registration implicit.

	* nautilus-widgets/nautilus-preferences.c,
	  nautilus-widgets/nautilus-preferences.h: 
	(prefs_hash_lookup_with_implicit_registration): New function to do
	preference lookup with implicit registration.  If the pref is not
	found at first, it will be automatically added.

	(preference_get): Replace the old badly named prefs_get_pref with
	something simpler.

	(preference_set): Same here.

	(nautilus_preferences_set_info): Add a function that allows
	tweaking the default values and other info for a pref.
	
	(nautilus_preferences_add_enum_callback):
	(nautilus_preferences_add_boolean_callback):
	(nautilus_preferences_add_string_callback): New callback adding
	functions that work with implicit registration.  The caller needs
	to know the type of preference they want to munge beforehand for
	the implicit registration to work.

	Also cleanup a bunch bucnhsome of style issues.

	* nautilus-widgets/test-nautilus-widgets.c:
	Update for all the pref changes.

	* libnautilus/nautilus-global-preferences.c,
	  libnautilus/nautilus-global-preferences.h:
	(global_preferences_register_for_ui): Add a new private function
	to register only preferences used in the pref dialog ui.

	(global_preferences_static_info): Remove 
	NAUTILUS_PREFERENCES_ICON_VIEW_TEXT_ATTRIBUTE_NAMES and
	NAUTILUS_PREFERENCES_ICON_THEME since they dont have a ui and can
	be used implicitly.

	(nautilus_global_preferences_initialize): Removed. 

	* libnautilus/nautilus-icon-factory.c:
	(icon_theme_changed_callback): Doesnt take a type paramater no
	more.
	
	(nautilus_get_current_icon_factory): Remove the global preferences
	initialization code and blurb.  Not needed since prefs are
	registered implicitly as needed.  Use
	nautilus_preferences_add_string_callback instead of obsolete
	nautilus_preferences_add_callback.

	(nautilus_icon_factory_initialize_class):  Add a preferences call
	to set the default value for the ICON_THEME string.
	We might want to change things such that no default has to be installed
	for this preference.  If so, then the code that fetches the preference
	would have to deal with either a NULL return value (or "").

	* src/ntl-app.c:
	(nautilus_app_startup): Remove global preferences initialization
	call.

	* src/file-manager/fm-directory-view.c:
	(user_level_changed_callback): 
	(use_new_window_changed_callback): Callbacks dont take a
	preference type argument no more.

	(fm_directory_view_initialize): Use 
	nautilus_preferences_add_{enum,boolean}_callback instead of obsolete
	nautilus_preferences_add_callback.

	* src/file-manager/fm-icon-text-window.c:
	(preference_changed_callback): Doesnt take a type paramater no
	more.

	(create_icon_text_window): Use 
	nautilus_preferences_add_string_callback instead of obsolete
	nautilus_preferences_add_callback.

	* src/file-manager/fm-icon-view.c:
	(text_attribute_names_changed_callback): Doesnt take a type paramater no
	more.

	(fm_icon_view_initialize_class): Add a preferences call
	to set the default value for the ICON_VIEW_TEXT_ATTRIBUTE_NAMES string.
	We might want to change things such that no default has to be installed
	for this preference.  If so, then the code that fetches the preference
	would have to deal with either a NULL return value (or "").
	
1101 1102 1103 1104 1105 1106 1107
2000-04-05  Andy Hertzfeld <andy@eazel.com>

	* components/services/startup/nautilus-service-startup-view.c:
	made the register button make an HTTP request to the service using ghttp.
	* components/services/startup/Makefile.am:
	made the component link with lghttp
	
1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141
2000-04-04  Maciej Stachowiak  <mjs@eazel.com>

	Make selection persistent across content view changes (task 105). 

	* src/file-manager/fm-directory-view.c,
	src/file-manager/fm-directory-view.h
	(fm_directory_view_set_selection): New function.
	(set_selection): New virtual method that must by implemented by
	subclasses.
	(add_nautilus_file_to_uri_map, remove_nautilus_file_from_uri_map,
	free_file_by_uri_map_entry, free_file_by_uri_map): New functions
	to manage a hash table mapping from uri strings to NautilusFile
	objects.
	(notify_selection_change_cb): New function; on a selection change
	notification, either set the selection immediately if the view has
	completed loading, or establish it as pending.
	(display_pending_files): Maintain the uri -> file hash table on
	notifications from the model; do any pending selections required
	when loading completes.
	
	* src/file-manager/fm-list-view.c (fm_list_view_set_selection):
	New function to implement `set_selection' virtual method.

	* src/file-manager/fm-icon-view.c (fm_icon_view_set_selection):
	New function to implement `set_selection' virtual method.

	* libnautilus/nautilus-list.c (nautilus_list_set_selection): New
	function: set the selection to a specified set of rows.

	* libnautilus/nautilus-icon-container.c,
	libnautilus/nautilus-icon-container.h
	(nautilus_icon_container_set_selection): New function: set the
	selection to a specified set of icons.

1142 1143
2000-04-04  Andy Hertzfeld <andy@eazel.com>

1144
	* components/services/startup/nautilus-service-startup-view.c:
1145 1146 1147 1148
	changed the account name field to e-mail address; make the submit
	button initially insensitive; turned off the visibility property of
	the gtk_entry objects used for passwords
		
1149 1150 1151 1152 1153
2000-04-04  Ramiro Estrugo  <ramiro@eazel.com>

	* components/services/startup/nautilus-service-startup-view.c:
	(register_later_cb): Fix cast for stricter -Werror compliance.
	
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 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203
2000-04-04  Darin Adler  <darin@eazel.com>

	Finished task 54 (Set background image by drag/drop).
	Fixed bug 346 (Bad icon positions when you change user level).
	Fixed bug 372 (Better icons for common file types).

	* libnautilus/nautilus-background-canvas-group.c:
	(nautilus_background_canvas_group_draw): Got rid of the colormap
	which is not needed now that we use gtk_rgb instead of gtk_color
	calls. Passed in the corner of the canvas as a parameter to
	nautilus_background_draw so it knows where the origin of any
	repeating pattern should be.
	* libnautilus/nautilus-background.h:
	* libnautilus/nautilus-background.c: (nautilus_background_draw):
	Added parameters to determine where the origin of any repeating
	pattern should be. Removed colormap parameter (see above).
	(nautilus_background_draw_flat_box): Passed in origin parameters
	in call to nautilus_background_draw.
	* libnautilus/nautilus-gdk-extensions.h:
	* libnautilus/nautilus-gdk-extensions.c:
	(nautilus_fill_rectangle_with_gradient): Removed colormap
	parameter (see above).
	* libnautilus/nautilus-gdk-pixbuf-extensions.c:
	(nautilus_gdk_pixbuf_render_to_drawable_tiled): Fixed the tiling
	so it will use the dither parameters to set the origin of the
	tiles as well.

	* libnautilus/nautilus-icon-dnd.c: (receive_dropped_tile_image),
	(nautilus_icon_container_receive_dropped_icons): Added code so that
	dropping an image file on the window with the shift key held down
	will customize the background tile image.

	* libnautilus/nautilus-icon-factory.c: (make_full_icon_path),
	(get_themed_icon_file_path): Fixed two bugs that prevented
	MIME-type-based icons from working correctly. First, got rid of
	code that tried to prepend the theme name and "nautilus/" to the
	beginning of a full path. Then made sure that it tries the file
	name without adding a suffix before it starts trying out suffixes.

	* libnautilus/nautilus-icon-grid.c: (nautilus_icon_grid_clear):
	Fixed bug where clearing the grid was resetting the visible width.
	
	* components/sample/Makefile.am:
	* components/services/startup/Makefile.am:
	Turned on -Werror for these two directories.
	* components/sample/nautilus-sample-content-view.h:
	* components/sample/nautilus-sample-content-view.c:
	(nautilus_sample_content_view_destroy), (bonobo_sample_callback):
	Fixed warnings and did some small cleanup.

1204 1205 1206 1207 1208 1209 1210 1211 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 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279
2000-04-04  John Sullivan <sullivan@eazel.com>

	Renaming a file from its Set Properties dialog now works, though
	there are various odds and ends I still need to clean up. 
	It turned out (surprise!) that there was a lot of 
	underpinnings work involved in implementing this feature.
	Fortunately most of it will be shared by rename-in-place.
	
	* libnautilus/nautilus-directory-private.h:
	add #define for METADATA_NODE_NAME_FOR_FILE_NAME
	* libnautilus/nautilus-directory.c:
	(nautilus_directory_get_file_metadata_node): Use 
	METADATA_NODE_NAME_FOR_FILE_NAME #define
	(nautilus_directory_set_file_metadata): Use g_return_val_if_fail
	to prevent callers from changing the file name this way, since
	that wouldn't work right.
	
	* libnautilus/nautilus-file.h:
	* libnautilus/nautilus-file.c:
	(nautilus_file_can_rename): New function, returns TRUE if the
	user has write permission for this file.
	(nautilus_file_rename): New function, uses gnome_vfs_move to
	try to rename the file, updating metadata as appropriate.
	Returns the GnomeVFSResult from gnome_vfs_move.
	
	* libnautilus/nautilus-list.c
	(row_selected): Renamed this formerly private function to
	nautilus_list_is_row_selected and made it check its parameters
	more carefully.
	* libnautilus/nautilus-list.h:
	(nautilus_list_is_row_selected): Made this public.
	
	* src/file-manager/fm-error-reporting.c,
	* src/file-manager/fm-error-reporting.h: New files, home for
	UI code to display user error messages and such. It's initial
	occupant is:
	(fm_report_error_renaming_file): New function, puts up a non-modal
	alert reporting the renaming failure.
	* src/file-manager/Makefile.am: Add these two new files to the build.

	* src/file-manager/fm-directory-view.c:
	(bonobo_menu_open_properties_window_cb): New function, opens a
	Properties window for each selected item using the Bonobo callback API.
	(fm_directory_view_real_merge_menus): Include Set Properties item in
	File menu, and rearrange other items a little.
	(fm_directory_view_real_update_menus): Update sensitivity of Set
	Properties menu item.
	
	* src/file-manager/fm-list-view.c:
	(add_to_list): Return the new row index.
	(fm_list_view_file_changed): Remove and reinsert the changed file; this
	not only does less sorting but also recomputes all the text so name
	changes will be displayed.
	
	* src/file-manager/fm-properties-window.c:
	(get_pixmap_and_mask_for_properties_window),
	(update_properties_window_icon),
	(create_pixmap_widget_for_file),
	(name_field_done_editing),
	(name_field_update),
	(update_properties_window_title),
	(properties_window_file_changed_callback):
	New functions used to wire up the new editable name field
	and new icon pixmap widget in the properties window.
	(create_properties_window): Added notebook tabs, first
	one is Basic and currently contains icon & name; second
	is Emblems and has all those checkboxes. Use all the
	new functions to create and wire up things so that name
	changes & icon changes are propagated and reflected correctly.

	* src/nautilus-bookmarks-window.c:
	(create_bookmarks_window): Removed a bunch of unnecessary
	and leak-causing gtk_widget_refs that I happened to notice
	in here. I left these behind when modifying code originally
	created by glade, where the refs are necessary.

1280 1281 1282 1283 1284
2000-04-04  Andy Hertzfeld <andy@eazel.com>

	* components.services/startup/nautilus-service-startup-view.c:
	more work on the registration and configuration form
	
1285 1286 1287 1288 1289
2000-04-04  Andy Hertzfeld <andy@eazel.com>

	* src/ntl=window-msgs.c:
	fixed bug where it was allocating a uri for a null string by only
	trying the actual_uri if it's non-null
1290
	* components.services/startup/nautilus-service-startup-view.c:
1291 1292
	more work on the registration form
	
1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306
2000-04-03  Andy Hertzfeld <andy@eazel.com>

	more work on the service component
	
	* components.services/startup/nautilus-service-startup-view.h:
	changed it to inherit from eventbox so it can have a background
	* components.services/startup/nautilus-service-startup-view.c:
	restructured code for displaying multiple forms
	made it use a Nautilus background
	added test form, registration form and configuration form placeholders
	added most of configuration form
	* icons/eazel-logo.gif: added Eazel logo image
	* icons/Makefile.am: added Eazel logo to Makefile

1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324
2000-04-03  Andy Hertzfeld <andy@eazel.com>

	added configuration inventory to nascent service component.  This only
	builds if --enable-eazel-services is set
	
	* components/services/startup/Makefile.am:
	added eazel-register.c,h to the build
	* components/services/startup/eazel-register.c,h:
	contains to build an xml file that expresses the hardware and software
	configuration, using the package database and the proc filesystem.
	* components/services/startup/nautilus-service-startup-view.c:
	added a button to generate the configuration inventory file in the
	user's home directory.  This is temporary scaffolding and will be
	replaced soon.
	* src/ntl-uri-map.c:
	made it invoke the service component for uri's starting with "eazel:";
	also, fixed a bug where an uninitialized variable was being freed.
	* nautilus-clean.sh:
1325
	added the rpm view to the list of cleaned components.
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 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389
2000-04-03  Darin Adler  <darin@eazel.com>

	First cut at tiled background images.

	There's no UI for setting them yet, they are only in
	the icon view, and they don't work properly with scrolling yet.

	* libnautilus/Makefile.am:
	* libnautilus/nautilus-gdk-extensions.c:
	* libnautilus/nautilus-gdk-extensions.h:
	* libnautilus/nautilus-gdk-pixbuf-extensions.c:
	* libnautilus/nautilus-gdk-pixbuf-extensions.h:
	Split the GdkPixbuf stuff into its own file.

	* libnautilus/nautilus-background.c:
	(nautilus_background_destroy): Fixed a bunch of leaks
	and added new code to stop pixbuf loading.
	(nautilus_background_draw): Added call to draw tiled
	background image. Converted gradients to use gdk_rgb
	instead of gdk_color.
	(nautilus_background_get_tile_image_uri): Implemented.
	(nautilus_background_set_color): Added short-circuit
	for background image case.
	(load_image_callback),
	(nautilus_background_set_tile_image_uri): Implemented.
	Include code to	load in the tiled image when its URI is set.
	(nautilus_background_receive_dropped_color): Set the
	tile image to NULL when a color is dropped.

	* libnautilus/nautilus-gdk-extensions.c:
	* libnautilus/nautilus-gdk-extensions.h:
	(nautilus_fill_rectangle_with_color),
	(nautilus_fill_rectangle_with_color),
	(nautilus_interpolate_color): Changed from gdk_color
	to gdk_rgb.
	(nautilus_parse_rgb_with_white_default): Added function
	for gdk_rgb similar to what we already have for gdk_color.

	* libnautilus/nautilus-icon-canvas-item.c:
	* libnautilus/nautilus-icon-container.c:
	* libnautilus/nautilus-list.c:
	Use gdk-pixbuf extensions in new location.

	* libnautilus/nautilus-metadata.h:
	Added metadata keys for background images.

	* src/ntl-view.c:
	Added lots of stronger checks for NAUTILUS_IS_VIEW since
	this is where we run into trouble with a bug I ran into.

	* src/file-manager/icon-view.c: Added code to handle
	the new background images.
	(create_icon_container): Keep around the handler ID when
	connecting to the "changed" message of the background so
	we can block the handler as needed.
	(fm_icon_view_begin_loading): Load the background image
	as well as the background color. We need to block the
	background changed signal handler so we don't get
	confused while the color but not the image is set up.
	(fm_icon_view_background_changed_callback): Save the
	background image URI as well as the background color in
	the metadata.

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
2000-04-03  Darin Adler  <darin@eazel.com>

	Fix the build. Changes in GtkHtml and Bonobo required us
	to catch up.

	* libnautilus/ntl-meta-view-frame.h:
	* libnautilus/ntl-meta-view-frame.c:
	Rewrote to use the new property bag. This requires us to
	store our own properties, since the bag no longer provides
	any storage.
	(nautilus_meta_view_frame_initialize): Set up the label.
	(nautilus_meta_view_frame_new_from_bonobo_control): Make it
	actually take a BonoboControl instead of a BonoboObject and
	make it set up the property bag.
	(nautilus_meta_view_destroy): Free the label.
	(autilus_meta_view_frame_set_label): Just set the label.
	The property bag simply uses our stored label.

	* components/html/ntl-web-browser.c (browser_url_load_gone):
	Changed call to match name in new version of GtkHtml.
	Unfortunately, the new name makes it clear the call is
	intended to be private.

	* components/rpmview/.cvsignore: Ignore the actual binary,
	not nautilus-music-view.
	* components/rpmview/Makefile.am: Turned on -Werror.
	* components/music/Makefile.am: Turned on -Werror.
	* components/rpmview/nautilus-rpm-view.c: Fixed warnings.

2000-04-02  Andy Hertzfeld <andy@eazel.com>
1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433

	Added a first cut at a component for viewing rpm packages.
	
	* configure.in: added components/rpmview
	* components/Makefile.am: added rpmview
	* components/rpmview/.cvsignore: new file
	* components/rpmview/Makefile.am: make file for rpm view
	* components/rpmview/main.c: boilerplate factory, main loop for component
	* components/rpmview/nautilus-rpm-view.h: defines for rpm view component
	* components/rpmview/nautilus-rpm-view.goad: goad record for activating rpmview component
	* components/rpmview/nautilus-rpm-view.c: here's the actual code for the component,
	which reads a package with rpm and sets up the fields in the view from the data
	* src/ntl-uri-map.c: modified mapping so rpms get this component added
	
1434
2000-04-01  Ramiro Estrugo  <ramiro@eazel.com>
1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453

	Add a conditionally built skeleton for a startup service.
	
	* configure.in: Properly define EAZEL_SERVICES with an
	AM_CONDITIONAL.  Add new directories components/services
	components/srevices/startup.

	* components/Makefile.am: Recurse into services dir if needed.

	* components/services, components/services/startup: new dirs.

	* components/services/nautilus-service-startup-view.c,
	  components/services/nautilus-service-startup-view.h,
	  components/services/nautilus-service-startup-view.goad,
	  components/services/Makefile.am,
	  components/services/.cvsignore:

	Skeleton code for startup service.
	
1454 1455 1456 1457 1458 1459 1460 1461 1462
2000-03-31  Pavel Cisler  <pavel@eazel.com>

	* libnautilus/nautilus-icon-container.c:
	(motion_nofity_event):
	Disable copy as a drag&drop operation for now. The current
	copy engine doesn't handle conflicts properly yet and can
	erase your files.


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
2000-03-31  Darin Adler  <darin@eazel.com>

	Fixed a bug that Pavel reported where he got a crash in
	nautilus_directory_monitor_files_unref when he pushed the
	"Up" button.

	* libnautilus/nautilus-glib-extensions.c:
	* libnautilus/nautilus-glib-extensions.h:
	(nautilus_g_strv_find): Renamed the existing function
	nautilus_g_strfindv to be more consistent with the rest
	of glib, even though it's less consistent with the other
	strv functions.
	(nautilus_g_list_safe_for_each): Added an alternate
	version of g_list_foreach that works even when the current
	item is removed from the list inside the function.

	* libnautilus/nautilus-gtk-extensions.c:
	(nautilus_gtk_object_list_unref): Use the new safe version
	of g_list_foreach so this works even on lists where the
	objects remove themselves in their destroy/finalize methods.
	This is the change that fixes the bug.

	* src/nautilus-bookmark-list.c:
	(nautilus_bookmark_list_load_file): Replaced some explicit
	code with a call to nautilus_gtk_object_list_free.

	* src/nautilus-index-title.c:
	(nautilus_index_title_update_icon): Fixed a bug that would
	prevent you from viewing the root level. The current version
	of nautilus_file_get returns NULL for the root.

	* src/nautilus-window-menus.c:
	(clear_appended_bookmark_items): Replaced some explicit
	code with a call to nautilus_g_list_free_deep.

	* src/file-manager/fm-icon-text-window.c:
	(synch_menus_with_preference): Updated to use the
	nautilus_g_strv_find call by its new name.

	* libnautilus/nautilus-file.c:
	(nautilus_file_set_keywords): Did some minor tweaks to
	simplify the no-keywords case.

1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 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
2000-03-30  John Sullivan <sullivan@eazel.com>

	Finished task 172 (show icon emblems in list view)

	* libnautilus/nautilus-file.h:
	added NAUTILUS_FILE_SORT_BY_EMBLEMS to enum
	(nautilus_file_get_emblem_names): New function.
	* libnautilus/nautilus-file.c:
	(nautilus_file_get_emblem_names): New function.
	(nautilus_file_compare_by_emblems): New function,
	compares the emblems of two files for sorting.
	(compare_emblem_names): New function, compares two
	emblem names for sorting.
	(nautilus_file_compare_for_sort_internal): handle
	NAUTILUS_FILE_SORT_BY_EMBLEMS case
	(sort_keyword_list_and_remove_duplicates): New function,
	canonicalizes (canonifies? canonizes?) a list of keywords.
	(nautilus_file_get_keywords): canonicalize list after
	reading from file.
	(nautilus_file_set_keywords): canonicalize copy of list
	before storing.

	* libnautilus/nautilus-icon-factory.c:
	(nautilus_icon_factory_get_emblem_icons_for_file): Use
	nautilus_file_get_emblem_names instead of having emblem
	name knowledge here.
	
	* libnautilus/nautilus-list.h: 
	NautilusCellType: new enum, a superset of GtkCellType that
	we use to sneak in new values.
	NautilusCellPixbufList: new struct, our new type of content
	for a list cell.
	(nautilus_list_set_pixbuf_list): New function.
	* libnautilus/nautilus-list.c:
	(nautilus_list_set_cell_contents): New function, handles the
	NAUTILUS_CELL_PIXBUF_LIST case and lets GtkCList continue
	handling the others.
	(nautilus_list_initialize_class): Fill in set_cell_contents
	function pointer with nautilus_list_set_cell_contents.
	(gdk_window_size_as_rectangle): New helper function.
	(draw_cell_pixmap): Removed width & height parameters (now
	calculated internally) and reworked to use GdkRectangle	math.
	(draw_cell_pixbuf): New function, modelled after (new & improved)
	draw_cell_pixmap but draws a gdk_pixbuf directly.
	(draw_row): handle the NAUTILUS_CELL_PIXBUF_LIST case; fix up
	callers to draw_cell_pixmap; use NautilusCellType instead of
	GtkCellType.
	(nautilus_list_set_pixbuf_list): New function, sneaks a list
	of pixbufs into the ugly GtkCell data structure.
	
	* src/file-manager/fm-list-view.c:
	(fm_list_view_reset_row_height): New function, sets the row height
	based on zoom level but with a minimum to avoid clipping emblems.
	(fm_list_view_get_emblem_pixbufs_for_file): create list of
	appropriately-sized emblem images. Size is based on zoom level
	but has a minimum so the emblems don't get illegibly small.
	(install_icons): Rename to install_row_images; handle setting
	the list of emblems into the list widget.
	(create_list): include column for emblems between icon & name;
	set row height only after other widget manipulations.
	(add_to_list), (update_icons): reflect install_icons name change.
	(fm_list_view_file_changed): reflect install_icons name change;
	sort list since changed file might change sort order. (No API
	to resort just one row; I added a comment about that in case
	we want to revisit it someday.)
	(fm_list_view_set_zoom_level): call fm_list_view_reset_row_height.
	(get_attribute_from_column), (get_column_from_attribute),
	(sort_criterion_from_column): handle LIST_VIEW_COLUMN_EMBLEMS

1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618
2000-03-30  Darin Adler  <darin@eazel.com>

	Finished task 62 (Set custom icon by drag/drop on index panel)
	and fixed some problems from my earlier check-ins today.

	* libnautilus/nautilus-directory.c:
	(nautilus_directory_monitor_files_ref):
	Fixed a bad assert from my last check-in.

	* src/file-manager/fm-list-view.c: (add_to_list):
	The list view had the same missing ref that I fixed for icon
	view in my last check-in.
	
	* src/nautilus-index-title.c: (release_file),
	(nautilus_index_title_destroy),
	(nautilus_index_title_update_icon),
	(nautilus_index_title_update_label),
	(nautilus_index_title_update_info),
	(nautilus_index_title_set_uri): Changed to hold around the
	NautilusFile object and connect to its "changed" message to update
	the file information. This causes the icon to get updated right
	away when the custom icon is changed.

	* libnautilus/nautilus-directory-private.h:
	* libnautilus/nautilus-directory.c:
	* libnautilus/nautilus-file-private.h:
	* libnautilus/nautilus-file.c:
	* libnautilus/nautilus-file.h:
	Converted NautilusFile to be a GtkObject instead of a plain struct,
	so it can have a "changed" signal. We still recommend using the
	"files_changed" signal on the directory to avoid the overhead
	of a signal connection for each file.

	* libnautilus/nautilus-gtk-extensions.c:
	* libnautilus/nautilus-gtk-extensions.h:
	(nautilus_gtk_object_list_ref), (nautilus_gtk_object_list_unref),
	(nautilus_gtk_object_list_free): Added some functions to be used
	with a list of GtkObjects.

	* libnautilus/nautilus-icon-factory.c:
	(nautilus_icon_factory_get_icon_name_for_file):
	Had to change the name of nautilus_file_get_type to avoid conflict
	with the GtkObject standard get_type routine.

1619 1620 1621 1622 1623 1624 1625 1626 1627 1628
2000-03-30  Darin Adler  <darin@eazel.com>

	* src/file-manager/fm-icon-view.c: (add_icon_if_already_positioned),
	(add_icon_at_free_position): Added missing ref that caused very bad
	things to happen now that the file ref. counts are working.

	* components/music/nautilus-music-view.c:
	Did a bunch of cleanup and fixed some memory trashing bugs where
	the result of g_basename was passed to g_free.

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
2000-03-30  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-directory.c:
	* libnautilus/nautilus-directory.h:
	(nautilus_directory_ref), (nautilus_directory_unref):
	Added convenience functions so people don't have to be constantly
	reminded that a NautilusDirectory is a a GtkObject.

	* libnautilus/nautilus-directory.c: (nautilus_directory_destroy):
	Fixed a problem where the pending files callback might fire after
	the NautilusDirectory is gone.
	
	* libnautilus/nautilus-directory.c:
	(nautilus_directory_destroy),
	(nautilus_directory_monitor_files_ref),
	(nautilus_directory_monitor_files_unref),
	(dequeue_pending_idle_callback), (nautilus_directory_new_file):
	* libnautilus/nautilus-file-private.h:
	* libnautilus/nautilus-file.c:
	(nautilus_file_get), (nautilus_file_ref), (nautilus_file_unref),
	(nautilus_file_free), (nautilus_file_delete):
	To prepare for changing NautilusFile to a GtkObject, made it use
	ref counts in a way that is standard. Now the directory keeps a
	list of the files, but only keeps a ref to the files if it is
	monitoring them.

	* src/file-manager/fm-directory-view.c: Tiny formatting tweak.

1657 1658 1659 1660 1661 1662 1663 1664 1665
2000-03-30  Andy Hertzfeld <andy@eazel.com>

	* libnautilus/nautilus-icon-container.c:
	make the icon selection rectangle have a semi-transparent light blue
	fill color.
	* libnautilus/nautilus-icon-canvas-item.c:
	tweaked the selection darkening to be a little bit lighter.
	
2000-03-30  Pavel Cisler  <pavel@eazel.com>
1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691

	More copy/move operations. Fixes a problem I introduced earlier where
	drop onto a file would lock up Nautilus.
	
	* libnautilus/nautilus-gtk-extensions.c:
	* libnautilus/nautilus-gtk-extensions.h:
	(nautilus_gtk_marshal_NONE__POINTER_POINTER_POINTER_INT_INT_INT):
	Add more binder glue that I needed.

	* libnautilus/nautilus-icon-container.c:
	(motion_notify_event):
	Enable move/copy modes during drag/drop.

	* libnautilus/nautilus-icon-container.c:
	* libnautilus/nautilus-icon-container.h:
	* libnautilus/nautilus-icon-dnd.c:
	* src/file-manager/fm-directory-view.c:
	* src/file-manager/fm-directory-view.h:
	(move_copy_items):
	Pass in a list of point offsets to allow placing new item in
	the right relative position.

	* src/file-manager/fm-directory-view.c:
	(xfer_callback):
	Don't loop forever during a conflict.

1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714
2000-03-30  Maciej Stachowiak  <mjs@eazel.com>

	* components/sample/main.c (sample_make_object): Connect to the
	"destroy" signal of the view_frame rather than the sample content
	view object, to avoid a race condition where we might exit before
	the view_frame is fully unreffed and has a chance to clean up.
	components/sample/nautilus-sample-content-view.c
	(nautilus_sample_content_view_destroy): Unref the
	NautilusViewFrame when we are destroyed.

	* libnautilus/nautilus-zoomable.c, libnautilus/ntl-view-frame.c,
	libnautilus/ntl-content-view-frame.c,
	libnautilus/ntl-meta-view-frame.c: Use boilerplate macros for
	get_type method and to invoke parent destroy method.

	* libnautilus/nautilus-zoomable.c, libnautilus/ntl-view-frame.c:
	Unref the interface we query_local_interface for, to avoid holding
	a superfluous ref to ourselves, since we eventually add_interface
	that interface.

	* src/ntl-view.c (nautilus_view_destroy_client): Use
	bonobo_object_unref instead of bonobo_object_destroy.

1715 1716 1717
2000-03-29  Andy Hertzfeld <andy@eazel.com>

	* src/nautilus-index-tabs.c:
1718 1719
	fixed bug #312, index tabs don't resize properly,
	by overriding size_allocate, to fix up the
1720 1721
	height appropriately when the size changes
	
1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759
2000-03-28  Pavel Cisler  <pavel@eazel.com>

	Started on copy/move operations

	* libnautilus/nautilus-icon-dnd.c:
	(nautilus_icon_container_item_at), (get_container_uri),
	(nautilus_icon_container_selection_items_local),
	(nautilus_icon_canvas_item_can_accept_item),
	(nautilus_icon_canvas_item_can_accept_items),
	(nautilus_icon_container_receive_dropped_icons):
	Handle drops by starting a move operation. Add new calls that
	help determine the drop target.

	* src/file-manager/fm-directory-view.c:
	* src/file-manager/fm-directory-view.h:
	(xfer_callback), (fm_directory_view_move_copy_items):
	Initial version of calls that start the gnome-vfs-xfer job.

	* src/file-manager/fm-directory-view.c:
	* src/file-manager/fm-directory-view.h:
	(fm_directory_view_get_container_uri):
	Added new call needed to determine type of move operation.

	* src/file-manager/fm-icon-view.c:
	* src/file-manager/fm-icon-view.h:
	Connect "move_copy_items" and "get_container_uri" signals
	with new calls in FMDirectoryView.
	
	* nautilus-gtk-extensions.c
	* nautilus-gtk-extensions.h
	(nautilus_gtk_marshal_NONE__POINTER_POINTER_INT_INT_INT),
	(nautilus_gtk_marshal_NONE__POINTER_INT_INT_DOUBLE_DOUBLE):
	Add new binder glue that I needed for new signal calls.

	* libnautilus/nautilus-icon-container.c:
	* libnautilus/nautilus-icon-container.h:
	Add new signals "move_copy_items" and "get_container_uri".
	
1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810
2000-03-28  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-background.h:
	* libnautilus/nautilus-background.c:
	Preparing for support for background images.

	* libnautilus/nautilus-background.c:
	* libnautilus/nautilus-debug.c:
	* libnautilus/nautilus-icon-canvas-item.c:
	* libnautilus/nautilus-icon-dnd.c:
	Add those braces that Maciej, John, and the style guide all prefer.

	* libnautilus/nautilus-file.c: (nautilus_file_set_metadata):
	A change to metadata is considered a change to the file.

	* libnautilus/nautilus-graphic-effects.c:
	* libnautilus/nautilus-graphic-effects.h:
	Added nautilus_ prefix to all the functions in here.

	* libnautilus/nautilus-gtk-extensions.c:
	* libnautilus/nautilus-gtk-extensions.h:
	(nautilus_point_in_allocation),	(nautilus_point_in_widget):
	Added hit testing help functions that check if a point is
	in a particular allocation/widget.

	* libnautilus/nautilus-icon-dnd.c: (get_gnome_icon_list_selection):
	Fixed a bug that happens when you get a 0-length piece of
	selection data.

	* libnautilus/nautilus-icon-dnd.h:
	Changed the icon list back to "x-gnome-icon-list".
	That's how the other GNOME folks want it, not "x-nautilus-icon-list".

	* src/nautilus-index-tabs.c:
	* src/nautilus-index-tabs.h:
	* src/nautilus-index-title.c:
	* src/nautilus-index-title.h:
	* src/ntl-index-panel.c:
	* src/ntl-index-panel.h:
	lite -> light, Other cleanup.

	* src/nautilus-index-title.c:
	* src/nautilus-index-title.h:
	(nautilus_index_title_hit_test_icon):
	* src/ntl-index-panel.c:
	(hit_test), (uri_is_local_image), (receive_dropped_uri_list),
	(receive_dropped_color):
	Added code needed to support dropping an image on the icon to set
	a custom icon. This doesn't yet update the icon in the panel itself,
	but I'll do that soon.

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

	Maciej, Darin and I discussed the notify_title_change
	design and decided that we didn't need it now and that
	we should keep the API simpler by removing it, along
	with the initial_title parameter I added to
	notify_location_change. So out they come.

	* components/help/hyperbola-nav-tree.c,
	* components/history/ntl-history-view.c,
	* components/html/ntl-web-browser.c,
	* components/music/nautilus-music-view.c,
	* components/notes/ntl-notes.c,
	* components/sample/nautilus-sample-content-view.c,
	* components/websearch/ntl-web-search.c,
	* idl/nautilus.idl,
	* libnautilus/ntl-view-frame.c,
	* libnautilus/ntl-view-frame.h,
	* src/ntl-view-bonobo-control.c,
	* src/ntl-view-bonobo-subdoc.c,
	* src/ntl-view-nautilus.c,
	* src/ntl-view-private.h,
	* src/ntl-view.c,
	* src/ntl-view.h,
	* src/ntl-window-msgs.c,
	* src/file-manager/fm-directory-view.c: Removed notify_title_change
	and the initial_title parameter to notify_location_change wherever
	they reared their ugly heads.

1840 1841 1842 1843 1844 1845
2000-03-28  John Sullivan <sullivan@eazel.com>

	* libnautilus/nautilus-icon-container.c:
	(keyboard_move_to): The behavior of the Control key got
	accidentally reversed in a recent cleanup.

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
2000-03-28  Ramiro Estrugo  <ramiro@eazel.com>

	Cleanup NautilusPreferences a bit in preparation for api revamp
	to support implicitly registered preferences.

	* nautilus-widgets/nautilus-preferences.c,
	  nautilus-widgets/nautilus-preferences.h: Rename hash table node
	structures from "PrefHashInfo" to "PrefHashNode".  Remove some
	unused and crufty code.  Add a bunch of comments describing 
	structures and functions.  Remove prefs_check_supported_type()
	which was leftover from when I tried to use GtkType instead of 
	defining an enum of supported types.  Also, rename
	nautilus_preferences_get_pref_info to nautilus_preferences_get_info.

	* nautilus-widgets/nautilus-preferences-item.c,
	  nautilus-widgets/nautilus-preferences-item.h: Add enum
	NautilusPreferencesItemType to enumerate the types of pereferences
	that have a corresponding UI.  Since there can be preferences that
	are not exposed in the UI, this is different than NautilusPreferencesType.
	(preferences_item_construct): Use newly renamed function
	nautilus_preferences_get_info.  Also remove the dummy
	NAUTILUS_PREFENCES_STRING case statement, since
	NautilusPrefernecesItem now has its own type enumeration
	independant of NautilusPreferences.
	
1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894
2000-03-28  John Sullivan <sullivan@eazel.com>

	Followup to last night's checkin; I forgot to add the
	initial_title parameter to a notify_location_change
	signal and all its signal handlers.
	
	* libnautilus/ntl-view-frame.c:
	(impl_Nautilus_View_notify_location_change): Add
	initial_title parameter, pass it along when emitting
	signal.

	* components/help/hyperbola-nav-tree.c,
	* components/history/ntl-history-view.c,
	* components/html/ntl-web-browser.c,
	* components/music/nautilus-music-view.c,
	* components/notes/ntl-notes.c,
	* components/sample/nautilus-sample-content-view.c,
	* components/websearch/ntl-web-search.c,
	* src/file-manager/fm-directory-view.c:
	Added initial_title parameter to notify_location_change
	signal handlers.

	* src/ntl-view-nautilus.c: Removed a stray g_message.

1895 1896 1897 1898 1899
2000-03-27  Andy Hertzfeld <andy@eazel.com>

	* icons/eazel/i-directory-24.png:
	fixed bug #9, folder too small, by replacing the icon with one that's the proper size
	
1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 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 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056
2000-03-27  John Sullivan <sullivan@eazel.com>

	Made web page titles be used for the window title,
	the index panel location name, and the menu item in
	the Go menu (which is then used for the Bookmarks menu
	too). This required lots of underpinnings work. Now any
	content view (not just the web browser) can express its
	opinion on what title for the current location should be
	displayed to the user.

	* idl/nautilus.idl: added View:notify_title_change; added
	initial_title parameter to View:notify_location_change;
	reordered functions in View to better group related items;
	added ContentViewFrame:request_title_change.

	* libnautilus/nautilus-view-frame-private.h: New file,
	holds a struct and a function shared by NautilusViewFrame
	and (now) NautilusContentViewFrame.

	* libnautilus/ntl-view-frame.h: Reordered functions to
	match idl (just for clarity); also added (notify_title_change).
	* libnautilus/ntl-view-frame.c: Moved _NautilusViewFramePrivate
	struct to new private .h file, added (notify_title_change);
	reordered function pointers in epv to match idl.
	(nautilus_view_frame_class_init): Set up signal for
	notify_title_change.
	(nautilus_view_frame_ensure_view_frame): No longer static since
	it's in new private .h file.

	* libnautilus/ntl-content-view-frame.h,
	* libnautilus/ntl-content-view-frame.c:
	(nautilus_content_view_frame_request_title_change):
	New function that a content view calls on its frame
	when it has an opinion about what the user-displayable
	title for the current location should be.

	* libnautilus/nautilus-bookmark.c,
	* libnautilus/nautilus-bookmark.h:
	(nautilus_bookmark_set_name): New function to change the name of
	an existing bookmark.

	* src/ntl-view-private.h: Moved definition of impl_POA_Nautilus_ViewFrame
	here so it can be shared by NautilusContentView; reordered functions in
	_NautilusViewComponentType to match idl and included notify_title_change.
	* src/ntl-view-frame-svr.c: Moved definition of impl_POA_Nautilus_ViewFrame
	out of here.
	* src/ntl-view.h,
	* src/ntl-view.c:
	(nautilus_view_notify_location_change): Added initial_title parameter.
	(nautilus_view_notify_title_change): New function.
	* src/ntl-view-nautilus.c:
	(nv_notify_location_change): Added initial_title parameter.
	(nv_notify_title_change): New function.
	nautilus_view_component_type: reordered function pointers to
	match idl, and added new one for notify_title_change.
	* src/ntl-view-bonobo-control.c:
	(bonobo_control_notify_location_change): Added initial_title parameter.
	bonobo_control_component_type: reordered function pointers to match idl
	and added notify_title_change.
	* src/ntl-view-bonobo-subdoc.c
	(bonobo_subdoc_notify_location_change): Added initial_title parameter.
	bonobo_subdoc_component_type: reordered function pointers to match idl
	and added notify_title_change.

	* src/nautilus-bookmark-list.c:
	(destroy_bookmark): Removed this function.
	(nautilus_bookmark_list_delete_item_at): unref where it was destroying.
	(nautilus_list_load_file): use gtk_object_unref as foreach function
	instead of destroy_bookmark.
	
	* src/nautilus-index-title.h,
	* src/nautilus-index-title.c:
	new field _NautilusIndexTitleDetails->requested_text.
	(nautilus_index_title_set_uri): Added initial_text parameter;
	store initial_text in requested_text field after freeing old value.
	(nautilus_index_panel_set_text): New function, passes new text to
	nautilus_index_title_set_up_label.
	(nautilus_index_title_finalize): free requested_text.
	(nautilus_index_title_set_up_label):
	Use requested_text instead of extracting short name of URI here.
	* src/ntl-index-panel.h,
	* src/ntl-index-panel.c:
	(nautilus_index_panel_set_uri): Added initial_title parameter.
	(nautilus_index_panel_set_title): New function, called if the title
	changes later on; pass new_title on to nautilus_index_title_set_text.
	(nautilus_index_panel_set_up_info): Added initial_title parameter;
	pass initial_title on to nautilus_index_title_set_uri.
	
	* src/ntl-content-view.h: Redid object & class struct definitions
	to match others; added request_title_change signal definition.
	* src/ntl-content-view.c:
	added function pointer for request_title_change to epv;
	added signal-definining enum & array;
	(impl_Nautilus_ContentViewFrame_request_title_change): New function.
	(nautilus_content_view_class_init): Define "request_title_change" signal.
	(nautilus_content_view_request_title_change): New function, emits signal.
		
	* src/ntl-window.h: New fields for requested_title, default_title,
	current_location_bookmark, last_location_bookmark.
	* src/ntl-window.c:
	(nautilus_send_history_list_changed): New convenience routine to
	emit "history_list_changed" signal since it's emitted in more than
	one place now.
	(nautilus_add_to_history_list): Change parameter from a const char *
	to a NautilusBookmark; call nautilus_send_history_list_changed.
	(nautilus_window_request_title_change_callback): New function, calls
	nautilus_window_request_title_change.
	(nautilus_window_connect_view): Just variable renaming & reformatting.
	(nautilus_window_connect_content_view): New function, calls
	nautilus_window_connect_view then connects to "request_title_change: signal
	also.
	* src/ntl-window-private.h:
	(nautilus_window_connect_content_view): New prototype.
	(nautilus_send_history_list): New prototype.
	(nautilus_add_to_history_list): Change parameter from const char * 
	to NautilusBookmark *
	* src/ntl-window-msgs.h: 
	(nautilus_window_request_title_change): prototype for new function.
	* src/ntl-window-msgs.c: 
	(nautilus_window_refresh_title): Removed.
	(compute_default_title), (nautilus_window_get_current_location_title),
	(nautilus_window_update_title_internal), 
	(nautilus_window_reset_title_internal), 
	(nautilus_window_request_title_change): New functions having to do with
	passing around the title-change request. Note that there's an unresolved
	problem where calling nautilus_view_notify_title_change here doesn't work
	properly for metaviews. There's a comment in the code and I'll write up
	a bug report also. There are currently no metaviews that care.
	(nautilus_window_update_internals): Use window->last_location_bookmark
	instead of creating a new bookmark for back/forward lists (this means the
	back/forward menus will respect any title change requests); remove one
	of the two identical calls to nautilus_index_panel_set_uri; modify the
	other one to pass current location title.
	(nautilus_window_update_view): Pass current title to
	nautilus_view_notify_location_change.
	(nautilus_window_load_content_view): 
	Call nautilus_window_connect_content_view instead of 	
	nautilus_window_connect_view.
	(nautilus_window_update_state): Call nautilus_window_reset_title_internal
	at two spots where the location is changing.
	* src/nautilus-window-menus.c:
	(nautilus_window_add_bookmark_for_current_location): Use
	window->current_location_bookmark instead of creating a new one
	to take advantage of any requested title changes.	

	* components/html/ntl-web-browser.c:
	(browser_title_changed): New function, calls 
	nautilus_content_view_frame_request_title_change.
	(make_obj): Connect browser_title_changed to "title_changed" signal
	of gtkhtml widget.

	Fixed bug 353 (Removing all bookmark items from window can lead to crash)

	* src/nautilus-bookmarks-window.c: (on_remove_button_clicked):
	If we removed the last item, explicitly call repopulate since
	no callback handles that case.

2057 2058 2059 2060 2061 2062 2063
2000-03-27  Andy Hertzfeld <andy@eazel.com>

	* libnautilus/nautilus-icon-canvas-item.c:
	changed the logic in nautilus_icon_canvas_item_draw to treat
	pre-lighting and selection darkening independently, so both properties
	will be visually reflected.
	
2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083
2000-03-27  Andy Hertzfeld <andy@eazel.com>

	Changed how selection emboldening works.  The problem was that using
	a bold font changed the text layout, making words jump from line to
	line when an icon was selected.  The new approach doesn't use a bold
	font; instead it just draws it an extra time, offset by a pixel
	
	* libnautilus/nautilus-icon-canvas-item.c:
	embolden by drawing twice instead of using a bold font; also, removed
	the "hilight_font" stuff
	* libnautilus/nautilus-icon-private.h:
	removed the hilite_font field
	* libnautilus/nautilus-icon-container.h:
	removed the highlight font stuff
	* libnautilus/nautilus-graphic-effects.c,h:
	cleaned up by using a common routine to make the destination pixbuf;
	fixed bug in create_darkened_pixbuf by using separate counts for source
	and destination rowstride;
	added a "create_colorized_pixbuf" routine
	
2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099
2000-03-26  Ramiro Estrugo  <ramiro@eazel.com>

	Removed the ETTORE user level easter egg and bullet proofed the 
	stuff that uses user levels a bit.

	* libnautilus/nautilus-global-preferences.c,
	  libnautilus/nautilus-global-preferences.h: Remove references to 
	  NAUTILUS_USER_LEVEL_ETTORE.

	* src/ntl-window-state.c: Removed switch handling of ETTORE user 
	  level and added a default case for the unlikely (but poissible) 
	  event when the ~/.gnome/nautilus preferences file contains bogus
	  values for the user_level enumeration.

	* src/file-manager/fm-directory-view.c: Same as above.
	
2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112
2000-03-25  Andy Hertzfeld <andy@eazel.com>

	Improved selection highlighting.
	
	* libnautilus/nautilus-graphic-effects.c,h:
	added create_darkened_pixbuf routine based on one in panel
	* libnautilus/icon-private.h:
	added field for highlight_font
	* libnautilus/icon-container.c:
	loads and maintain highlight font
	* libnautilus/icon-canvas-item:
	if item is selected, darken the icon and use the highlight font
	
2113 2114 2115 2116 2117 2118 2119
2000-03-24  Darin Adler  <darin@eazel.com>

	Fixed bug 337 (Crash on userlevel change).
	
	* src/file-manager/fm-directory-view.c (user_level_changed_callback):
	Fixed incorrect assert.

2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137
2000-03-24  Andy Hertzfeld <andy@eazel.com>

	moved pixbuf special effect routines into libnautilus, to prepare for
	adding selection hilighting and others
	
	* libnautilus/nautilus-graphic-effects.h:
	header file for pixbuf graphic effects routines
	* libnautilus/nautilus-graphic-effects.c:
	moved create_spotlight_pixbuf and make_semi_transparent here,
	fixed bug in create_spotlight_pixbuf by using separate rowstride for
	the src and dst like Darin did for make_semi_transparent
	* libnautilus/Makefile.am:
	added nautilus-graphic-effects.c & .h
	* libnautilus/nautilus-icon-canvas-item.c:
	removed create_spotlight_pixbuf routine
	* libnautilus/nautilus-icon-dnd.c:
	removed make_semi_transparent routine
	
2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167
2000-03-23  John Sullivan  <sullivan@eazel.com>

	Put sample merged menu item and merged toolbar item
	into sample component.

	* components/sample/nautilus_sample_content_view.c:
	(sample_notify_location_change_cb): Changed name to
	sample_notify_location_change_callback and changed
	parameter name "view" to "view_frame" and "sample"
	to "view" to match other uses; added assert that
	view's view_frame is the same as parameter view_frame.
	(nautilus_sample_content_view_initialize): Added signal
	connection for bonobo control activation.
	(nautilus_sample_content_view_load_uri): Made the displayed
	text include an explanatory sentence in addition to the uri,
	so Nautilus users will be more likely to understand what this
	thing is.
	(bonobo_sample_callback): New function, changes the sentence
	displayed with the uri based on callback caller (menu item or
	toolbar button).
	(sample_merge_bonobo_items_callback): New function, creates one
	sample merged menu item and one sample merged toolbar button,
	whose callback functions are both bonobo_sample_callback.

	* src/file-manager/fm-directory-view.c:
	(bonobo_control_activate_cb): Removed never-called "state == FALSE"
	case, added comment.
	(fm_directory_view_real_merge_menus): Removed #if 0'ed sample
	toolbar button, now that there's one in the sample component.

2168 2169 2170 2171 2172 2173 2174 2175 2176 2177
2000-03-23  John Sullivan  <sullivan@eazel.com>

	* src/file-manager/fm-directory-view.c:
	(fm_directory_view_real_merge_menus): Put in a commented-out
	sample merged toolbar button, as a starting point for the
	ones we plan to implement later.

	* src/ntl-window-msgs.c: (nautilus_window_set_state_info):
	Put an #ifdef EXTREME_DEBUGGING around "Doing sync - action tag"

2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204
2000-03-23  Darin Adler  <darin@eazel.com>

	Fixed bug 336 (merged menu items don't go away when component
	is swapped out).
	
	* src/file-manager/fm-directory-view.c: (fm_directory_view_destroy):
	While debugging, I noticed that the view_frame was allocated by the
	FMDirectoryView and never unref'd. The exact connection of this to
	why the widgets don't go away is now lost in time. We added a call
	to bonobo_object_unref to get rid of the view frame.

	* src/ntl-window.h, src/ntl-window.c, src/ntl-window-msgs.c:
	(Nautilus_NavigationInfo_free): Got rid of this routine. It turns
	out that this was an incorrect hack to work around the error in
	the surrounding code that was copying CORBA object references
	without calling	CORBA_Object_duplicate.
	(nautilus_window_destroy), (nautilus_window_request_selection_change):
	Changed code that was calling Nautilus_NavigationInfo_free to just
	call CORBA_free now that the incorrect hack is not needed.
	(nautilus_window_request_selection_change),
	(nautilus_window_update_view), 
	(nautilus_window_update_internals),
	(nautilus_window_load_content_view): Changed all code that was
	manipulating content_view to use CORBA_Object_duplicate when
	storing a reference and CORBA_Object_release when overwriting
	a reference.

2205 2206
2000-03-22  Darin Adler  <darin@eazel.com>

2207
	Fixed bug 334 (Need proper hit detection when hit-testing icons)
2208 2209 2210 2211 2212 2213 2214

	* libnautilus/nautilus-icon-canvas-item.c: (hit_test_pixbuf):
	Fixed a typo-type error where we were checking every pixel of the
	pixbuf instead of only the pixels that we were hit testing against.

	* libnautilus/nautilus-icon-container.c: Tweaks.

2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242
2000-03-22  John Sullivan  <sullivan@eazel.com>

	Fixed bug 308 (Straighten out the new_window situation
	in Nautilus_NavigationRequestInfo)

	Nautilus_NavigationRequestInfo was passing around a trio
	of tri-state values where one boolean would do. Now it
	passes around one boolean.

	* idl/nautilus.idl: Eliminated enum TruthValue,
	replaced NavigationRequestInfo's new_window_default, 
	new_window_suggested, and new_window_enforced with boolean 
	new_window_requested.
	
	* components/help/hyperbola-nav-index.c: (hyperbola_navigation_index_select_row), 
	* components/help/hyperbola-nav-search.c: (hyperbola_navigation_search_select_row),
	* components/help/hyperbola-nav-tree.c: (hyperbola_navigation_tree_select_row), 
	* components/history/ntl-history-view.c:
	* components/websearch/ntl-web-search.c:
	* src/nautilus-window-toolbars.c:
	* src/ntl-window-msgs.c:
	* src/ntl-window.c:
	* src/file-manager/fm-directory-view.c:
	Simplified all users of Nautilus_NavigationRequestInfo to match.

	* components/music/main.c: Added a #include to kill 
	warning about gnome_vfs_init being undefined.

2243 2244 2245 2246 2247 2248 2249
2000-03-21  John Sullivan  <sullivan@eazel.com>

	Fixed bug 335 (Menus incorrect after keyboard navigation)

	* libnautilus/nautilus-icon-container.c: (keyboard_move_to):
	Emit SELECTION_CHANGED signal after changing selection.

2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290
2000-03-21  John Sullivan  <sullivan@eazel.com>

	Fixed bug 203 (preserve back/forward chain when using
	back/forward menus).

	* src/ntl-window.h: added enum NautilusLocationChangeType.
	Removed window fields is_back and is_reload. Added window
	fields location_change_type and location_change_distance.

	* src/ntl-window-private.h:
	(nautilus_window_back_or_forward): Exposed this function.
	(nautilus_window_change_location): Changed name to
	nautilus_window_begin_location_change and replaced is_back
	and is_forward parameters with type & distance.
	(nautilus_window_end_location_change): Removed this prototype
	that had no implementation.

	* src/ntl-window-msgs.c:
	(nautilus_window_update_internals): Rewrote to use
	location_change_type and location_change_index.
	(nautilus_window_change_location): Changed name to
	nautilus_window_begin_location_change and replaced is_back
	and is_forward parameters with type & distance.
	(nautilus_window_request_location_change): Updated caller of
	nautilus_window-change_location.
	(nautilus_window_change_location_2): Renamed to
	nautilus_window_end_location_change_callback for clarity; removed
	useless assignment to window->is_back.
	(view_menu_switch_views_cb): Removed useless assignments of
	window->is_back and window->is_reload.
	(nautilus_window_update_state): Removed is_back from a debug message.

	* src/ntl-window.c: 
	(nautilus_window_back_or_forward): Added distance parameter; 
	call nautilus_window_begin_location_change properly.
	(nautilus_window_back_cb), (nautilus_window_forward_cb):
	Pass distance of 0 to nautilus_window_back_or_forward.

	* src/nautilus-window-toolbars.c: (activate_back_or_forward_menu_item):
	call newly-exposed nautilus_window_back_or_forward.

2291 2292 2293 2294 2295 2296 2297 2298 2299
2000-03-21  Pavel Cisler  <pavel@eazel.com>

	* libnautilus/nautilus-icon-container.c
	(motion_notify_event):
	Fixed an annoying bug that would sometimes cause the drag&drop feedback
	to come up delayed. Turned out to be a silly mistake in the drag
	snap resistance test that caused the snap resistance to be infinite when
	you dragged near-horizontaly or near-vertically.

2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347
2000-03-21  Darin Adler  <darin@eazel.com>

	Did some of the items from RENAMING.

	* libnautilus/Makefile.am:
	* libnautilus/gnome-icon-container-dnd.c:
	* libnautilus/gnome-icon-container-dnd.h:
	* libnautilus/gnome-icon-container-grid.c:
	* libnautilus/gnome-icon-container-grid.h:
	* libnautilus/gnome-icon-container-private.h:
	* libnautilus/gnome-icon-container.c:
	* libnautilus/gnome-icon-container.h:
	* libnautilus/gtkflist.c:
	* libnautilus/gtkflist.h:
	* libnautilus/nautilus-icon-canvas-item.c:
	* libnautilus/nautilus-icon-canvas-item.h:
	* libnautilus/nautilus-icon-container.c:
	* libnautilus/nautilus-icon-container.h:
	* libnautilus/nautilus-icon-dnd.c:
	* libnautilus/nautilus-icon-dnd.h:
	* libnautilus/nautilus-icon-grid.c:
	* libnautilus/nautilus-icon-grid.h:
	* libnautilus/nautilus-icon-private.h:
	* libnautilus/nautilus-icons-view-icon-item.c:
	* libnautilus/nautilus-icons-view-icon-item.h:
	* libnautilus/nautilus-lib-self-check-functions.h:
	* libnautilus/nautilus-list-column-title.c:
	* libnautilus/nautilus-list.c:
	* libnautilus/nautilus-list.h:
	* src/file-manager/Makefile.am:
	* src/file-manager/fm-directory-view-icons.c:
	* src/file-manager/fm-directory-view-icons.h:
	* src/file-manager/fm-directory-view-list.c:
	* src/file-manager/fm-directory-view-list.h:
	* src/file-manager/fm-icon-view.c:
	* src/file-manager/fm-icon-view.h:
	* src/file-manager/fm-list-view.c:
	* src/file-manager/fm-list-view.h:
	* src/ntl-app.c:
	Did these RENAMING entries:
	  FMDirectoryViewIcons -> FMIconView
	  FMDirectoryViewList  -> FMListView
	  GnomeIconContainer -> NautilusIconContainer
	  GnomeIconContainerIcon -> NautilusIcon
	  NautilusIconsViewIconItem -> NautilusIconCanvasItem

	* RENAMING: Marked the renaming done.

2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381
2000-03-21  Darin Adler  <darin@eazel.com>

	Fixed arrow keys and worked on the icon grid.
	Fixes bugs #314, #324, and #325.

	* components/help/hyperbola.goad:
	Corrected repo_ids -> repo_id, reported by Richard Hult.

	* src/nautilus.goad:
	Added missing = character, reported by Richard Hult.

	* libnautilus/gnome-icon-container-grid.c:
	* libnautilus/gnome-icon-container-grid.h:
	* libnautilus/gnome-icon-container.c:
	* libnautilus/gnome-icon-container-private.h:
	Made the icon grid handle negative coordinates.
	Removed most of the icon grid code.
	Reimplemented the arrow keys. They should work again.

	* libnautilus/nautilus-gnome-extensions.c:
	* libnautilus/nautilus-gnome-extensions.h:
	(nautilus_art_irect_contains_irect):
	Added another helper function.

	* libnautilus/nautilus-icons-view-icon-item.c:
	
	* libnautilus/nautilus-icons-view-icon-item.h:
	* libnautilus/gnome-icon-container.c:
	* libnautilus/gnome-icon-container-private.h:
	Added user data to each canvas item and got rid of the hash table
	that maps canvas items to icons.

	* RENAMING: Tweaks.

2382 2383 2384 2385 2386 2387 2388
2000-03-20  Pavel Cisler  <pavel@eazel.com>

	* libnautilus/nautilus-list-column-title.c
	(nautilus_list_column_title_paint):
	Center the sort order indicators inside a title better. Make the column 
	title label spacing more like the old CtkCList.

2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408
2000-03-20  Pavel Cisler  <pavel@eazel.com>

	* libnautilus/nautilus-list-column-title.c
	(nautilus_list_column_title_paint), (nautilus_list_column_title_draw),
	(nautilus_list_column_title_buffered_draw),
	(nautilus_list_column_title_expose):
	Use an offscreen bitmap to draw the column title during column resizing
	and column prelighting.

	* libnautilus/nautilus-list-column-title.c
	(nautilus_list_column_title_finalize):
	Clean up properly - destroy a gc used to blit the sort order indicators
	
	* libnautilus/gtkflist.c
	* libnautilus/nautilus-list-column-title.c
	(gtk_flist_track_new_column_width),
	(nautilus_list_column_title_motion):
	Remove the column title update from the flist, have the mouse tracking 
	routine in the list column title take care of it.
	
Darin Adler's avatar
Darin Adler committed
2409 2410
2000-03-17  Darin Adler  <darin@eazel.com>

2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429
	Fixed the "tall line of icons" bug.

	* libnautilus/gnome-icon-container-grid.h:
	* libnautilus/gnome-icon-container-grid.c:
	* libnautilus/gnome-icon-container.c:
	Rewrote the routines to not have a separate concept of the
	actual grid height and the allocated grid height. Most important
	change was to update the first_free variables when resizing.

	* src/file-manager/fm-directory-view-icons.h:
	* src/file-manager/fm-directory-view-icons.c:
	(fm_directory_view_icons_line_up_icons):
	Removed the unused line_up_icons call. This feature will return,
	but for now it's just a waste of space.

2000-03-17  Darin Adler  <darin@eazel.com>

	Fixed the "rubberband does not work" bug.

Darin Adler's avatar
Darin Adler committed
2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464
	* libnautilus/gnome-icon-container-grid.h:
	* libnautilus/gnome-icon-container-grid.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:
	Simplified the grid a bit and did some redesign. The grid now
	takes into account the height and width of the icons. More work
	to come.

	* libnautilus/nautilus-global-preferences.c:
	* nautilus-widgets/nautilus-preferences.h:
	Some cleanup, including types for constants.

	* libnautilus/nautilus-gnome-extensions.h:
	* libnautilus/nautilus-gnome-extensions.c:
	(nautilus_art_irect_equal), (nautilus_art_drect_equal),
	(nautilus_gnome_canvas_item_get_current_canvas_bounds),
	(nautilus_gnome_canvas_item_request_redraw),
	(nautilus_gnome_canvas_request_redraw_rectangle),
	(nautilus_gnome_canvas_item_get_world_bounds):
	More useful canvas and libart routines.
	
	* RENAMING: More renaming ideas.

2000-03-17  Elliot Lee  <sopwith@eazel.com>

	* libnautilus/gnome-icon-container-grid.c:
	Added #include <string.h>. For some reason Elliot needs this on
	his configuration even though I (Darin) don't need it on mine.
	Some day we have to track this down.

	Elliot checked in the above change without a ChangeLog entry,
	so I decided to make one for him.

2465 2466 2467 2468
2000-03-17  Darin Adler  <darin@eazel.com>

	* HACKING: Fixed to match what we actually have on Eazel machines.

2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488
2000-03-17  John Sullivan  <sullivan@eazel.com>

	Fixed bug 322 (going Back goes wacko).

	* src/nautilus-location-bar.c:
	(nautilus_location_bar_set_location): This function should
	not emit the location_changed signal; it's intended only to
	update the displayed text. This was causing a location-changing
	loop, which for reasons I did not investigate was not infinite.
	Added comments to clarify this function's purpose.

	Moved some more toolbar-related code into
	nautilus_window_toolbars.c.

	* src/nautilus-window-toolbars.c,
	* src/ntl-window.c: (activate_back_or_forward_menu_item),
	(activate_back_menu_item_cb), (activate_forward_menu_item_cb),
	(create_back_or_forward_menu), (back_or_forward_button_clicked_cb):
	Moved these functions from ntl-window.c to nautilus-window-toolbars.c.

2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500
2000-03-17  John Sullivan  <sullivan@eazel.com>

	Separate out toolbar code as first step towards
	bonobo-izing it.

	* src/nautilus-window-toolbars.c: New file
	* src/Makefile.am: put new file in build.
	* src/ntl-window-private.h: prototype for
	nautilus_window_initialize_toolbars
	* src/ntl-window.c: Moved toolbar stuff out of here
	and into new file.

2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515
2000-03-17  Pavel Cisler  <pavel@eazel.com>

	Fix some bugs that John kindly uncovered.

	* libnautilus/gtkflist.c
	(gtk_flist_resize_column):
	Make it so that the column title updates when column width changes
	by zooming in and out.

	* libnautilus/gtkflist.c
	(gtk_flist_column_resize_track_start), (gtk_flist_column_resize_track_end):
	Fix a dumb segfault - clist was not being initialized properly.

	* libnautilus/nautilus-list-column-title.c
	(nautilus_list_column_title_paint):
2516
	Make the sort indicator draw on the other side of the column title
2517 2518 2519 2520 2521
	as it should.
	Tweak an assert.

	* libnautilus/nautilus-list-column-title.c
	(nautilus_list_column_title_leave):
2522
	Fix a problem where the column title would sometimes get stuck in a 
2523 2524
	prelight state after the mouse has exited.

2525 2526 2527 2528 2529 2530 2531 2532
2000-03-16  Pavel Cisler  <pavel@eazel.com>

	* scr/file-manager/fm-directory-view-list.c
	(create_flist):
	The icon column was set to the width of an icon at 100% zoom level.
	This doesn't work at higher zoom levels and when using Eazel
	theme icons. For now just make the column resizable again.
	
2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562
2000-03-16  Pavel Cisler  <pavel@eazel.com>

	First pass on making list column resizing live.

	* libnautilus/Makefile.am
	* libnautilus/nautilus-list-column-title.c
	* libnautilus/nautilus-list-column-title.h
	New list column title widget that makes it easier to hook into
	the mouse tracking and allows using flicker free redraw. Currently
	it doesn't use an offscreen buffer yet, comming soon.

	* libnautilus/gtkflist.c
	(gtk_flist_initialize_class), (gtk_flist_initialize),
	(gtk_flist_realize), (list_requisition_width),
	(gtk_flist_size_request), (new_column_width), (size_allocate_columns),
	(size_allocate_title_buttons), (get_cell_style), (draw_cell_pixmap),
	(draw_row), (draw_rows), 
	Made it possible to replace the existing column list view titles
	from GtkCList view to be replaced with the new widget. In order
	to do that I had to pull in a number of calls form GtkCList and
	work around dependencies on column titles being buttons.
	Prepared code some for smart column truncation.

	* libnautilus/gtkflist.h
	* libnautilus/gtkflist.c
	(gtk_flist_track_new_column_width), (gtk_flist_column_resize_track_start),
	(gtk_flist_column_resize_track), (gtk_flist_column_resize_track_end):
	Added new calls that hook up with the mouse tracking code that
	resize the tracker column.

2563
	* scr/file-manager/fm-directory-view-list.c
2564 2565 2566 2567 2568
	(get_sort_indicator), (hide_sort_indicator), (show_sort_indicator),
	(create_flist):
	Removed code that insert the sort order indicator into the list
	column - this is now done in the new column title widget.
	
2569
	* scr/file-manager/fm-directory-view-list.c
2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582
	(create_flist):
	Added min and max column width values.

	* libnautilus/gtkflist.c
	(gtk_flist_initialize_class)
	Fixe a bug where the "selection_changed" was mistakenly connected
	to the start_drag callback.

	* libnautilus/nautilus-gdk-extensions.c
	* libnautilus/nautilus-gdk-extensions.h
	(nautilus_rectangle_contains), (nautilus_rectangle_inset):
	Added GdkRectangle utility calls.
	
2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600
2000-03-16  John Sullivan  <sullivan@eazel.com>

	* src/nautilus-index-title.c:
	store uri in details struct.
	(nautilus_index_title_set_uri), (nautilus_index_title_set_up_icon),
	(nautilus_index_title_set_up_label), (nautilus_index_title_set_up_info):
	Read uri from details struct instead of passing in parameter.
	(nautilus_index_title_initialize): Connect with "icons_changed"
	signal so nautilus_index_title_set_up_icon gets called again,
	refreshing the icon appearance when the theme changes.
	(nautilus_index_title_finalize): free details->uri.

	* src/ntl-uri-map.c:
	(get_nautilus-navigation_result_from_gnome_vfs_result):
	Handle GNOME_VFS_ERROR_GENERIC case, since diskzero ran
	into it. Unfortunately we can't put up a very specific error
	message for that case!

2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645
2000-03-16  Darin Adler  <darin@eazel.com>

	Did some of the renamings that were queued in RENAMING.

	* libnautilus/Makefile.am:
	* libnautilus/gdk-extensions.c:
	* libnautilus/gdk-extensions.h:
	* libnautilus/nautilus-gdk-extensions.c:
	* libnautilus/nautilus-gdk-extensions.h:
	* libnautilus/gnome-icon-container.c:
	* libnautilus/nautilus-background.c:
	* libnautilus/nautilus-icons-view-icon-item.c:
	Renamed gdk-extensions to add the nautilus- prefix and changed
	all includers.

	* src/Makefile.am:
	* src/explorer-location-bar.c:
	* src/explorer-location-bar.h:
	* src/nautilus-location-bar.c:
	* src/nautilus-location-bar.h:
	* src/ntl-window-msgs.c:
	* src/ntl-window.c:
	Renamed ExplorerLocationBar to NautilusLocationBar.

	* src/Makefile.am:
	* src/nautilus-bookmarklist.c:
	* src/nautilus-bookmarklist.h:
	* src/nautilus-bookmark-list.c:
	* src/nautilus-bookmark-list.h:
	* src/nautilus-bookmarks-window.c:
	* src/nautilus-bookmarks-window.h:
	* src/nautilus-window-menus.c:
	Renamed NautilusBookmarklist to NautilusBookmarkList.

	* RENAMING: Marked items done and added some new ones.

	* nautilus-widgets/nautilus-preferences-item.c:
	* nautilus-widgets/nautilus-preferences.c:
	* nautilus-widgets/test-nautilus-widgets.c:
	* libnautilus/nautilus-icon-factory.c:
	* src/file-manager/fm-directory-view-icons.c:
	* src/file-manager/fm-directory-view.c:
	* src/file-manager/fm-icon-text-window.c:
	Cleaned up the interface to NautilusPreferences a bit.

2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667
2000-03-16  John Sullivan  <sullivan@eazel.com>

	Fixes for a couple of preferences bugs Darin and I ran into
	while trying to debug a preferences-related problem. We
	can't reproduce the original problem so we don't know if
	these fix it.

	* libnautilus/nautilus-icon-factory.c:
	(nautilus_get_current_icon_factory): Call 
	nautilus_global_preferences_initialize before accessing preferences,
	since this code is called by processes other than the main
	nautilus one.

	* nautilus-widgets/nautilus-preferences.c: (prefs_get_pref):
	Remove redundant NULL check for prefs; add NULL check for pref_name;
	remove test of uninitialized variable; change assert to
	return FALSE since callers already handle the FALSE case.
	(nautilus_preferences_get_enum): Changed return FALSE to return 0
	to match return value type.
	(nautilus_preferences_get_string): Changed return FALSE to return NULL
	to match return value type.

2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695
2000-03-16  John Sullivan  <sullivan@eazel.com>

	Moved a couple of utility functions I wrote recently
	into the right places in libnautilus.

	* libnautilus/nautilus-bonobo-extensions.h,
	* libnautilus/nautilus-bonobo-extensions.c: New files,
	initially containing only the euphoniously-named
	(nautilus_bonobo_ui_handler_menu_set_toggle_appearance),
	which toggles a bonobo menu item's checkbox state without
	invoking its callback.	
	* libnautilus/Makefile.am: Put these two new files into build.
	
	* libnautilus/nautilus-glib-extensions.h,
	* libnautilus/nautilus-glib-extensions.c:
	(nautilus_g_strfindv): New function, finds a string in a
	NULL-terminated string array. Hideous name to match glib conventions.
	(nautilus_self_check_glib_extensions): Added tests for
	nautilus_g_strfindv.

	* src/nautilus-window-menus.c:
	(nautilus_bonobo_ui_handler_menu_toggle_appearance): Moved out
	of here, now called in its new home in libnautilus.
	* src/file-manager/fm-icon-text-window.c:
	(find_string_in_array): Moved out of here and renamed on its
	way into libnautilus.
	(synch_menus_with_preference): Updated for function name change.

2696 2697 2698 2699 2700 2701 2702
2000-03-16  Darin Adler  <darin@eazel.com>

	* src/file-manager/fm-directory-view.c:
	(disconnect_model_handlers), (stop_load): Fixed the CRITICALs that
	I recently introduced. Made sure our unrefs match our refs for
	monitor_files.

2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760
2000-03-16  John Sullivan  <sullivan@eazel.com>

	Made icon theme changes persist across sessions by
	using preferences mechanism. When preferences mechanism
	switches to using GConf this should (theoretically) make
	icon theme changes work across multiple processes too.

	* libnautilus/nautilus-global-preferences.h:
	added #define for NAUTILUS_PREFERENCES_ICON_THEME
	* libnautilus/nautilus-global-preferences.c:
	(global_preferences_static_info[]): new entry for
	NAUTILUS_PREFERENCES_ICON_THEME with initial value.

	* libnautilus/nautilus-icon-factory.c:
	(nautilus_get_current_icon_factory): get theme from preferences
	and register callback to be notified of changes in preference.
	(nautilus_icon_factory_destroy): unregister preferences callback.
	(nautilus_icon_factory_get_theme): Removed this function.
	(icon_theme_changed_callback): call set_theme when preference changes.
	* libnautilus/nautilus-icon-factory.h: 
	(nautilus_icon_factory_get_theme), 
	(nautilus_icon_factory_set_theme): Removed public API. The 
	rare client that cares about the name of the theme should
	get/set it from preferences.

	* src/nautilus-window-menus.c:
	(use_eazel_theme_icons_cb): get and set theme from
	preferences rather than with icon factory calls.
	(nautilus_bonobo_ui_handler_menu_set_toggle_appearance):
	New function, sets the state of the checkbox in a bonobo
	menu item without invoking the callback. Perhaps this belongs
	in bonobo or in libnautilus, but I'm waiting to hear what the
	bonobo folks have to say about the current behavior, which
	seems broken to me.
	(update_eazel_theme_menu_item): Rewritten to change the
	state of the menu item without invoking the callback. This
	was broken in the case where the initial state of the menu
	item was backwards, which was never the case before since
	it always started with Eazel theme icons off.
	
	* libnautilus/nautilus-icon-factory.c: 
	(nautilus_icon_factory_initialize_class), 
	(nautilus_icon_factory_set_theme), 
	* components/history/ntl-history-view.c: (make_obj),
	* src/nautilus-bookmarks-window.c: 
	(create_bookmarks_window),
	* src/nautilus-window-menus.c: 
	(nautilus_window_initialize_menus),
	(nautilus_window_initialize_bookmarks_menu), 
	(nautilus_window_initialize_go_menu),
	* libnautilus/gnome-icon-container.c: 
	(gnome_icon_container_initialize),
	* src/file-manager/fm-directory-view-list.c:
	(fm_directory_view_list_initialize): Changed name of signal 
	emitted by icon factory from "theme_changed" to "icons_changed" 
	since it may be used in the future for other kinds of changes 
	in the available set of icons.

2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790
2000-03-15  Darin Adler  <darin@eazel.com>

	* HACKING: Tell people about the gnome-xml branch.
	
	* libnautilus/Makefile.am:
	* libnautilus/gnome-icon-container-grid.c:
	* libnautilus/gnome-icon-container-grid.h:
	* libnautilus/gnome-icon-container-private.h:
	* libnautilus/gnome-icon-container.c:
	Broke out the grid code from the main container code.
	This is a first step toward improving the layout code.

	* libnautilus/nautilus-directory-private.h:
	* libnautilus/nautilus-directory.c:
	* libnautilus/nautilus-directory.h:
	* src/fm-directory-view.c:
	Got started on making the directory I/O async.
	There's still a long way to go, this was a baby step.
	
	* libnautilus/nautilus-bookmark.c:
	* libnautilus/nautilus-bookmark.h:
	* libnautilus/nautilus-self-checks.c:
	General cleanup.

	* libnautilus/nautilus-file.h:
	Rearranged a little bit.

	* libnautilus/nautilus-file-utilities.c:
	Put FIXME in where there's code that needs to be changed.

2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865
2000-03-15  John Sullivan  <sullivan@eazel.com>

	Used preferences mechanism for icon views' text-under-icons
	and directory views' open-in-new-window preference. The former
	was not persistent previously and the latter wasn't
	implemented.

	* nautilus-widgets/nautilus-preferences.h,
	* nautilus-widgets/nautilus-preferences.c:
	added NAUTILUS_PREFERENCE_STRING to NautilusPreferencesType enum.
	(nautilus_preferences_get_string), (nautilus_preferences_set_string):
	New functions for string preferences.
	(prefs_check_supported_type), (prefs_set_pref), 
	(nautilus_preferences_register_from_info), (make_gnome_config_string):
	Support for string preferences.
	
	* nautilus-widgets/nautilus-preferences-item.c:
	(preferences_item_construct): added a g_assert_not_reached as the
	NAUTILUS_PREFERENCE_STRING case in a switch statement to make the
	compiler happy. I didn't implement a UI for string items in the
	preferences dialog because the string items we're using now have
	their own specialized UI.

	* libnautilus/nautilus-global-preferences.h:
	added #define for NAUTILUS_PREFERENCES_ICON_VIEW_TEXT_ATTRIBUTE_NAMES
	* libnautilus/nautilus-global-preferences.c:
	(global_preferences_static_info[]): filled in initial value for
	NAUTILUS_PREFERENCES_ICON_VIEW_TEXT_ATTRIBUTE_NAMES

	* src/file-manager/fm-icon-text-window.c:
	(changed_attributes_option_menu_cb): Set new value using
	preferences mechanism instead of calling fm_directory_view_icons.
	(find_string_in_array), (set_preference_string),
	(synch_menus_with_preference), (preference_changed_cb),
	(fm_icon_text_window_destroy_cb):
	New functions used to keep UI in synch with text-attribute 
	preference.
	(create_icon_text_window): wire up notifications about 
	text-attribute preferences and get initial value.

	* src/file-manager/fm-directory-view-icons.h,
	* src/file-manager/fm-directory-view-icons.c:
	Added text_attribute_names field to details struct.
	(icon_text_changed_cb), (fm_directory_view_icons_initialize_class),
	(fm_directory_view_icons_initialize), (fm_directory_view_icons_destroy), 
	(text_attribute_names_changed_callback), 
	(fm_directory_view_icons_get_full_icon_text_attribute_names), 
	(fm_directory_view_icons_set_full_icon_text_attribute_names), 
	(fm_directory_view_icons_get_icon_text_attribute_names): 
	Replaced old mechanism that used FMSignaller to send notifications
	about the text attribute names with new preferences mechanism.
	
	* src/file-manager/fm-directory-view.c:
	Added user_new_window field to details structure.
	(fm_directory_view_activate_file_internal): New function, does
	what fm_directory_view_activate_file did before.
	(fm_directory_view_activate_file): Now respects the use_new_window
	preference.
	(bonobo_menu_open_cb), (open_cb), (open_one_in_new_window): 
	Changed callers to use fm_directory_view_activate_file_internal 
	for those cases where the use_new_window preference should be 
	ignored (e.g. "Open" and "Open in New Window" menu items).
	(fm_directory_view_initialize): Get initial value of new-window
	preference and set up notification for when value changes.
	(use_new_window_changed_callback): Refresh local copy of preference.
	(fm_directory_view_destroy): Remove preferences callback.
	
	* src/file-manager/fm-signaller.c,
	* src/file-manager/fm-signaller.h: Removed these two files
	that were handling the text-under-icons mechanism previously.
	* src/file-manager/Makefile.am: Took removed files out of build.

	* libnautilus/nautilus-file.c: (nautilus_file_get_owner_as_string):
	Removed an old debugging g_print.

2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895
2000-03-15  Darin Adler  <darin@eazel.com>

	A quick cleanup of how we use gnome-xml.

	* libnautilus/Makefile.am:
	* libnautilus/nautilus-xml-extensions.c:
	* libnautilus/nautilus-xml-extensions.h:
	Added some new gnome-xml helper functions.
	
	* libnautilus/nautilus-directory.c:
	(nautilus_directory_get_file_metadata_node):
	* libnautilus/nautilus-file.c:
	(nautilus_file_get_keywords):
	(nautilus_file_set_keywords):
	* libnautilus/nautilus-icon-factory.c:
	(get_child_node_by_property):
	(get_themed_icon_file_path):
	* src/nautilus-bookmarklist.c:
	(nautilus_bookmarklist_load_file):
	Changed to use the new helper functions.

	* src/nautilus-bookmarklist.c:
	(nautilus_bookmarklist_save_file): Changed direct uses of root to
	use xmlDocGet/SetRootElement while I was editing the file.  I
	think this is the same change Pavel made but wasn't able to check
	in.

	* src/nautilus-bookmarklist.c:
	General cleanup.

2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986
2000-03-14  Darin Adler  <darin@eazel.com>

	Added additional data to icons so they can specify where the
	embedded text fits in each icon.

	* icons/eazel/Makefile.am, icons/eazel/i-regular.xml: Added the
	file to specify attributes of icons. Specifically added the
	attribute that says there is space for embedded text in the
	Eazel-theme regular icon.

	* libnautilus/nautilus-icon-factory.h:
	* libnautilus/nautilus-icon-factory.c:
	(get_child_node_by_property), (get_themed_icon_file_path),
	(get_icon_file_path), (nautilus_icon_factory_get_thumbnail_uri),
	(load_specific_image), (load_image_for_scaling),
	(get_image_from_cache), (load_image_scale_if_necessary),
	(nautilus_icon_factory_get_pixbuf_for_icon),
	(nautilus_icon_factory_get_pixbuf_for_file):
	Added code to read a rectangle for the embedded text along with
	the icon, cache it with the icon, scale it with the icon, and
	return it to the caller along with the icon.

	* libnautilus/nautilus-icons-view-icon-item.c: 
	(nautilus_icons_view_icon_item_initialize_class),
	(nautilus_icons_view_icon_item_set_arg),
	(nautilus_icons_view_icon_item_get_arg),
	(nautilus_icons_view_icon_item_get_image),
	(nautilus_icons_view_icon_item_set_image),
	(nautilus_art_irect_to_gdk_rectangle),
	(draw_mini_text), (draw_embedded_text),
	(nautilus_icons_view_icon_item_draw):
	Changed the code that draws the embedded text to respect the
	text rectangle passed in. Changed the pixbuf setting to use a
	function instead of the arg interface and take a text rectangle
	along with the pixbuf.

	* libnautilus/gnome-icon-container-dnd.c
	(gnome_icon_container_dnd_begin_drag):
	* libnautilus/gnome-icon-container.c:
	(icon_get_actual_size): Got rid of callers who were using the arg
	interface to get at the image of an icon
	("NautilusIconsViewIconItem::pixbuf").

	* src/file-manager/fm-directory-view-icons.c:
	(get_icon_property_cb): Get rid of hard-coded rule that only
	themes with eazel at the front of their names can display text
	inside the icons.

	* libnautilus/gnome-icon-container.c:
	(icon_new): Fixed a bug where icons would be super-tiny if they
	got too big, like if you entered a directory that was zoomed all
	the way in.
	(start_stretching), (ungrab_stretch_icon), (end_stretching),
	(gnome_icon_container_show_stretch_handles): Added code to grab
	the pointer while stretching an icon.
	(item_event_cb): Added a return statement that John forgot when
	he was editing. Without that, it was falling through to the next
	case, which had the same effect anyway.
	(update_icon): Pass the text rectangle through from the icon
	factory to the icon canvas item, using the new call instead of the
	old arg interface approach.

	* components/help/.cvsignore: Added entries for
	.la and .lo files.

	* components/help/Makefile.am:
	* components/help/hyperbola-nav-index.c:
	* components/help/hyperbola-nav-search.c:
	* libnautilus/nautilus-directory-private.h:
	* libnautilus/nautilus-directory.c:
	* src/nautilus-bookmarklist.c:
	Fixed flags for gnome-xml
	includes. Someone pointed out that you are supposed to include
	these as "#include <tree.h>", not "#include <gnome-xml/tree.h>" so
	I fixed our uses to work that way.

	* libnautilus/nautilus-directory.c:
	(nautilus_directory_get_file_metadata_node): Fixed code that was
	destroying something allocated by gnome-xml with g_free instead
	of xmlFree.

	* libnautilus/nautilus-file.c:
	(nautilus_file_get_keywords), (nautilus_file_set_keywords):
	Fixed storage leak where we were getting a property and not freeing it.

	* libnautilus/nautilus-default-file-icon.h:
	* libnautilus/nautilus-default-file-icon.c:
	* libnautilus/nautilus-icon-factory.c:
	(load_image_for_scaling): Got rid of the global that tells whether
	the default icon has an alpha channel -- it's not hardwired TRUE.

2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010
2000-03-14  John Sullivan  <sullivan@eazel.com>

	When a directory with no explicitly-chosen viewer is
	visited, the currently-displayed viewer is used if
	possible. This matches the behavior of zooming. Darin
	doesn't like this and would prefer a single global
	setting with some possibly obscure way to set up values
	for specific locations, which wouldn't affect subsequent
	navigation. Let's try it for awhile and see if we can
	agree on a better solution.

	* src/ntl-types.h: added referring_iid field to 
	NautilusNavigationInfo
	* src/ntl-uri-map.h,
	* src/ntl-uri-map.c: 
	(nautilus_navinfo_new): Added a referring_iid parameter,
	a copy of which is stored in the new struct.
	(nautilus_navinfo_free): free the referring_iid string.
	(set_initial_content_iid): Use the referring_iid if there's
	no valid remembered iid.
	* src/ntl-window-msgs.c:
	(nautilus_window_change_location): Get the iid from the current
	content view and pass it to nautilus_navinfo_new.

3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037
2000-03-14  John Sullivan  <sullivan@eazel.com>

	Directories now start out using the same view they were
	last displayed with.

	* libnautilus/nautilus-metadata.h: added #define for
	NAUTILUS_INITIAL_VIEW_METADATA_KEY
	* src/ntl-types.h: renamed field default_content_iid to
	initial_content_iid, to avoid ambiguity with other uses
	of default (e.g. default metadata value). Also made this
	a char * instead of a const char *.
	* src/ntl-uri-map.c: 
	(nautilus_window_load_content_view_menu),
	(nautilus_window_update_state): Updated for name change.
	(view_menu_switch_views_cb): Save iid of new view in metadata.
	* src/ntl-window-msgs.c:
	(check_iid): New GCompareFunc-type function, used by to
	check whether a string matches the iid of any 
	NautilusViewIdentifier in a list.
	(set_initial_content_iid): New function, gets stored iid
	from metadata and uses it if it's non-NULL and matches one
	of the available viewers (otherwise uses a fallback iid).
	(my_notify_when_ready): Call set_initial_content_iid after
	constructing the list of available viewers.
	(nautilus_navinfo_free): free initial_content_iid, which was
	created in set_initial_content_iid.

3038 3039 3040 3041 3042 3043 3044 3045
2000-03-14  John Sullivan  <sullivan@eazel.com>

        * libnautilus/gnome-icon-container.c: (icon_destroy):
        Send SELECTION_CHANGED signal when destroying an icon
        that had been selected. This fixes bug Elliot reported
        where "Open in New Window" item in File menu was sensitive
        after the selected items had been deleted.

3046 3047 3048 3049
2000-03-14  Jonathan Blandford  <jrb@redhat.com>

	* libnautilus/gnome-icon-container-dnd.c (drag_drop_cb): Add a
	gtk_drag_finish to hopefully solve half the flying windows
3050
	problem.  Needs more thought then this, though.
3051

3052 3053 3054 3055 3056 3057 3058 3059
2000-03-14  John Sullivan  <sullivan@eazel.com>

        Fixed bug introduced in last checkin where two popup
        menus appear if you right-click on an icon.

        * libnautilus/gnome-icon-container.c: (item_event_cb):
        Explicitly stop signal emission when button press is handled.

3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090