ChangeLog-20000414 119 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
2000-01-26  Maciej Stachowiak  <mjs@eazel.com>

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

24 25 26 27 28 29 30
2000-01-26  Havoc Pennington  <hp@pobox.com>

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

31 32 33 34 35 36 37 38 39 40 41 42 43
2000-01-26  John Sullivan  <sullivan@eazel.com>

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

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

44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
2000-01-26  John Sullivan  <sullivan@eazel.com>

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

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

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

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

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

70 71 72 73 74 75 76
2000-01-26  Andy Hertzfeld <andy@eazel.com>

        * libnautilus/gnome-icon-container-dnd.c:
        made the drag shadow have the same dimensions as the icon being dragged;
        fixed bug where it was confusing the width and height order in the
        custom uri it built for dragging within Nautilus
        
Darin Adler's avatar
Darin Adler committed
77 78 79 80 81 82
2000-01-26  Darin Adler  <darin@eazel.com>

	* libnautilus/nautilus-directory.c:
	(nautilus_file_get_name):
	Fixed an assert I missed.
	
83 84 85
2000-01-26  Darin Adler  <darin@eazel.com>
	
	* libnautilus/nautilus-directory.h:
Darin Adler's avatar
Darin Adler committed
86
	libnautilus/nautilus-directory.c:
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
	(nautilus_file_get):
	(nautilus_file_detach):
	(nautilus_directory_finalize):
	(nautilus_file_unref):
	Added interface to get a NautilusFile for a specific file rather than
	a file from a directory that we are scanning.

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

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

105 106 107 108 109 110 111
2000-01-26  Andy Hertzfeld <andy@eazel.com>

	* src/file-manager/fm-icon-cache.c:
	first cut at making images with small file sizes display as themselves
    * libnautilus/nautilus-icons-view-icon-item.c:
    clean-ups, plus added alternate selection boolean for keyboard selection
    
112 113 114 115 116 117
2000-01-25  John Sullivan <sullivan@eazel.com>

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

118 119 120 121 122
2000-01-25  Andy Hertzfeld <andy@eazel.com>

        * libnautilus/nautilus-icons-view-icon-item.c
        disabled icon centering code that was causing glitchey updates
        
123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
2000-01-25  Darin Adler  <darin@eazel.com>

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

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

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

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

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

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

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

	* RENAMING: Some new name ideas.
	
187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209
2000-01-25  John Sullivan <sullivan@eazel.com>

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

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

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

210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231
2000-01-25  Andy Hertzfeld <andy@eazel.com>

        * libnautilus/nautilus-icons-view-icon-item.c,h:
          new canvas item class for icon items.  Now we use a single
          canvas item to draw the icons instead of a group with two subitems.
          This will pay-off when we implement the emblems, zooming and
          special icons for text, etc.  This is the first cut, I'm pretty
          sure it doesn't work when pixels_per_item isn't 1.0 and there
          are other small problems.
          
        * libnautilus/gnome-icon-container-private.h:
          removed old fields for sub-items
        
        * libnautilus/Makefile.am:
          added new item class to makefile
          
        * libnautilus/gnome-icon-container-dnd.c:
          drag asks main item for pixbuf instead of image item
          
        * libnautilus/gnome-icon-container.c:
          use new icon item instead of making group with two sub-items
        
232 233
2000-01-24  Maciej Stachowiak  <mjs@eazel.com>

234 235 236 237 238 239 240 241 242 243 244
	* src/file-manager/fm-directory-view.c,
	src/file-manager/fm-directory-view.h
	(fm_directory_view_popup_item_context_menu,
	fm_directory_view_popup_background_context_menu): New functions
	for subclasses to call, to implement right-click menus. Most of
	the guts are here now. Machinery to merge view-specific items with
	generic ones will be added here.
	* src/file-manager/fm-directory-view-icons.c,
	src/file-manager/fm-directory-view-list.c: Use the new interface
	for right-click stuff.

245 246 247
	* src/file-manager/fm-directory-view-icons.c: Corrected memory
	management for background and item popup menus.

248 249 250 251 252 253 254 255 256 257 258 259 260 261
2000-01-24  Darin Adler  <darin@eazel.com>

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

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

262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281
2000-01-24  John Sullivan <sullivan@eazel.com>

	Added sort indicators to list view column titles

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

282 283 284 285 286 287 288 289 290 291 292 293
2000-01-24  Maciej Stachowiak  <mjs@eazel.com>

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

294
2000-01-24  Darin Adler  <darin@eazel.com>
295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425

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

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

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

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

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

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

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

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

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

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

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

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

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

426 427 428 429 430 431
2000-01-24  John Sullivan <sullivan@eazel.com>

	* libnautilus/gnome-icon-container.c:
	(button_event_modifies_selection): New function, encapsulates idea
	of which button events modify the selection. Formerly this was
	done in several places and the answer was "those with the Control
432 433 434 435 436 437 438 439
	key down". Now the answer is "those with the Control or Shift key
	down" to match list view (and traditional, i.e. Mac) behavior more
	closely.
	(button_press_event), (button_release_event),
	(handle_icon_button_press): Deployed
	button_event_modifies_selection.
	(button_release_event): Check whether modifying selection and
	don't activate on single-click if so.
440 441
	(kbd_move_to): Just added comment.
	
Havoc Pennington's avatar
Havoc Pennington committed
442 443 444 445 446 447
2000-01-22  Havoc Pennington  <hp@pobox.com>

	* configure.in: check for libwww

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

448 449 450 451 452 453 454
2000-01-21  Maciej Stachowiak  <mjs@eazel.com>

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

Havoc Pennington's avatar
Havoc Pennington committed
455 456 457 458 459 460 461 462 463 464 465 466
2000-01-21  Havoc Pennington  <hp@redhat.com>

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

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

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

	* configure.in: Look for gnomecanvaspixbuf properly (via
	gnome-config)
	
John Sullivan's avatar
John Sullivan committed
467 468 469 470 471
2000-01-21  John Sullivan <sullivan@eazel.com>

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

472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507
2000-01-21  John Sullivan <sullivan@eazel.com>

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

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

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

	* src/file-manager/fm-directory-view-list.c:
	(struct _FMDirectoryViewListDetails): Add icon_size field.
	(fm_directory_view_list_initialize): Initialize icon_size field.
508 509 510 511
	(create_flist): Determine icon column width and row height from icon size.
 	(add_to_flist): Change parameters to take FMDirectoryViewList
	instead of GtkFList, and remove FMIconCache parameter. Now calls
	install_icon.
512 513 514 515
	(fm_directory_view_list_add_entry): Update add_to_flist parameters.
	(install_icon): New function, gets an appropriately-sized icon for
	a NautilusFile and puts it into icon column in list.

516
2000-01-21  Elliot Lee  <sopwith@redhat.com>
517 518

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

522 523 524
	* libnautilus/nautilus-directory.c: Allocate an extra byte in the
	  buffer, for safety's sake.
	* src/ntl-window-msgs.c: Fix back/fwd buttons.
