
2007-10-26  Eskil Bylund  <eskil@letterboxes.org> 

	* AssemblyInfo.cs: Bump version to 0.11.1.

	* NEWS: Update.

2007-10-26  Eskil Bylund  <eskil@letterboxes.org> 

	* gtk/SConscript: Include the ndesk-dbus-glib package.

2007-10-23  Eskil Bylund  <eskil@letterboxes.org> 

	* AssemblyInfo.cs: Bump version to 0.11.0.

	* NEWS: Update.

2007-10-23  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/View/SearchResultView.cs: Disable "Match queue" if no file
	  downloads exists.

2007-10-23  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Util.cs: Fix opening urls with escape characters in the name.

2007-10-23  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/PreferencesWindow.cs, gtk/resources/glade/PreferencesWindow.glade:
	  Only show the notification settings when building with
	  ENABLE_NOTIFICATIONS.

2007-10-23  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/MainWindow.cs: Use the correct cursor when running on Windows.

2007-10-23  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Connections/UserConnection.cs: Fix broken logging output.

2007-10-23  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Globals.cs, base/Backend/Managers/ShareManager.cs,
	  base/Runtime.cs: Fix auto connecting to hubs that has a share limit.

2007-10-23  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/General/VisibleColumnsWindow.cs: Make a subclass of Gtk.Dialog.

2007-10-23  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Protocols/Nmdc/UserProtocol.cs: Remove $UGetBlock support,
	  it's obsoleted by $ADCGET.

2007-10-17  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Protocols/Nmdc/HubProtocol.cs: Don't get the information from
	  a user if it's already known.

2007-10-17  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Globals.cs: Use the default strategy on the loaded downloaders.
	* base/Backend/Managers/SegmentStrategy.cs: Update the single segment
	  strategy to create a segment only if no other exists.

2007-10-17  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/PreferencesWindow.cs, gtk/resources/glade/PreferencesWindow.glade,
	  base/Runtime.cs, base/Backend/Managers/DownloadManager.cs,
	  base/Settings/IRuntimeSettings.cs, base/Settings/RuntimeSettings.cs: Add
	  a setting for whether or not segmented downloading should be used.

2007-10-17  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/PreferencesWindow.cs, gtk/resources/glade/PreferencesWindow.glade:
	  Enable the download slots setting.
	* base/Backend/Managers/DownloadManager.cs: Use the download slots setting.

2007-10-16  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Page/HubPage.cs, gtk/src/Page/ChatPage.cs,
	  base/Backend/Managers/SearchManager.cs: Handle exceptions thrown by
	  HubConnection.

2007-10-14  Eskil Bylund <eskil@letterboxes.org> 

	* base/User.cs, base/Backend/Managers/ConnectionManager.cs,
	  base/Backend/Managers/ShareManager.cs,
	  base/Backend/Managers/FileDownloader.cs,
	  base/Backend/Managers/DownloadManager.cs,
	  base/Backend/Managers/HubManager.cs,
	  base/Backend/Managers/UserManager.cs: Avoid deadlocks.

2007-10-14  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Util.cs: Replace Gnome.Url.Show with Process.Start, for opening
	  documents, now that Mono has been fixed.

2007-10-14  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/FileDownloader.cs: Simplify the locking.

2007-10-14  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/View/SearchResultView.cs: Work around a crash in GTK that happens
	  when clearing the results when there are rows selected.

2007-10-14  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/ShareManager.cs: Don't compress the file list from
	  multiple threads at the same time.

2007-10-12  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Objects/Segment.cs, base/Backend/Managers/SegmentStrategy.cs,
	  base/Backend/Managers/SegmentManager.cs,
	  base/Backend/Managers/FileDownloader.cs: Replace the SegmentManager with
	  the interface ISegmentStrategy that defines the algorithm. Use multiple
	  segments by default.
	* base/Runtime.cs: Add a helper method for changing the segment strategy.

2007-10-12  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Connections/Connection.cs,
	  base/Backend/Connections/HubConnection.cs,
	  base/Backend/Connections/UserConnection.cs,
	  base/Backend/Protocols/Nmdc/HubProtocol.cs,
	  base/Backend/Protocols/Nmdc/UserProtocol.cs: Mark as connected once the
	  handshake is done, not when the socket is connected.
	* base/Backend/Managers/ConnectionManager.cs: Update.

2007-10-12  Eskil Bylund <eskil@letterboxes.org> 

	* base/ActionQueue.cs, base/Backend/Managers/ShareLoader.cs: Small
	  documentation update.

2007-10-12  Eskil Bylund <eskil@letterboxes.org> 

	* base/QueueLoader.cs, base/Hashing/HashFileInfo.cs,
	  base/Hashing/ValidatingOutputStream.cs,
	  base/Hashing/HashTreeInputStream.cs, base/Hashing/HashInfo.cs,
	  base/Hashing/HashTree.cs, base/FileUtil.cs, base/User.cs, base/Uid.cs,
	  base/ActionQueue.cs, base/Logging/LogManager.cs, base/Runtime.cs,
	  base/Backend/Connections/HubConnection.cs,
	  base/Backend/Connections/UserConnection.cs,
	  base/Backend/Objects/SearchInfo.cs, base/Backend/Objects/Segment.cs,
	  base/Backend/Objects/SearchResult.cs,
	  base/Backend/Managers/ShareLoader.cs,
	  base/Backend/Managers/ConnectionManager.cs,
	  base/Backend/Managers/ListDownloader.cs,
	  base/Backend/Managers/ShareManager.cs,
	  base/Backend/Managers/FileDownloader.cs,
	  base/Backend/Managers/Downloader.cs,
	  base/Backend/Managers/SearchManager.cs,
	  base/Backend/Managers/DownloadManager.cs,
	  base/Backend/Managers/HubManager.cs, base/Identity.cs,
	  base/Xml/FileList.cs, base/Xml/FileNode.cs, base/Xml/DirectoryNode.cs,
	  base/Security/Cryptography/TigerManaged.cs,
	  base/Security/Cryptography/TigerUnmanaged.cs,
	  base/Security/Cryptography/Tiger.cs, base/StringUtil.cs: Update the
	  documentation.

2007-10-10  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Globals.cs, base/FileFinder.cs: Add a class responsible for
	  finding additional sources for a download.
	* gtk/src/View/SearchResultView.cs: Make it possible to check if the files
	  in the download queue can be downloaded from a specific user.

2007-10-10  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/ListDownloader.cs: Load the list before marking the
	  downloader as done.

2007-10-10  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Globals.cs, gtk/src/Gui.cs: Save the application data and settings
	  not only on exit but also when they've changed.

2007-10-10  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/UserInformationDialog.cs,
	  gtk/resources/glade/UserInformationDialog.glade: Display the client the
	  user is using.
	* base/Backend/Protocols/Nmdc/HubProtocol.cs, base/Identity.cs: Get the
	  client from the user tag.

2007-10-08  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Page/SearchPage.cs, base/Backend/Protocols/Nmdc/HubProtocol.cs,
	  base/Backend/Protocols/IHubProtocolHelper.cs,
	  base/Backend/Objects/SearchInfo.cs,
	  base/Backend/Objects/SearchResult.cs,
	  base/Backend/Managers/ShareManager.cs, base/ProtocolHelper.cs: Update.
	* base/Backend/Managers/SearchManager.cs: Make it possible to monitor the
	  incoming search results.

2007-10-05  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/DownloadManager.cs: Avoid using a connection with
	  multiple downloaders at the same time.

2007-10-05  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/MainWindow.cs, gtk/src/Util.cs, gtk/src/View/DownloadView.cs,
	  gtk/src/Page/SearchPage.cs, gtk/resources/glade/DownloadPage.glade,
	  gtk/resources/glade/PreferencesWindow.glade: Improve some of the user
	  visible strings.

2007-10-05  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/FileDownloader.cs (Use): Don't use the connection
	  if the downloader is stopped.

2007-10-03  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Page/DownloadPage.cs: Notify the user if a download error occurs.
	* gtk/resources/glade/MessageArea.glade: Disable word wrapping on the
	  secondary label so that the whole width of the label gets used.

2007-10-03  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Util.cs (GetStatus), gtk/src/ListDownloadStatusArea.cs (UpdateStatus):
	   Display the error message on error.

2007-10-03  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/View/UploadView.cs, gtk/src/View/DownloadView.cs: Update the
	  status colors.

2007-10-03  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/MainWindow.cs, gtk/src/Page/UploadPage.cs,
	  gtk/src/Page/DownloadPage.cs, gtk/resources/MainWindow.ui,
	  gtk/resources/glade/DownloadPage.glade,
	  gtk/resources/glade/UploadPage.glade: Make it possible to start and
	  stop downloads. Use the menu- and toolbar instead of using buttons
	  on each page.

2007-10-03  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/ListDownloader.cs,
	  base/Backend/Managers/FileDownloader.cs,
	  base/Backend/Managers/Downloader.cs: A first at making the
	  downloaders thread safe. Improve the error handling.

2007-10-03  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Globals.cs: Make sure the downloaders find the cached hash
	  trees.

2007-10-01  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/Downloader.cs,
	  base/Backend/Managers/DownloadManager.cs: Make it possible for the
	  DownloadManager to decide if a connection request should be
	  handled.

2007-10-01  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Gui.cs: Stop the search when Escape is pressed even if the
	  focus is outside of the search page.

2007-10-01  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/MainWindow.cs: Display the correct tooltip for menu items
	  where the underlying action has changed.

2007-09-30  Eskil Bylund <eskil@letterboxes.org> 

	* base/User.cs, base/Backend/Managers/UserManager.cs: Make the hubs a
	  user is online on available from the User class.
	* gtk/src/Gui.cs, gtk/src/UserInformationDialog.cs,
	  gtk/src/View/UserView.cs,
	  gtk/resources/glade/UserInformationDialog.glade: Add a user
	  information dialog.

2007-09-30  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Protocols/Nmdc/HubProtocol.cs (ParseMyInfo): Set
	  properties to null instead of using empty strings.

2007-09-30  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/View/DownloadView.cs: Use the Stock.Find icon in the context
	  menu.

2007-09-30  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Page/SearchPage.cs, gtk/resources/glade/SearchPage.glade:
	  Only show the search entry by default. Add a button to toggle the
	  other options.

2007-09-29  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/MessageArea.cs: Simplify somewhat. Add a hack that seems to
	  fix the drawing glitches that appear when resizing the widget.

2007-09-29  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/PreferencesWindow.cs,
	  gtk/src/Settings/NotificationSettings.cs, gtk/src/Notifications.cs,
	  gtk/resources/glade/PreferencesWindow.glade: Implement chat
	  notifications.

2007-09-29  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Controller.cs: Fix building with ENABLE_DBUS not set.

