Since 2.2 release, Michael Goffioul <goffioul@imec.be>
  * automatic filtering: if the input file format is not directly supported
    by the print spooler, kdeprint will try to convert the file to the
    primary supported input format (usually PostScript). To achieve this, 
    kdeprint uses the available filters (defined in XML files) and tries to
    build up a filter chain.
  * mime type checking: when building a filter chain, kdeprint checks that
    each output format is supported as an input by the next filter
  * possibility to specify input file from the print dialog in StandAlone
    mode (like XPP)
  * kmvirtualmanager.cpp: KMPrinter::Virtual is only set for pure virtual
    printers (== non empty instance name). This makes KPrinter::isVirtual()
    more useful.
  * CUPS plugin:
  	- support for quotas and user access restrictions (in wizard and
	  print manager)
	- added missing options in server configuration tool
  * Possibility to use an external preview program (still need a GUI to
    configure this).
  * print dialog: possibility to select the files to print in standalone
    mode (like XPP).

27/08/2001 Michael Goffioul <goffioul@imec.be>
  * implementation of "Schedule" tab in print dialog for the CUPS plugin
    (job-hold-until attribute).
  * Printer aliases are now handled gracefully in the LPR plugin (they
    are actually discarded)
  * kprinter.cpp: implementation of setPrintProgram() as:
  	setOption("kde-isspecial", "1");
	setOption("kde-special-command", cmd);

28/08/2001 Michael Goffioul <goffioul@imec.be>
  * implementation of KPrintAction, which provides a quick access to
    a class of printers (special, regular or both). An application just
    needs to create a KPrintAction anc connect to print(KPrinter*).

31/08/2001 Michael Goffioul <goffioul@imec.be>
  * CUPS plugin: fix crash for Qt3 port, must check if attr->name is NULL
    before comparing it with strcmp or strncmp.

12/09/2001 Michael Goffioul <goffioul@imec.be>
  * Management library: set all toolbars non movable to avoid move handles

13/09/2001 Michael Goffioul <goffioul@imec.be>
  * CUPS plugin: fix multiple showing of password dialog for password-
    protected printers (timer is now blocked when the password dialog is
    shown)

14/09/2001 Michael Goffioul <goffioul@imec.be>
  * CUPS plugin: configuration wizard rewritten using the structure of
    ESP PrintPro: more consistent, less pages and widgets. Not used as
    default config wizard yet.
  * QList -> QPtrList

25/09/2001 Michael Goffioul <goffioul@imec.be>
  * CUPS plugin: made the new configuration wizard as default one.
  * other QList -> QPtrList fixes (commited to CVS)
  * Avoid to call plugin functions "completePrinter<xxx>" for pseudo
    printers (to not confuse the CUPS daemon for example)
  * Improved how the default printer is selected in print dialog to
    work in any cases
  * General: make use of KLocale::pageSize() to determine the default
    page size (used for example for pseudo printers and classes)
  * Wizard: fix buffer overflow when adding a remote LPD queue having
    a lot of jobs waiting

03/10/2001 Michael Goffioul <goffioul@imec.be>
  * CUPS plugin: make use of GET/PUT request to handle configuration
    file. Possibility to admin a remote CUPS server (if allowed)
  * CUPS plugin: added "/jobs" in the available resources list

09/10/2001 Michael Goffioul <goffioul@imec.be>
  * CUPS plugin: added 2 missing pages in stand-alone mode, "Image"
    and "Text".

10/10/2001 Michael Goffioul <goffioul@imec.be>
  * CUPS plugin: "HP-GL/2" page added
  * General: added a GUI to configure the preview program, into the
    config dialog of the print manager

12/10/2001 Michael Goffioul <goffioul@imec.be>
  * general: added the possibility for a plugin to add new actions
    to the toolbar and context menu (main use = export driver in
    CUPS).
  * CUPS plugin: added support to export driver to Windows client
    through samba. Threaded operation with progress bar to notify
    the user. Graphical equivalent to cupsaddsmb from cups-1.1.11.

16/10/2001 Michael Goffioul <goffioul@imec.be>
  * CUPS plugin: removed the "file" backend as it doesn't seem to
    be available since a couple of releases, and added a "Other"
    page to the wizard for any third-party backend (like pdf).