525 526 527 528
	* src/ntl-window-msgs.c: Remove debugging printouts, and display
	  error dialogs.
	* src/ntl-window-msgs.c, src/ntl-window.h: Fix the bug that was
	  causing list view to be blank.
529

530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556
2000-01-21  Darin Adler  <darin@eazel.com>

	Started some cleanup of the icon view.

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

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

557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575
2000-01-21  John Sullivan <sullivan@eazel.com>

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

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

576 577 578
2000-01-20  Andy Hertzfeld <andy@eazel.com>

	* libnautilus/gnome-icon-container.c:
579 580 581
	Disabled the pernicious call to relayout in size_allocate.  We
	will want to do automatic layout when the window size changes, but
	this is the wrong level for it, it happens too frequently
582
	
John Sullivan's avatar
John Sullivan committed
583 584 585 586 587
2000-01-20  Elliot Lee  <sopwith@redhat.com>

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

588 589 590
	John added this entry for Elliot, who made this change three
	hours later than his last checkin. The comment is from the
	cvs commit.
John Sullivan's avatar
John Sullivan committed
591

592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621
2000-01-20  Darin Adler  <darin@eazel.com>

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

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

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

622 623 624 625 626 627
2000-01-20  John Sullivan  <sullivan@eazel.com>

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

628 629 630 631 632
2000-01-20  Jonathan Blandford  <jrb@redhat.com>

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

633 634 635 636 637 638 639 640 641 642 643 644
2000-01-20  Darin Adler  <darin@eazel.com>

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

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

Jonathan Blandford's avatar
Jonathan Blandford committed
645 646 647 648 649
2000-01-20  Jonathan Blandford  <jrb@redhat.com>

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

650 651 652 653 654 655 656 657 658 659 660 661 662
2000-01-20  Elliot Lee  <sopwith@redhat.com>

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

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

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

663 664 665 666 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 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731
2000-01-20  Darin Adler  <darin@eazel.com>

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

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

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

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

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

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

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

738 739 740 741 742 743 744 745 746 747 748 749 750
2000-01-20  Darin Adler  <darin@eazel.com>

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

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

751 752 753 754 755 756
2000-01-20  Darin Adler  <darin@eazel.com>

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

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 786 787 788 789 790 791 792
2000-01-19  Darin Adler  <darin@eazel.com>

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

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

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

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

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

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

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

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

793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829
2000-01-19  Darin Adler  <darin@eazel.com>

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

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

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

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

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

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

830 831 832 833 834 835 836 837 838 839 840
2000-01-19  John Sullivan  <sullivan@eazel.com>

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

841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860
2000-01-19  Darin Adler  <darin@eazel.com>

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

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

861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927
2000-01-19  Darin Adler  <darin@eazel.com>

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

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

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

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

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

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

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

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

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

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

	* libnautilus/gnome-icon-container.c
931 932
	made icon centered in cell by setting "x_set" pixbuf property so
	it listens to our offset also, adjusted x_offset constant
933
	* libnautilus/gnome-icon-container-dnd.c
934 935
	made shadow be centered properly by taking difference between
	cellwidth and iconwidth into account
936
	
937 938 939 940 941 942 943 944 945
2000-01-18  Ettore Perazzoli  <ettore@helixcode.com>

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

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

946 947 948 949 950 951 952 953
2000-01-18  Andy Hertzfeld <andy@eazel.com>

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

954 955 956 957 958 959 960
2000-01-18  John Sullivan <sullivan@eazel.com>

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

961 962 963 964 965 966 967 968
2000-01-18  John Sullivan <sullivan@eazel.com>

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

969 970 971 972 973 974
2000-01-18  John Sullivan <sullivan@eazel.com>

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

975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018
2000-01-18  John Sullivan <sullivan@eazel.com>

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

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

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

1021 1022 1023 1024
        * libnautilus/nautilus-directory:
        * made reading metafile from directory where we don't have write
        permissions work by changing error-check to look in common place on
        any error instead of just access_denied.
Andy Hertzfeld's avatar
Andy Hertzfeld committed
1025
        
1026 1027 1028
2000-01-18  Andy Hertzfeld <andy@eazel.com>

        * libnautilus/nautilus-directory.c:
Andy Hertzfeld's avatar
Andy Hertzfeld committed
1029 1030
        fixed bug caused by Elliot where he used alloca but forgot to remove g_free
        
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
2000-01-18  Elliot Lee  <sopwith@redhat.com>

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

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

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

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

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

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

1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119
2000-01-18  Darin Adler  <darin@eazel.com>

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

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

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

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

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

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

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

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

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

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

1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136
2000-01-17  John Sullivan  <sullivan@eazel.com>
	First steps towards making the list view non-degenerate.

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

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

1137 1138 1139 1140 1141 1142 1143 1144 1145 1146
2000-01-17      Andy Hertzfeld <andy@eazel.com>

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

	*libnautilus/gnome-icon-container-dnd.c:
1149 1150
        made dragging use an image of the canvas item dragged
        still disabled, though, because it's not handling the mask yet
1151
    
1152 1153 1154 1155 1156 1157
2000-01-16	Andy Hertzfeld <andy@eazel.com>

	*libnautilus/gnome-icon-container-private.h:
	added "single_click_mode" boolean
	
	*libnautilus/gnome-icon-container.h
1158 1159
	made single-click open optionally work by adding code in
	button_release_event to activate the icon if appropriate
1160 1161 1162 1163 1164 1165
	enabled single-click mode by default
	
	*libnautilus/gnome-icon-container-dnd.c
	made dragging to desktop and else work by cleaning up code in set_uri_list_selection
	did work toward better dragging feedback using an image but didn't finish that yet
	
1166 1167 1168 1169 1170 1171 1172 1173 1174 1175
2000-01-15	Andy Hertzfeld <andy@eazel.com>

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

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

1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231
2000-01-14  John Sullivan  <sullivan@eazel.com>

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

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

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

1232 1233 1234 1235 1236 1237 1238 1239 1240 1241
2000-01-14  Darin Adler  <darin@eazel.com>

	Fixed our handling of warnings and criticals.

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

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

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

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

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

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

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

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

1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319
2000-01-14  Darin Adler  <darin@eazel.com>

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

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

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

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

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

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

1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341
2000-01-13  John Sullivan  <sullivan@eazel.com>

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

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

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

	(fm_directory_view_display_selection_info): Newly exposed function.