2007-09-29  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/HubManager.cs (ConnectTo): Try and get the
	  nickname and password from the URI.UserInfo property.
	* gtk/src/Controller.cs, gtk/src/Main.cs, gtk/src/AssemblyInfo.cs: Use
	  Mono.GetOptions to parse the command line arguments. Treat the
	  regular arguments as hub URI's.

2007-09-29  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Controller.cs: Make the D-Bus service names more sane.
	* gtk/src/Main.cs, gtk/src/Core.cs: Make the D-Bus service code more
	  sane.

2007-09-29  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Connections/HubConnection.cs, base/StringUtil.cs: Don't
	  handle the "adc" scheme just yet. Use "dchub" instead of "nmdc" as
	  the default scheme.

2007-09-28  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Notifications.cs: By closing the notifications before
	  updating them, the org.freedesktop.DBus.Error.NoReply exception
	  seems to happen less often. Don't bring down the application if a
	  notification fails to show.

2007-09-26  Eskil Bylund <eskil@letterboxes.org> 

	* base/User.cs, base/Backend/Managers/UserManager.cs, base/Identity.cs:
	  Use the correct access modifiers.

2007-09-26  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/UserManager.cs: Fix a NullReferenceException.

2007-09-20  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/HubManager.cs,
	  base/Backend/Managers/ConnectionManager.cs: Make responsible for
	  creating outgoing and handling incoming user connections/creating
	  new hub connections. This simplifies ProtocolHelper and Runtime.
	* gtk/src/Gui.cs, gtk/src/ConnectionStatusbar.cs, gtk/src/HubWindow.cs,
	  base/Backend/Managers/UploadManager.cs,
	  base/Backend/Managers/DownloadManager.cs, base/Runtime.cs,
	  base/ProtocolHelper.cs: Update.

2007-09-20  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Protocols/Nmdc/HubProtocol.cs,
	  base/Backend/Protocols/Nmdc/UserProtocol.cs: Make sure the correct
	  nickname is sent on outgoing connections.

2007-09-19  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Connections/HubConnection.cs,
	  base/Backend/Connections/UserConnection.cs,
	  base/Backend/Connections/Connection.cs: Make IProtocol internal to
	  the connection classes. The protocol is determined by the uri
	  scheme/ConnectionProtocol enum.
	* base/Runtime.cs, base/Backend/Protocols/Nmdc/HubProtocol.cs,
	  base/Backend/Protocols/Nmdc/UserProtocol.cs,
	  base/Backend/Protocols/IHubProtocolHelper.cs,
	  base/ProtocolHelper.cs: Update.

2007-09-19  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Connections/HubConnection.cs: Use System.Uri for the uri
	  instead of a string to avoid custom parsing.
	* base/Backend/Managers/HubManager.cs (TryGetHub): Add a helper method
	  for getting a hub from a uri string.
	* base/StringUtil.cs (CreateUri, TryCreateUri): Add helper methods.
	* base/Extras/Util.cs (AddressPart, PortPart): Remove.
	* gtk/src/HubWindow.cs: Update. Set the sensitivity of the connect
	  button and the background of the address entry depending on the
	  validity of the hub url.
	* gtk/src/MainWindow.cs, gtk/src/Util.cs, gtk/src/Gui.cs,
	  gtk/src/Page/HubPage.cs, gtk/src/Page/PageManagerTree.cs,
	  base/Backend/Protocols/Nmdc/HubProtocol.cs, base/Runtime.cs,
	  base/ProtocolHelper.cs: Update.

2007-09-19  Eskil Bylund <eskil@letterboxes.org> 

	* base/Xml/FileList.cs: Renaming the class changed the xml format. The
	  root element name has to be "FileListing".

2007-09-18  Eskil Bylund <eskil@letterboxes.org> 

	* base/Xml/FileList.cs, base/Xml/FileNode.cs,
	  base/Xml/DirectoryNode.cs: Merge the DCSharp.Xml.FileList namespace
	  into DCSharp.Xml. Rename the classes FileListing, Directory and
	  File to FileList, DirectoryNode and FileNode respectively.
	* gtk/src/Model/FileListStore.cs, gtk/src/View/FileListView.cs,
	  gtk/src/Page/FileListPage.cs: Rename to use the prefix FileList
	  instead of FileListing.
	* gtk/src/Model/FileListingStore.cs, gtk/src/View/FileListingView.cs,
	  gtk/src/Page/FileListingPage.cs, base/Xml/FileList/File.cs,
	  base/Xml/FileList/Directory.cs, base/Xml/FileList/FileListing.cs:
	  Remove.

2007-09-16  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Connections/UserConnection.cs,
	  base/Backend/Protocols/Nmdc/UserProtocol.cs,
	  base/Backend/Protocols/Nmdc/UdpProtocol.cs,
	  base/Backend/Protocols/IHubProtocolHelper.cs,
	  base/ProtocolHelper.cs: Check what hub the remote user is connected
	  to and send the correct nickname when identifying oneself to the
	  user. Clients will no longer silently disconnect.

2007-08-25  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Page/HubPage.cs, gtk/src/Page/ChatPage.cs,
	  gtk/src/Page/UploadPage.cs, gtk/src/Page/SearchPage.cs,
	  gtk/src/Page/DownloadPage.cs, gtk/src/Page/FileListingPage.cs,
	  gtk/src/Page/PageManagerTree.cs,
	  gtk/src/Page/PageManagerNotebook.cs,
	  gtk/src/ConnectionStatusbar.cs: Remove references to the object in
	  OnDestroyed, not in Dispose.

2007-08-25  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Notifications.cs: Show a notification when all files have
	  finished downloading.
	* gtk/src/PreferencesWindow.cs, gtk/src/Settings/InterfaceSettings.cs,
	  gtk/src/Settings/NotificationSettings.cs,
	  gtk/resources/glade/PreferencesWindow.glade: Add settings for the
	  notifications.

2007-08-05  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Page/UploadPage.cs, base/Backend/Managers/ListDownloader.cs:
	  Avoid/handle more exceptions.

2007-08-05  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/UploadManager.cs (GetSlot): Deny uploads to offline
	  users.

2007-07-13  Eskil Bylund <eskil@letterboxes.org> 

	* base/QueueLoader.cs: Add a class that handles the saving and loading
	  of downloads.
	* gtk/src/Globals.cs: Update.

2007-07-13  Eskil Bylund <eskil@letterboxes.org>

	* gtk/resources/MainWindow.ui, gtk/src/MainWindow.cs:
	  Move the layout items out of the submenu. Rename the Share root
	  menu to File.

2007-07-13  Eskil Bylund <eskil@letterboxes.org>

	* gtk/src/PreferencesWindow.cs (OnAddShareButtonClicked): Don't
	  set the name to an empty string when adding a directory root.

2007-07-13  Eskil Bylund <eskil@letterboxes.org>

	* base/Backend/Managers/ShareLoader.cs (TryLoadDirectory):
	  Avoid creating a NullReferenceException.

2007-07-09  Eskil Bylund <eskil@letterboxes.org>

	* gtk/src/View/MenuTreeView.cs: Remove the UIManager. A new menu
	  needs to be created for each call to OnPopulateMenu, so that the
	  same menu is not updated every time. Update all the views and
	  pages to populate the menu in (On)PopulatePopup.
	* gtk/src/View/SearchResultView.cs: Remove the SearchTTH event.
	* gtk/src/Page/SearchPage.cs: Move the adding of the
	  "Find similar files" menu item here.

2007-07-09  Eskil Bylund <eskil@letterboxes.org>

	* gtk/src/View/DownloadView.cs: Improve the error status text.

2007-07-09  Eskil Bylund <eskil@letterboxes.org>

	* base/Backend/Managers/FileDownloader.cs,
	  base/Backend/Managers/SegmentManager.cs: Use the BitArray class
	  in System.Collections.
	* base/Backend/Objects/BitField.cs: Remove.

2007-07-09  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/FileDownloader.cs: Don't make connection
	  requests if there are too many requests pending.
	* base/Backend/Managers/DownloadManager.cs: Let the downloader know if
	  a connection request was successfull, not only if it failed.

2007-07-08  Eskil Bylund <eskil@letterboxes.org>

	* base/Hashing/HasherManaged.cs: Add and use the constant
	  MinBlockSize.
	* base/Hashing/HashTree.cs (Update, GetRootHash): Call Initialize
	  on the hash algorithm before using it.

2007-07-08  Eskil Bylund <eskil@letterboxes.org>

	* base/Backend/Managers/UploadManager.cs (OnUploadRequest): Fix
	  a NullReferenceException.

2007-07-08  Eskil Bylund <eskil@letterboxes.org>

	* base/ActionQueue.cs (Abort): Use Equals when comparing the keys.

2007-07-08  Eskil Bylund <eskil@letterboxes.org>

	* gtk/src/Main.cs (Main): Set the STAThread attribute.
	* gtk/src/Util.cs (OpenFile, OpenUrl): Add a fallback implementation
	  using Process.Start.
	* gtk/src/View/DownloadView.c: Update.

2007-07-08  Eskil Bylund <eskil@letterboxes.org>

	* gtk/src/MessageDialog.cs: Use Util.GetResource.

2007-07-06  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/ConnectionManager.cs (Reset): Only emit
	  UserIdle if the user was busy.
	* base/Backend/Managers/DownloadManager.cs: Only call HandleUserIdle on
	  the downloaders when the user goes idle or comes online.

2007-07-06  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/FileDownloader.cs (Start): Check the temp file
	  after starting.

2007-07-06  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Page/HubPage.cs (UpdateNewMessageSeparator): Fix the
	  visibility of the separator.

2007-07-06  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/FileDownloader.cs: Implement file downloading.
	  The temp file and all downloaded data is validated against the
	  files hash tree. This means that files can only be downloaded from
	  clients that has full support for TTH.
	* base/Backend/Objects/Segment.cs, base/Backend/Objects/BitField.cs,
	  base/Backend/Managers/SegmentManager.cs: Add helper classes used by
	  FileDownloader.
	
	* base/Backend/Managers/DownloadManager.cs: Don't use a connection
	  that's disposing.

2007-07-06  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/ListDownloader.cs (LoadingProgress): Add
	  property.
	* gtk/src/ListDownloadStatusArea.cs (OnProgressTimeout): Display the
	  loading progress.

2007-07-04  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Util.cs (GetResource): Add a helper method to get the real
	  name of a resource. Useful when building using .NET. Update all
	  files to use the method.

2007-07-04  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Notifications.cs, gtk/src/Globals.cs, gtk/src/Core.cs,
	  gtk/src/Main.cs: Add the directives ENABLE_DBUS and
	  ENABLE_NOTIFICATIONS.

2007-07-02  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/View/SearchResultView.cs: Disable the downloading of
	  directories.

2007-07-02  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Gui.cs (Search), gtk/src/Page/SearchPage.cs (Search): Add.
	* gtk/src/View/DownloadView.cs, gtk/resources/DownloadView.ui:
	  Implement "Find Sources", available from the context menu.

