2007-08-26  Marko Anastasov <marko@marko.anastasov.name>

	* NEWS: updated for 0.3.2, without the translations section.

2007-08-26  Marko Anastasov <marko@marko.anastasov.name>

	* README:
	* src/aboutdialog.cc: Updated program description.

2007-08-19  Marko Anastasov <marko@marko.anastasov.name>
	
	* ui/flashdrivesdialog.glade: Better layout and allocation.

2007-08-19  Marko Anastasov <marko@marko.anastasov.name>

	* src/main.cc: Initialize arg_minimized, so we don't always run minized.
	* src/flashdrivesdialog.cc: Reduced window_expansion constant.

2007-08-19  Marko Anastasov <marko@marko.anastasov.name>

	* src/halclient.[cch]: Added is_acceptable_bus/drive_type(),
	as we cannot rely on ORing enum values as they're not defined
	as shifted integers. Also hal_drive_type_to_string().
	* ui/flashdrivesdialog.glade: Minor, removed table width request.

2007-08-19  Marko Anastasov <marko@marko.anastasov.name>

	* src/flashdrivesdialog.[cch]:
	* ui/flashdrivesdialog.glade: Added bus type label.
	
2007-08-19  Marko Anastasov <marko@marko.anastasov.name>

	* src/flashdrive.[cch]: Added disable().
	* src/halclient.cc: Finally handle the case of violently unplugging
	a drive without unmounting - no segfault should occur now.

2007-08-19  Marko Anastasov <marko@marko.anastasov.name>
	
	* src/flashdrive.[cch]:
	* src/halclient.[cch]: Added FlashDrive.get_bus*(), reorganized a bit.

2007-08-19  Marko Anastasov <marko@marko.anastasov.name>

	* src/fileentry.cc: Added, finally. Previous commit was a shame.
	* src/halclient.cc: Allow SCSI devices.
	
2007-07-20  Marko Anastasov <marko@marko.anastasov.name>

	* src/Makefile.am: Removed non-existing fileentry.cc.

	Commit from GUADEC!

2007-07-07  Marko Anastasov <marko@marko.anastasov.name>

	* src/common/nmv-ustring.[cch]: Removed.

2007-07-07  Marko Anastasov <marko@marko.anastasov.name>

	* src/common/nmv-option-utils.[cch]: Use Glib::ustring.

2007-07-05  Marko Anastasov <marko@marko.anastasov.name>

	Move gradually towards Glib::ustring.

	* src/common/ustring-utils.cc:
	* src/common/ustring-utils.h: New files. Contain split().
	* src/common/Makefile.am: Include them in build.

	* src/common/nmv-exception.cc:
	* src/common/nmv-exception.h:
	* src/common/nmv-log-stream.cc:
	* src/common/nmv-date-utils.cc:
	* src/common/nmv-log-stream.h:
	* src/common/nmv-date-utils.h:
	* src/common/nmv-scope-logger.cc:
	* src/common/nmv-scope-logger.h: Use Glib::ustring instead of UString.

2007-07-05  Marko Anastasov <marko@marko.anastasov.name>

	* configure.ac: Upped version, nicer package-requesting error messages.

2007-06-18  Marko Anastasov <marko@marko.anastasov.name>

	Refactored the Dodji common stuff to work without base Object
	and to use std::tr1::shared_ptr.

	* src/common/nmv-object.[cch]:
	* src/common/nmv-safe-ptr-utils.h:
	* src/common/nmv-safe-ptr.h: Removed.
	* src/common/Makefile.am:
	* src/common/nmv-log-stream.[cch]:
	* src/common/nmv-scope-logger.h:
	* src/common/nmv-ustring.cc: Updated according to the above.

2007-05-24  Marko Anastasov <marko@marko.anastasov.name>

	* src/mainwindow.[cch]: Display number of active tasks in statusicon's
	tooltip.
	* src/taskmanager.[cch]: Added get_active_task_count().

2007-05-22  Marko Anastasov <marko@marko.anastasov.name>

	* src/utils.h: Added Point.
	* src/mainwindow.[cch]: Track and save window position, currently
	just with key_release_event. The motivation is to restore the
	window from tray to where it was.

2007-05-17  Marko Anastasov <marko@marko.anastasov.name>

	* src/filelistloader.h:
	* src/filelistbase.h:
	* src/edittaskdialog.[cch]:
	* src/fileentry.h:
	* src/filelist.h:
	* src/filelistregistry.h:
	* src/mainwindow.cc:
	* src/newtaskdialog.h:
	* src/task.h:
	* src/taskitem.h:
	* src/taskmanager.h:
	* src/waitingclient.h: Cleaned up typedef duplicates. From now on,
	always have one typedef for each class in a shared_ptr or whatever
	*in the class header* and include it in other headers.
	For the sake of readibility, with a cost of a little more code
	dependencies.
	
	* src/fileentry.cc: Added.
	* src/Makefile.am: Updated.

2007-05-06  Marko Anastasov <marko@marko.anastasov.name>

	Base minimize to system tray code check in.

	* src/main.cc:
	* src/mainwindow.[cch]: Rely on GtkStatusIcon because activate and
	popup-menu signals have not been wrapped for gtkmm 2.10.
	Show program icon in tray on window close, but keep on running;
	quit when it has been explicitly asked. Insomma, like in Gaim.

	* src/taskmanager.[cch]: on_application_exit(): don't stop if minimized

	* src/flashdrive.h:
	* src/task.h: Moved some typedefs here to avoid conflicts.

