Bug 405059 - Printer settings are not saved
Summary: Printer settings are not saved
Status: RESOLVED FIXED
Alias: None
Product: kmymoney
Classification: Applications
Component: general (show other bugs)
Version: 4.8.3
Platform: Other All
: NOR normal
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-04 08:36 UTC by Ralf Habacker
Modified: 2019-08-29 00:37 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 4.8.4,5.0.4


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ralf Habacker 2019-03-04 08:36:29 UTC
KMyMoney loses printer settings

STEPS TO REPRODUCE
1. start kmymoney
2. open a file
3. choose a report
4. select file->print
5. In the print dialog choose a non default setting
5. print report 
6. repeat from 4.

OBSERVED RESULT
When printing the second time, the special settings must be entered again.

EXPECTED RESULT
When printing the second time, the special settings should be preselected.

SOFTWARE/OS VERSIONS
Windows:  10
MacOS:    
Linux/KDE Plasma: opensuse Leap_42.3

ADDITIONAL INFORMATION
The reason for this behavior is that a new QPrinter instance is created for each print and all selected settings are lost.
Comment 1 Ralf Habacker 2019-03-04 16:17:11 UTC
Git commit 1b40b16af46774ef18330852f272ef243f28f332 by Ralf Habacker.
Committed on 04/03/2019 at 12:39.
Pushed by habacker into branch '4.8-staging'.

Fix 'Printer settings are not saved'

A global QPrinter instance in class KMyMoneyApp is used to reuse the
printer settings.
FIXED-IN:4.8.4

M  +25   -1    kmymoney/kmymoney.cpp
M  +2    -0    kmymoney/kmymoney.h
M  +7    -3    kmymoney/views/kreportsview.cpp

https://commits.kde.org/kmymoney/1b40b16af46774ef18330852f272ef243f28f332
Comment 2 Ralf Habacker 2019-03-04 23:26:25 UTC
In the 5.0/Master branch, kmymoney contains four different QPrinter instances,
in the Checkprinting plugin, in the KHomeView, KReportTab and KReportDlg class, which means that you may need to enter custom settings 4 times in a kmymoney session.

In addition, if printing is canceled, any previously set changes to the print settings will be lost because the QPrinter instance will be destroyed.
Comment 3 Ralf Habacker 2019-03-05 20:32:06 UTC
Git commit cbdb6d3b5c6726cffebc401da84bbdca44b60b76 by Ralf Habacker.
Committed on 05/03/2019 at 13:09.
Pushed by habacker into branch '4.8-staging'.

Fix 'Printer settings are not saved'

A global QPrinter instance in class KMyMoneyApp is used to reuse the
printer settings.
FIXED-IN:4.8.4

M  +25   -1    kmymoney/kmymoney.cpp
M  +2    -0    kmymoney/kmymoney.h
M  +7    -3    kmymoney/views/kreportsview.cpp

https://commits.kde.org/kmymoney/cbdb6d3b5c6726cffebc401da84bbdca44b60b76
Comment 4 Thomas Baumgart 2019-03-25 18:26:58 UTC
Git commit c4a8edc6566bb1c36e61e3fef786b538fe9a839f by Thomas Baumgart.
Committed on 25/03/2019 at 18:26.
Pushed by tbaumgart into branch '5.0'.

Use a global printer object for all print jobs

Summary: BUG: 405059

Differential Revision: https://phabricator.kde.org/D20010

M  +2    -0    kmymoney/CMakeLists.txt
M  +7    -3    kmymoney/kmymoney.cpp
M  +23   -0    kmymoney/misc/CMakeLists.txt
A  +71   -0    kmymoney/misc/kmm_printer.cpp     [License: GPL (v2+)]
A  +40   -0    kmymoney/misc/kmm_printer.h     [License: GPL (v2+)]
M  +1    -0    kmymoney/plugins/checkprinting/CMakeLists.txt
M  +11   -15   kmymoney/plugins/checkprinting/checkprinting.cpp
M  +0    -2    kmymoney/plugins/checkprinting/checkprinting.h
M  +1    -0    kmymoney/plugins/reconciliationreport/CMakeLists.txt
M  +25   -32   kmymoney/plugins/reconciliationreport/kreconciliationreportdlg.cpp
M  +0    -2    kmymoney/plugins/reconciliationreport/kreconciliationreportdlg.h
M  +1    -0    kmymoney/plugins/views/reports/CMakeLists.txt
M  +6    -13   kmymoney/plugins/views/reports/kreportsview_p.h
M  +1    -0    kmymoney/views/CMakeLists.txt
M  +10   -13   kmymoney/views/khomeview.cpp
M  +0    -3    kmymoney/views/khomeview_p.h

https://commits.kde.org/kmymoney/c4a8edc6566bb1c36e61e3fef786b538fe9a839f
Comment 5 Ralf Habacker 2019-03-26 23:23:46 UTC
Git commit 5f4f90e83565647f3579660e4c5d9ac447547a02 by Ralf Habacker.
Committed on 26/03/2019 at 22:29.
Pushed by habacker into branch '4.8'.

Fix 'Printer settings are not saved'

A global QPrinter instance in class KMyMoneyApp is used to reuse the
printer settings.
FIXED-IN:4.8.4

M  +25   -1    kmymoney/kmymoney.cpp
M  +2    -0    kmymoney/kmymoney.h
M  +5    -0    kmymoney/views/kreportsview.cpp

https://commits.kde.org/kmymoney/5f4f90e83565647f3579660e4c5d9ac447547a02