Mon, 12 Feb 2018 19:04:07 +0100
Register QWebChannel on isolated ApplicationWorld
This way scripts on pages don't have access to it. Exceptions are eric: and qthelp: schemes as internal pages requires the bridge.
GreaseMonkey userscripts now runs on ApplicationWorld too. This fixes userscript that depend on script world being isolated from main page world.
5182
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
6048
82ad8ec9548c
Updated copyright for 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
3 | # Copyright (c) 2016 - 2018 Detlev Offenbach <detlev@die-offenbachs.de> |
5182
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing an object for printing of files. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | # |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | # This code is inspired by and ported from Qupzilla. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | # Original Copyright (C) 2016 by Kevin Kofler <kevin.kofler@chello.at> |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | # |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | from __future__ import unicode_literals |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
17 | from PyQt5.QtCore import QFile, QStandardPaths, QProcess |
5182
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | from PyQt5.QtPrintSupport import QPrinter, QPrintEngine |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | import Globals |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
21 | from Globals import qVersionTuple |
5182
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | _FilePrintJobs = [] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
5253
57276f763bf6
Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5182
diff
changeset
|
26 | |
5182
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | class FilePrinter(object): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | Class implementing methods for printing on *nix systems. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | # |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | # Whether file(s) get deleted by the application or by the print system. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | # |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | ApplicationDeletesFiles = 0 |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | SystemDeletesFiles = 1 |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | # |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | # Whether pages to be printed are selected by the application or the print |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | # system. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | # |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | # If application side, then the generated file will only contain those |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | # pages selected by the user, so FilePrinter will print all the pages in |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | # the file. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | # |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | # If system side, then the file will contain all the pages in the |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | # document, and the print system will print the users selected print range |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | # from out of the file. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | # |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | # Note: system side only works in CUPS, not LPR. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | # |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | ApplicationSelectsPages = 0 |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | SystemSelectsPages = 1 |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | def __init__(self): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | Constructor |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | self.__paperSizesMap = { |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | QPrinter.A0: "A0", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | QPrinter.A1: "A1", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | QPrinter.A2: "A2", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | QPrinter.A3: "A3", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | QPrinter.A4: "A4", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | QPrinter.A5: "A5", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | QPrinter.A6: "A6", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | QPrinter.A7: "A7", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | QPrinter.A8: "A8", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | QPrinter.A9: "A9", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | QPrinter.B0: "B0", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | QPrinter.B1: "B1", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | QPrinter.B2: "B2", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | QPrinter.B3: "B3", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | QPrinter.B4: "B4", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | QPrinter.B5: "B5", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | QPrinter.B6: "B6", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | QPrinter.B7: "B7", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | QPrinter.B8: "B8", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | QPrinter.B9: "B9", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | QPrinter.B10: "B10", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | QPrinter.C5E: "C5", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | QPrinter.Comm10E: "Comm10", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | QPrinter.DLE: "DL", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | QPrinter.Executive: "Executive", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | QPrinter.Folio: "Folio", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | QPrinter.Ledger: "Ledger", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | QPrinter.Legal: "Legal", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | QPrinter.Letter: "Letter", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | QPrinter.Tabloid: "Tabloid", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | } |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | self.__paperSourcesMap = { |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | QPrinter.Auto: "", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | QPrinter.Cassette: "Cassette", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | QPrinter.Envelope: "Envelope", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | QPrinter.EnvelopeManual: "EnvelopeManual", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | QPrinter.FormSource: "FormSource", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | QPrinter.LargeCapacity: "LargeCapacity", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | QPrinter.LargeFormat: "LargeFormat", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | QPrinter.Lower: "Lower", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | QPrinter.MaxPageSource: "MaxPageSource", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | QPrinter.Middle: "Middle", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | QPrinter.Manual: "Manual", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | QPrinter.OnlyOne: "OnlyOne", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | QPrinter.Tractor: "Tractor", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | QPrinter.SmallFormat: "SmallFormat", |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | } |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | self.__process = None |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | self.__doDeleteFile = FilePrinter.ApplicationDeletesFiles |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | self.__fileName = "" |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | def _doPrintFile(self, printer, fileName, fileDeletePolicy, |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | pageSelectPolicy, pageRange): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | """ |
5253
57276f763bf6
Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5182
diff
changeset
|
115 | Protected method to print a file. |
5182
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | @param fileName name (path) of the file to be printed |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | @type str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | @param fileDeletePolicy policy determining who deletes the file to be |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | printed (application or system) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | @type int (0 or 1) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | @param pageSelectPolicy policy determining who selects the pages to be |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | printed (application or system) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | @type int (0 or 1) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | @param pageRange string determining the page range(s) to be printed, if |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | SystemSelectsPages was given for pageSelectPolicy and user chose |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | Selection in print dialog |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | @type str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | @return flag indicating successful print job submission |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | @rtype bool |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | if not QFile.exists(fileName): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | return False |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | self.__fileName = fileName |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | self.__doDeleteFile = ( |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | fileDeletePolicy == FilePrinter.SystemDeletesFiles) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | if printer.printerState() in [QPrinter.Aborted, QPrinter.Error]: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | if self.__doDeleteFile: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | QFile.remove(fileName) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | return False |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | # |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | # Print via lpr/lp command |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | # |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | # |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | # Decide what executable to use to print with, need the CUPS version |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
152 | # of lpr if available. Some distros name the CUPS version of lpr as |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | # lpr-cups or lpr.cups so try those first before default to lpr, or |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | # failing that to lp. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | if QStandardPaths.findExecutable("lpr-cups"): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | exe = "lpr-cups" |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | elif QStandardPaths.findExecutable("lpr.cups"): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | exe = "lpr.cups" |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
159 | elif QStandardPaths.findExecutable("lpr"): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | exe = "lpr" |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | elif QStandardPaths.findExecutable("lp"): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | exe = "lp" |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | else: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | if self.__doDeleteFile: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | QFile.remove(fileName) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | return False |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
168 | useCupsOptions = isCupsAvailable() |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | argsList = self._printArguments( |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | printer, fileDeletePolicy, pageSelectPolicy, useCupsOptions, |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | pageRange, exe) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
172 | argsList.append(fileName) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | self.__process = QProcess() |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
175 | if qVersionTuple() < (5, 6, 0): |
5182
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | self.__process.error.connect(self.__processError) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | else: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | self.__process.errorOccurred.connect(self.__processError) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | self.__process.finished.connect(self.__processFinished) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | self.__process.start(exe, argsList) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | if not self.__process.waitForStarted(10000): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | # it failed to start |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | self.__doCleanup(self.__doDeleteFile) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | return False |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | return True |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | def __doCleanup(self, deleteFile): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | Private method to perform some internal cleanup actions. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
191 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | @param deleteFile flag indicating to delete the print file |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | @type bool |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | if deleteFile: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | QFile.remove(self.__fileName) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | self.__process.deleteLater() |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
199 | self.__process = None |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
201 | if self in _FilePrintJobs: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
202 | _FilePrintJobs.remove(self) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
203 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
204 | def __processError(self, error): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
205 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
206 | Private slot handling process errors. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
207 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
208 | @param error error value |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
209 | @type QProcess.ProcessError |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
211 | self.__doCleanup(self.__doDeleteFile) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
212 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | def __processFinished(self, exitCode, exitStatus): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
214 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | Private slot handling the end of the process. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
216 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
217 | @param exitCode exit code of the process |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
218 | @type int |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
219 | @param exitStatus exit status of the process |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
220 | @type QProcess.ExitStatus |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
221 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
222 | self.__doCleanup(self.__doDeleteFile and ( |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
223 | exitStatus != QProcess.NormalExit or exitCode != 0)) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
224 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
225 | def _printArguments(self, printer, fileDeletePolicy, pageSelectPolicy, |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
226 | useCupsOptions, pageRange, variant): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
227 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
228 | Protected method to assemble the command line arguments for the print |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | command. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
230 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | @param fileDeletePolicy policy determining who deletes the file to be |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
234 | printed (application or system) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
235 | @type int (0 or 1) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | @param pageSelectPolicy policy determining who selects the pages to be |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | printed (application or system) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | @type int (0 or 1) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
239 | @param useCupsOptions flag indicating to assemble the arguments for |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
240 | CUPS |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
241 | @type bool |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
242 | @param pageRange string determining the page range(s) to be printed, if |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | SystemSelectsPages was given for pageSelectPolicy and user chose |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | Selection in print dialog |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | @type str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
246 | @param variant string identifying the print command variant |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
247 | @type str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | @return assembled command line arguments for the print command |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | @rtype list of str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
250 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | if variant.startswith("lpr"): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | variant = "lpr" |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
253 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | args = [] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
255 | args.extend(self._destination(printer, variant)) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
256 | args.extend(self._copies(printer, variant)) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
257 | args.extend(self._jobname(printer, variant)) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
258 | args.extend(self._pages(printer, pageSelectPolicy, pageRange, |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
259 | useCupsOptions, variant)) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
260 | if useCupsOptions: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
261 | args.extend(self._cupsOptions(printer)) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
262 | args.extend(self._deleteFile(printer, fileDeletePolicy, variant)) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
263 | if variant == "lp": |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
264 | args.append("--") |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
265 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | return args |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
268 | def _destination(self, printer, variant): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | Protected method to assemble the printer destination arguments. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
271 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
272 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
273 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
274 | @param variant string identifying the print command variant |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | @type str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
276 | @return assembled printer destination arguments |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
277 | @rtype list of str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
278 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
279 | if variant == "lp": |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
280 | return ["-d", printer.printerName()] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | elif variant == "lpr": |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | return ["-P", printer.printerName()] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | else: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
284 | return [] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
286 | def _copies(self, printer, variant): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
287 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | Protected method to assemble the number of copies arguments. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
290 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | @param variant string identifying the print command variant |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | @type str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | @return assembled number of copies arguments |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | @rtype list of str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
297 | copies = printer.copyCount() |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | if variant == "lp": |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
299 | return ["-n", str(copies)] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
300 | elif variant == "lpr": |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
301 | return ["-#{0}".format(copies)] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | else: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
303 | return [] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
304 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
305 | def _jobname(self, printer, variant): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
307 | Protected method to assemble the jobname arguments. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
308 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
309 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
310 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
311 | @param variant string identifying the print command variant |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
312 | @type str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
313 | @return assembled jobname arguments |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
314 | @rtype list of str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
315 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
316 | if printer.docName(): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
317 | if variant == "lp": |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
318 | return ["-t", printer.docName()] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
319 | elif variant == "lpr": |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | shortenedDocName = printer.docName()[:255] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | return ["-J", shortenedDocName] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | return [] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
324 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | def _deleteFile(self, printer, fileDeletePolicy, variant): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
327 | Protected method to assemble the jobname arguments. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | @param fileDeletePolicy policy determining who deletes the file to be |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | printed (application or system) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | @type int (0 or 1) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
334 | @param variant string identifying the print command variant |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
335 | @type str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
336 | @return assembled jobname arguments |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
337 | @rtype list of str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
338 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
339 | if fileDeletePolicy == FilePrinter.SystemDeletesFiles and \ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
340 | variant == "lpr": |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
341 | return ["-r"] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | else: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
343 | return [] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
344 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
345 | def _pages(self, printer, pageSelectPolicy, pageRange, useCupsOptions, |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
346 | variant): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
347 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
348 | Protected method to assemble the page range(s) arguments. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
350 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
352 | @param pageSelectPolicy policy determining who selects the pages to be |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
353 | printed (application or system) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
354 | @type int (0 or 1) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
355 | @param pageRange string determining the page range(s) to be printed, if |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
356 | SystemSelectsPages was given for pageSelectPolicy and user chose |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
357 | Selection in print dialog |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
358 | @type str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
359 | @param useCupsOptions flag indicating to assemble the arguments for |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
360 | CUPS |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
361 | @type bool |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
362 | @param variant string identifying the print command variant |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
363 | @type str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
364 | @return assembled page range(s) arguments |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
365 | @rtype list of str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
366 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
367 | if pageSelectPolicy == FilePrinter.SystemSelectsPages: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
368 | if printer.printRange() == QPrinter.Selection and bool(pageRange): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
369 | if variant == "lp": |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
370 | return ["-P", pageRange] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
371 | elif variant == "lpr": |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
372 | return ["-o", "page-ranges={0}".format(pageRange)] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
373 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | if printer.printRange() == QPrinter.PageRange: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | if variant == "lp": |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | return ["-P", "{0}-{1}".format( |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | printer.fromPage(), printer.toPage())] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | elif variant == "lpr": |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | return ["-o", "page-ranges={0}-{1}".format( |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | printer.fromPage(), printer.toPage())] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | return [] # all pages |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | def _cupsOptions(self, printer): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | Protected method to assemble the CUPS specific arguments. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
390 | @return assembled CUPS arguments |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | @rtype list of str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
392 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
393 | options = [] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
394 | options.extend(self._optionMedia(printer)) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
395 | options.extend(self._optionDoubleSidedPrinting(printer)) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
396 | options.extend(self._optionPageOrder(printer)) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
397 | options.extend(self._optionCollateCopies(printer)) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | options.extend(self._optionCupsProperties(printer)) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | return options |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | def _optionMedia(self, printer): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
403 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
404 | Protected method to assemble the print media arguments. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
405 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
406 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | @return assembled print media arguments |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | @rtype list of str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | pageSize = self._mediaPageSize(printer) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | paperSource = self._mediaPaperSource(printer) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | if pageSize and paperSource: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | return ["-o", "media={0},{1}".format(pageSize, paperSource)] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | elif pageSize: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | return ["-o", "media={0}".format(pageSize)] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | elif paperSource: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
421 | return ["-o", "media={0}".format(paperSource)] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
422 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
423 | return [] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
425 | def _mediaPageSize(self, printer): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
426 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | Protected method to get the page size argument. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | @return page size argument |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | @rtype str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | pageSize = printer.pageSize() |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | if pageSize in self.__paperSizesMap: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | return self.__paperSizesMap[pageSize] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | else: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | return "" |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
439 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | def _mediaPaperSource(self, printer): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
441 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
442 | Protected method to get the paper source argument. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | @return paper source argument |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | @rtype str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
448 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | paperSource = printer.paperSource() |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | if paperSource in self.__paperSourcesMap: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | return self.__paperSourcesMap[paperSource] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | else: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
453 | return "" |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
454 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
455 | def _optionDoubleSidedPrinting(self, printer): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
456 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
457 | Protected method to assemble the double sided printing arguments. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | @return assembled double sided printing arguments |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | @rtype list of str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | duplex = printer.duplex() |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
465 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
466 | if duplex == QPrinter.DuplexNone: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
467 | return ["-o", "sides=one-sided"] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | elif duplex == QPrinter.DuplexAuto: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
469 | if printer.orientation() == QPrinter.Landscape: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
470 | return ["-o", "sides=two-sided-short-edge"] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
471 | else: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
472 | return ["-o", "sides=two-sided-long-edge"] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
473 | elif duplex == QPrinter.DuplexLongSide: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
474 | return ["-o", "sides=two-sided-long-edge"] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
475 | elif duplex == QPrinter.DuplexShortSide: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
476 | return ["-o", "sides=two-sided-short-edge"] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
477 | else: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
478 | return [] # use printer default |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
479 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
480 | def _optionPageOrder(self, printer): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
481 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
482 | Protected method to assemble the page order arguments. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
483 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
484 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
485 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
486 | @return assembled page order arguments |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
487 | @rtype list of str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
488 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
489 | if printer.pageOrder() == QPrinter.LastPageFirst: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
490 | return ["-o", "outputorder=reverse"] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
491 | else: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
492 | return ["-o", "outputorder=normal"] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
493 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
494 | def _optionCollateCopies(self, printer): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
495 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
496 | Protected method to assemble the collate copies arguments. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
497 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
498 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
499 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
500 | @return assembled collate copies arguments |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
501 | @rtype list of str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
502 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
503 | if printer.collateCopies(): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
504 | return ["-o", "Collate=True"] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
505 | else: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | return ["-o", "Collate=False"] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
507 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
508 | def _optionCupsProperties(self, printer): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
509 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | Protected method to assemble the CUPS properties arguments. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
511 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
513 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
514 | @return assembled CUPS properties arguments |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
515 | @rtype list of str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
517 | options = Globals.toList(printer.printEngine().property( |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | QPrintEngine.PrintEnginePropertyKey(0xfe00))) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
519 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
520 | cupsOptions = [] |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
521 | index = 0 |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
522 | while index < len(options): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
523 | if options[index + 1]: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
524 | cupsOptions.extend(["-o", "{0}={1}".format( |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
525 | options[index], options[index + 1])]) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
526 | else: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
527 | cupsOptions.extend(["-o", options[index]]) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
528 | index += 2 |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
529 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
530 | return cupsOptions |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
531 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
532 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
533 | def isCupsAvailable(): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
534 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
535 | Static method to test the availability of CUPS. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
536 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
537 | @return flag indicating the availability of CUPS |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
538 | @rtype bool |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
539 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
540 | if Globals.isMacPlatform(): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
541 | # OS X/MacOS always have CUPS |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
542 | return True |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
543 | elif Globals.isLinuxPlatform(): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
544 | testPrinter = QPrinter() |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
545 | return testPrinter.supportsMultipleCopies() |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
546 | else: |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
547 | return False |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
548 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
549 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
550 | def printFile(printer, fileName, |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
551 | fileDeletePolicy=FilePrinter.ApplicationDeletesFiles, |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
552 | pageSelectPolicy=FilePrinter.ApplicationSelectsPages, |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
553 | pageRange=""): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
554 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
555 | Static method to print a file. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
556 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
557 | Note: Only CUPS and LPR on *nix systems is supported. |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
558 | |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
559 | @param printer reference to the printer to print to |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
560 | @type QPrinter |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
561 | @param fileName name (path) of the file to be printed |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
562 | @type str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
563 | @param fileDeletePolicy policy determining who deletes the file to be |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
564 | printed (application or system) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
565 | @type int (0 or 1) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
566 | @param pageSelectPolicy policy determining who selects the pages to be |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
567 | printed (application or system) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
568 | @type int (0 or 1) |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
569 | @param pageRange string determining the page range(s) to be printed, if |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
570 | SystemSelectsPages was given for pageSelectPolicy and user chose |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
571 | Selection in print dialog |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
572 | @type str |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
573 | """ |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
574 | fp = FilePrinter() |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
575 | if fp._doPrintFile(printer, fileName, fileDeletePolicy, pageSelectPolicy, |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
576 | pageRange): |
e2782c9a43d4
Started to implement real printing support for the new web browser and Qt >= 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
577 | _FilePrintJobs.append(fp) |