Bug 143777

Summary: printer margins aren't saved per aplication
Product: [Unmaintained] kdeprint Reporter: urwald <urwald>
Component: generalAssignee: KDEPrint Devel Mailinglist <kde-print-devel>
Status: RESOLVED UNMAINTAINED    
Severity: normal CC: bleverett, jlayt, pino
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Bug Depends on:    
Bug Blocks: 144638, 144639    

Description urwald 2007-04-03 10:46:47 UTC
Version:           Unbekannt (using KDE 3.5.6 "release 41.4" , openSUSE )
Compiler:          Target: i586-suse-linux
OS:                Linux (i686) release 2.6.18.8-0.1-default

I have the following problem: I print quite often HTML pages with konqueror and also A4-PDF-documents with KPDF.

When I want to print the PDF file, I have to set the printer margins to "manually" and all margins to "0", to be able to print the PDF in its original size (otherwise, it will be printed a little bit to small).

When I want to print a HTML file with konqueror, I also have to set the printer margins manually (because the default printer margins aren't beautifull at all, they are to small and to different the one from the other to look good), and I set them all to "2 cm".

Now, I have to do this change always manually when I want to print a HTML file after a PDF file or reversly. This is annoying work. Isn't it possible to save the printer margin options seperate for each application? For this situation (which - i think - is quite usual) this would be much more comfortable...
Comment 1 Kurt Pfeifle 2007-04-03 15:02:50 UTC
It's certainly possible to save the margin options by application.

However, the current KDEPrint framework does not provide for this. KDEPrint primarily works on top of CUPS (as a GUI frontend of CUPS), and CUPS knows only to store margins *per printer*, not per application.

Also, I'm not sure if it is the right place to implement this in KDEPrint. On first thought, it should rather be the applications that store these values, and when they call the print dialog, initialize that dialog with their saved margin values. [BTW, if you are *not* using custom margins, KDE applications like KWord and Konqueror will be set to 24 points (=0.847 cm) for top and bottom, and 36 points (= 1.27 cm) for left and right margins.]

You should also file a wishlist item to the developers of the respective applications.

Hmmm... maybe we can come up with a way to do it in a consistent and unified way across applications.


Comment 2 urwald 2007-04-25 10:39:56 UTC
I've reported the problem for konqueror as bug 144638 and for kpdf as bug 144639. However, a unified way accross applications would be fine...
Comment 3 Pino Toscano 2007-06-13 12:49:47 UTC
Coming here from KPDF's bug 144639: doing the same job of saving the margins (and take care of them) in *each* application is quite pointless - unless KDEPrint provides a really simple API to do that.
Eg, something like:
  KPrinter::saveMargins(KConfigGroup& group) const;
  KPrinter::restoreMargins(const KConfigGroup& group);
So, applications that want/need to save/restore the margins can just do:
  KPrinter printer;
  ...
  printer.restoreMargings(config.group("Printer Settings"));
  ...
  KConfigGroup group = config.group("Printer Settings");
  printer.saveMargings(group);
  
KDEPrint developers, what do you think?
Comment 4 Cristian Tibirna 2007-06-14 04:50:58 UTC
On 13 June 2007 06:49, Pino Toscano wrote:
> KDEPrint developers, what do you think?


This is indeed a good idea (and the obvious way of doing the proposed thing). 
But I agree that I have difficulties to see the need of saving margins per 
application. It's rather a question of general layout associated with the 
printer and the paper format, not with a specific application.
Comment 5 Blake Leverett 2009-09-18 23:14:16 UTC
*** Bug 207607 has been marked as a duplicate of this bug. ***
Comment 6 John Layt 2011-05-27 18:30:32 UTC
KDEPrint is obsolete, unmaintained and will never be revived.  Closing all open bugs.