1342
	* src/file-manager/fm-directory-view.c:
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
	Removed some now-unnecessary #includes.
	Added constants for new signals to enum.
	Removed global variable for icon cache in favor of already-extant
	fm_get_current_icon_cache().
	Removed all references to entries_to_display.
	(display_selection_info): Renamed to 
	fm_directory_view_display_selection_info now that it's public.
	(view_has_icon_container): Removed.
	(get_icon_container): Moved into subclass FMDirectoryViewIcons.
	(add_to_icon_container): Moved into subclass FMDirectoryViewIcons.
	(load_icon_container): Moved into subclass FMDirectoryViewIcons.
	(display_icons_not_in_layout): Moved into subclass FMDirectoryViewIcons.
	(setup_base_uri): Moved into subclass FMDirectoryViewIcons (and renamed
	to set_up_base_uri).
	(view_has_flist): Removed.
	(get_flist): Moved into subclass FMDirectoryViewList.
	(add_to_flist): Moved into subclass FMDirectoryViewList.
	(class_init): Signal initialization code for begin_adding_entries,
	add_entry, done_adding_entries, done_sorting_entries, and begin_loading.
	(init): Removed mode-setting line.
	(display_pending_entries): Replaced the bulk of this function with three
	new signals: begin_adding_entries, add_entry, done_adding_entries. The
	loop structure and GnomeVFSFileInfo retrieving part remains.
	(directory_load_cb): Deployed new signal begin_loading where setup_base_uri
	used to be.
	(fm_directory_view_is_valid_mode): Removed.
	(fm_directory_view_get_mode): Removed.
	(fm_directory_view_set_mode): Removed.
	(fm_directory_view_begin_adding_entries): New function, emits signal.
	(fm_directory_view_add_entry): New function, emits signal.
	(fm_directory_view_done_adding_entries): New function, emits signal.
	(fm_directory_view_done_sorting_entries): New function, emits signal.
	(fm_directory_view_begin_loading): New function, emits signal.
	(fm_directory_view_sort): Replaced some icon-container-specific
	code with fm_directory_view_done_sorting_entries().

1379
	* src/file-manager/fm-directory-view-icons.c:
1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396
	(fm_directory_view_icons_initialize_class): Wired up signal handlers
	for add_entry, done_adding_entries, done_sorting_entries, and begin_loading.
	(fm_directory_view_icons_initialize): Removed set_mode call.
	(display_icons_not_in_layout): Moved here from superclass FMDirectoryView.
	(get_icon_container): Moved here from superclass FMDirectoryView.
	(add_to_icon_container): Moved here from superclass FMDirectoryView.
	(load_icon_container): Moved here from superclass FMDirectoryView.
	(set_up_base_uri): Moved here from superclass FMDirectoryView.
	(fm_directory_view_icons_add_entry): New signal handler function, code 
	taken and simplified from superclass FMDirectoryView.
	(fm_directory_view_icons_done_adding_entries): New signal handler 
	function, code taken and simplified from superclass FMDirectoryView.
	(fm_directory_view_icons_done_sorting_entries): New signal handler 
	function, code taken and simplified from superclass FMDirectoryView.
	(fm_directory_view_icons_begin_loading): New signal handler function, 
	code taken and simplified from superclass FMDirectoryView.
	
1397
	* src/file-manager/fm-directory-view-list.c:
1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409
	(fm_directory_view_list_initialize_class): Wired up signal handlers
	for begin_adding_entries, add_entry, and done_adding_entries
	(fm_directory_view_list_initialize): Removed set_mode call.
	(get_flist): Moved here from superclass FMDirectoryView.
	(add_to_flist): Moved here from superclass FMDirectoryView.
	(fm_directory_view_list_begin_adding_entries): New signal handler 
	function, code taken and simplified from superclass FMDirectoryView.
	(fm_directory_view_list_add_entry): New signal handler function, code 
	taken and simplified from superclass FMDirectoryView.
	(fm_directory_view_list_done_adding_entries): New signal handler 
	function, code taken and simplified from superclass FMDirectoryView.	

1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443
2000-01-13  John Sullivan  <sullivan@eazel.com>

	* libnautilus/nautilus-gtk-macros.h: Defined macros
	for use when a signal must be overridden by subclasses.
	* src/file-manager/fm-directory-view.c: Deployed these
	new macros for the "clear" signal. 
	NAUTILUS_IMPLEMENT_MUST_OVERRIDE_SIGNAL is outside any 
	function, and
	(class_init): NAUTILUS_MUST_OVERRIDE_SIGNAL is in here.
	(fm_directory_view_real_clear): Eliminated this in favor
	of the above macros.
	* src/file-manager/fm-directory-view-icons.c:   
	(fm_directory_view_icons_get_type): Replaced function with
	NAUTILUS_DEFINE_GET_TYPE_FUNCTION macro.
	(fm_directory_view_icons_init): Renamed to 
	fm_directory_view_icons_initialize and standardized parameters 
	to work with NAUTILUS_DEFINE_GET_TYPE_FUNCTION macro.
	(fm_directory_view_icons_class_init): Renamed to 
	fm_directory_view_icons_initialize_class and standardized 
	parameters to work with NAUTILUS_DEFINE_GET_TYPE_FUNCTION macro.
	(fm_directory_view_icons_destroy): Deployed
	NAUTILUS_CALL_PARENT_CLASS macro.
	* src/file-manager/fm-directory-view-list.c:   
	(fm_directory_view_list_get_type): Replaced function with
	NAUTILUS_DEFINE_GET_TYPE_FUNCTION macro.
	(fm_directory_view_list_init): Renamed to 
	fm_directory_view_list_initialize and standardized parameters 
	to work with NAUTILUS_DEFINE_GET_TYPE_FUNCTION macro.
	(fm_directory_view_list_class_init): Renamed to 
	fm_directory_view_list_initialize_class and standardized 
	parameters to work with NAUTILUS_DEFINE_GET_TYPE_FUNCTION macro.
	(fm_directory_view_list_destroy): Deployed
	NAUTILUS_CALL_PARENT_CLASS macro.
	
1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487
2000-01-12  John Sullivan  <sullivan@eazel.com>

	More work at pushing appropriate fm_directory_view code
	into subclasses.

	* src/file-manager/fm-directory-view.c:
	(class_init): Register "clear" signal, make 
	fm_directory_view_real_clear be default handler.
	(fm_directory_view_real_clear): New function, does
	nothing but complain when it's called. (I'm going to
	replace this with a debug-only mechanism soon.)
	(fm_directory_view_clear): New function, emits "clear" signal.
	(fm_directory_view_load_uri): Replaced "if icons clear this way,
	if list clear that way" code with call to fm_directory_view_clear.
	(mode_uses_flist): Eliminated, wrapped into only remaining caller
	view_has_flist (which will itself go away soon).
	(mode_uses_icon_container): Eliminated, wrapped into only remaining caller
	view_has_icon_container (which will itself go away soon).

	* src/file-manager/fm-directory-view-icons.c:
	(fm_directory_view_icons_clear): New function, erases icon container.
	(fm_directory_view_icons_init): Replace fm_directory_view's
	"clear" signal handler with fm_directory_view_icons_clear
	(fm_directory_view_icons_get_icon_layout): Moved to here.
	(fm_directory_view_icons_set_icon_layout): Moved to here.
	(fm_directory_view_icons_line_up_icons): Moved to here.
	
	* src/file-manager/fm-directory-view-list.c:
	(fm_directory_view_list_clear): New function, erases list contents.
	(fm_directory_view_list_init): Replace fm_directory_view's
	"clear" signal handler with fm_directory_view_list_clear
	
	* src/file-manager/fm-directory-view.h:
	(fm_directory_view_clear): Added "clear" signal, and
	fm_directory_view_clear prototype.
	(fm_directory_view_icons_get_icon_layout): Moved out of here.
	(fm_directory_view_icons_set_icon_layout): Moved out of here.
	(fm_directory_view_icons_line_up_icons): Moved out of here.
	
	* src/file-manager/fm-directory-view-icons.h:
	(fm_directory_view_icons_get_icon_layout): Moved to here.
	(fm_directory_view_icons_set_icon_layout): Moved to here.
	(fm_directory_view_icons_line_up_icons): Moved to here.