2007-05-01  Marko Anastasov <marko@marko.anastasov.name>

	* src/addfilesdialog.[cch]:
	* src/iconloader.[cch]: Moved to namespace UI.

2007-05-01  Marko Anastasov <marko@marko.anastasov.name>

	* src/globalstrings.h: Renamed to ui_description_path.
	* src/mainwindow.[cch]: Re-organized UI initialization part a bit.

2007-05-01  Marko Anastasov <marko@marko.anastasov.name>

	* doc/usbsink.doxygen: Added.
	* Makefile.am: Able to 'make doc'.

2007-04-30  Marko Anastasov <marko@marko.anastasov.name>

	* src/main.cc: Added option entry to run minimized.
	Currently the action is to iconify the window.

2007-04-30  Marko Anastasov <marko@marko.anastasov.name>

	* src/filewatcher.h:
	* src/flashdrive.h:
	* src/halclient.h:
	* src/newtaskdialog.h: Make all exceptions derive from Exception.

2007-04-30  Marko Anastasov <marko@marko.anastasov.name>

	* src/uncopyable.h: Put into main namespace.

2007-04-30  Marko Anastasov <marko@marko.anastasov.name>

	* src/iconloader.[cch]: New files, icon loading utils.

	* src/Makefile.am: Include the above.
	* src/aboutdialog.cc: Shortened, using new icon loading code.
	* src/mainwindow.cc: Header play.

2007-04-27  Marko Anastasov <marko@marko.anastasov.name>

	Migrated to GTK+ actions for menus and toolbar.

	* INSTALL: Somehow updated itself.
	* ui/actions.xml: Added.
	* src/globalstrings.h: Added pathto actions.xml.
	* src/mainwindow.[cch]:
	* ui/Makefile.am:
	* ui/mainwindow.glade: Updated.

2007-04-23  Marko Anastasov <marko@marko.anastasov.name>

	* src/mainwindow.[cch]:
	* src/task.[cch]:
	* src/utils.[cch]: In main window, display in a new column
	how much has been transferred for each task.

2007-04-14  Marko Anastasov <marko@marko.anastasov.name>

	* src/datatransfer.h:
	* src/task.cc:
	* src/task.h:
	* src/logger.cc:
	* src/logger.h: Logger is in namespace Transfer now.

2007-04-14  Marko Anastasov <marko@marko.anastasov.name>

	* src/Makefile.am:
	* src/transferstats.h: Added simple object to track task transfer
	statistics.
	
	* src/datatransfer.h:
	* src/dirtransfer.cc:
	* src/dirtransfer.h:
	* src/filetransfer.cc:
	* src/filetransfer.h: Don't pass Logger* to run(), get it from the
	Task object directly.

	* src/task.cc:
	* src/task.h: Use Transfer::Statistics, and adapt to
	the new transfer run().

	* src/filewatcher.cc: In close_fam(), moved the logging scope spec
	to the if body to prevent segfault.

