From kde-commits Fri Jan 28 17:59:05 2005 From: Kurt Pfeifle Date: Fri, 28 Jan 2005 17:59:05 +0000 To: kde-commits Subject: kdelibs/kdeprint/cups Message-Id: <20050128175905.55E4B1D1E2 () office ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=110693515920881 CVS commit by pfeifle: Most important part of fix for bug #56163. The bug prevented the "Additional Tags" inserted by users to be propagated to CUPS as valid CUPS print options because they still had the internally used prefix "KDEPrint-" attached to them. In the past I had to work around this in CUPS customizations by making sure to only use custom option names which contained a "KDEPrint-" prefix. The fix also now allows the usage of any currently "not-supported-by-KDEPrint" (and in the future appearing) CUPS job option. These include: +------------------+--------------+ | number-up | 6|9|16 | # 6, 9 and16 pages on 1 sheet +------------------+--------------+ (*)| number-up-layout | [btrl|+more] | # from bottom to top, from right to left +------------------+--------------+ | mirror | true | # print output mirrored +------------------+--------------+ (**)| page-border | double-thick | # draw two 1 pt borders around each page +------------------+--------------+ . (*) complete list is btlr, btrl, lrbt, lrtb, rlbt, rltb, tblr, tbrl (**) complete list is none, double, double-thick, single, single-thick (see http://www.cups.org/sum.html#4_3_4 for more details) Note that the other part of this wishlist item -- to be able to save the options for future re-use and time saving -- is not yet coded and will likely not happen in 3.4.0 Fix was provided by Michael Goffioul -- I am just the one who does the commit. (Flames to be going towards me -- I was complaining enough to make Michael do it even if he pracitcally had no time ;-) . Note: needs modification of WhatsThis -- to be done shortly. Partial fix for #98081 BUG:#98081 M +6 -1 kcupsprinterimpl.cpp 1.23 --- kdelibs/kdeprint/cups/kcupsprinterimpl.cpp #1.22:1.23 @@ -145,5 +145,10 @@ static void mapToCupsOptions(const QMap< if (!it.key().startsWith("kde-") && !it.key().startsWith("app-") && !it.key().startsWith("_kde")) { - optstr.append(" ").append(it.key()); + QString key = it.key(); + if (key.startsWith("KDEPrint-")) + /* Those are keys added by the "Additional Tags" page. * + * Strip the prefix to build valid a CUPS option. */ + key = key.mid(9); + optstr.append(" ").append(key); if (!it.data().isEmpty()) optstr.append("=").append(it.data());