18/10/2001 Michael Goffioul <goffioul@imec.be>
  * kdeprintfax: don't hardcode program path, use the $PATH variable
    first to find the program. Default to /usr/bin if not found.

02/11/2001 Michael Goffioul <goffioul@imec.be>
  * CUPS plugin:
  	. fix for remote printers when there's also a local
	  printer with the same name: the printer-uri-supported
	  is not used by default anymore
	. implementation of IPP report for installed printers
	  as well as detected IPP printers on the network (in
	  the wizard)

05/11/2001 Michael Goffioul <goffioul@imec.be>
  * kdeprintfax: added possibility to view files being faxed and
    file action (remove and view) are enabled only when needed.
  * KPrinter: when printing to a file, support encoding and spaces
    in file names + system --> KProcess.

07/11/2001 Michael Goffioul <goffioul@imec.be>
  * kdeprint: fixed some problems:
	. collate entirely handled by kdeprint, even in the case
	  of page selection on application-side.
	. set KPrinter object in KPrintDialog before adding other
	  dialog pages (some pages may need it)
  * wizard: changed button layout and added a side graphic. Not
    commited as the graphic comes from HP driver (copyright).

08/11/2001 Michael Goffioul <goffioul@imec.be>
  * CUPS plugin:
  	. complete IPP report for job added
	. implementation of dynamically added plugin menus for
	  jobs in the job viewer (used for IPP report)
	. printer infos are now retrieved from the correct host
	  for remote printers and classes (idem for IPP report)
  * general: implementation of a DCOP signal communication to
    synchronize all kdeprint apps, a plugin change in one app is
    notified to all other opened apps (via DCOP).
  * kicker extension: made extension aware of plugin change in
    other apps (using new DCOP signal comm).

09/11/2001 Michael Goffioul <goffioul@imec.be>
  * CUPS plugin: added the possibility to list jobs on remote
    printers. No management is allowed on remote jobs (yet?).

10/11/2001 Michael Goffioul <goffioul@imec.be>
  * general: use KShellProcess::quote() for any quoting. Normally,
    all quoting problem should be fixed now.
    
12/11/2001 Michael Goffioul <goffioul@imec.be>
  * CUPS: redesigned the "cups-add-smb" dialog to make it more
    user-driendly.

13/11/2001 Michael GOffioul <goffioul@imec.be>
  * general: implementation of a KActiveLabel class to embed active
    links in labels. Clicking on it "exec" the associated URL.
  * general: make use of KActiveLabel in the first page of the
    "add-printer" wizard.
  * CUPS: make use of KActiveLabel in the "cups-add-smb" wizard.
  * wizard: SMB printers with space in their name are now shown
    correctly when scanning the network (however it should be
    avoided as smbspool seems to be unable to handle it).

14/11/2001 Michael Goffioul <goffioul@imec.be>
  * ioslave: uploaded new templates from Chris (which adds support
    for pseudo printers
  * manager: modified RootOnly message for better consistency between
    "root" and "administrator" concepts
  * print dialog: updated accels (general, Qt, copies and other CUPS
    pages)
  * print dialog:
  	. file selection: line edit -> listview
	. file selection made as print dialog page and inserted at
	  the same level than "Copies"
	. added hiding mechanism to make the dialog more compact
	  (show/hide button can probably be improved)

15/11/2001 Michael Goffioul <goffioul@imec.be>
  * CUPS: drivers are now downloaded from the actual server for remote
    printers. This allows to have access to all options set for any
    printer (even remote ones). However remote printer's drivers are
    kept read-only.

16/11/2001 Michael Goffioul <goffioul@imec.be>
  * print dialog: instances are now presented in a tree structure in
    the combo box -> cleaner view.
  * general: ported the use of a global instance file to 2.2 branch
    (file is /etc/cups/lpoptions).
  * CUPS: added support for Adobe PPD file compliance (foomatic will
    introduce them very soon in normal distributions), where numerical
    options are mapped into enum options. KDEPrint still uses the 
    numerical option and update the corresponding enum one with the
    closest value.

21/11/2001 Michael Goffioul <goffioul@imec.be>
  * job viewer: clicking on 'x' button only hide the job viewer but
    doesn't quit the app. To quit, either use menu item (from window
    or system tray) or accel when job viewer is visible.
  * general: print preview has been embedded in a real dialog, so that
    it is always centered on its parent now. It also have the dialog
    buttons in title bar (no minimize).