2007-07-02  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Gui.cs (Search), gtk/src/Page/SearchPage.cs (Search): Add.
	* gtk/src/View/DownloadView.cs, gtk/resources/DownloadView.ui:
	  Implement "Find Sources", available from the context menu.

2007-07-02  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Gui.cs, gtk/src/Settings/HubSettings.cs: Save the width of
	  the hub page user list, not the pane position.

2007-06-29  Eskil Bylund <eskil@letterboxes.org> 

	* base/Uid.cs (CalculateCid): Explicitly dispose the algorithm.

2007-06-29  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/GladeWindow.cs, gtk/src/Page/Page.cs: Dispose the Glade.XML
	  after it's been used.

2007-06-29  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Util.cs (SetText): Remove. Use the ?? operator instead.
	* gtk/src/PreferencesWindow.cs, gtk/src/HubWindow.cs: Update.

2007-06-29  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/ConnectionManager.cs: Keep track of the failed
	  connection attempts. Add a method for getting the status of a user.
	  Add the event UserIdle.
	
	* base/Backend/Managers/FileDownloader.cs (ForceStart): Add.
	
	* gtk/src/View/DownloadView.cs,
	  base/Backend/Managers/ListDownloader.cs,
	  base/Backend/Managers/DownloadManager.cs: Update.

2007-06-28  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Protocols/Nmdc/Protocol.cs (Escape, Unescape): Handle
	  null argument.

2007-06-28  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Connections/Connection.cs (Receive): Catch
	  ObjectDisposedException.
	* base/Backend/Connections/UserConnection.cs (Upload): Don't log an
	  error when an upload is aborted.

2007-06-28  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/Downloader.cs: Handle a single file download.
	  Make abstract.
	* base/Backend/Managers/ListDownloader.cs,
	  base/Backend/Managers/FileDownloader.cs: Add two implementations of
	  Downloader that handles list and file downloads.
	* base/Backend/Objects/RemoteFileInfo.cs: Add.
	
	* base/Backend/Objects/TransferFileInfo.cs,
	  base/Backend/Objects/UploadFileInfo.cs,
	  base/Backend/Objects/DownloadFileInfo.cs: Remove. Replaced by the
	  Downloader/Uploader classes.
	* base/Backend/Managers/Listener.cs: Remove.
	
	* gtk/src/Model/DownloadStore.cs, gtk/src/View/DownloadView.cs,
	  gtk/src/Page/DownloadPage.cs, gtk/src/Notifications.cs: Update to
	  use the Downloader classes.
	
	* gtk/src/ListDownloadStatusArea.cs: Add a MessageArea subclass that
	  displays the status of a ListDownloader.
	* gtk/src/Gui.cs: Handle list downloads.
	
	* gtk/src/Util.cs, gtk/src/View/SearchResultView.cs,
	  gtk/src/View/TransferView.cs, gtk/src/View/FileListingView.cs,
	  base/Backend/Objects/SourceInfo.cs,
	  base/Backend/Managers/DownloadManager.cs, base/Runtime.cs,
	  base/ProtocolHelper.cs: Update.

2007-06-28  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Util.cs, base/Extras/Util.cs, base/StringUtil.cs: Add the
	  helper class StringUtil with methods from the two Util classes.
	* gtk/src/Model/SearchResultStore.cs, gtk/src/View/SearchResultView.cs,
	  base/Backend/Managers/ShareManager.cs,
	  base/Backend/Managers/SearchManager.cs: Update.

2007-06-27  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Page/Page.cs: Add an empty constructor.
	
	* gtk/src/Page/FileListingPage.cs: Simplify to just presenting a file
	  list. It knows nothing of any download status.
	* gtk/resources/glade/FileListingPage.glade: Remove.

2007-06-27  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Protocols/Nmdc/HubProtocol.cs: Send and handle
	  $Supports.

2007-06-27  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Protocols/Nmdc/HubProtocol.cs (ParseMyInfo): Fix the
	  user active/passive parsing (once again).

2007-06-27  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Page/FileListingPage.cs (OnRowExpanded): Disable sorting
	  when loading a large directory.

2007-06-26  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Protocols/Nmdc/Protocol.cs (Invoke): Catch exceptions
	  from the various Parse methods.

2007-06-26  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Managers/UploadManager.cs (OnUploadRequest): Fix the
	  resusing of uploaders.

2007-06-26  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Page/HubPage.cs (UpdateNewMessageSeparator): Remove the
	  separator from the TextView before deleting the old marks to avoid
	  it from being destroyed.

2007-06-26  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/VisibleColumnsWindow.cs (ConnectToWidget): Add a method to
	  connect a columns window to a widget and action.
	* gtk/src/Page/HubPage.cs, gtk/src/Page/UploadPage.cs,
	  gtk/src/Page/SearchPage.cs, gtk/src/Page/DownloadPage.cs,
	  gtk/src/Page/FileListingPage.cs: Use the helper method.

2007-06-25  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Objects/SearchInfo.cs,
	  base/Backend/Objects/SearchResult.cs,
	  base/Backend/Objects/FavoriteHubInfo.cs,
	  base/Backend/Objects/FavoriteUserInfo.cs: Follow the coding style.

2007-06-25  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Model/UploadStore.cs, base/Backend/Managers/UploadManager.cs:
	  Handle file segment uploads.

2007-06-25  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Connections/UserConnection.cs,
	  base/Backend/Objects/TransferInfo.cs: TransferInfo was meant to be
	  a class.
	* base/Backend/Managers/Uploader.cs: Add a class that handles upload
	  requests.
	* base/Backend/Managers/UploadManager.cs: Create an uploader on
	  incoming requests.
	* gtk/src/Util.cs, gtk/src/Gui.cs, gtk/src/Model/UploadStore.cs,
	  gtk/src/View/UploadView.cs, gtk/src/Page/UploadPage.cs,
	  base/Runtime.cs: Update to use the Uploader.

2007-06-24  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Globals.cs (SaveSettings): Save the hash store.

2007-06-24  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Page/PageManagerNotebook.cs, gtk/src/Page/PageManagerTree.cs:
	  Escape text used with markup.

2007-06-23  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Protocols/Nmdc/UserProtocol.cs: Some more small fixes.
	* base/Backend/Managers/UploadManager.cs: Some small fixes.

2007-06-23  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Protocols/Nmdc/UserProtocol.cs: Fix build errors.
	* base/Backend/Protocols/IUserProtocolHelper.cs,
	  base/Backend/Managers/IShareManager.cs, base/ProtocolHelper.cs:
	  Remove unused methods and classes.

2007-06-23  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Connections/UserConnection.cs,
	  base/Backend/Protocols/Nmdc/UserProtocol.cs,
	  base/Backend/Protocols/IUserProtocol.cs,
	  base/Backend/Objects/TransferInfo.cs: Move the UserConnection to a
	  lower level, handling requests and letting the caller handle the
	  data.
	* base/Backend/Objects/Request.cs: Add the different types of requests.
	* base/Backend/Protocols/Nmdc/Protocol.cs (FixSeparators): Add.

2007-06-21  Eskil Bylund <eskil@letterboxes.org> 

	* base/ActionQueue.cs: Add the class ActionQueue handling the logic
	  that was in both HashManager and ShareLoader.
	* base/Backend/Managers/HashManager.cs,
	  base/Backend/Managers/ShareLoader.cs: Update.

2007-06-16  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Settings/InterfaceSettings.cs: Use the list layout by
	  default.

2007-06-16  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Page/HubPage.cs: Don't block the gui as much when loading
	  many users. Sort operators before regular users.

2007-06-16  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Page/PageManagerTree.cs: Group file list pages. Use a
	  different background color on headers.

2007-06-15  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/Page/PageManagerTree.cs, gtk/src/Page/PageManagerNotebook.cs:
	  Fix the border width of the page and manager.

2007-06-15  Eskil Bylund <eskil@letterboxes.org> 

	* gtk/src/MainWindow.cs, gtk/resources/MainWindow.ui: Make it possible
	  to change the layout from the View menu. Don't expose the page
	  manager as a property since that any events added to it will become
	  invalid if the manager is replaced.
	* gtk/src/Gui.cs, gtk/src/Settings/InterfaceSettings.cs: Save the
	  layout in the settings.
	* gtk/src/Page/PageManager.cs, gtk/src/Page/PageManagerTree.cs: Add a
	  page manager that presents pages in a tree.

2007-06-15  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Protocols/Nmdc/UserProtocol.cs: Add the helper method
	  Send.

2007-06-13  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Protocols/Nmdc/HubProtocol.cs: Move the methods in the
	  nested class Incoming to the main class. Fix escaping and do some
	  general cleanups.
	* base/Backend/Protocols/Nmdc/UserProtocol.cs: Escape the nickname
	  sent/received.
	* base/Backend/Protocols/Nmdc/Protocol.cs: Add methods for (un)escaping
	  strings. Don't catch all exceptions in Invoke.

2007-06-12  Eskil Bylund <eskil@letterboxes.org> 

	* base/Identity.cs: Rename UserEventArgs to IdentityEventArgs.
	* base/User.cs: Add the class UserEventArgs.

2007-06-12  Eskil Bylund <eskil@letterboxes.org> 

	* base/Hashing/HashStore.cs: Make AddHashTree public.

2007-06-12  Eskil Bylund <eskil@letterboxes.org> 

	* base/Hashing/ValidatingOutputStream.cs: Handle the last leaf.

2007-06-12  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Connections/Connection.cs: Remove ConnectionSend.
	* base/Backend/Protocols/Nmdc/Protocol.cs: Add the method SendKey.

2007-06-09  Eskil Bylund <eskil@letterboxes.org> 

	* base/Hashing/ValidatingOutputStream.cs: Add an output stream that
	  validates the written data to a hash tree.
	* base/Hashing/HashTreeInputStream.cs: Add an input stream that reads
	  the leaves from a hash tree.
	* base/Hashing/HashTree.cs: Add an overload to Update with a stream and
	  the number of bytes to read as parameters, and a helper method for
	  comparing if two leaves are equal.

2007-06-09  Eskil Bylund <eskil@letterboxes.org> 

	* base/Extras/Util.cs: The parameter to GetCompressionStream is the
	  output stream, not the input stream.

2007-06-09  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Protocols/IHubProtocol.cs: Change RequestConnection to
	  accept a user.
	* base/Backend/Protocols/Nmdc/HubProtocol.cs: Update.

2007-06-09  Eskil Bylund <eskil@letterboxes.org> 

	* base/Backend/Protocols/Nmdc/HubProtocol.cs: Use long.TryParse.
	* base/Extras/Util.cs: Remove the method WholeNumber.

2007-06-09  Eskil Bylund <eskil@letterboxes.org> 

	* base/Xml/FileList/FileListing.cs: Fix xml serialization. Use a
	  decompression stream when loading from a compressed input stream.

