#################### Konserve - TODO -*- text -*- #######################

############################## Future versions ##########################

o If the target directory does not exist: create it.

o Add a dialog for the user to specify which files to exclude|include
  into the backup file

o Somehow use rsync as backend instead of simply creating tar.gz files

o If the backup process is interrupted the temorary archive in 
  /tmp/somewhat is not deleted

o TAB + RET to enter an new backup profile identifier in the lineedit of
  KEditListBox does not work. Somehow the release signal is not sent.  

o The big architecture change with a client/server based architecture
  clients: configurator, wizard, ...; server: profilemanager

o Change icon in systemtray, when a backup is made

o Advanced Preferences window startable from Preferences

o Start backups at selectable points of time.

o on mouse-over-icon-in-systemtray display some information in a
  small window

o Preferences dialog: Update left side, when changing highlighted
  item in the list box with keys

o Check existing backups in Preferences and Wizard (perhaps selection)

o Find out about KNotifyClient and perhaps replace KMessageBox::error by
  KNotify...

o On exit save the time that has to elapse before the backup

o Evalute/try to use kompare to get diffs of dirtree branches.

o Use KSharedPtr (perhaps for backupprofile?)

o What's this texts ?

o Provide rpm - packages

############################## Markus ideas ##############################

o localize / internationalize
o Persitent timers: write remaining timer time to config file and reread
  it on program start up
o ??? What happens, if backup is made in the directory that is backed up?
o automatically append tar.gz extension  
o backup making on special events (for example using KDirWatch: make backup
  when directory content changes)
o DCOP Interface (save/restore)
o Memory leak tracing
o Encryption/Signing(?) of backups (important, when sending backups over a
  network)
o support different media types (CDRom, floppy,...)
o exclude/include expressions
o ??? What happens if files are locked ???
o Version control (CVS as backend)
o Restore user interface (show diffs to the user and restore current
  dir tree with the backuped one
o one thread per BackupProfile ?
o make afio use zlib and make Konserve use afio
o ??? What happens if special files are in the backup: /dev/* /proc/* ???
o implement a KAfio class (like KZip or KTar). Possiblities:
  o using an external afio process
  o implement a libafio.so and using that one
  o implement a class writing afio format files

o Fix bug:

>     --- <start Bug-Report> ---
>     Mein System duerftest Du ja kennen (ich habe KDE und
>     QT wie es bei der SuSE 8.0 mitkommt).
>
>     Im Konfigurations-Dialog (Preferences) lege ich ein
>     Backup-Profile "backup1" an (Add) und selektiere
>     es dann in der Liste. Wenn ich nun den in der
>     Inputzeile den Namen per Tastatur aendere, dann
>     aendert sich bei der ersten Eingabe automatisch der
>     entsprechende Listeneintrag. Den kennt er dann auch
>     im Folgenden nicht als Konfiguration ...
>     --- <end Bug-Report> ---

############################## Bennos ideas ##############################

o Status messages in the system tray

############################## End of TODO  ##############################
