Summary: | print wizard ignores selected paper size, reverts to A4 | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Oliver Henshaw <oliver.henshaw> |
Component: | Plugin-Generic-PrintCreator | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | adam, ago, anaselli, caulier.gilles, gtwilliams, metzpinguin, raynerbee026 |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 6.0.0 | |
Sentry Crash Report: |
Description
Oliver Henshaw
2011-01-16 19:40:39 UTC
Can you test with kipi-plugins 1.7.0 ? Gilles Caulier hmm i've just tried your steps with kipi-plugins 1.6.0 and works here. Since your version contains patches i've added after 1.6.0 (so Gilles your test should be unnecessary) maybe it's a regression, but i can't test it here at the moment. What is odd is that i didn't touch print assistant code but only printimages one. I will check it anyway later. Testing with F15 rawhide, I don't see any problems apart from that mentioned in note 2, with an extra complication now I've tested it again. If I choose a Custom 4x6" layout then the printed pdf is the right size on F15 (or A4 on the F13 1.6.0 system from the original report) but the page size is still wildly wrong if I examine the print properties in step 7 (on both systems). kipi-plugins-1.7.0-3.fc15.x86_64 kdegraphics-4.5.95-1.fc15.x86_64 Note 2 has been reproduced here :) I will investigate, thanks for the report. I still have the original problem on my f13 system, now upgraded to kipi-plugins 1.7.0. But I can't reproduce this on a F14 test system, either with en_US or en_GB locale. So maybe it's something to do with the configuration? I tested with .kde/share/config/kipirc removed and still have the original problem. I'm not sure where to look next. F13 packages: kipi-plugins-1.7.0-1.fc13.x86_64 kdegraphics-4.5.4-1.fc13.x86_64 F14 test packages: kipi-plugins-1.7.0-1.fc14.x86_64 kdegraphics-4.5.5-1.fc14.x86_64 Well it's not easy to understand where the problem lies. I can test and investigate the Note 2 though. And i can say it's more a qt problem than a print assistant one. So maybe on fc13 it's related to qt/kde version also. Note 2 can probably avoid (i haven't tested yet) with your note 1, as well. What i understood is that page is correctly chosen using the dialog (step 3.) and the output page layout is correctly created, when you get last print dialog though, custom size is completely changed despite of first settings. Custom size though is very hard to control, for instance my old HP drivers used custom page layout (30) to get some photo card size, and i had to select that page layout twice, one from step 3 and latter using printer setting into last print dialog. I could try to fix pdf custom page layout, but i think it's hard to manage custom layout in other cases using nowadays qt interface. F13 has qt 4.6, F14+ has qt 4.7 so that might be it (both have kde 4.5.x). Angelo, This file still valid using kipi-plugins 2.4 ? Gilles Caulier Much to my surprise, I can still reproduce this (note 1 and note 2 included). kipi-plugins-2.4.1-1.fc16.x86_64 kdegraphics-4.7.4-1.fc16.noarch qt-4.8.0-0.29.rc1.fc16.x86_64 Note (1) is the only workaround to this QT problem. Gilles i can explain and give you all you need to help me in fixing by coding, but at the moment i can't do anything. If i use my printer (as said 30 is custom page) and choose 10x15 cm (4x6") photo page i *need* to enter it again in printer properties otherwise QPrintDialog changes my QPrinter settings (e.g. the ones the user chose step by step). Here a kDebug output of our QPrinter paper page after Custom setup as 4x6": KIPIPrintImagesPlugin::Wizard::accept: (1) paper page 30 QPrinter got from QPrintDialog as soon as it's been created: KIPIPrintImagesPlugin::Wizard::accept: (2) paper page 30 QPrinter got from QPrintDialog after accept() (without using properties): KIPIPrintImagesPlugin::Wizard::accept: (3) paper page 0 Trying to revert using setPaperSize(): QPrinter::setPaperSize: Illegal paper size 30 So the output is: KIPIPrintImagesPlugin::Wizard::accept: (4) paper page 0 If i use standard page size however the problem persists because if i set it again the output page is wrong. Gilles have you got anything to suggest? I'm not a specialist of Qt4 print classes, but looking in code, it sound like you pass your QPrinter instance to KDEprint when printer properties dialog is create. QPrinter values are altered by dialog properties depending of options selected in settings. For paper size, i see this option disabled by default in properties. Perhaps, as size is already selected in assistant before to open properties dialog of printer, you need to force Qprinter options relevant to be sure that KDEprint create properly all settings of printer. Q: is KDEprint is the only solution to create printer properties dialog ? How Qt4 only applications do the same ? QT4 do not provide a dedicated way to create printer properties dialog ? Perhaps there is a bug into KDEPrint ??? Gilles Caulier (In reply to comment #11) > I'm not a specialist of Qt4 print classes, but looking in code, it sound like > you pass your QPrinter instance to KDEprint when printer properties dialog is > create. Correct and that is important to give the QPrintDialog settings previously choose by user. > QPrinter values are altered by dialog properties depending of options selected > in settings. For paper size, i see this option disabled by default in > properties. Yes it could/should, because if you change printer properties you (B&W or quality for instance) it should be appended to our previous setting. I know that could be override it instead, but i can't manage all the settings before, and i need some first (e.g page size for instance). > Perhaps, as size is already selected in assistant before to open properties > dialog of printer, you need to force Qprinter options relevant to be sure that > KDEprint create properly all settings of printer. KdePrint iirc the code inside, is just a wrapper to new QPrintDialog(...), i tested it with the same result (read problems), so the issue is not there. If you read my last commit i print 4 times the QPrinter papersize attribute, and only after pressing ok that is changed (and without using properties button). > Q: is KDEprint is the only solution to create printer properties dialog ? How > Qt4 only applications do the same ? iirc as said new QPrintDialog() with the same parameters. > QT4 do not provide a dedicated way to > create printer properties dialog ? Perhaps there is a bug into KDEPrint ??? > IMO the bug is in QPrintDialog >IMO the bug is in QPrintDialog
Well, in this case, this file must be moved into Qt section of KDE bugzilla.
Gilles Caulier
Gilles can you do that? thanks. See Comment #12 for Qt assignement... Gilles Caulier *** Bug 386402 has been marked as a duplicate of this bug. *** *** Bug 340644 has been marked as a duplicate of this bug. *** This bug is a design issue in Qt. See Qt-Bug and discussion in the mailing list. https://bugreports.qt.io/browse/QTBUG-58733 http://digikam.1695700.n4.nabble.com/Problem-with-Batch-Queue-multi-core-processing-tp4703974p4703980.html MaiK This bugfix is now officially included in Qt-5.11. DigiKam must be compiled against Qt-5.11. For digiKam-6.0.0 I close the bug now. Maik *** Bug 395557 has been marked as a duplicate of this bug. *** |