Since 2.2 release, Michael Goffioul * automatic filtering: if the input file format is not directly supported by the print spooler, tdeprint will try to convert the file to the primary supported input format (usually PostScript). To achieve this, tdeprint uses the available filters (defined in XML files) and tries to build up a filter chain. * mime type checking: when building a filter chain, tdeprint 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 * 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 * 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 * 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 * Management library: set all toolbars non movable to avoid move handles 13/09/2001 Michael Goffioul * 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 * 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 * CUPS plugin: made the new configuration wizard as default one. * other QList -> QPtrList fixes (committed to CVS) * Avoid to call plugin functions "completePrinter" 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 TDELocale::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 * 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 * CUPS plugin: added 2 missing pages in stand-alone mode, "Image" and "Text". 10/10/2001 Michael Goffioul * 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 * 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 * 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 * tdeprintfax: 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 * 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 * tdeprintfax: 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 --> TDEProcess. 07/11/2001 Michael Goffioul * tdeprint: fixed some problems: . collate entirely handled by tdeprint, 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 committed as the graphic comes from HP driver (copyright). 08/11/2001 Michael Goffioul * 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 tdeprint 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 * CUPS plugin: added the possibility to list jobs on remote printers. No management is allowed on remote jobs (yet?). 10/11/2001 Michael Goffioul * general: use KShellProcess::quote() for any quoting. Normally, all quoting problem should be fixed now. 12/11/2001 Michael Goffioul * CUPS: redesigned the "cups-add-smb" dialog to make it more user-driendly. 13/11/2001 Michael GOffioul * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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. * tdeprintfax: 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 * general: make use of "Detail" mechanism of KDialogBase in XML command editor. 11/12/2001 Michael Goffioul * 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 * 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 * general: preleminary support for external printer tool. Only escputil at this moment. 03/01/2002 Michael Goffioul * 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 * 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, tdeprint 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 tdeprint library) 10/01/2002 Michael Goffioul * general: added (temporary) workaround for drawing problems in fixed toolbars, until a real fix gets implemented: static_cast(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 * 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 * 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 * 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 * LPR: added basic implementation of a KPrinterImpl object -> plugin is functional (though far from complete...) 22/01/2002 Michael Goffioul * tdeprintfax: make use of new address book (libkabc) instead of the old one (libkab). 29/01/2002 Michael Goffioul * 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 * 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= in printcap entry 07/02/2002 Michael Goffioul * 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 * LPR: added support for LPRngTool+IFHP (not complete yet though) * general: various fixes for crashes, inconsistencies, ... 12/02/2002 Michael Goffioul * tdeprintfax: 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 * 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 * 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 * general: fixed infinite recursion bug in TDEIconSelectAction * 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 * 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 * 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 * general: simple printer filtering mechanism based on printer name and location regexp. Graphical configuration for printer name. 19/02/2002 Michael Goffioul * 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 tdeprint_* (stripped the leading "lib") 20/02/2002 Michael Goffioul * 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 * 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 * LPR: added printer testing support 26/02/2002 Michael Goffioul * 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 * 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 * 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) * tdeprintfax: added "-n" and "-f %email" by default for the Hylafax system * general: various small UI improvements (suggested by Thomas) 02/03/2002 Michael Goffioul * 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 * CUPS: allow any integer value for RIPCache + don't upload the cupsd.conf with wrong settings ***************** * KDE-3 RELEASE * ***************** (CeBIT) Michael Goffioul * Fix various crashes: . when changing the CUPS server (notify registered object before reloading) . when building the driver DB: don't destroy the progress dlg * job viewer: possibility to view only the jobs of the current user * CUPS: "dynamic" changing of the text margins in the preview using rubber bands * general: started generealization of a margin widget to configure the margins of the KPrinter object 25/03/2002 Michael Goffioul * general: do not use pointers in various views, to avoid dangling pointers (and crashes) when changing something (plugin, config file, ...). This makes the aboutToReload functions quite useless, but it has to be tested. * general: finished the generic print margins widget to be used in non full page mode. Requires a patched Qt (hope TrollTech will add the missing setMargins soon) -> cannot be committed. * general: added help button to the wizard and the print dialog. They are connected to the main help (should probably add an anchor to go directly to the associated part). * tdeprintfax: more support/sync with standard addressbook: . possibility to start the ab editor from tdeprintfax . make use of the "Organization" field as enterprise . fix problem with empty phone number (ex: no business fax). 26/03/2002 Michael Goffioul * tdeprintfax: . added support for Mgetty-sendfax . added support for page size in filters . make use of the localized page size as default . regrouped the options in the option dialog for more consistency . added support for scheduling in HylaFax and Mgetty-sendfax . bugfix in logview: behaves safely when closed using the title bar button 27/03/2002 Michael Goffioul * general: created a separate "Fonts" section in the KDEPrint settings dialog and removed the "Embed Fonts" option from the general section (moved to the new section). * tdeprintfax: fixed disabled background for "Comment" widget, use QBrush instead of QColor. OK with styles like Liquid. 28/03/2002 Michael Goffioul * general: added a user feedback mechanism in the form of a dialog showgin status messages, including initialization, number of the page currently generated, filtering and sending to the printer. 29/03/2002 Michael Goffioul * general: enhanced the status feedback mechanism . possibility to have multiple status boxes (one for each app) . added an icon (eye-candy) and the document name being printed . made it configurable in the options dialog * general: possibility to use the default printer on first print instead of the last printer used. Configurable in the options dialog. Now, I should probably re-add the "Set as default" button. * print dialog: re-added the "Set as default" button in the case the user default printer is used on first print instead of the last used printer (it does make sense again to have it) * general: added a small (but useful) information string about the current plugin below the plugin combobox (ex: in CUPS, shows the current server:port). 02/04/2002 Michael Goffioul * general: . fixed various conflicting shortcuts . made KMVirtualManager inherit from KPReloadObject to force instance reloading when something has changed * print dialog: added buttons to move files up and down * CUPS: added a generic job tagging mechanism in the form of an additional tab in the print dialog. It contain a 2-columns table where custom tags can be added. Read-only in job editing mode (hope to change that soon). 03/04/2002 Michael Goffioul * manager: show instances as children of the real printer in the tree view. No instance management is possible from the tree view itself. The user still has to use the "Instances" tab. * ioslave: added support for print jobs browsing, per printer or for all printers together (-> print:/jobs) 04/04/2002 Michael Goffioul * ioslave: added support to view the driver of a printer in HTML form (print:/printers/lp1?driver) * CUPS: allows editing of page-ranges for pending jobs, work around small problem in CUPS. * LPR: . added a "ppdfile" field in printcap file for Foomatic drivers with LPRng. This should make printers created with KDEPrint work with gpr (from GNUlpr) . added support for "bool" directives in Foomatic drivers 23/05/2002 Michael Goffioul * job manager: added the possibility to control the username for jobs filtering, and the possibility to limit the number of jobs shown. 16/08/2002 Michael Goffioul * filters/command: added the possibility to have comments about a specific command, including clickable URL's. Modified the command selector to use those comments. * commands: added the "poster" command, but based on a modified version of the original program. Still need to publish it somehow. * job viewer: added possibility to drop files on the job viewer to print them. * print dialog: use the correct extension for output file in all cases, even on first dialog showing (call slotPrinterSelected after setting the output file name). 20/08/2002 Michael Goffioul * print dialog: . added a method to disable a page in the main dialog . make the filename persistent in the SaveFile dialog . use a rename dialog if the output file already exists 26/08/2002 Michael Goffioul * general: added a generic PS driver to (missing for too long) 02/09/2002 Michael Goffioul * print dialog: added graphical interface to the poster XML command (still to be committed) * manager: added a condensed toolbar with actions grouped by topics in sub-menus. 03/09/2002 Michael Goffioul * print dialog: enabled preview even in standalone mode, either the internal PS viewer or any other registered app will be used, according to the user preferences. 04/09/2002 Michael Goffioul * commands: make unavailability of a command more visual by showing a red text, and disabling the OK button of the current dialog (only if needed). 05/09/2002 Michael Goffioul * CUPS: shows all possible URI detected by CUPS when selecting the "Others" printer type in the wizard, like the web interface is doing.