2007-06-08  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/ShareLoader.cs: Fix aborting.

	* gtk/src/PreferencesWindow.cs (RefreshShare): Make the refresh button
	insensitive while the ShareManager is loading.

2007-06-06  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/View/ExtendedTreeView.cs (GetSelectedObjects):
	* gtk/src/View/TransferView.cs (GetSelectedTransfers): Move
	GetSelectedTransfers to ExtendedTreeView and rename to GetSelectedObjects.

2007-06-06  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/ShareLoader.cs:
	* base/Backend/Managers/ShareManager.cs: Load the files in a separate
	thread. Move the loading code to the new helper class ShareLoader.

	* gtk/resources/glade/PreferencesWindow.glade:
	* gtk/src/PreferencesWindow.cs: Update the status text.

2007-06-04  Eskil Bylund  <eskil@letterboxes.org>

	* base/Extras/Util.cs: Add methods for getting the (de)compression
	stream for a specific algorithm.

2007-06-04  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/Nmdc/UserProtocol.cs:
	* base/Backend/Managers/ShareManager.cs:
	* base/Backend/Managers/IShareManager.cs:
	* base/Extras/Util.cs: Remove the write support for the old style file
	lists (Read support was never implemented).

	* base/Extras/NMDCHuffmanCompressor.cs:
	* base/Extras/NMDCHuffmanStream.cs: Remove.

2007-06-04  Eskil Bylund  <eskil@letterboxes.org>

	* base/Runtime.cs:
	* gtk/src/Globals.cs:
	* gtk/src/Gui.cs: Runtime and Gui are no longer static classes. The new
	class Globals contains the global objects.

	* gtk/src/Notifications.cs: Move the notification code from Gui to a
	separate class.

2007-06-03  Eskil Bylund  <eskil@letterboxes.org>

	* base/Settings/UserSettings.cs: Use Environment.UserName.

2007-05-24  Eskil Bylund  <eskil@letterboxes.org>

	Move from using Identity to User where appropriate.

2007-05-12  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/IconManager.cs: Add an icon for disconnected hubs.

	* gtk/src/HubWindow.cs:
	* gtk/src/MainWindow.cs:
	* gtk/src/Page/HubPage.cs:
	* gtk/src/Util.cs: Update.

2007-05-11  Eskil Bylund  <eskil@letterboxes.org>

	* AssemblyInfo.cs: Bump version to 0.10.0.

	* NEWS: Update.

2007-05-11  Eskil Bylund  <eskil@letterboxes.org>

	* lib/NDesk.DBus.dll: Update to 0.4.2.

2007-05-11  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/IHubProtocolHelper.cs:
	* base/Backend/Protocols/Nmdc/HubProtocol.cs:
	* base/ProtocolHelper.cs: Update the hub helper interface.

2007-05-11  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/BufferedSocketReader.cs:
	* base/Backend/Connections/UdpServer.cs: Remove BufferedSocketReader and let
	UdpServer handle the reading since there's no need to buffer anything.

2007-05-10  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/DownloadManager.cs: Ignore file lists and invalid
	downloads when loading/saving the queue file.

	* base/Backend/Managers/UserManager.cs: Remove the Hub property.

2007-05-10  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/IHubProtocolHelper.cs:
	* base/Backend/Protocols/IUserProtocolHelper.cs:
	* base/ProtocolHelper.cs: Add protocol helper interfaces and implementations.

	* base/Backend/Managers/IShareManager.cs:
	* base/Backend/Managers/ShareManager.cs: Add an interface for the
	ShareManager.

	* base/Backend/Connections/UdpServer.cs:
	* base/Backend/Protocols/Nmdc/UdpProtocol.cs: Move the search result parsing
	to the new class UdpProtocol. HubProtocol extends UdpProtocol. Update
	UdpServer to use IProtocol.

	* base/Backend/Protocols/Nmdc/HubProtocol.cs:
	* base/Backend/Protocols/Nmdc/Protocol.cs:
	* base/Backend/Protocols/Nmdc/UserProtocol.cs: Use the helper interface.

	* base/Backend/Connections/Connection.cs: Make the protocol required in the
	constructor.

	* base/Backend/Connections/UserConnection.cs: Add the event
	RemoteIdentityChanged.

	* base/Backend/Connections/TcpServer.cs: Add a handler to call on an
	incoming connection.

	* base/Runtime.cs: Update.

2007-05-10  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/ConnectionStatusbar.cs (Update): Display the correct totals.

	* gtk/src/GUI.cs (OnDownloadRemoved): Open the download page when clicking
	on a download notification.

2007-05-09  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/View/ExtendedTreeView.cs: Add the property
	CanActivateMultipleRows. Update the views.

	* gtk/src/View/DownloadView.cs: Make it possible to open a directory
	from the context menu or by activating its row.

2007-05-09  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/GUI.cs (Init): Connect to the favorite hubs when done
	starting up.

2007-05-09  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/HubConnection.cs:
	* base/Runtime.cs: Let the user of HubConnection interact with the
	HubManager.

2007-05-09  Eskil Bylund  <eskil@letterboxes.org>

	* base/Runtime.cs:
	* base/Settings/IPublicSettings.cs:
	* base/Settings/PublicSettings.cs:
	* base/Xml/XmlHelper.cs:
	* gtk/src/GUI.cs:
	* gtk/src/Settings/InterfaceSettings.cs: Change the location of the
	data and settings files. Rename the PublicSettings class to
	RuntimeSettings.

	* base/Backend/Objects/SourceInfo.cs:
	* base/Backend/Objects/TransferFileInfo.cs:
	* base/Backend/Objects/UploadFileInfo.cs:
	* base/Backend/Objects/DownloadFileInfo.cs:
	* base/Backend/Managers/DownloadManager.cs: Change the format of the
	file containing the downloads.

	* base/Backend/Managers/FavoriteHubManager.cs:
	* base/Backend/Managers/FavoriteUserManager.cs: Remove.

	* base/Backend/Managers/FavoriteManager.cs:
	* base/Backend/Managers/IFavoriteHubManager.cs:
	* base/Backend/Managers/IFavoriteUserManager.cs: Replace the two
	favorites managers with a single class and two interface.

	* base/Backend/Objects/FavoriteHubInfo.cs:
	* base/Backend/Objects/FavoriteUserInfo.cs: Change the format of the
	favorites file.

	* gtk/src/HubWindow.cs: Handle to the events in the favorite hub manager.

2007-05-09  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/ConnectionManager.cs:
	* base/Backend/Managers/DownloadManager.cs:
	* base/Backend/Managers/FavoriteHubManager.cs:
	* base/Backend/Managers/FavoriteUserManager.cs:
	* base/Backend/Managers/HubManager.cs:
	* base/Backend/Managers/Listener.cs:
	* base/Backend/Managers/SearchManager.cs:
	* base/Backend/Managers/UploadManager.cs:
	* base/Runtime.cs: Move each manager instance to the runtime class.

	* base/Backend/Managers/ShareManager.cs: Remove the Shared property.

2007-05-09  Eskil Bylund  <eskil@letterboxes.org>

	* base/SConscript:
	* bin/DCSharp.Base.dll.config:
	* bin/DCSharp.exe.config: Move the gcrypt dllmap to the base library
	config file.

2007-05-08  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Page/HubPage.cs (UpdateStatus): Use Catalog.GetPluralString
	correctly.

2007-05-08  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/Nmdc/HubProtocol.cs (ForceMove): Handle redirects.

	* gtk/src/GUI.cs (OnConnectionCreated): Handle on the main thread.

2007-05-06  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/View/TransferView.cs (AddTransfersToList): Don't check the
	child iters if the current iter is a transfer.

	* gtk/src/Page/DownloadPage.cs: Ignore selection changes when removing a
	source. Handle the delete key press when no rows are selected.

2007-05-06  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Model/UploadStore.cs (Update): Display a localized string for
	file list uploads.

2007-04-30  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/SConscript: Don't mark DCSharp.exe.config as executable.

	* bin/dcsharp.desktop.in: Remove the category "Application".

2007-04-30  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/GUI.cs:
	* gtk/src/View/DownloadView.cs: Change the text "Browse To" to "Open Folder".

2007-04-30  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/GUI.cs: Fix handlers not updating the GUI from the main
	thread. Disable searching when not connected to any hubs, not when one
	is disconnected (bug introduced when moving the logic).

2007-04-30  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/resources/glade/DownloadPage.glade:
	* gtk/src/Page/DownloadPage.cs: Add a check button for setting the
	visibility of the directory tree.

	* gtk/src/GUI.cs:
	* gtk/src/Settings/InterfaceSettings.cs: Save the download page settings.

2007-04-29  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Page/DownloadPage.cs: Add a context menu item for removing
	directories, downloads and sources (the same as pressing delete).

	* gtk/resources/DownloadView.ui:
	* gtk/src/View/DownloadView.cs: Remove the code for removing sources
	when pressing delete (now handled by DownloadPage). Add the Remove
	action to the UI.

2007-04-29  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Page/DownloadPage.cs: Update the handlers of the download
	events. Queue a redraw if a download goes active/inactive, so there's no
	need to move the mouse over it to see the change.

2007-04-29  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Page/DownloadPage.cs: Select the directory in the directory
	tree when activating it. (Alt) Backspace moves to the parent directory.

2007-04-29  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Objects/DownloadFileInfo.cs (CanRequest): Remove unused
	property.

	* base/Extras/Util.cs (FixHostname, Resolve): Remove unused methods.

2007-04-29  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/ConnectionStatusbar.cs: Display the total bytes sent and
	received.

2007-04-29  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/Connection.cs:
	* base/Backend/Connections/UserConnection.cs:
	* base/Backend/Protocols/IUserProtocol.cs:
	* base/Backend/Protocols/Nmdc/UserProtocol.cs: Remove the download logic
	from the protocol. Let the user of UserConnection handle what to
	download.

	* base/Backend/Managers/Downloader.cs:
	* base/Backend/Managers/DownloadManager.cs: Handle existing connections.
	Update and move the download logic to a separate class. Handle download
	priority.

	* base/Backend/Objects/DownloadFileInfo.cs: Rename the Level enum to
	Priority. Only check available sources when looking for similar sources.

	* base/Backend/Managers/ConnectionManager.cs: Add methods for getting
	status information.

	* gtk/src/View/DownloadView.cs: Improve the source status text.

	* base/Backend/Protocols/Nmdc/HubProtocol.cs (GetUser): Fix getting the
	local user.

2007-04-26  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/HubConnection.cs: Change the message events
	to be raised also when sending messages.

	* base/Backend/Protocols/Nmdc/HubProtocol.cs: Update.

	* gtk/src/GUI.cs:
	* gtk/src/Page/HubPage.cs: Move the private message handling to GUI.

	* gtk/resources/glade/ChatPage.glade:
	* gtk/src/Page/ChatPage.cs: Update. Rename from PrivateMessagePage.
	Remove the user information label.