23/11/2001 Michael Goffioul <goffioul@imec.be>
  * job management: the job management has been re-engineered to follow
    the paradigm "1 window == 1 queue". There's still the possibility to
    view jobs for all printers within a single window. This should enhance
    the usability of job management tools (I hope).

26/11/2001 Michael Goffioul <goffioul@imec.be>
  * job management: job type (active/completed) is now handled on a 
    printer basis instead of a global property of the manager. This allows
    different windows to show different job type, and also ease the 
    management of "All Printers" windows.
  * job management: sorting jobs on numerical values is fixed (ID,
    size, ...)
  * job management: added the possibility to customize (from the plugin)
    what's shown as job attributes. New attributes can be added. This
    will be used for priority support in CUPS plugin.
  * job management: re-engineered how dynamic plugin actions are handled
    internally to fix problems when dealing with several windows opened.
    This new mechanism should also be applied to print management dynamic
    actions (more consistent).

28/11/2001 Michael Goffioul <goffioul@imec.be>
  * special printers: added the possibility to have configurable options
    in pseudo-printers. Options are described in an additional XML file
    (like filters) and configured through an "Advanced" tab in the property
    dialog. TODO: graphical configuration widget + apply KXmlCommand to
    normal filters.

29/11/2001 Michael Goffioul <goffioul@imec.be>
  * general: fixed sorting of options in driver view. They should be shown
    in order of appearance now.
  * general: make use of the new KXmlCommand class for filters too.
  * filters: removed the "Page Size" from the options of enscript filter,
    this is taken from the KPrinter object now.

04/12/2001 Michael Goffioul <goffioul@imec.be>
  * general: finalized the new XML command mechanism:
  	. graphical command builder
	. pseudo-printers and filters are completely based on new XML
	  object, though old style is supported (only requirements from
	  previous mechanism are not used).
	. KPrintFilter and KMFilterManager are now obsolete and replaced
	  by KXmlCommand and KXmlCommandManager respectively.
  * kdeprintfax: made the log window a "real" log window. It is dynamically
    refreshed on new debug output arrival (suggested by user).

10/12/2001 Michael Goffioul <goffioul@imec.be>
  * general: make use of "Detail" mechanism of KDialogBase in XML command
    editor.

11/12/2001 Michael Goffioul <goffioul@imec.be>
  * instances: for root, instances are saved in global file 
    /etc/cups/lpoptions. This allows to easily create global instances
    (just be root and create the instance).
  * pseudo-printers: for root, pseudo printers are saved in a global
    file, such that root is able to manage global pseudo printers. Locale
    pseudo printers still override global ones if they have the same name.

12/12/2001 Michael Goffioul <goffioul@imec.be>
  * general: added error messages when the printer list cannot be retrieved
    in print manager and print dialog. With CUPS, if the server is not
    running, an error message is shown to the user.
  * CUPS: disabled all backends if no server is running.

13/12/2001 Michael Goffioul <goffioul@imec.be>
  * general: preleminary support for external printer tool. Only escputil
    at this moment.

03/01/2002 Michael Goffioul <goffioul@imec.be>
  * general:
  	. added a "ID name" label to the first dialog for command editing
	. put "View Printer Infos" in front of orientation and view type
	  change (more logical)
	. added a confirmation dialog before sending a test page to a
	  printer (printer and instance test)
	. added a short summary below the command selector containing the
	  ID and the output type ("not allowed" if no output supported).
	. added a WhatsThis help to the "Instances" tab briefly explaining
	  what's an instance.

09/01/2002 Michael Goffioul <goffioul@imec.be>
  * general: when filtering, the file type is checked against supported
    formats. If the format is not supported, a warning is issued and the
    user has the possibility to auto-convert the file to a supported
    format. Consequence: you can now safely perform page selection on any
    file type with any printer and any spooler, kdeprint will try to convert
    the file to PS.
  * preview dialog: rewrote the code in a cleaner way, avoiding the use
    of a non toplevel main window. Preview dialog looks simpler now. New
    issue: toolbuttons overlap the toolbar border (only for toolbar not
    children of main window).
  * general: made the "Files" page a standard page in KPrinter. Modified
    kprinter's code to add that page -> will be easier to remove it when
    implementing a "--stdin" option.
  * kprinter:
  	. added a "--stdin" option. If this option is set, only printing
	  from stdin is allowed and the "Files" tab is hidden. Can be used in
	  Netscape. If files are given on the command line, this option is
	  forced unset.
	. added a "--nodialog" option for quick print.
	. added the persistent feature (with some code rewrite in kdeprint
	  library)