1488 1489 1490 1491 1492
2000-01-12  John Sullivan  <sullivan@eazel.com>

	* src/ntl-window-msgs.c (nautilus_window_load_content_view_menu):
	Made option menu say "View as Icons" (e.g.) instead of just "Icons"

1493 1494 1495 1496 1497
2000-01-11  Andy Hertzfeld <andy@eazel.com>

	* src/ntl-window:
    added a debug menu, and it's first item to show a color picker to test dropping colors
    
1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534
2000-01-11  John Sullivan  <sullivan@eazel.com>

	Started moving icon-specific and list-specific code
	into the subclasses. As a transition step, added some
	private prototypes to the .h file (clearly marked).	
	
	* src/file-manager/fm-directory-view.c:
	(setup_flist), (setup_icon_container): eliminated completely.
	(display_icon_container_selection_info_idle_cb), 
	(icon_container_selection_changed_cb), (icon_container_activate_cb),
	(create_icon_container), (display_flist_selection_info_idle_cb),
	(flist_activate_cb), (flist_selection_changed_cb), 
	(create_flist): moved out.
	(fm_directory_view_set_mode): removed the guts, which are now
	in the init functions for the subclasses; now just sets the
	field (which will go away eventually).
	* src/file-manager/fm-directory-view.h:
	(add_to_flist), (display_selection_info), (get_flist),
	(get_icon_container), (load_icon_container): temporarily
	added to .h file.
	* src/file-manager/fm-directory-view-icons.c:
	(display_icon_container_selection_info_idle_cb), 
	(icon_container_selection_changed_cb), (icon_container_activate_cb),
	(create_icon_container): moved in.
	(fm_directory_view_icons_init): Now creates icon_container here instead of
	in fm_directory_view_set_mode (which will eventually go away).
	* src/file-manager/fm-directory-view-list.c:
	(display_flist_selection_info_idle_cb),	(flist_activate_cb), 
	(flist_selection_changed_cb), (create_flist): moved in.
	(fm_directory_view_list_init): Now creates flist here instead of
	in fm_directory_view_set_mode (which will eventually go away).

	* src/ntl-window.c:
	(real_nautilus_window_set_content_view): Renamed to
	nautilus_window_real_set_content_view. Also added
	self as an author.

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 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585
2000-01-11  Darin Adler  <darin@eazel.com>

	NautilusBackground is now used for the index panel background.

	* libnautilus/nautilus-background.c:
	(nautilus_background_attach_to_canvas):
	(nautilus_get_widget_background):
	(nautilus_gtk_style_get_default_class):
	(nautilus_gdk_window_update_sizes):
	(nautilus_background_draw_flat_box):
	(nautilus_background_get_gtk_style_class):
	(nautilus_background_set_widget_style):
	(nautilus_background_set_up_canvas):
	(nautilus_widget_background_changed):
	(nautilus_get_widget_background):
	Added new code that changes the background of a widget by
	modifying the GtkStyle. For solid colors and tiled images we
	can just modify the GtkStyle. For gradients we need to make
	a GtkStyle subclass.
	
	* libnautilus/nautilus-background.h:
	(nautilus_background_attach_to_canvas):
	(nautilus_get_widget_background):
	Changed the old interface that was canvas-specific, to a new one
	that allows attacking a background to any widget.

	* src/ntl-index-panel.h:
	Now that the background is attached to the widget, we don't need
	a background field in NautilusIndexPanel.

	* src/ntl-index-panel.c:
	(nautilus_index_panel_set_up_background)
	(nautilus_index_panel_finalize):
	(nautilus_index_panel_drag_data_received):
	(nautilus_index_panel_set_up_info):
	Changed the index panel to use NautilusBackground.

	* libnautilus/nautilus-background-canvas-group.h:
	libnautilus/nautilus-background-canvas-group.c:
	(nautilus_background_canvas_group_get_background):
	(nautilus_background_canvas_group_set_background):
	Moved the code that manages the background object out of the
	canvas group code, since we can now attach a background to
	any widget.

	* libnautilus/gdk-extensions.c:
	(nautilus_gdk_color_parse_with_white_default): Changed this helper
	to accept NULLs and return the default instead of prohibiting
	NULL. This is consistent with the gradient's use of NULL to
	represent the default color.

1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597
2000-01-11  John Sullivan  <sullivan@eazel.com>

	* libnautilus/nautilus-gtk-extensions.h:
	* libnautilus/nautilus-gtk-extensions.c:
	(nautilus_gtk_signal_connect_free_data): New function,
	convenience wrapper for gtk_signal_connect_full where
	the destroy-function is g_free() and the other extra
	values are the defaults.
	* src/ntl-window-msgs.c: (nautilus_window_load_content_view_menu):
	Use nautilus_gtk_signal_connect_free_data to avoid leaking the menu item's
	signal's copy of the iid string. 

1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628
2000-01-11  John Sullivan  <sullivan@eazel.com>

	Content view menu now works (can switch between List and Icon views).

	* src/ntl-window-msgs.c:
	(nautilus_window_load_content_view): Made it return the new
	content view, so callers don't need a load_info structure to
	determine the new view. Also made it accept NULL for
	requesting_view.
	(view_menu_switch_views_cb): New function, callback for when
	a view is chosen from the list of available content views.
	Elliot told me that this requires further work, so I checked
	it in with comments for later fixing by Elliot or someone
	else who understands the loading process better.
	(nautilus_view_load_content_view_menu): Added explicit
	parameter for NautilusNavigationInfo for clarity (had been
	getting this from deep in window temporary state guts).
	Connected view_menu_switch_views_cb to menu items.
	* src/ntl-window.c: 
	(nautilus_window_set_arg): Fixed bug in ARG_CONTENT_VIEW case where
	new view was sometimes being added to view hierarchy twice. Then
	moved this code into...
	(real_nautilus_window_set_content_view): New function, implements
	guts of content-view changing so set_arg doesn't have a big block
	of code in a switch statement.
	(nautilus_window_set_content_view): Moved the gtk_widget_show call
	from here to real_nautilus_window_set_content_view so it happens
	even if set_arg is called from elsewhere.
	(gtk_option_menu_do_resize): Removed this
	obsolete function (I removed the callers yesterday but forgot this).