2007-04-26  Eskil Bylund  <eskil@letterboxes.org>

	* base/Identity.cs:
	* base/LocalIdentity.cs:
	* base/Uid.cs:
	* base/User.cs: Add a class representing a unique user, and a class
	for the users identity on a hub.

	* base/Backend/Objects/UserInfo.cs: Remove.

2007-04-26  Eskil Bylund  <eskil@letterboxes.org>

	* base/Settings/ConnectionSettings.cs:
	* base/Settings/IConnectionSettings.cs:
	* base/Settings/IPublicSettings.cs:
	* base/Settings/PublicSettings.cs:
	* base/Settings/UserSettings.cs: Rework the settings class. Move to the
	namespace DCSharp.Settings.

	* base/Runtime.cs: Update.

2007-04-24  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/resources/glade/PreferencesWindow.glade:
	* gtk/src/Model/DownloadStore.cs:
	* gtk/src/PreferencesWindow.cs: Use the term folder instead of directory
	where appropriate.

2007-04-24  Eskil Bylund  <eskil@letterboxes.org>

	* base/Xml/PublicSettings.cs: Initialize all the variables.

	* base/Runtime.cs: Create the application directories if they do not exist.

2007-04-24  Eskil Bylund  <eskil@letterboxes.org>

	* base/Hashing/HashFileInfo.cs:
	* base/Hashing/HashStore.cs: Handle the loss of precision in the stored
	date. Ignore invalid elements when loading the data.

2007-04-23  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/SearchManager.cs (Match): Match the file size.

	* base/Backend/Protocols/Nmdc/HubProtocol.cs:
	* gtk/src/Page/SearchPage.cs: Fix the size restriction.

2007-04-23  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/ConnectionStatusbar.cs:
	* gtk/src/HubWindow.cs:
	* gtk/src/MainWindow.cs:
	* gtk/src/Page/DownloadPage.cs:
	* gtk/src/Page/FileListingPage.cs:
	* gtk/src/Page/SearchPage.cs:
	* gtk/src/Page/UploadPage.cs:
	* gtk/src/PreferencesWindow.cs: Update the constructors with the required
	managers as parameters.

	* gtk/src/GUI.cs: Update.

2007-04-22  Eskil Bylund  <eskil@letterboxes.org>

	* base/Xml/XmlHelper.cs: Rename the settings class to XmlHelper. Move
	the path properties to Runtime.

	* base/Backend/Managers/ShareManager.cs: Add properties for the old style
	and the compressed file list.

2007-04-22  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/HashManager.cs: Remove the singleton. Start a
	new thread as needed, and mark it as a background thread.

	* base/Backend/Managers/ShareManager.cs: Remove the singleton. Clean up,
	add events and documentation for the class. Remove the settings saving
	and loading. Make it possible to limit the number of search results
	returned.

	* base/Runtime.cs:
	* base/Xml/PublicSettings.cs: Update. Keep track of the shared
	directories.

	* base/Backend/Protocols/Nmdc/HubProtocol.cs: Use the search limitting.

	* gtk/resources/glade/PreferencesWindow.glade:
	* gtk/src/PreferencesWindow.cs: Update. Add a button to refresh the
	share.

2007-04-22  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/Connection.cs:
	* base/Backend/Connections/HubConnection.cs:
	* base/Backend/Connections/UserConnection.cs:
	* base/Backend/Managers/HashManager.cs:
	* base/Backend/Managers/ShareManager.cs:
	* base/Runtime.cs: Use the logging classes.

2007-04-21  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/GUI.cs:
	* gtk/src/Page/HubPage.cs: Display a separator between old and new
	messages in the hub chat.

2007-04-21  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/View/ChatView.cs: Use the EndIter property of TextBuffer
	instead of keeping track of the end by using a private iterator (that
	becomes invalid if the buffer changes).

2007-04-21  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Page/DownloadPage.cs: Only update active downloads that are
	below the selected directory. Don't update all the downloads when
	updating the directory tree.

2007-04-21  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Model/UserStore.cs:
	* gtk/src/Page/HubPage.cs:
	* gtk/src/View/UserView.cs: Add a column for the user share size.

2007-04-21  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/Connection.cs:
	* base/Backend/Protocols/IProtocol.cs:
	* base/Backend/Protocols/Nmdc/HubProtocol.cs:
	* base/Backend/Protocols/Nmdc/Protocol.cs: Move the encoding property to
	the protocol and add a property for the default encoding.

	* base/Runtime.cs: Set the new property.

2007-04-21  Eskil Bylund  <eskil@letterboxes.org>

	* base/Logging/Logger.cs:
	* base/Logging/LogManager.cs: Add a very basic logging framework.

	* bin/DCSharp.exe.config: Add the logging configuration.

	* gtk/src/GUI.cs (Init): Setup the default log handler.

	* base/Extras/Log/Log.cs:
	* base/Extras/Log/LogObj.cs: Remove the old logging classes.

2007-04-21  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/Nmdc/HubProtocol.cs (ParseMyInfo): Fix the user
	active/passive parsing.

2007-04-21  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/ConnectionStatusbar.cs: Add a tooltip displaying the active
	downloads and uploads.

2007-04-21  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/IconManager.cs: Simplify the icon loading by registering the icons
	as builtin icons.

2007-04-21  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Settings/InterfaceSettings.cs:
	* gtk/src/Settings/HubSettings.cs: Add a class to handle settings
	for hub pages.

	* gtk/src/MainWindow.cs:
	* gtk/src/Page/DownloadPage.cs:
	* gtk/src/Page/FileListingPage.cs:
	* gtk/src/Page/HubPage.cs:
	* gtk/src/Page/SearchPage.cs:
	* gtk/src/Page/UploadPage.cs: Expose page settings as properties.

	* gtk/src/GUI.cs: Handle page settings.

2007-04-21  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/GUI.cs:
	* gtk/src/MainWindow.cs: Move page handling to the Gui class.

2007-04-21  Eskil Bylund  <eskil@letterboxes.org>

	* SConstruct:
	* base/SConscript:
	* gtk/SConscript: Build the base classes as a library.
	
	* base/Runtime.cs:
	* gtk/src/GUI.cs:
	* gtk/src/Main.cs: Reorganize the code for the separation.

2007-03-11  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/HistoryEntry.cs:
	* gtk/src/Model/DownloadStore.cs: Use generic collections.

2007-03-11  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/GUI.cs (OnUnhandledException): Create the dialog on the main
	thread.

2007-03-11  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/View/ExtendedTreeView.cs: Enable rubberbanding.

	* gtk/src/View/MenuTreeView.cs: Fix to work when rubberbanding is
	enabled. Display the menu when the PopupMenu signal is emitted.

2007-03-11  Eskil Bylund  <eskil@letterboxes.org>

	* SConstruct: Compile using "-target:winexe".

2007-03-10  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/MainWindow.cs:
	* gtk/src/SidePane.cs: Remove placeholder code for the side pane.

2007-03-05  Eskil Bylund  <eskil@letterboxes.org>

	* base/Extras/Util.cs (Compress): Use the smallest block size when
	compressing using BZip2. The compression ratio stays the same for the
	files we compress, but the memory usage improves a lot.

2007-02-27  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Page/HubPage.cs (OnChatViewWidgetEvent): Fix the user
	selection when clicking on a nick that broke when adding the filter
	and sort models for the user searching.

2007-02-27  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/UploadManager.cs: Add class that handles the
	upload policy.

	* base/Backend/Protocols/Nmdc/UserProtocol.cs: Check the slots before
	uploading. Set the IsFileList property on uploads.

	* base/Backend/Protocols/Nmdc/HubProtocol.cs (CreateSearchString): Send
	the correct number of free slots.

2007-02-26  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/UserConnection.cs: Add events for the various
	states of the file transfer.

	* gtk/src/View/TransferView.cs: Create a base class containing
	overlapping code in DownloadView and UploadView.

	* gtk/src/Model/DownloadStore.cs:
	* gtk/src/View/DownloadView.cs: Make a subclass of TransferView. Make
	the text of aborted downloads struck through.

	* gtk/src/Util.cs (GetStatus): Update to handle UploadFileInfo.

	* gtk/resources/glade/UploadPage.glade:
	* gtk/src/InterfaceSettings.cs:
	* gtk/src/Model/UploadStore.cs:
	* gtk/src/Page/UploadPage.cs:
	* gtk/src/View/UploadView.cs: Add a page, model and view for uploads.

	* gtk/src/MainWindow.cs: Use the upload page.

2007-02-26  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Objects/TransferFileInfo.cs:
	* base/Backend/Objects/UploadFileInfo.cs: Add new classes to keep track
	of transfers.

	* base/Backend/Objects/DownloadFileInfo.cs: Subclass TransferFileInfo.

	* base/Backend/Connections/Connection.cs:
	* base/Backend/Connections/UserConnection.cs:
	* base/Backend/Protocols/Nmdc/UserProtocol.cs: Use UploadFileInfo.

2007-02-26  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/Connection.cs:
	* base/Backend/Connections/HubConnection.cs:
	* base/Backend/Connections/UserConnection.cs:
	* base/Backend/Protocols/Nmdc/HubProtocol.cs:
	* base/Backend/Protocols/Nmdc/UserProtocol.cs: General clean ups.

2007-02-26  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/IHubProtocol.cs:
	* base/Backend/Protocols/IProtocol.cs:
	* base/Backend/Protocols/IUserProtocol.cs: Add protocol interfaces.

	* base/Backend/Protocols/Nmdc/HubProtocol.cs:
	* base/Backend/Protocols/Nmdc/Protocol.cs:
	* base/Backend/Protocols/Nmdc/UserProtocol.cs: Move to Nmdc namespace.

	* base/Backend/Connections/Connection.cs:
	* base/Backend/Connections/HubConnection.cs:
	* base/Backend/Connections/UserConnection.cs: Update. Move protocol code
	to the protocol classes.

2007-02-20  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Objects/SourceInfo.cs: Add Available property.

	* base/Backend/Managers/DownloadManager.cs:
	* base/Backend/Protocols/UserProtocol.cs:
	* gtk/src/Util.cs:
	* gtk/src/View/DownloadView.cs: Respect the Available property.

2007-02-20  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/UserProtocol.cs (Supports): Update to match
	DC++. Disable upload compression, it needs more testing.

2007-02-20  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/UserProtocol.cs: Handle hash tree uploads
	(TTHL).

2007-02-20  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/Connection.cs:
	* base/Backend/Connections/HubConnection.cs:
	* base/Backend/Connections/UserConnection.cs: Update access modifiers.

2007-02-20  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/UserProtocol.cs (AdcGet): Send the correct
	response when using compression.

2007-02-19  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Page/HubPage.cs: Add a delay before performing the user
	filtering so that it's not done while typing.

2007-02-19  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Page/HubPage.cs: Add code to sort operators before regular
	users. The code is disabled since I get a segfault when sorting.