10/01/2002 Michael Goffioul <goffioul@imec.be>
  * general: added (temporary) workaround for drawing problems in fixed
    toolbars, until a real fix gets implemented:
    	static_cast<QWidget*>(tb)->layout()->setMargin(1);
  * general: started to used new icons provided by Bogdan, for the toolbar
  * general: added KPrinter::autoConfigure(), to automatically configure
    a KPrinter object without the need for a print dialog.

14/01/2002 Michael Goffioul <goffioul@imec.be>
  * slave: made case-insensitive for backward compatibility (old URLs may
    come from history). Now print:/Classes should work OK.
  * CUPS: moved the IPP report to an separate dialog and added the
    possibility to print the result.

15/01/2002 Michael Goffioul <goffioul@imec.be>
  * started the implementation of a new LPR/LPRng plugin: this implementation
    is designed to be modular to provide support for various systems like
    Foomatic, APSFilter, GNUlpr or Printtool(RH).

17/01/2002 Michael Goffioul <goffioul@imec.be>
  * LPR: first implementation of a job manager. Make use of asynchronous
    lpc and lpq processes. Major problem: delay between new state and
    screen update due to the fact that data are started to be updated when
    the info is needed for showing. As data are retrieved asynchronously,
    they are not available for the update.
  * general: clean up refresh code of the job viewer
  * KPrinter: added the DocFileName feature (suggested by David) to define
    the default basename for output file.
  * test: updated to Qt3 and demonstrate the use of the DocFileName feature

21/01/2002 Michael Goffioul <goffioul@imec.be>
  * LPR: added basic implementation of a KPrinterImpl object -> plugin is
    functional (though far from complete...)

22/01/2002 Michael Goffioul <goffioul@imec.be>
  * kdeprintfax: make use of new address book (libkabc) instead of the old
    one (libkab).

29/01/2002 Michael Goffioul <goffioul@imec.be>
  * LPR: enhancement of the APSFilter handler. Still missing: setup the
    options in the print command line
  * wizard: removed the garbage '&' in last page
  * general: added SMB util functions -> to be used whenever it's
    possible (CUPS plugin, Foomatic handler => TO BE DONE)

30/01/2002 Michael Goffioul <goffioul@imec.be>
  * general: use QGuardedPtr to keep KPrinterImpl object in KPrinter, this
    should avoid some crashes.
  * LPR:
  	. added print options for APSFilter handler
	. make use of smb-url conversion functions in Foomatic handler
	. fix problem with rmote lpd queues: force lp=<empty string> in
	  printcap entry

07/02/2002 Michael Goffioul <goffioul@imec.be>
  * job viewer: fix crash when switching the print plugin elsewhere and
    there's some jobs shown + fix refresh problem when switching plugin
  * general: fix small bug when removing a filter in "Filters" page
  * general: discard the toolbar use in the "Instances" page to avoid the
    problem with non-docked vertical toolbars. Use plain QPushButton
    instead, but this has some drawing problems in HighColor style.

11/02/2002 Michael Goffioul <goffioul@imec.be>
  * LPR: added support for LPRngTool+IFHP (not complete yet though)
  * general: various fixes for crashes, inconsistencies, ...

12/02/2002 Michael Goffioul <goffioul@imec.be>
  * kdeprintfax: added %email to possible command tags. The e-mail address
    is retrieved from standard settings in KControl module. The tag can
    also be used in the "Name" field of the options dialog
  * LPR: completion of the LPRngTool handler + implementation of dynamic
    driver directories (to be done: should also be configurable in the
    options dialog)
  * general: Fixed bug -> XML commands couild not be saved
  * CUPS: FontPath directive is now considered as a string list, multiple
    directives are supported and a listview is used in the GUI
  * CUPS: configuration tool now handles gracefully unrecognized options,
    a warning is issued, and they are restored as-is on file saving.