1629 1630 1631 1632 1633
2000-01-11  Darin Adler  <darin@eazel.com>

	* libnautilus/ntl-view-frame.c:	Fixed typos and oversights in
	Maciej's check-in. He didn't compile his changes :-(

1634 1635
2000-01-11  Maciej Stachowiak  <mjs@eazel.com>

1636 1637 1638
	* libnautilus/ntl-view-frame.c, libnautilus/ntl-view-frame.h: Redo
	signals the conventional way, to avoid array size mismatches in
	the future.
1639

1640 1641
2000-01-10  Maciej Stachowiak  <mjs@eazel.com>

1642 1643 1644 1645 1646
	* docs/architecture.txt: Some documentation on the nautilus
	architecture including a block diagram and some conrol flow
	explanations. Needs editing for both style and technical
	completeness/accuracy, but it's a start.

1647 1648 1649 1650
	* libnautilus/gnome-icon-container.c (handle_icon_button_press):
	Reorder code so "context_click" is actually emitted on a button 3
	press.

1651 1652 1653 1654 1655
	* src/file-manager/fm-main.c,
	src/file-manager/fm-directory-view.c,
	src/file-manager/fm-directory-view.h: Changed FMDirectoryView to
	use a NautilusViewFrame rather than inheriting from one.

1656 1657 1658 1659
	* libnautilus/ntl-view-frame.c (nautilus_view_frame_class_init):
	Fixed marshall type for "stop_location_change" signal. How could
	this ever have worked?

1660 1661 1662
	* src/ntl-view.c (nautilus_view_load_client): Once an appropriate
	component type is found, do not keep looping.

1663 1664 1665 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 1692 1693 1694
2000-01-10  John Sullivan  <sullivan@eazel.com>

	First step at splitting the directory view into separate
	icon and list views. List view compiles and runs now,
	but is still inaccessible from the UI.

	* src/file-manager/fm-directory-view-icons.h:
	* src/file-manager/fm-directory-view-icons.c:
	* src/file-manager/fm-directory-view-list.h:
	* src/file-manager/fm-directory-view-list.c:
	New files. These implement two subclasses of FMDirectoryView.
	Currently the subclasses are trivial; the only code in the 
	subclasses other than boilerplate is the one line that sets 
	the view mode. Later I'll push the rest of the relevant code
	down into the subclasses.
	* src/file-manager/Makefile.am
	Added the four new files to the build.
	* src/file-manager/fm-directory-view.c: (init): Removed the
	call to fm_directory_view_set_mode since the subclasses are
	responsible for this now.
	(setup_base_uri): Don't call get_icon_container for non-icon
	views, as it asserts if you do; this was broken but since
	you couldn't switch to a non-icon view we didn't realize it.
	* src/file-manager/fm-main.c: (make_obj): Now calls either
	fm_directory_view_icons_get_type() or fm_directory_view_list_get_type()
	depending on the goad_id.
	* src/file-manager/ntl-file-manager.goad: Replaced entry for
	ntl_file_manager with two, one for ntl_file_manager_icon_view
	and one for ntl_file_manager_list_view
	* src/ntl-uri-map.c: (nautilus_navinfo_new): Now it sets up
	the two content views for directories with their new goad ids.

1695 1696
2000-01-10  Maciej Stachowiak  <mjs@eazel.com>

1697 1698 1699 1700 1701
	* libnautilus/ntl-view-frame.c, libnautilus/ntl-view-frame.c:
	Fixed mismatch between declared signal array size and actual
	number of signals (this should still be rewritten to follow proper
	style).

1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715
	* libnautilus/ntl-content-view-frame.c,
	libnautilus/ntl-content-view-frame.h,
	libnautilus/ntl-meta-view-frame.c,
	libnautilus/ntl-meta-view-frame.h, libnautilus/ntl-view-frame.c,
	libnautilus/ntl-view-frame.h, src/ntl-app.c,
	src/ntl-view-bonobo-control.c, src/ntl-view-bonobo-subdoc.c,
	src/ntl-view-frame-svr.c, src/ntl-view-nautilus.c,
	src/ntl-view-private.h, src/ntl-view.c, src/ntl-view.h,
	src/ntl-window-msgs.c, src/ntl-window-msgs.h,
	src/ntl-window-state.c, src/ntl-window.c, src/ntl-window.h,
	src/file-manager/fm-directory-view.c,
	src/file-manager/fm-directory-view.h, src/file-manager/fm-main.c:
	Added Eazel copyright to files I've changed non-trivially.

1716 1717 1718 1719 1720
2000-01-10  Darin Adler  <darin@eazel.com>

	* src/ntl-index-panel.c: (nautilus_index_panel_set_up_label):
	Added workaround to problem with basename and gnome-vfs.

1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735
2000-01-10  Maciej Stachowiak  <mjs@eazel.com>

	* libnautilus/ntl-view-frame.c, libnautilus/ntl-view-frame.h,
	libnautilus/ntl-content-view-frame.c,
	libnautilus/ntl-content-view-frame.h,
	libnautilus/ntl-meta-view-frame.c,
	libnautilus/ntl-meta-view-frame.h: Renamed from
	libnautilus/ntl-view-client.c, libnautilus/ntl-view-client.h,
	libnautilus/ntl-content-view-client.c,
	libnautilus/ntl-content-view-client.h,
	libnautilus/ntl-meta-view-client.c,
	libnautilus/ntl-meta-view-client.h.
	* libnautilus/Makefile.am, libnautilus/libnautilus.h: reflect this
	renaming.
	
1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749
2000-01-10  Darin Adler  <darin@eazel.com>

	* ntl-window-msgs.c: (nautilus_window_request_progress_change):
	(nautilus_window_advance_state):
	(nautilus_window_switch_to_new_views):
	(nautilus_window_revert_to_old_views):
	(nautilus_window_free_load_info):
	(nautilus_window_end_location_change):
	(nautilus_window_change_location_2):
	(nautilus_window_change_location): Got rid of the race condition
	in the existing code and cleaned up the state machine a bit. The
	new code separates the state of the nautilus window from the state
	of the content view, which makes things a bit simpler.

1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 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
2000-01-10  John Sullivan  <sullivan@eazel.com>

	Added some of the framework for supporting multiple
	content views for the same uri. More to come later.

	* src/ntl-types.h: added NautilusViewIdentifier struct
	to keep track of iid and human-readable name. Renamed
	NautilusNavigationInfo.content_iid to default_content_iid,
	and added content_identifiers GSList.
	* src/ntl-uri-map.c: 
	(nautilus_view_identifier_new): New function.
	(nautilus_view_identifier_free): New function.
	(nautilus_navinfo_new): Create a human-readable-name
	for each content iid, and store them together in
	content_identifiers list. I included a currently
	unworking "List" choice for the directory case, to
	test the framework.
	(nautilus_navinfo_free): Free the content_identifiers list.
	* src/ntl-window-msgs.c:
	(nautilus_window_load_content_view_menu): New function,
	iterates through the content_identifiers list to fill in
	the menu of content view choices. The menu items don't do
	anything yet.
	(nautilus_window_change_location_internal): Added call to
	nautilus_window_load_content_view_menu.
	(nautilus_window_change_location_2): Fixed spelling and
	grammar in a couple of error messages.
	* src/ntl-window.c: (nautilus_window_constructed): Removed
	"View as (placeholder)" text in menu; now it has no text
	until the actual choices appear. Removed some option-menu-sizing
	trickery that didn't work correctly when items were added later.
	Now the entire menu is replaced when its contents change.
	* src/ntl-window.h: Removed menu_cvtype field; code all uses
	just option_cvtype now.

1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833
2000-01-10  Darin Adler  <darin@eazel.com>

	* libnautilus/Makefile.am, libnautilus/nautilus-background.h,
	libnautilus/nautilus-background.c,
	libnautilus/nautilus-background-canvas-group.h,
	libnautilus/nautilus-background-canvas-group.c,
	libnautilus/nautilus-lib-self-check-functions.h,
	libnautilus/nautilus-lib-self-check-functions.c: Added first cut
	at a new class to manage backgrounds that can be colors, color
	gradients, or tiled images.

	* libnautilus/Makefile.am, libnautilus/nautilus-string.h,
	libnautilus/nautilus-string.c: Added functions that manipulate
	strings that allow NULLs to reduce NULL checks in code that
	treats NULL the same as an empty string.

	* libnautilus/gdk_extensions.c: (nautilus_gradient_new):
	(nautilus_gradient_is_gradient):
	(nautilus_gradient_is_horizontal):
	(nautilus_gradient_strip_trailing_direction_if_any):
	(nautilus_gradient_get_start_color_spec):
	(nautilus_gradient_get_end_color_spec):
	(nautilus_gradient_set_edge_color): Changed gradient functions to
	allow NULL and treat it the same as an empty string.

	* libnautilus/gdk_extensions.h: libnautilus/gdk_extensions.c:
	(nautilus_gdk_color_parse_with_default):
	(nautilus_gdk_color_parse_with_white_default): Added alternate
	version of gdk_color_parse that uses a default color instead of
	just returning false. Added self-checks and updated some existing
	self checks at the same time.

	* src/ntl-index-panel.h, src/ntl-index-panel.c: Wholesale
	cleanup and reformatting of NautilusIndexPanel. Fixed a number of
	bugs, including storage leaks, and took first step toward using
	NautilusBackground class.

	* src/ntl-window.c: (nautilus_window_get_requested_uri):
	Changed this so it works when window->ni is NULL.

	* src/ntl-window.h: Changed index_panel to be a NautilusIndexPanel
	now that the index panel interface uses the class instead of using
	GtkWidget everywhere.

	* src/file-manager/.cvsignore: Added *.la.

	* src/file-manager/fm-directory.c: Minor reformatting to match
	GNOME code style better.

John Sullivan's avatar
John Sullivan committed
1834 1835 1836 1837 1838
2000-01-10  John Sullivan  <sullivan@eazel.com>

	* src/ntl-index-panel.c: (nautilus_index_panel_set_up_label):
	Check for NULL filename

1839 1840
2000-01-10  Maciej Stachowiak  <mjs@eazel.com>

1841 1842 1843
	* src/file-manager/.cvsignore: ignore ntl-file-manager rather than
	libntl-file-manager.la

1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862
	Made file manager view a CORBA server that lives in a separate
	executable:
	
	* src/file-manager/fm-main.c: New file which includes main()
	function and basic framework to make the file manager an
	executable CORBA server.
	* src/file-manager/ntl-file-manager.goad: gnorba activation file
	for the file manager.
	* src/file-manager/Makefile.am: Build ntl-file-manager as an
	executable rather than a library. Add fm-main.c to build. Install
	ntl-file-manager.goad. Link in appropriate libraries.
	* src/ntl-app.c: Remove nautilus_make_object() and other vestiges
	of the attempt to be a CORBA server for file manager view objects.
	* src/nautilus.gnorba: Removed.
	* nautilus-self-check-functions.c: Remove call to test of
	functions now in the separate ntl-file-manager executable.
	* src/Makefile.am: Don't try to link in file manager. Don't try to
	install nautilus.goad.

1863 1864 1865 1866
2000-01-10  Maciej Stachowiak  <mjs@eazel.com>

	* src/ntl-main.c (main): Added missing CORBA_exception_init() call.

1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883
2000-01-09  Maciej Stachowiak  <mjs@eazel.com>

	* libnautilus/ntl-view-client.c, libnautilus/ntl-view-client.h,
	libnautilus/ntl-content-view-client.c,
	libnautilus/ntl-content-view-client.h,
	libnautilus/ntl-meta-view-client.c,
	libnautilus/ntl-meta-view-client.h,: Rename NautilusViewClient to
	NautilusViewFrame, NautilusContentViewClient to
	NautilusContentViewFrame, and NautilusMetaViewClient to
	NautilusMetaViewFrame.
	* components/help/hyperbola-nav-tree.c,
	components/history/ntl-history-view.c,
	components/html/ntl-web-browser.c,
	components/websearch/ntl-web-search.c, src/ntl-app.c,
	src/file-manager/fm-directory-view.c,
	src/file-manager/fm-directory-view.h: Reflect the above renaming.

1884 1885
2000-01-09  Andy Hertzfeld <andy@eazel.com>

1886 1887 1888
	* src/ntl-index-panel.c: made dropping a color from the color
	picker set the background accordingly.  It doesn't save the
	meta-data yet, thought
1889
	    
1890 1891 1892 1893 1894
2000-01-09  Maciej Stachowiak  <mjs@eazel.com>

	* components/websearch/.cvsignore: Added .deps, .libs,
	ntl-web-search

1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909
2000-01-07  Andy Hertzfeld <andy@eazel.com>

        changed the way the index panel gets notified of location changes
        removed the index_panel_connect stuff
        instead, calls index_panel_set_uri directly from nautilus_window_change_location
        
        * src/ntl-index-panel.c, src/ntl-index-panel.h:
        restructured the code that populates the view with the info,
        added logic to use as large a font as possible for the title
        fixed bug involving the path ending with a slash.
        * src/ntl-window-msgs.c:
          added explicit call to index_panel_set_uri as mentioned above 
        * src/ntl-window.c
          removed call to index_panel_connect as mentioned above
        
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
2000-01-07  John Sullivan  <sullivan@eazel.com>

	Added and deployed utility routine for presenting a
	window (in any current state) to user.

	* libnautilus/nautilus-gtk-extensions.h:
	* libnautilus/nautilus-gtk-extensions.c: New files
	(nautilus_gtk_window_present): New function, presents
	a window to user (opens it, brings it to front w/focus)
	regardless of whether it was showing, buried, hidden, or
	minimized.
	* libnautilus/Makefile.am: added these two new files. Also
	changed ".c" to ".h" for two self-check files in the HEADERS
	list (apparent typo).
	* src/nautilus-bookmarks-menu.c: (edit_bookmarks_cb):
	Replaced call to nautilus_bookmarks_window_present with
	call to nautilus_gtk_window_present.
	* src/nautilus-bookmarks-window.c:
	* src/nautilus-bookmarks-window.h:
	(nautilus_bookmarks_window_present): Deleted this function.
	* src/nautilus-bookmarks-window.c:
	(create-bookmarks-window): Now calls nautilus_bookmarks_
	window_restore_geometry just once here, instead of every
	time window was shown.
	* src/ntl-window.c: (nautilus_about_window_cb):
	Now it keeps around a single About window, instead of
	creating a new one each time (you could litter the screen
	with About windows before). Also removed some obsolete
	gtk_widget_set_sensitive calls.

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

	Bookmarks window position is now saved & restored within
	a session and across sessions. Some of this work can be
	turned into general-purpose utilities but I didn't do
	that yet (I will when we have a second need for it)

	* src/nautilus-bookmarklist.c:
	* src/nautilus-bookmarklist.h:
	(nautilus_bookmarklist_set_window_geometry):
	(nautilus_bookmarklist_get_window_geometry): New functions,
	take/return a string representing the window position.
	* src/nautilus-bookmarklist.c:
	(nautilus_bookmarklist_load_file):
	(nautilus_bookmarklist_save_file): read/write xml node for
	window geometry in addition to bookmarks. Also cleaned up
	a couple of leaked results from xmlGetProp and reformatted.
	(set_window_geometry_internal): New utility function.
	* src/nautilus-bookmarks-menu.c: (edit_bookmarks_cb): Moved
	window-displaying logic out of this routine and into new
	routine nautilus_bookmarks_window_present(), which is now
	called here.
	* src/nautilus-boomarks-menu.c:
	* src/nautilus-boomarks-menu.h:
	(nautilus_bookmarks_menu_exiting): New function, handles telling
	bookmarks window to save itself when application exits.
	* src/ntl-app.c: (nautilus_app_exiting): Now calls
	nautilus_bookmarks_menu_exiting.
	* src/nautilus.h: Now #includes "nautilus-bookmarks-menu.h"
	* src/nautilus-bookmarks-window.h:
	* src/nautilus-bookmarks-window.c:
	(nautilus_bookmarks_window_present): New function, handles
	presenting the bookmarks window on screen regardless of current state.
	(nautilus_bookmarks_window_save_geometry): New function, reads window
	position & size and passes them along to 
	nautilus_bookmarklist_set_window_geometry for safe-keeping.
	* src/nautilus-bookmarks-window.c:
	(nautilus_bookmarks_window_restore_geometry): New function, gets
	window geometry from bookmarklist and sets window size & position
	from it (after adjusting with some sanity checks)
	(create_bookmarks_window): Replaced set_default_size call with
	nautilus_bookmarks_window_restore_geometry call.
	
	

2000-01-07  Elliot Lee  <sopwith@redhat.com>
Elliot Lee's avatar
Elliot Lee committed
1986 1987 1988

	* src/ntl-window.c, src/ntl-index-panel.c: Fix warnings.

1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003
2000-01-07  Andy Hertzfeld <andy@eazel.com>

	* src/ntl-index-panel.h, src/ntl-index-panel.c: new files for index panel class
      Initial bare-bones implementation of index panel still using notebook object instead of custom tabs
      
    * src/ntl-window.h, src/ntl-window.c
      just use box instead of pane for nautilus window content,
      index_panel now responsible for the meta-views
      allocate and install index_panel instead of meta_notebook
      connect_signals calls index_panel so it can connect, too
      added myself as an author
    
    * src/Makefile.am
       added index_panel class
        
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
2000-01-06  Darin Adler  <darin@eazel.com>

	* libnautilus/Makefile.am,
	libnautilus/nautilus-lib-self-check-functions.c,
	libnautilus/nautilus-lib-self-check-functions.h,
	libnautilus/nautilus-self-checks.c,
	libnautilus/nautilus-self-checks.h, src/Makefile.am,
	src/nautilus-self-check-functions.c,
	src/nautilus-self-check-functions.h, src/nautilus-self-checks.c,
	src/nautilus-self-checks.h, src/ntl-main.c (main),
	src/file-manager/fm-directory.c,
	src/file-manager/fm-vfs-directory.c: Moved self-check framework
	into libnautilus. Added functions so each check will report if it
	fails instead of just aborting.

	* src/gdk-extensions.c, src/gdk-extensions.h
	(nautilus_gradient_new, nautilus_gradient_is_gradient,
	nautilus_gradient_get_start_color_spec,
	nautilus_gradient_get_end_color_spec,
	nautilus_gradient_is_horizontal,
	nautilus_gradient_set_left_color_spec,
	nautilus_gradient_set_top_color_spec,
	nautilus_gradient_set_right_color_spec,
	nautilus_gradient_set_bottom_color_spec): Added new functions to
	manage a string that specifies a color or gradient, and added
	tests for the new functions.

2031 2032 2033 2034 2035 2036 2037 2038 2039 2040
2000-01-06  John Sullivan  <sullivan@eazel.com>

	* src/ntl-app.h: src/ntl-app.c: (nautilus_app_exiting):
	New function for doing app-wide cleanup. Moved call to
	nautilus_prefs_save in here.
	* src/ntl-app.c: (nautilus_app_destroy_window): Former
	home of call to nautilus_prefs_save.
	* src/ntl-main.c: (main): After event loop concludes,
	call nautilus_app_exiting.

Elliot Lee's avatar
Elliot Lee committed
2041 2042 2043 2044
2000-01-06  Elliot Lee  <sopwith@redhat.com>

	* libnautilus/gnome-icon-container.c: Relayout when size changes.

2045 2046 2047 2048 2049
2000-01-06  Andy Hertzfeld  <andy@eazel.com>

        * ntl-window.c: made location bar draggable to be consistent with the others by removing DOCK_LOCKED
        flag
        
Elliot Lee's avatar
Elliot Lee committed
2050 2051
2000-01-06  Elliot Lee  <sopwith@redhat.com>

Elliot Lee's avatar
Elliot Lee committed
2052 2053
	* libnautilus/gnome-icon-container.c: Eliminate gratuitous scroll bars.

Elliot Lee's avatar
Elliot Lee committed
2054 2055
	* src/ntl-window-msgs.c, components/help/hyperbola-filefmt.c, components/html/gnome-dialogs.c: Bug fixes.

John Sullivan's avatar
John Sullivan committed
2056 2057 2058 2059 2060
2000-01-06  John Sullivan  <sullivan@eazel.com>

	* src/ntl-prefs.c: added NULLs to array initializers to
	eliminate compiler warnings.

2061 2062 2063 2064 2065 2066 2067 2068 2069
2000-01-06  Elliot Lee  <sopwith@redhat.com>

	* src/ntl-prefs.c, src/ntl-uri-map.c: Implement preferences for
	which meta-views to always load with a page. Loading doesn't seem to quite work.

	* src/ntl-window.c, src/ntl-view.c: Try to fix a crash that
	happens when going to a new page, and a meta view is being
	destroyed in the process. Still crashes.

Maciej Stachowiak's avatar
Maciej Stachowiak committed
2070 2071 2072 2073
2000-01-05  Maciej Stachowiak  <mjs@eazel.com>

	* src/ntl-uri-map.c (nautilus_navinfo_free): Fix warning.

2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084
2000-01-05  Elliot Lee  <sopwith@redhat.com>

	* src/ntl-types.h, src/ntl-uri-map.[ch], src/ntl-window-msgs.c, src/ntl-window.[ch]:
	  Add support for the location change state machine and related notifications,
          to allow much better error handling.
	* src/ntl-view.[ch]: Catch client failures, also allow for active sensing of client death.
	* src/file-manager/fm-directory-view.c: Send progress notifications.
	* components/html/ntl-web-browser.c: Send progress
	notifications. Try to fix crashes caused by ending an error stream
	twice.

Elliot Lee's avatar
Elliot Lee committed
2085 2086
	* src/file-manager/fm-icon-cache.c: Update for gdk-pixbuf changes.

2087 2088 2089 2090 2091
2000-01-05  John Sullivan  <sullivan@eazel.com>

	* src/nautilus-bookmarks-window.c: (create_bookmarks_window):
	Remove horizontal scroll bar from list via set_policy.

2092 2093 2094 2095 2096 2097
2000-01-05  John Sullivan  <sullivan@eazel.com>

	* src/nautilus-bookmarks-menu.c: (nautilus_bookmarks_menu_fill):
	Stopped using GNOMEUIINFO_ITEM_DATA macro, because it doesn't work
	right (on some machines) when there's no pixmap for the item.

2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109
2000-01-04  John Sullivan  <sullivan@eazel.com>

	* src/nautilus-bookmarks-menu.c: comment changes only

	* src/nautilus-bookmarks-window.c:
	(create_bookmarks_window): added padding to "Remove" button
	so it isn't so scrawny.
	(on_remove_button_clicked): Removed item from clist explicitly
	instead of relying on notification that bookmark list changed;
	this correctly moves the selection to the next item instead of
	jumping it back to the top of the list.

2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126
2000-01-04  Darin Adler  <darin@eazel.com>

	A couple of quick fixes to make "make check" work again.
	
	* src/file-manager/fm-directory.c (fm_directory_initialize):
	src/file-manager/fm-vfs-directory.c (fm_vfs_directory_initialize):
	Use g_new0 instead of g_new for details structure to better
	mimic what gtk_object_new does.

	* src/file-manager/fm-directory.c (fm_directory_get):
	Added an assert to check that the hash table key is set up
	correctly. This was failing when John did a "make check".

	* src/file-manager/fm-vfs-directory.c (fm_vfs_directory_new):
	Set up the hash table key when creating the object. This
	was causing a failure in "make check".

2127 2128 2129 2130 2131 2132 2133
2000-01-04  John Sullivan  <sullivan@eazel.com>

	* src/nautilus-bookmarks-window.c (create_bookmarks_window):
	Replaced hardwired numbers with constants; specified a minimum
	size separate from default size and changed parameter to
	gtk_window_set_policy to prevent shrinking below minimum size.

2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149
2000-01-04  John Sullivan  <sullivan@eazel.com>

	After talking with Sopwith and Darin, removed
	my changes from earlier today. The current framework
	handles bogus URIs better than I thought, though still
	with some known problems. I can't implement the bookmarks
	part until the problems are fixed. And the new functions
	don't seem to be required in any case.
	* libnautilus/nautilus-uri-utilities.c: removed file
	* libnautilus/nautilus-uri-utilities.h: removed file
	* libnautilus/Makefile.am: removed these two files
	from the build, and removed GnomeVFS
	* src/ntl-window.c: removed #include for nautilus-uri-utilitie.h.
	Sopwith had removed the call from (nautilus_window_goto_uri_cb)
	earlier (without a ChangeLog entry).

2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178
2000-01-04  Darin Adler  <darin@eazel.com>

	* src/Makefile.am, src/check-nautilus,
	src/nautilus-self-check-functions.h, src/nautilus-self-checks.c,
	src/nautilus-self-checks.h, src/ntl-main.c (main): Added self
	checks to nautilus. The checks are invoked by "make check"
	(actually need to do "make install check" if you changed
	libnautilus) or by invoking the nautilus executable with "--check".
	Later, nautilus-self-checks.h may include various helpful
	functions for use by the self-checking code.

	* src/file-manager/Makefile.am, src/file-manager/fm-directory.c,
	src/file-manager/fm-directory.h,
	src/file-manager/fm-directory-protected.h,
	src/file-manager/fm-vfs-directory.c,
	src/file-manager/fm-vfs-directory.h: Started work on an abstract
	FMDirectory class that provides a model for what's viewed by the
	file manager. Also began work on the FMVFSDirectory concrete child
	class that implements this on top of VFS. It's not hooked up yet,
	and there's a lot that needs to be done before it's ready to use.

	* libnautilus/gdk-extensions.c, libnautilus/gdk-extensions.h:
	Renamed functions to use nautilus_ prefix instead of gdk_
	prefix. Added a tiny bit of self-check code.

	* libnautilus/nautilus-gtk-macros.h: Added some macros (that will
	no doubt be controversial) to do some basic GTK object
	boilerplate.

2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199
2000-01-04  John Sullivan  <sullivan@eazel.com>

	Made location-entering field handle bogus URIs better
	(next: bookmarks)

	* libnautilus/nautilus-uri-utilities.c: new file
	* libnautilus/nautilus-uri-utilities.h: new file
	At this point there's just one uri utility function,
	nautilus_path_known_not_to_exist(), which is a quick
	check for a bogus URI. (It's not guaranteed to return
	TRUE for all bad URIs, just the ones it can tell quickly
	are bogus).
	* libnautilus/Makefile.am: added these two new files
	to the build, and linked with GnomeVFS (needed for new
	function)
	* src/ntl-window.c: (nautilus_window_goto_uri_cb):
	If typed path can quickly be rejected, puts an error
	message in the status bar and doesn't try to go there.

	* components/websearch/.cvsignore: added Makefile

2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224
2000-01-03  Maciej Stachowiak  <mjs@eazel.com>

	* idl/nautilus.idl: Added stop_location_change method to NautilusView interface.
	* ntl-view-client.c, ntl-view-client.h (stop_location_change): New
	signal, triggered on receipt of stop_location_change request via
	CORBA.

	* ntl-view.c, ntl-view.h, ntl-view-private.h, ntl-view-nautilus.c,
	ntl-view-bonobo-control.c, ntl-view-bonobo-subdoc.c
	(nautilus_view_stop_location_change): Added this function; also
	added implementation to nautilus view type function table and
	NULL'd out for now for Bonobo control and subdoc view types (need
	to find out if loading is synchronous or asynchronous for those,
	and if there is a way to abort).

	* ntl-window.c: Stop loading for all views when Stop button is
	pressed.
	
	* ntl-window-msgs.c: Enable stop button when we start loading;
	enable Stop button when

	* src/file-manager/fm-directory-view.c: Call
	request_progress_change() when loading is done or an error is
	reached; implement handler for stop_location_change signal.
	
Maciej Stachowiak's avatar
Maciej Stachowiak committed
2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238