2007-02-19  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/ShareManager.cs (RemovePath): Also abort the
	hashing of files in the root directory.

2007-02-19  Eskil Bylund  <eskil@letterboxes.org>

	* base/Hashing/Hasher.cs:
	* base/Hashing/HasherManaged.cs:
	* base/Hashing/HashTree.cs: Add classes to create hash trees.

	* base/Hashing/HashFileInfo.cs:
	* base/Hashing/HashInfo.cs:
	* base/Hashing/HashStore.cs: Add class to store hash trees. It stores
	the trees in the same format as DC++, so that the data can be shared
	between the clients.

	* base/Extras/Hashing: Remove old hashing classes.

	* base/Backend/Managers/HashManager.cs:
	* base/Backend/Managers/ShareManager.cs:
	* base/Runtime.cs: Update to use the new hashing classes.

	* base/Security/Cryptography/Tiger.cs:
	* base/Security/Cryptography/TigerManaged.cs:
	* base/Security/Cryptography/TigerUnmanaged.cs: Add an abstract base
	class for all Tiger implementations, and an implementation that uses
	libgcrypt (it should be faster than the managed one).

	* base/Backend/Protocols/Protocol.cs (MakeCID):
	* base/Extras/Util.cs (GenerateCID): Update to use the new tiger class.

	* base/Text/Base32.cs: Replace the Base32 class with one that implements
	decoding.

2007-02-19  Eskil Bylund  <eskil@letterboxes.org>

	* base/Xml/PublicSettings.cs: Remove unused settings.

2007-02-19  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Page/DownloadPage.cs: Change the clear button to remove all
	finished downloads, not only the selected ones.

2007-02-19  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Objects/DownloadFileInfo.cs: Rename the property Downloading
	to Active and DownloadedBytes to Position.

2007-02-13  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Page/PageManagerNotebook.cs: Remove the padding from the close
	button, making the close image its real size.

2007-02-13  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/View/ExtendedTreeView.cs: Remove the filter and sort model code.

	* gtk/src/Model/FileListingStore.cs:
	* gtk/src/Model/SearchResultStore.cs: Add classes containing the model code
	from the respective view.

	* gtk/src/Page/DownloadPage.cs:
	* gtk/src/Page/FileListingPage.cs:
	* gtk/src/Page/SearchPage.cs:
	* gtk/src/View/DownloadView.cs:
	* gtk/src/View/FileListingView.cs:
	* gtk/src/View/SearchResultView.cs: Separate the model from the view.

2007-02-12  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/ConnectionManager.cs:
	* base/Backend/Managers/HubManager.cs:
	* base/Backend/Managers/SearchManager.cs:
	* base/Backend/Managers/UserManager.cs:
	* base/Backend/Objects/SearchInfo.cs: Update to pass the unit tests. Change
	ConnectionManager to accept multiple connections from the same user. Move
	the search code from SearchInfo to SearchManager.

2007-02-12  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/ShareManager.cs (GetFullPath): Fix to work as
	intended. Broke when switching to Path.Combine since the second path
	included a root.

2007-02-12  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/SearchEntry.cs: Add a basic search entry class. Currently it only
	changes the background color when it has any text.

	* gtk/resources/glade/HubPage.glade
	* gtk/src/Page/HubPage.cs: Add user searching.

2007-02-12  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Model/UserStore.cs:
	* gtk/src/View/UserView.cs: Remove model code from the view and create a new
	UserStore class.

	* gtk/src/Page/HubPage.cs: Update to use the UserStore.

2007-02-11  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Page/SearchPage.cs (AddResultsInQueue): Work around a bug in
	TreeModelFilter making the expander arrows not show up when filtering is
	enabled.

2007-02-11  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/Test/ConnectionManagerTest.cs:
	* base/Backend/Managers/Test/DownloadManagerTest.cs:
	* base/Backend/Managers/Test/HubManagerTest.cs:
	* base/Backend/Managers/Test/SearchManagerTest.cs:
	* base/Backend/Managers/Test/UserManagerTest.cs: Add basic unit tests.

2007-02-11  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/Connection.cs:
	* base/Backend/Connections/HubConnection.cs:
	* base/Backend/Managers/ConnectionManager.cs:
	* base/Backend/Managers/DownloadManager.cs:
	* base/Backend/Managers/FavoriteHubManager.cs:
	* base/Backend/Managers/FavoriteUserManager.cs:
	* base/Backend/Managers/HubManager.cs:
	* base/Backend/Managers/Listener.cs:
	* base/Backend/Managers/UserManager.cs:
	* base/Backend/Objects/DownloadFileInfo.cs:
	* base/Backend/Objects/SearchInfo.cs:
	* base/Backend/Objects/SearchResult.cs:
	* base/Backend/Objects/SourceInfo.cs:
	* base/Backend/Objects/UserInfo.cs: Use the generic EventHandler
	delegate, instead of custom delegates. Update all methods to use the
	new signatures.

2007-02-10  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/InterfaceSettings.cs:
	* gtk/src/MainWindow.cs: Remember the window size and position.

	* gtk/resources/glade/MainWindow.glade: Make not visible by default, or
	the window will flicker when restoring the state.

2007-02-10  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Page/PageManager.cs:
	* gtk/src/Page/PageManagerNotebook.cs: Create an abstract PageManager
	base class. Rename the current PageManger class to PageManagerNotebook.
	Remove the StatusChanged event.

	* gtk/src/MainWindow.cs: Update to work with the new PageManager.

2007-02-10  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Icons.cs: Rename class to IconManager.

2007-02-10  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/HubConnection.cs (ProcessCommand): Don't
	include the separator (space) in the chat message.

	* gtk/src/Page/PrivateMessagePage.cs (DisplayStatus): Use a more
	descriptive status text. Insert the text using InsertStatus.

	* gtk/src/View/ChatView.cs: Rename public methods to make them more
	clear. Handle "/me" messages.

2007-02-10  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/View/ExtendedTreeView.cs (GetColumn): Add overload to get the
	column by title.

	* gtk/src/InterfaceSettings.cs:
	* gtk/src/Page/DownloadPage.cs:
	* gtk/src/Page/FileListingPage.cs:
	* gtk/src/Page/SearchPage.cs: Move the setting of the default visible
	columns from InterfaceSettings to each page.

2007-02-09  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/UserProtocol.cs (AdcSnd): Fix splitting of the
	argument string.

2007-02-09  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/UserProtocol.cs: Fix Features enum. The values
	should be powers of two.

2007-02-09  Eskil Bylund  <eskil@letterboxes.org>

	* base/Extras/FileSize.cs: Remove class.

	* gtk/src/Util.cs: Add FormatFileSize method.

2007-02-09  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/ConnectionMonitor.cs: Update to latest
	version from bitsharp.

	* lib/NDesk.DBus.dll
	* lib/NDesk.DBus.GLib.dll:
	* lib/NDesk.DBus.GLib.dll.config: Update dbus-sharp to 0.4 and
	dbus-sharp-glib to 0.3.

2007-02-09  Eskil Bylund  <eskil@letterboxes.org>

	* base/Extras/Xml/PublicSettings.cs:
	* base/Extras/Xml/Settings.cs: Rename namespace DCSharp.Extras.Xml to
	DCSharp.Xml.

	* base/Extras/FileList/File.cs:
	* base/Extras/FileList/Directory.cs:
	* base/Extras/FileList/FileListing.cs: Rename namespace
	DCSharp.Extras.FileList to DCSharp.Xml.FileList.

2006-12-16  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/SearchPage.cs (FocusSearchEntry): Add method.

	* gtk/src/MainWindow.cs (OnSearch): Set focus to the search entry.

2006-12-16  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/ShareManager.cs (LoadDirectory): Make the
	directory update atomic.

2006-12-15  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/ChatView.cs (InsertError, InsertStatus): Prepend the text with
	a dash.

2006-12-15  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/HubPage.cs (OnHubNameChanged): Display the new name in the
	chat view.

2006-12-15  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/HubPage.cs (Tooltip): Display the hub name/title in the
	tooltip.

	* gtk/src/Util.cs (GetHubName): Use the hub hostname as the fallback
	name.

2006-12-15  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/HubConnection.cs: Add password property.

	* base/Backend/Objects/UserInfo.cs (Password): Remove.

2006-12-15  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Icons.cs: Add class to manage and cache icons.

	* gtk/src/Util.cs: Remove methods now in Icons. Add method for getting
	the appropriate user icon.

	* gtk/src/DownloadView.cs (SetPixbuf):
	* gtk/src/FileListingView.cs (SetPixbuf):
	* gtk/src/GUI.cs:
	* gtk/src/MainWindow.cs:
	* gtk/src/PrivateMessagePage.cs (Icon):
	* gtk/src/SearchResultView.cs:
	* gtk/src/UserView.cs: Update to use the new methods.

2006-12-15  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/SearchPage.cs: Fix search result filtering.

2006-12-12  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/PreferencesWindow.cs (OnVirtualNameEdited): Don't rename if
	the new name is empty.

2006-12-12  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/resources/glade/PreferencesWindow.glade:
	* gtk/resources/glade/VisibleColumnsWindow.glade: Change to Gtk.Dialog.

2006-12-12  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/ChatView.cs (OnPopulatePopup): Update the context menu with a
	menu item for clearing the view and menu items for working with links.

2006-12-12  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/ChatView.cs (ChatView): Set the left and right margin.

2006-12-10  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/ChatView.cs (ChatView): Update the theme to match Gossip.

2006-12-10  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/ChatView.cs (InsertTimestamp): Display the full date if the
	day changes.

2006-12-10  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/GladeWindow.cs: Add virtual Destroy method. Call Destroy for
	the DeleteEvent. All subclasses updated and uses of Window.Destroy
	replaced with Destroy.

2006-12-10  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/MainWindow.cs: Make the close action insensitive when no page
	is open.

2006-12-10  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/HubProtocol.cs (MyInfo, OpList): Call
	OnUserChanged after updating a user.

2006-12-10  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/HubConnection.cs: Add methods for working
	with the hub.
	
	* base/Backend/Connections/Connection.cs (Protocol):
	* base/Backend/Connections/HubConnection.cs (HubProtocol):
	* base/Backend/Connections/UserConnection.cs (UserProtocol): Mark as
	protected.

2006-12-10  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/HubProtocol.cs:
	* base/Backend/Protocols/Protocol.cs:
	* base/Backend/Protocols/UserProtocol.cs: Update access modifiers.

2006-12-10  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/HubManager.cs (GetEnumerator):
	* base/Backend/Managers/UserManager.cs (GetEnumerator): Return
	IEnumerator instead of IDictionaryEnumerator.

	* base/Backend/Protocols/UserProtocol.cs (MyNick): Update.

2006-12-10  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/HubManager.cs (Find, ForEach):
	* base/Backend/Managers/UserManager.cs (Find, ForEach): Add useful
	methods for working with the managers.

	* base/Backend/Objects/SearchInfo.cs (Search):
	* gtk/src/HubPage.cs (GetUser): Use the new methods.