2007-04-13  Marko Anastasov <marko@marko.anastasov.name>

	* src/*.cc/h: Added emacs setup line.

2007-04-12  Marko Anastasov <marko@marko.anastasov.name>

	* src/aboutdialog.cc:
	* src/aboutdialog.h:
	* src/edittaskdialog.cc:
	* src/edittaskdialog.h:
	* src/filelisteditor.cc:
	* src/filelisteditor.h:
	* src/flashdrivesdialog.cc:
	* src/flashdrivesdialog.h:
	* src/logviewdialog.cc:
	* src/logviewdialog.h:
	* src/main.cc:
	* src/mainwindow.cc:
	* src/mainwindow.h:
	* src/newtaskdialog.cc:
	* src/newtaskdialog.h:

	Added UI namespace, small cleanup along the way.

2007-03-30  Marko Anastasov <marko@marko.anastasov.name>

	* src/common/nmv-log-stream-utils.h: Added LOG_EXCEPTION_D
	and LOG_EXCEPTION_DD macros.
	
	* src/blackfilelist.cc:
	* src/filelistregistry.cc:
	* src/filewatcher.cc:
	* src/flashdrivesdialog.cc:
	* src/halclient.cc:
	* src/mainwindow.cc:
	* src/task.cc: Use new logging macros.

2007-02-18  Marko Anastasov <marko@marko.anastasov.name>

	* configure.ac: Check g++ version.

2007-02-17  Marko Anastasov <marko@marko.anastasov.name>

	* src/common/nmv-*: Added parts of Dodji Seketeli's common
	library used in Nemiver to add application logging.
	* configure.ac:
	* src/Makefile.am: Build the library as libnemivercommon.a.
	
	* src/flashdrive.cc:
	* src/flashdrive.h: Store size as guint, use new logging.
	* src/halclient.cc: Logging instead of g_debugs.

2007-02-16  Marko Anastasov <marko@marko.anastasov.name>

	* pixmaps/Makefile.am: Update icon cache on uninstall as well.
	This ensures that icon loading works well after installing and
	uninstalling to various prefixes.

2007-02-16  Marko Anastasov <marko@marko.anastasov.name>

	* README: Fix typo.

0.3.1:

2007-02-15  Marko Anastasov <marko@marko.anastasov.name>

	* NEWS: Updated.
	* configure.ac: Upped version.

	* src/halclient.cc: Comment the forgotten line to fix the build.

2007-02-15  Marko Anastasov <marko@marko.anastasov.name>

	* src/flashdrive.cc:
	* src/flashdrivesdialog.cc:
	* src/halclient.cc: Commented out the recent debug statements;
	should be turned into log entries later.

2007-02-13  Marko Anastasov <marko@marko.anastasov.name>

	* autogen.sh:
	* configure.ac: Change to Automake 1.9.

2007-02-13  Marko Anastasov <marko@marko.anastasov.name>

	* src/flashdrivesdialog.cc: Display free space and total size
	correctly, as cast values.

2007-02-13  Marko Anastasov <marko@marko.anastasov.name>

	* src/flashdrivesdialog.cc:
	* src/flashdrivesdialog.h:
	* ui/flashdrivesdialog.glade: Removed the "Contents" label, showing
	the number of files on a volume - it's very expensive if running on
	an external HD. It _could_ be reimplemented with a separate running
	thread, however the whole thing seems kind of irrelevant in this
	program; free space is enough.

2007-02-13  Marko Anastasov <marko@marko.anastasov.name>

	* configure.ac: Removed ALL_LINGUAS, since for intltool 0.35 having
	po/LINGUAS is enough and a preferred way to do it.

2007-02-13  Marko Anastasov <marko@marko.anastasov.name>

	* src/flashdrive.cc:
	* src/flashdrivesdialog.cc:
	* src/halclient.cc: Added many debug statements.
	In HalClient::get_drives_at_startup(), loop over all volumes
	on a drive.

2007-02-12  Marko Anastasov <marko@marko.anastasov.name>

	* src/aboutdialog.cc: Display translation credits.

2007-02-12  Marko Anastasov <marko@marko.anastasov.name>

	* src/halclient.cc: Get any volume which is on the USB,
	instead of getting only removable drives. Attempt to
	fix bug #1656878.

0.3.0:

2007-02-10  Marko Anastasov <marko@marko.anastasov.name>

	* src/mainwindow.cc: Don't set window title to PACKAGE_NAME,
	as it is now 'usbsink' and won't look nice and won't appear
	translated.

2007-02-10  Marko Anastasov <marko@marko.anastasov.name>

	Some fixes discovered by distcheking.
	
	* Makefile.am: distclean po/.intltool-merge-cache.
	* src/Makefile.am: Removed non-existing taskobject.h.

2007-02-09  Marko Anastasov <marko@marko.anastasov.name>

	* NEWS: Updated for 0.3.

2007-02-09  Marko Anastasov <marko@marko.anastasov.name>

	* configure.ac:
	* src/main.cc:
	* src/mainwindow.cc:
	* src/mainwindow.h:
	* ui/mainwindow.glade: Display help from UI.

2007-02-08  Marko Anastasov <marko@marko.anastasov.name>

	* help/*:
	* m4/*: Added. Started working on the manual.
	* Makefile.am:
	* configure.ac: Prepare for gnome-doc-utils and scrollkeeper.

2007-02-07  Marko Anastasov <marko@marko.anastasov.name>

	* ui/newtaskdialog.glade: Put the file list stuff below the source
	files frame, in a separate Source files filter frame. Should be
	more like how one thinks in a workflow.

2007-02-07  Marko Anastasov <marko@marko.anastasov.name>

	* pixmaps/.cvsignore: Added.
	* .cvsignore:
	* data/.cvsignore: Updated.

2007-02-07  Marko Anastasov <marko@marko.anastasov.name>

	* src/flashdrivesdialog.cc:
	* src/mainwindow.cc: Show the windows a but wider (be l10n friendly).
	* ui/flashdrivesdialog.glade: Same cause here, re-ordered the
	properties labels and set the mount/unmount buttons to expand.
	Done with glade-3.

2007-02-07  Marko Anastasov <marko@marko.anastasov.name>

	* src/aboutdialog.cc: Marked program description for translatation.
	* src/filelisteditor.cc:
	* src/newtaskdialog.cc:
	* src/newtaskdialog.h:
	* src/task.cc: Updated some message strings.
	* src/filelistregistry.cc: Don't mark exception messages for t-n.

2007-02-06  Marko Anastasov <marko@marko.anastasov.name>

	* po/ChangeLog:
	* COPYRIGHT: Added.
	* .cvsignore:
	* configure.ac:
	* src/Makefile.am:
	* src/addfilesdialog.cc:
	* src/dirtransfer.cc:
	* src/filelisteditor.cc:
	* src/filelistregistry.cc:
	* src/filelistregistry.h:
	* src/flashdrivesdialog.cc:
	* src/logviewdialog.cc:
	* src/main.cc:
	* src/mainwindow.cc:
	* src/newtaskdialog.cc:
	* src/task.cc: Updated for i18n.

2007-02-06  Marko Anastasov <marko@marko.anastasov.name>

	* data/.cvsignore:
	* po/.cvsignore:
	* po/LINGUAS:
	* po/POTFILES.skip: New files.
	* .cvsignore:
	* Makefile.am:
	* configure.ac:
	* data/usbsink.desktop.in.in:
	* po/POTFILES.in:
	* src/Makefile.am: Preparing for i18n.
	* src/aboutdialog.cc: Changed wording.
	* src/utils.cc:
	* src/utils.h: Added i18n_printf().
	* src/task.cc: Tested it.

2007-02-03  Marko Anastasov <marko@marko.anastasov.name>

	* src/task.cc: Filter on the basename of a file, not the whole path.

2007-02-02  Marko Anastasov <marko@marko.anastasov.name>

	* src/enums.h:
	* src/fileentry.h: Er, add them (forgot to do it the other time).
	
	* src/datatransfer.h:
	* src/filetransfer.cc:
	* src/filetransfer.h: New files. Transfers now nicely encapsulated.
	* src/Makefile.am: Include them.
	
	* src/dirtransfer.cc:
	* src/dirtransfer.h:
	* src/task.cc:
	* sr/task.h: Take care of transfer initiation/end signalling.
	Now all transfers work well with the UI, and eg the "working" icon
	really appears in the main window.

2007-02-02  Marko Anastasov <marko@marko.anastasov.name>

	* src/dirtransfer.cc:
	* src/dirtransfer.h:
	* src/task.cc:
	* src/task.h: Refactored to use gnome_vfs_async_xfer() in DirTransfer.

2007-02-01  Marko Anastasov <marko@marko.anastasov.name>

	* src/Makefile.am: Added some extra warning options.
	
2007-02-01  Marko Anastasov <marko@marko.anastasov.name>

	* src/enums.h:
	* src/fileentry.h: New files, to make task code clearer.
	* src/Makefile.am: Include them.
	* src/task.cc:
	* src/task.h: Adapted. Less typedef duplication.
	* src/taskfileparser.h: Don't use uri_list in header.

2007-02-01  Marko Anastasov <marko@marko.anastasov.name>

	* src/edittaskdialog.cc:
	* src/edittaskdialog.h:
	* src/filelisteditor.cc:
	* src/filelisteditor.h:
	* src/mainwindow.cc:
	* src/mainwindow.h:
	* src/newtaskdialog.cc:
	* src/newtaskdialog.h: In NTD, display file list editor and create
	a list right away if a name has been entered. In ETD just launch it.
	Also in FLE check for duplicated in the internal data, not in registry
	and so prevent creating ten lists of the same name at once.

2007-02-01  Marko Anastasov <marko@marko.anastasov.name>

	* src/newtaskdialog.cc:
	* src/taskmanager.cc:
	* src/taskmanager.h: Handle the case of entering a task name that's
	already in use.
	* src/task.cc: Removed some debug statements, commented transfer
	logging.

2007-01-30  Marko Anastasov <marko@marko.anastasov.name>

	* src/filelisteditor.cc
	* src/filelisteditor.h: Just some reindentation.
	* ui/filelisteditor.glade: Removed popup menu. Can't do it properly
	without selecting the item, which would show the wrong buffer.

2007-01-28  Marko Anastasov <marko@marko.anastasov.name>

	* src/blackfilelist.cc: Removed an include.
	* src/filelisteditor.cc:
	* src/filelisteditor.h: Added on_button_test_clicked() and
	on_button_add_clicked().
	* ui/filelisteditor.glade: Added some spacings.

2007-01-28  Marko Anastasov <marko@marko.anastasov.name>

	* src/newtaskdialog.cc: Display non-existing uris in italic (in source
	file list - visible in EDT).

2007-01-28  Marko Anastasov <marko@marko.anastasov.name>

	* src/filewatcher.cc:	
	* src/filewatcher.h:
	* src/task.cc: Fixed the issue of unawareness of source files
	as a drive gets mounted.
	Eg program starts, a directory is a source file on an unmounted drive.
	Drive gets mounted but the task is only aware of the plain dir, not
	it's contents.

2007-01-27  Marko Anastasov <marko@marko.anastasov.name>

	Implemented all the updating necessary on OK in filelisteditor.
	Lots of small updates to make this work.

	* src/Makefile.am: Removed -g. Use CFLAGS=-g CXXFLAGS=-g ./configure.
	* src/edittaskdialog.cc: Some comments.
	* src/filelist.h: Added contains_item() and reset_item().
	* src/filelistbase.cc:
	* src/filelistbase.h: Implemented here.
	* src/filelisteditor.cc: 
	* src/filelisteditor.h: on_button_ok_clicked().
	* src/filelistregistry.cc:
	* src/filelistregistry.h: Added reset_file_list(), some comments
	and hid the signals with the accessor method.
	* src/taskmanager.cc:
	* src/taskmanager.h: Signals here too. Also on_file_list_reset().
	* src/mainwindow.cc: Updated signal access.
	* src/task.cc:
	* src/task.h: Added set_file_list() and some g_debugs.
	* ui/filelisteditor.glade: Added dialog title.

2007-01-26  Marko Anastasov <marko@marko.anastasov.name>

	* src/filelisteditor.cc: Clean up a few lines.

2007-01-26  Marko Anastasov <marko@marko.anastasov.name>

	* ui/filelisteditor.glade: Designed.
	* src/filelisteditor.cc:
	* src/filelisteditor.h: Some bits implemented, excluding saving
	state of all lists on response_ok, regexp validation and the
	popup menu.
	
	* src/filelist.h: Added abstract get_text_string_for_display().
	* src/filelistabase.cc:
	* src/filelistabase.h: Implemented here.
	* src/edittaskdialog.cc: Use it instead of iterating over a vector.

	* src/filelistregistry.cc:
	* src/filelistregistry.h: Add get_file_lists() and list_name_in_use().

	* src/mainwindow.cc: Added title to the delete question dialog.

2007-01-22  Marko Anastasov <marko@marko.anastasov.name>

	* src/task.cc: Don't call on_timeout() in start().

2007-01-21  Marko Anastasov <marko@marko.anastasov.name>

	* src/mainwindow.cc:
	* src/mainwindow.h: Added a prefix to all menu items (file/edit/...).
	* ui/mainwindow.glade: s/File->New File list/View->Lists/.

2007-01-21  Marko Anastasov <marko@marko.anastasov.name>

	* src/mainwindow.cc: Display a "Are you sure" dialog on_delete_task().
	* src/taskmanager.h:
	* src/taskmanager.cc: Added get_task_name(id) for that purpose.

2007-01-21  Marko Anastasov <marko@marko.anastasov.name>

	* ui/mainwindow.glade: Reverted to 1.14, restore icons and accel keys.

2007-01-21  Marko Anastasov <marko@marko.anastasov.name>

	* src/aboutdialog.h: Make it a class, not a namespace.
	* ui/Makefile.am: Removed aboutdialog.glade from the list.

2007-01-21  Marko Anastasov <marko@marko.anastasov.name>

	Realized that NTD and ETD should have the same code in on_response(),
	ir ETD should also simply call create_task_from_input() etc. But first
	remove the file list. Thus, added NewTaskDialog::register_task(),
	which contains all that both need if the response is OK.
	This actually makes the recent get_items_private() stuff unnecessary,
	so it should probably be removed soon.

	* src/edittaskdialog.cc:
	* src/newtaskdialog.h:
	* src/newtaskdialog.cc: As above, also deleted some old comments and
	and commented and debugging code.
	* src/whitefilelist.cc: Just removed a g_debug().

2007-01-21  Marko Anastasov <marko@marko.anastasov.name>

	* src/newtaskdialog.cc:
	* src/taskmanager.cc: Cosmetics: use braces.
	
2007-01-21  Marko Anastasov <marko@marko.anastasov.name>

	* src/edittaskdialog.cc: Display correct file list type.

2007-01-20  Marko Anastasov <marko@marko.anastasov.name>

	* src/edittaskdialog.cc: Don't add empty lines in the file list
	text buffer.

2007-01-20  Marko Anastasov <marko@marko.anastasov.name>

	Added possibility to change a FileList's items at runtime.

	* src/filelistloader.h:
	* src/filelistloader.cc: Added get_items_private(), which takes
	a ClientSlot*, making it possible to do 'if (slot)' - necessary
	to share the code between old get_items() and a new overload
	which does not take a slot parameter.

	* src/filelist.h: Added abstract set_items().
	* src/filelistbase.h:
	* src/filelistbase.cc: Base implementation.
	* src/blackfilelist.h:
	* src/blackfilelist.cc:
	* src/whitefilelist.h:
	* src/whitefilelist.cc: Redefined with a call to save().

	* src/edittaskdialog.cc: Use all the above on_ok.

	* src/task.h: Removed set_file_list().

2007-01-19  Marko Anastasov <marko@marko.anastasov.name>

	* src/aboutdialog.cc:
	* src/aboutdialog.h: Refactored to a proper GNOME about dialog.
	* ui/aboutdialog.glade: Removed.

2007-01-18  Marko Anastasov <marko@marko.anastasov.name>

	* src/filelistregistry.cc: Fixed a bad typo in load_task_file_lists()
	s/Black/White.

2007-01-18  Marko Anastasov <marko@marko.anastasov.name>

	Separate file list interface ( FileList ) from common implementation
	( FileListBase ).

	* src/filelistbase.cc:
	* src/filelistbase.h: New files.
	* src/filelist.cc: Removed.
	* src/filelist.h: Pure interface now.
	* src/Makefile.am: Include new files.
	* src/blackfilelist.cc:
	* src/blackfilelist.h:
	* src/whitefilelist.cc:
	* src/whitefilelist.h: Adapted.

	* src/edittaskdialog.cc: Removed catching and handling old
	IgnoreFilesException.
	* src/filelistregistry.h: Fixed indentation.

2007-01-18  Marko Anastasov <marko@marko.anastasov.name>

	* src/mainwindow.cc: Connect to signal_file_list_editor_request
	for edit task dialog too.

2007-01-18  Marko Anastasov <marko@marko.anastasov.name>

	Lists seem to be ok now - file transfers work as before (b & w!).

	* src/blackfilelist.cc:
	* src/blackfilelist.h:
	* src/filelist.cc:
	* src/filelist.h:
	* src/filelistitem.cc:
	* src/filelistitem.h:
	* src/task.cc:
	* src/taskitem.h:
	* src/taskmanager.cc:
	* src/whitefilelist.cc:
	* src/whitefilelist.h: FileList adds filter() implemented by BFL
	and WFL to define behaviour based on result(s) from match().
	So now only FileList has match(). FileListItem is not part of the
	hierarchy any more. FileLists have both name and path properties now.

	* src/utils.cc: Reverted to the old implementation of
	get_lines_from_text_buffer() - the new one does not work correctly
	with one line in a buffer and perhaps more.

	* src/flashdrivesdialog.cc: Specify size in ctor.
	* src/mainwindow.cc: Set radio menu items checked property in ctor.
	* src/newtaskdialog.cc: Bring create_task_from_input() to order.
	
	* ui/flashdrivesdialog.glade:
	* ui/mainwindow.glade: Minor update with glade-3.

2007-01-13  Marko Anastasov <marko@marko.anastasov.name>

	Removed email address from all files, keep one in README.

2007-01-13  Marko Anastasov <marko@marko.anastasov.name>

	* src/main.cc: Removed FileListRegistry test call.

2007-01-13  Marko Anastasov <marko@marko.anastasov.name>

	Solved the problem of circular dependancies between file lists
	at load time. For each file list, FileListLoader creates
	a WaitingClient, if it contains other file lists and passes it
	to ClientDispatcher. Each WaitingClient contains a slot for
	FileListRegistry to call later and a list of file list names.
	After load_task_file_lists(), FileListRegistry gets a list of
	WaitingClients from ClientDispatcher and handles their requests.

	* src/clientdispatcher.cc:
	* src/clientdispatcher.h
	* src/waitingclient.cc:
	* src/waitingclient.h: New files.

	Other files adapt to this idea, and have some older code cleaned up.

2007-01-07  Marko Anastasov <marko@marko.anastasov.name>

	* ui/newtaskdialog.glade: Modified the file list part:
	added a combo to select the type, and a button below the textview
	to launch editor. Updated with glade-3. Don't be modal.
	* ui/filelisteditor.glade: Also updated with glade-3.

	NewTaskDialog delegates a request to display file list editor
	to the main window, who is the one responsible for all dialogs.
	
	* src/mainwindow.cc:
	* src/mainwindow.h: Added on_file_list_editor_request() to distinguish
	showing the editor from showing and creating an empty list.
	* src/newtaskdialog.cc:
	* src/newtaskdialog.h: Pass that request via
	signal_file_list_editor_request and load new widgets.

2007-01-06  Marko Anastasov <marko@marko.anastasov.name>

	* src/taskfileparser.cc: Removed old ignore file parsing code.

2007-01-06  Marko Anastasov <marko@marko.anastasov.name>

	The previous commit message was wrong.
	
	* src/blackfilelist.cc:
	* src/whitefilelist.cc: save() in ctors. This assures that newly
	created are actually physically created as well.

	* src/taskfileparser.cc: Changed warning message.

2007-01-06  Marko Anastasov <marko@marko.anastasov.name>

	* src/filelist.cc:
	* src/filelist.h: Removed add() and save() because save() calls
	get_type_string() which is implemented by the subclasses, and
	you can't call it from the base class.
	add() is actually now protected, and subclasses need to reimplement
	it but remember to use FileList::add() too.
	* src/blackfilelist.cc:
	* src/blackfilelist.h:
	* src/whitefilelist.cc:
	* src/whitefilelist.h: Added here.

	* src/filelistregistry.cc: Implemented load_task_file_lists(),
	delete_file_list() and get_file_list_path().

	* src/utils.cc:
	* src/utils.h: Added peek_first_line().

2007-01-05  Marko Anastasov <marko@marko.anastasov.name>

	* src/utils.cc:
	* src/utils.h: Added get_files_in_dir(), a simple wrapper around
	Glib::Dir and Glib::build_file_name().
	* src/task.cc:
	* src/taskmanager.cc: Use the new function instead of "manual" work.

2007-01-03  Marko Anastasov <marko@marko.anastasov.name>

	* src/filelist.h: Made items_ private, and added protected begin()
	and end(). Specify match(const std::list<Glib::ustring>& ) here as
	a pure virtual function.
	* src/blackfilelist.cc:
	* src/whitefilelist.cc: Use FileList::begin() and end() instead of
	accessing items_ directly.

2007-01-03  Marko Anastasov <marko@marko.anastasov.name>

	* src/filelist.h:
	* src/filelist.cc: Added a ctor for a Gtk::TextBuffer, as it is common.
	* src/blackfilelist.cc:
	* src/whitefilelist.cc: Use FileList's ctor for a Gtk::TextBuffer,
	instead of having same code in two classes.

2007-01-03  Marko Anastasov <marko@marko.anastasov.name>

	* src/blackfilelist.cc:
	* src/filelist.cc:
	* src/newtaskdialog.cc:
	* src/whitefilelist.cc: Deleted old commented code for dealing with
	the file lists and Gtk::TextBuffer.

2007-01-03  Marko Anastasov <marko@marko.anastasov.name>

	* src/filelistregistry.cc: Fixed function docs.

2007-01-03  Marko Anastasov <marko@marko.anastasov.name>

	* filelistloader.cc:
	* filelistloader.h: New files. Implementation of file list loading
	from a Gtk::TextBuffer, to be used by file lists.
	* src/Makefile.am: Include new files.
	
	* src/filelistregistry.cc:
	* src/filelistregistry.h: Return file lists as SharedItems, instead of
	SharedFileLists. With the old approach, it is not possible to downcast
	it to an Item, because FileList is an abstract class, and that is
	sometimes necessary (in FileListLoader).

	* src/blackfilelist.cc:
	* src/whitefilelist.cc: Use FileListLoader in ctor.

	* src/filelist.cc: Removed default_format_str - it is a duplicate
	of what's in globalstrings.

	* src/globalstrings.h: Don't use file_list_format, but
	file_list_format_left/right_terminator.

	* src/newtaskdialog.cc:
	* src/task.cc:
	* src/task.h:
	* src/taskfileparser.cc: Adapt to new FileListRegistry interface.

	* src/utils.cc:
	* src/utils.h: New function: get_file_list_format_string().
	New (better...) implementation of get_lines_from_text_buffer().

2006-12-30  Marko Anastasov <marko@marko.anastasov.name>

	* src/filelistregistry.cc:
	* src/filelistregistry.h: Removed a few forgotten experimental lines.

2006-12-30  Marko Anastasov <marko@marko.anastasov.name>

	* src/blackfilelist.cc:
	* src/blackfilelist.h:
	* src/filelistregistry.cc:
	* src/filelistregistry.h:
	* src/whitefilelist.cc:
	* src/whitefilelist.h: File list factory methods return SharedFileList
	instead of a pointer to itself, the specific implemention. That's
	necessary so that now registration doesn't need the ugly type
	specifying enum, but a function pointer. Also added some more
	documenting comments.
	* src/newtaskdialog.cc:
	* src/taskfileparser.cc: Adapted.

2006-12-17  Marko Anastasov <marko@marko.anastasov.name>

	* data/Makefile.am:
	* data/usbsink.desktop.in.in:
	* pixmaps/Makefile.am:
	* pixmaps/usbsink.png:
	* pixmaps/usbsink.svg:
	* po/POTFILES.in: New files and directories.
	Program is now desktop and (almost) i18n enabled.
	
	* .cvsignore: Updated.
	* Makefile.am: Include new subdirs and intltool-* files.
	* autogen.sh: Rewrite. Use standard way to check for topsrcdir and look
	for gnome-autogen.sh.
	* configure.ac: Setup i18n support and generate all new makefiles.
	* src/mainwindow.cc: Call gtk_window_set_default_icon_name().

2006-12-16  Marko Anastasov <marko@marko.anastasov.name>

	* src/taskitem.h: Renamed test() functions to match().
	* src/filelist.cc:
	* src/filelist.h: save() is not pure virtual any more. All subclasses
	can use this one as it calls get_type_string() to write the header,
	a functions all subclasses must implement.
	bool match(const Glib::ustring&) is now defined here too.
	There should be no difference between subclasses, it simply matches
	or not. The overload that takes a list is the one left for
	the subclasses.
	* src/blackfilelist.cc:
	* src/blackfilelist.h:
	* src/filelistitem.cc:
	* src/filelistitem.h:
	* src/whitefilelist.cc:
	* src/whitefilelist.h: Implemented all functions that are here atm,
	except the main ctors for a TextBuffer. Added comments.
	* src/edittaskdialog.cc: Call get_text_for_display() instead of
	get_content_for_display(), just a forgotten typo.
	* src/main.cc: Catch Glib::OptionError. Use g_printf() instead of cout.
	* src/task.cc: Call match() instead of test().
	* src/utils.cc:
	* src/utils.h: Modified load_file_to_list() to take and return
	Glib::ustrings.

2006-12-14  Marko Anastasov <marko@marko.anastasov.name>

	* src/taskitem.h: test() functions are now part of the base interface.
	* src/filelist.cc:
	* src/filelist.h: Removed the experimental template code for name
	formatting. In FileListException, made add_invalid_item() and
	add_invalid_list() public. Updated comments. save() is now
	an abstract method to be implemented by the subclasses.
	* src/blackfilelist.cc:
	* src/blackfilelist.h: Added empty save().
	* src/filelistitem.cc:
	* src/filelistitem.h: Added empty test() functions.
	* src/utils.cc:
	* src/utils.h: Added Regexp::validate(). Reordered namespaces
	alphabetically.
	* src/whitefilelist.cc:
	* src/whitefilelist.h: Empty save() and test() skeletons updated.

2006-12-12  Marko Anastasov <marko@marko.anastasov.name>

	* src/blackfilelist.cc:
	* src/blackfilelist.h:
	* src/exception.h:
	* src/filelist.cc:
	* src/filelist.h:
	* src/filelisteditor.cc:
	* src/filelisteditor.h:
	* src/filelistitem.cc:
	* src/filelistitem.h:
	* src/filelistregistry.cc:
	* src/filelistregistry.h:
	* src/taskitem.h:
	* src/whitefilelist.cc:
	* src/whitefilelist.h:
	* ui/filelisteditor.glade: New files. Big changes to enable
	black and white file lists and their easy visual editing. The files
	and all the related code changes provide enough functionality to
	compile, and the list editor is a little more than a mockup so the
	program is now quite *broken*.
	
	* configure.ac: Some message rephrasing.
	* src/Makefile.am: Include new files.
	* src/addfilesdialog.cc: Include less of gnome-vfsmm.
	Added a TODO to filter the files specified by the file list.
	* src/edittaskdialog.cc:
	* src/edittaskdialog.h: Adapt to file lists and new namespace naming.
	* src/flashdrive.cc: Add/remove lines.
	* src/globalstrings.h: Removed ignore_dir in favour of file_list_dir.
	Also added file_list_format and the path to file list editor.
	* src/halclient.cc: Add/remove lines.
	* src/halclient.h: Added Emacs C++ mode flag.
	* src/logviewdialog.cc: Adapt to new namespace names.
	* src/main.cc: Check for file_list_dir.
	* src/mainwindow.cc:
	* src/mainwindow.h: Added the code to show the file list editor.
	Adapted to new namespace names.
	* src/newtaskdialog.cc:
	* src/newtaskdialog.cc:
	* src/task.cc:
	* src/task.h: Adapt to file lists.
	* src/taskfileparser.cc:
	* src/taskfileparser.h:  Removed using declarations for std::string
	and Glib::Markup. Added markup_error_code_to_string() and on_error().
	Moved TaskArgs::create_task() to the cc file. Don't write any
	information about file lists - all tasks should have an associated
	list of the same name. Renamed class to TaskHandling::FileParser.
	* src/taskmanager.cc:
	* src/taskmanager.cc: Renamed class to TaskHandling::Manager.
	Catch Glib::MarkupError from parse(). Some code reformatting.
	* src/uncopyable.h: Rephrase comment.
	* src/utils.cc:
	* src/utils.h: Adapt to file lists. Added get_lines_from_textbuffer().
	* ui/Makefile.am: Include new file.
	* ui/mainwindow.glade: Added menu item to launch the file list editor.

0.0.2:

2006-09-27  Marko Anastasov <marko@marko.anastasov.name>

	* src/globalstrings.h:
	* src/utils.cc: Store program settings in ~/.config/usbsink.

2006-09-27  Marko Anastasov <marko@marko.anastasov.name>

	* src/mainwindow.cc:
	* src/mainwindow.h: Show messages in statusbar regarding syncing
	and drive (un)mounting.

2006-09-27  Marko Anastasov <marko@marko.anastasov.name>

	* src/logger.cc:
	* src/logger.h: Added an overload of operator<< for unsigned long long.
	* src/task.cc: Simplified on_transfer_progress().

2006-09-26  Marko Anastasov <marko@marko.anastasov.name>

	* src/logviewdialog.cc: Show a default file name in the log saving
	dialog. Added save_textbuffer_to_file() to save it for real.

2006-09-26  Marko Anastasov <marko@marko.anastasov.name>

	* src/task.cc: Modified on_transfer_progress() so that one line
	per transfer gets logged.

2006-09-25  Marko Anastasov <marko@marko.anastasov.name>

	* src/addfilesdialog.cc:
	* src/addfilesdialog.h: Moved get_modification_date_string() to utils.
	* src/dirtransfer.cc:
	* src/flashdrivesdialog.cc:
	* src/main.cc:
	* src/newtaskdialog.cc:
	* src/task.cc:
	* src/taskmanager.cc:
	* src/utils.cc:
	* src/utils.h: Separated the utility functions into namespaces,
	added get_current_time(). Adapted code to these changes.
	* src/logviewdialog.cc: Implemented on_button_clear_clicked() and
	on_button_save_clicked().

2006-09-22  Marko Anastasov <marko@marko.anastasov.name>

	* src/logger.cc:
	* src/logger.h: Added a Logger class to encapsulate task logging.
	* src/Makefile.am: Updated.
	* src/task.cc:
	* src/task.h: Keep a Logger* as a private member instead of
	a TextBuffer; use the get_logger() method to access it.
	* src/logviewdialog.cc: Use get_logger().
	* src/globalstrings.h: Fixed.
	
2006-09-22  Marko Anastasov <marko@marko.anastasov.name>

	* src/prefdialog.cc:
	* src/prefdialog.h:
	* ui/prefdialog.glade: Removed for now.
	* src/logviewdialog.cc:
	* src/logviewdialog.h:
	* ui/logviewdialog.glade: Added a dialog to display log information
	there and in a per-task way, instead of having it all in the main
	window.
	* src/Makefile.am:
	* src/globalstrings.h:
	* ui/Makefile.am: Updated.
	* src/mainwindow.cc:
	* src/mainwindow.h:
	* ui/mainwindow.glade: Removed the widgets for showing log,
	updated menu.
	* src/task.cc:
	* src/task.h: Keep a TextBuffer and have a get_log_text_buffer().
	* src/taskmanager.cc:
	* src/taskmanager.h: Renamed get_task_by_* functions to get_task().
	* src/newtaskdialog.cc: Updated for this change (MainWindow too).

0.0.1:

2006-08-17  Marko Anastasov <marko@marko.anastasov.name>

	* usbsink: first release