13/02/2002 Michael Goffioul <goffioul@imec.be>
  * CUPS: added support for job-billing and page-label, and put them
    along with the scredule option into a single "Advanced" tab.
  * CUPS: added job billing info to the job viewer
  * CUPS: added job priority selection in the Advanced tab of the print
    dialog
  * general: allow multi selection in the file list of print dialog

14/02/2002 Michael Goffioul <goffioul@imec.be>
  * CUPS: added the possibility to edit job attributes on-the-fly using
    a dialog similar to the printer properties dialog. Still the be fixed:
    page ranges (problem with option encoding in CUPS).

15/02/2002 Michael Goffioul <goffioul@imec.be>
  * general: fixed infinite recursion bug in KIconSelectAction
  * CUPS: temporarily disabled edition of page-ranges as it seems CUPS is
    buggy. I should find a workaround.
  * general (CUPS): enable some actions for jobs on remote hosts. It seems
    to work OK between my local LM-8.1 and a remote LM-7.2.

16/02/2002 Michael Goffioul <goffioul@imec.be>
  * CUPS: added direct Foomatic driver support (no need the all PPD package
    from foomatic anymore, driver are loaded directly from Foomatic)

17/02/2002 Michael GOffioul <goffioul@imec.be>
  * preview:
  	. better algorithm to find a preview object
	. more comprehensive error report
	. possibility to cancel printing even with external PS viewers
  * general: added the backend stuff for printer filtering, needs GUI
    -> allows to only show a selected set of printers

18/02/2002 Michael Goffioul <goffioul@imec.be>
  * general: simple printer filtering mechanism based on printer name
    and location regexp. Graphical configuration for printer name.

19/02/2002 Michael Goffioul <goffioul@imec.be>
  * general:
  	. completion of the printer filtering mechanism (added location
	  string filter)
	. notification system between applications when config file has
	  changed
	. possibility to open the main option dialog from print dialog
	  (for example to change the filter or default preview program)
	. added icon on push buttons when useful
	. changed plugin names to kdeprint_* (stripped the leading "lib")

20/02/2002 Michael Goffioul <goffioul@imec.be>
  * slave: prevent konqueror to consider a trailing slash as a directory
    specification (simply add a config entry in protocol file)
  * general: large UI standardization by making use of KDialogBase along
    with KGuiItem
  * kicker menu: possibility to open main Options Dialog from the menu

21/02/2002 Michael Goffioul <goffioul@imec.be>
  * general: splitted the printer state into enable/disable and start/stop
    and modified the GUI to reflect this
  * general: removed the KMManager::configure(), obsoleted by the complete
    options dialog being shown
  * kicker extension: extension of the menu plugin to allow access to the
    server configuration tool as well as the "kprinter" utility.

25/02/2002 Michael Goffioul <goffioul@imec.be>
  * LPR: added printer testing support

26/02/2002 Michael Goffioul <goffioul@imec.be>
  * general: printer filtering specs are now ORed instead of ANDed
  * general: changed "Advanced" to "Driver Settings"
  * CUPS: fixed RIPCache problem, added support for possible suffixes

27/02/2002 Michael Goffioul <goffioul@imec.be>
  * CUPS: workaround to allow special characters in login/password without
    breaking security. Possible now to use safely chars like '@' and '/'
    in login.
  * general: added a check box in the config dialog to enable/disable
    font embedding into PS data (compatible with Qt settings).

28/02/2002 Michael Goffioul <goffioul@imec.be>
  * general: job viewer updated correctly on plugin reload -> additional
    columns and "history" action state
  * general: internal *Settings objects are synchonized on config changes
    (CupsInfos and LprSettings)
  * general: improved feedback to user when creating driver DB
  * CUPS: speed optimization when creating driver DB (simple hack to avoid
    to parse the entire PPD file each time => much better)
  * kdeprintfax: added "-n" and "-f %email" by default for the Hylafax
    system
  * general: various small UI improvements (suggested by Thomas)

02/03/2002 Michael Goffioul <goffioul@imec.be>
  * general: modified the driver structure to support dynamic options
    as in SuSE
  * LPR: more management support for SuSE handler -> drver settings can
    be modified now.
  * general: needed stuff to provide translations for filters (Coolo will
    now extract the strings from XML files for translators)

10/03/2002 Michael Goffioul <goffioul@imec.be>
  * CUPS: allow any integer value for RIPCache + don't upload the cupsd.conf
    with wrong settings