2006-12-06  Eskil Bylund  <eskil@letterboxes.org>

	* base/Extras/FileList/Directory.cs:
	* base/Extras/FileList/FileListing.cs: Remove code belonging in
	ShareManager. The FileListing class is now a general class for loading
	and saving file lists.

	* base/Backend/Managers/ShareManager.cs: Add code for updating the file
	list.

	* TODO: Updated

2006-12-06  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/HubManager.cs (CallWhenAdded):
	* base/Backend/Managers/UserManager.cs (CallWhenAdded): Remove unused
	methods.

2006-12-06  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Objects/UserInfo.cs: Remove the copy constructor.
	Implement ICloneable.

2006-12-06  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Objects/SearchResult.cs: Add additional constructors.

2006-12-05  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/PageManager.cs: Add a generic Find method.
	
	* gtk/src/MainWindow.cs (OpenPrivateMessagePage, OpenFileListingPage,
	OpenHubPage, OnReceivedFileListing): Use the Find method in PageManager.

2006-12-05  Eskil Bylund  <eskil@letterboxes.org>

	* base/Extras/Util.cs (SaveNMDCList): Remove debugging code committed by
	accident.

2006-12-05  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/ShareManager.cs (DirectoryExists):
	* base/Backend/Objects/SourceInfo.cs:
	* base/Extras/FileList/Directory.cs (GetDirectory):
	* base/Extras/FileList/File.cs:
	* base/Extras/FileList/FileListing.cs (GetDirectory): Remove unused
	methods. Add #region blocks.

	* base/Backend/Managers/HashManager.cs: Lower the thread priority.

2006-12-05  Eskil Bylund  <eskil@letterboxes.org>

	* base/Extras/FileList/FileListing.cs (ReadDirectory): Really fix
	parsing of empty directories.

2006-12-04  Eskil Bylund  <eskil@letterboxes.org>

	* base/Extras/FileList/FileListing.cs (ReadDirectory): Parse empty
	directories correctly.

2006-12-03  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/PrivateMessagePage.cs (Dispose): Remove event handlers.

2006-12-03  Eskil Bylund  <eskil@letterboxes.org>

	* base/Extras/Util.cs (GenerateCID): Add a method for generating the
	local CID.

	* base/Extras/Xml/PublicSettings.cs: Set the CID for the local user.

	* base/Extras/FileList/Directory.cs:
	* base/Extras/FileList/File.cs:
	* base/Extras/FileList/FileListing.cs: Add CID property and Save and
	Load methods. The xml formatting used when saving is now according to
	the ADC protocol. Loading is done using XmlTextReader to improve
	performance.

	* base/Backend/Managers/ShareManager.cs: Use the new methods in
	FileListing.

2006-12-03  Eskil Bylund  <eskil@letterboxes.org>

	* base/Extras/FileList/Directory.cs(GetNMDCList):
	* base/Extras/FileList/File.cs(GetNMDCEntry):
	* base/Extras/FileList/FileListing.cs(NmdcListPath,
	CompressLocalFileListing, SaveNMDCList, SaveNMDCList): Remove methods
	for generating the NMDC	style file list and for compressing the list.

	* base/Extras/Util.cs (CompressLocalFileListing, SaveNMDCList,
	AppendNMDCEntry): Add the removed methods to Util.

	* base/Backend/Managers/ShareManager.cs: Use the new methods in Util.

2006-11-26  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/Connection.cs (Connect): Only start the timer
	when not already connected.

2006-11-26  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/Connection.cs: Create the command separator
	and the AsyncCallback only once.

2006-11-26  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/UserProtocol.cs (AdcGet): Fix splitting of the
	argument string.

2006-11-26  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/DownloadManager.cs: Work around Mono bug #79484 by
	using the Timer class from System.Threading.

2006-11-25  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/UdpServer.cs: Use SendTo and a single socket.

2006-11-25  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/ConnectionStatusbar.cs (Dispose): Remove event handlers.

2006-11-25  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/UserProtocol.cs (Key): Somewhat better key
	comparison.

2006-11-25  Eskil Bylund  <eskil@letterboxes.org>

	* base/Extras/Xml/PublicSettings.cs: Add ProtocolCodePage property.
	
	* base/Runtime.cs: Add ProtocolEncoding property.
	
	* base/Backend/Connections/UdpServer.cs: Add Encoding property.

	* base/Backend/Connections/Connection.cs:
	* base/Backend/Protocols/HubProtocol.cs: Use Runtime.ProtocolEncoding.

2006-11-24  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/SConscript:
	* lib/notify-sharp/SConscript:
	* lib/SConscript:
	* SConstruct: Use mcs builder from Diva. It handles dependencies
	correctly.

2006-11-24  Eskil Bylund  <eskil@letterboxes.org>

	* lib/notify-sharp/AssemblyInfo.cs
	* lib/notify-sharp/Global.cs:
	* lib/notify-sharp/Notification.cs:
	* lib/notify-sharp/notify-sharp.dll.config: Add notify-sharp sources. We
	need to build this library so that it gets the correct version
	requirements.

	* lib/notify-sharp.dll: Remove.

	* DCSharp.mdp:
	* DCSharp.mds:
	* lib/notify-sharp/notify-sharp.mdp: Update with new files.

2006-11-23  Eskil Bylund  <eskil@letterboxes.org>

	* AssemblyInfo.cs: Bump version to 0.9.0.
	
	* NEWS: Updated.

2006-11-23  Eskil Bylund  <eskil@letterboxes.org>

	* bin/SConscript:
	* gtk/po/SConscript:
	* gtk/SConscript:
	* SConstruct: Set the correct file permissions on the installed files.

2006-11-22  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/ShareManager.cs: Add method GetPathFromTTH and
	GetFullPathFromTTH.

	* base/Backend/Protocols/UserProtocol.cs: Implement support for ADCGet and
	TTHF.

2006-11-22  Eskil Bylund  <eskil@letterboxes.org>

	* base/Extras/Util.cs: Remove unused delegates.

2006-11-19  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/Page.cs: Remove Close.

	* gtk/src/MainWindow.cs (OnPageRemoved): Destroy all pages other than
	the search and download page.

	* gtk/src/DownloadPage.cs:
	* gtk/src/FileListingPage.cs:
	* gtk/src/HubPage.cs:
	* gtk/src/PrivateMessagePage.cs:
	* gtk/src/SearchPage.cs: Implement Dispose.

2006-11-19  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/UserConnection.cs (UpdateMonitor): Use
	Environment.TickCount instead of DateTime.Now to check elapsed time.

2006-11-19  Eskil Bylund  <eskil@letterboxes.org>

	* base/Extras/Xml/Settings.cs: Clean up.

2006-11-19  Eskil Bylund  <eskil@letterboxes.org>

	* base/Extras/Xml/Settings.cs (SerializeTo, DeserializeFrom): Remove
	locking on static object.

	* base/Backend/Managers/ShareManager.cs (Serialize): Add locking.

2006-11-18  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/SConscript: Install the new libraries.

2006-11-17  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/HubProtocol.cs (Call): Catch exceptions.

	* base/Backend/Protocols/UserProtocol.cs (MyNick): Somewhat improved
	user finding. Disconnect unknown users.

	* base/Extras/FileList/Directory.cs (Directories, Files): Fix setting
	the directories and files.

2006-11-17  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/MainWindow.cs (OpenFileListingPage): Present already open
	pages.

	* gtk/src/SearchResultView.cs (Download):
	* gtk/src/FileListingView.cs (Download): Start downloading when adding
	a source.

2006-11-17  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/DownloadPage.cs: Remove downloads when pressing Delete.

	* gtk/src/DownloadStore.cs: Set download progress for directories.
	Show decimals on files >= 1 GB.

2006-11-17  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/DownloadPage.cs (OnClearButtonClicked): Fix selection
	handling.

	* gtk/src/DownloadView.cs (GetSource): Reorganize.

2006-11-17  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/PageManager.cs: New events PageAdded and PageRemoved.

	* gtk/src/MainWindow.cs (MainWindow, OnPageRemoved): Destroy removed
	hub pages.

	* gtk/src/HubPage.cs (Dispose): Remove event handlers when disposed.

2006-11-14  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/HubProtocol.cs (Search):
	* base/Backend/Managers/ShareManager.cs (SearchDirectory): Implement
	searching by TTH.

2006-11-11  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/HubConnection.cs: Resolve the host name
	asynchronously.

2006-11-11  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/ChatView.cs:
	* gtk/src/HubPage.cs: Use the correct cursor. Broken in previous change.

2006-11-11  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/DownloadPage.cs: Ignore file list downloads. Change refresh
	timeout from 0.5s to 1s.

2006-11-11  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/UserManager.cs: Add SyncRoot property.

	* gtk/src/HubPage.cs: Clicking on a nick selects the user in the
	TreeView.

	* gtk/src/ChatView.cs: Make cursors static. Replace the tags "nick-self"
	and "nick-other" with "nick" and "self". Apply both on self nick. Fix
	coding style.

2006-11-11  Eskil Bylund  <eskil@letterboxes.org>

	* base/Runtime.cs (Main):
	* base/Extras/FileList/FileListing.cs: Reorganize.

	* base/Backend/Protocols/Protocol.cs: New property CommandSeparator.

	* base/Backend/Connections/BufferedSocketReader.cs: Use Encoding.UTF8
	and not Encoding.Default.

	* gtk/SConscript: Define GTK_2_10 when GTK# >= 2.10.

	* gtk/src/PageManager.cs: Enable reordering of tabs in Gtk.Notebook
	when on 2.10.

2006-11-11  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/HubProtocol.cs:
	* base/Backend/Managers/ShareManager.cs: Move code to search the shared
	files to ShareManager.

2006-11-11  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Objects/SearchInfo.cs: Replace the properties Size and
	IsMinimumSize with nullable MaxSize and MinSize. Make Keywords an array.

	* base/Backend/Protocols/HubProtocol.cs (Search, SR, SearchDirectory,
	GetSearchString):
	* base/Backend/Managers/SearchManager.cs (Add):
	* gtk/src/SearchPage.cs (CreateSearchInfo): Update to use new
	properties.

2006-11-08  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/FileListingView.cs: Implement ExpandToPathString.
	
	* gtk/src/FileListingPage.cs: Implement SelectPath.
	
	* gtk/src/MainWindow.cs (OpenFileListingPage):
	* gtk/src/Util.cs (RequestFileList):
	* gtk/src/SearchResultView.cs (OnFileList): Select the activated file in
	the file list.

2006-11-08  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/UserProtocol.cs: Implement downloading using
	$ADCGet. Always get file lists using $Get.

2006-11-08  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/SaveToDialog.cs: Catch exceptions.

	* gtk/src/ChatView.cs (OnButtonPressEvent): Use OpenUrl in Util.

	* gtk/src/InterfaceSettings.cs:
	* gtk/src/DownloadPage.cs: Implement changing the visible columns.

2006-11-08  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/resources/DownloadView.ui:
	* gtk/src/DownloadView.cs: Make it possible to open completed downloads.

2006-11-08  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/GUI.cs (OpenFile, OpenUrl): Move to Util.

	* gtk/src/ExtendedTreeView.cs (OnKeyPressEvent):
	* gtk/src/SearchResultView.cs (OnDownload): Call ActivateRow and not
	OnRowActivated to activate a row.

2006-11-08  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/HubWindow.cs: Connect to hub when a row is activated.

2006-11-08  Eskil Bylund  <eskil@letterboxes.org>

	* lib/ICSharpCode.SharpZipLib.dll: Remove. Provided by Mono.

2006-11-04  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/ConnectionStatusbar.cs: Add new class.

	* gtk/src/MainWindow.cs: Show download and upload speeds.

2006-11-04  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/ConnectionMonitor.cs: Add new class.

	* base/Backend/Connections/UserConnection.cs: Update to use the monitor
	class.

2006-10-31  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/util.cs: Add new method GetIconName. Get name using GnomeVfs.

2006-10-31  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/UserConnection.cs (HandleData): Add missing
	lock.

2006-10-31  Eskil Bylund  <eskil@letterboxes.org>

	* base/Core.cs:
	* lib/NDesk.DBus.GLib.dll:
	* lib/NDesk.DBus.dll:
	* lib/NDesk.DBus.GLib.dll.config:
	* lib/notify-sharp.dll: Add new files.

	* DCSharp.mdp:
	* gtk/SConscript: Update with new files.

	* base/Runtime.cs (Main): Add D-Bus support.

	* gtk/src/GUI.cs: Implement download notifications.

2006-10-31  Eskil Bylund  <eskil@letterboxes.org>

	* DCSharp.mdp:
	* SConstruct: Build for the 2.0 framework.

	* base/Backend/Protocols/Protocol.cs:
	* base/Extras/Util.cs (GetLocalIPAddress, Resolve): Replace obsolete
	calls.

2006-10-31  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/ExtendedTreeView.cs (OnRowActivated): Remove.

	* gtk/src/DownloadView.cs:
	* gtk/src/FileListingView.cs:
	* gtk/src/SearchResultView.cs: Override OnRowActivated from TreeView.

2006-10-31  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/FileListingPage.cs (Close): Remove the timeout on close.

2006-10-31  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/ExtendedTreeView.cs (GetSelectedIters): New argument.
	All callers updated.

2006-10-24  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/resources/glade/PreferencesWindow.glade: Fix mnemonics.

2006-10-24  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/MainWindow.cs: Rename the file menu.

	* gtk/src/DownloadStore.cs:
	* gtk/src/DownloadView.cs: Rename columns for consistency.

2006-10-24  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/resources/MainWindow.ui:
	* gtk/src/MainWindow.cs:
	* gtk/src/InterfaceSettings.cs: Make it possible to hide the toolbar.

2006-10-24  Eskil Bylund  <eskil@letterboxes.org>

	* base/Runtime.cs:
	* gtk/src/GUI.cs: Make Run static. Save interface settings on quit.

2006-10-24  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/FileListingView.cs: Add TTH column.

2006-10-24  Eskil Bylund  <eskil@letterboxes.org>

	* DCSharp.mdp:
	* gtk/src/InterfaceSettings.cs:
	* gtk/src/VisibleColumnsWindow.cs:
	* gtk/resources/glade/VisibleColumnsWindow.glade: Add new classes.

	* gtk/src/Util.cs:
	* gtk/src/SearchPage.cs:
	* gtk/src/FileListingPage.cs: Implement changing the visible columns.

2006-10-24  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/PageManager.cs: New event CurrentPageChanged.

	* gtk/src/MainWindow.cs:
	* gtk/src/Page.cs: Allow pages to specify actions to add to the main UI.

2006-10-24  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/SearchResultView.cs: Revert previous change. The actions are
	available from the UIManager.

2006-10-21  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/SearchPage.cs: Implement searching by TTH.

	* gtk/src/SearchResultView.cs: Make the action group public. Emit the
	PopulatePopup event.

2006-10-21  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/HubPage.cs:
	* gtk/src/SearchPage.cs: Disable sorting while updating the TreeModel. 

2006-10-21  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/UserConnection.cs (WriteToFile): Close the
	file stream before moving the file.

2006-10-21  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/MainWindow.cs: Don't set the SkipPager hint. Hide the main
	window the first thing on quit.
 
2006-10-20  Eskil Bylund  <eskil@letterboxes.org>

	* base/Runtime.cs:
	* gtk/src/GUI.cs: Reorganize.

	* gtk/src/UserView.cs: Remove the TreeModelSort.

	* gtk/src/HubPage.cs (HubPage): Set the model for the EntryCompletion
	when the entry is focused.

	* gtk/src/SearchPage.cs: Only make the search button insensitive when
	not connected.

2006-10-16  Eskil Bylund  <eskil@letterboxes.org>

	* base/Runtime.cs (Main): Remove logging.

	* base/Backend/Managers/HashManager.cs: Don't use Suspend/Resume on
	thread. Throw ArgumentNullException.

	* base/Backend/Managers/ConnectionManager.cs:
	* base/Backend/Managers/UserManager.cs: Throw ArgumentNullException.

	* base/Backend/Managers/FavoriteUserManager.cs: Use UserAdded/Removed
	from Listener.

2006-10-16  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/HubConnection.cs (ProcessCommand):
	* gtk/src/ChatView.cs (InsertMessage):
	* gtk/src/HubPage.cs (OnHubMessageReceived, DisplayMessage): Handle 
	hub messages.

2006-10-10  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/Connection.cs (ParseData): Skip empty
	commands.

2006-10-10  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/UdpServer.cs (Send): Fix sockets not being
	reused. Update arguments. All callers updated.

	* base/Backend/Protocols/HubProtocol.cs (Search): Send search results
	with the correct encoding.

2006-10-05  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/Protocol.cs (CalculateKey, GetLock): Rewrite
	to calculate correct key. All callers updated with new arg.

	* base/Backend/Connections/Connection.cs (ParseData): Use StringBuilder.

	* base/Backend/Protocols/UserProtocol.cs (Supports): Simplify by using
	Enum.Parse().

2006-10-04  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/Connection.cs (OnReceivedData): Catch
	all exceptions.

2006-10-04  Eskil Bylund  <eskil@letterboxes.org>

	* bin/dcsharp.desktop.in: Add GenericName and Polish translation.

2006-10-04  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Objects/DownloadFileInfo.cs (Added): Fix serialization.

2006-10-04  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/UserProtocol.cs (Get): Request the correct
	number of bytes.

	* base/Backend/Connections/TcpServer.cs (OnConnectRequest): Catch
	ObjectDisposedException.

	* base/Backend/Connections/Connection.cs: Fix connection disposed check.

	* base/Backend/Connections/UserConnection.cs (UploadFile): Reorganize.
	Throw ArgumentOutOfRangeException when requesting to many bytes.

2006-10-02  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/resources/glade/PreferencesWindow.glade: Fix typo.

2006-10-02  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/Connection.cs (SocketConnected): Stop the
	timeout timer when connected.

2006-09-30  Eskil Bylund  <eskil@letterboxes.org>

	* AssemblyInfo.cs: Bump version to 0.8.0.
	
	* NEWS: Updated.

2006-09-30  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/resources/glade/FileListingPage.glade: Don't mark placeholder
	string as translatable.

2006-09-30  Eskil Bylund  <eskil@letterboxes.org>

	* DCSharp.mdp:
	* gtk/src/SaveToDialog.cs: New SaveToDialog class.

	* gtk/src/SearchResultView.cs:
	* gtk/src/FileListingView.cs: Implement the SaveTo action.

2006-09-30  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/HubConnection.cs (Disconnect): Remove users
	before disconnecting.

	* gtk/src/HubPage.cs: Remove and update users in an idle handler.

	* gtk/src/FileListingPage.cs (OnProgressTimeout): Don't set the
	progressbar fraction to an invalid value.

	* DCSharp.mdp:
	* gtk/resources/glade/InlineDialog.glade:
	* gtk/resources/glade/MessageArea.glade:
	* gtk/src/InlineDialog.cs:
	* gtk/src/MessageArea.cs:
	* gtk/src/Page.cs:
	* gtk/src/SearchPage.cs: Rename InlineDialog to MessageArea.

2006-09-30  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/Connection.cs:
	* base/Backend/Connections/HubConnection.cs:
	* base/Backend/Connections/UserConnection.cs: Allow sending commands in
	a specific encoding.

	* base/Backend/Protocols/UserProtocol.cs: Implement downloading using
	$UGetBlock.

	* base/Backend/Protocols/Protocol.cs (Call): Catch ObjectDisposedException.

2006-09-30  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/Connection.cs:
	* base/Backend/Connections/UserConnection.cs: Rewrite OnReceivedData.
	Downloaded data would sometimes be parsed as a command.

2006-09-30  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/UserConnection.cs (Disconnect): Fix
	NullReferenceException.

	* gtk/src/GUI.cs: Handle errors on the main thread.

	* base/Extras/Util.cs: Fix Compress and WriteToStream.

2006-09-30  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Connections/UserConnection.cs:
	* base/Backend/Protocols/UserProtocol.cs:
	* base/Backend/Protocols/Protocol.cs: Implement compressed uploads
	($GetZBlock and $UGetZBlock).

2006-09-30  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/UserProtocol.cs: Add method CheckState.

2006-09-30  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/UserProtocol.cs: Send $MaxedOut instead of $Error
	when maxed out.

2006-09-29  Eskil Bylund  <eskil@letterboxes.org>

	* gtk/src/DownloadStore.cs:
	* gkt/src/Util.cs: Move download status methods to Util.

	* gkt/src/FileListingPage.cs:
	* gtk/resources/glade/FileListingPage.glade: Display download status and
	progress when the file list is downloading.

2006-09-29  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Managers/DownloadManager.cs:
	* base/Backend/Managers/Listener.cs: Add UserAdded and UserRemoved
	events to Listener.

2006-09-29  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Objects/UserInfo.cs: Add XmlIgnore attribute to properties.

	* base/Extras/Xml/PublicSettings.cs: Remove unused properties.

2006-09-29  Eskil Bylund  <eskil@letterboxes.org>

	* base/Backend/Protocols/HubProtocol.cs: Fix parsing of user connection
	in $MyINFO.

	* base/Extras/Xml/PublicSettings.cs:
	* gtk/src/PreferencesWindow.cs: Remove ConnectionType property. Use
	LocalUser.Connection instead.

2006-09-29  Eskil Bylund  <eskil@letterboxes.org>

	* ChangeLog: Add new ChangeLog.
