Merge lp:~ahayzen/ubuntu-settings-components/add-cancel-method into lp:~phablet-team/ubuntu-settings-components/printer-components

Proposed by Andrew Hayzen
Status: Merged
Approved by: Jonas G. Drange
Approved revision: 224
Merged at revision: 223
Proposed branch: lp:~ahayzen/ubuntu-settings-components/add-cancel-method
Merge into: lp:~phablet-team/ubuntu-settings-components/printer-components
Diff against target: 180 lines (+38/-11)
12 files modified
plugins/Ubuntu/Settings/Printers/backend/backend.cpp (+6/-0)
plugins/Ubuntu/Settings/Printers/backend/backend.h (+2/-0)
plugins/Ubuntu/Settings/Printers/backend/backend_cups.cpp (+5/-0)
plugins/Ubuntu/Settings/Printers/backend/backend_cups.h (+2/-0)
plugins/Ubuntu/Settings/Printers/cups/cupsfacade.cpp (+9/-0)
plugins/Ubuntu/Settings/Printers/cups/cupsfacade.h (+2/-0)
plugins/Ubuntu/Settings/Printers/printer/printerjob.cpp (+0/-5)
plugins/Ubuntu/Settings/Printers/printer/printerjob.h (+0/-1)
plugins/Ubuntu/Settings/Printers/printers/printers.cpp (+5/-0)
plugins/Ubuntu/Settings/Printers/printers/printers.h (+2/-0)
tests/unittests/Printers/mockbackend.h (+5/-0)
tests/unittests/Printers/tst_printerjob.cpp (+0/-5)
To merge this branch: bzr merge lp:~ahayzen/ubuntu-settings-components/add-cancel-method
Reviewer Review Type Date Requested Status
Jonas G. Drange (community) Approve
Review via email: mp+316241@code.launchpad.net

Commit message

* Add cancel method to Printers

Description of the change

* Add cancel method to Printers

To post a comment you must log in.
Revision history for this message
Jonas G. Drange (jonas-drange) wrote :

LGTM. We can improve the situation where a cancel operation fails later on.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugins/Ubuntu/Settings/Printers/backend/backend.cpp'
2--- plugins/Ubuntu/Settings/Printers/backend/backend.cpp 2017-01-26 16:14:55 +0000
3+++ plugins/Ubuntu/Settings/Printers/backend/backend.cpp 2017-02-02 16:02:15 +0000
4@@ -189,6 +189,12 @@
5 return PrintQuality();
6 }
7
8+void PrinterBackend::cancelJob(const QString &name, const int jobId)
9+{
10+ Q_UNUSED(jobId);
11+ Q_UNUSED(name);
12+}
13+
14 int PrinterBackend::printFileToDest(const QString &filepath,
15 const QString &title,
16 const cups_dest_t *dest)
17
18=== modified file 'plugins/Ubuntu/Settings/Printers/backend/backend.h'
19--- plugins/Ubuntu/Settings/Printers/backend/backend.h 2017-01-27 13:48:34 +0000
20+++ plugins/Ubuntu/Settings/Printers/backend/backend.h 2017-02-02 16:02:15 +0000
21@@ -113,6 +113,8 @@
22 virtual QList<PrintQuality> printerGetSupportedQualities(
23 const QString &name) const;
24 virtual PrintQuality printerGetDefaultQuality(const QString &name) const;
25+
26+ virtual void cancelJob(const QString &name, const int jobId);
27 virtual int printFileToDest(const QString &filepath,
28 const QString &title,
29 const cups_dest_t *dest);
30
31=== modified file 'plugins/Ubuntu/Settings/Printers/backend/backend_cups.cpp'
32--- plugins/Ubuntu/Settings/Printers/backend/backend_cups.cpp 2017-01-31 12:34:18 +0000
33+++ plugins/Ubuntu/Settings/Printers/backend/backend_cups.cpp 2017-02-02 16:02:15 +0000
34@@ -198,6 +198,11 @@
35 return printerGetOption(name, "DefaultPrintQuality").value<PrintQuality>();
36 }
37
38+void PrinterCupsBackend::cancelJob(const QString &name, const int jobId)
39+{
40+ m_cups->cancelJob(name, jobId);
41+}
42+
43 int PrinterCupsBackend::printFileToDest(const QString &filepath,
44 const QString &title,
45 const cups_dest_t *dest)
46
47=== modified file 'plugins/Ubuntu/Settings/Printers/backend/backend_cups.h'
48--- plugins/Ubuntu/Settings/Printers/backend/backend_cups.h 2017-01-26 16:14:55 +0000
49+++ plugins/Ubuntu/Settings/Printers/backend/backend_cups.h 2017-02-02 16:02:15 +0000
50@@ -92,6 +92,8 @@
51 virtual QList<PrintQuality> printerGetSupportedQualities(
52 const QString &name) const override;
53 virtual PrintQuality printerGetDefaultQuality(const QString &name) const;
54+
55+ virtual void cancelJob(const QString &name, const int jobId) override;
56 virtual int printFileToDest(const QString &filepath,
57 const QString &title,
58 const cups_dest_t *dest) override;
59
60=== modified file 'plugins/Ubuntu/Settings/Printers/cups/cupsfacade.cpp'
61--- plugins/Ubuntu/Settings/Printers/cups/cupsfacade.cpp 2017-01-31 13:06:19 +0000
62+++ plugins/Ubuntu/Settings/Printers/cups/cupsfacade.cpp 2017-02-02 16:02:15 +0000
63@@ -367,6 +367,15 @@
64 return dest;
65 }
66
67+void CupsFacade::cancelJob(const QString &name, const int jobId)
68+{
69+ int ret = cupsCancelJob(name.toLocal8Bit(), jobId);
70+
71+ if (!ret) {
72+ qWarning() << "Failed to cancel job:" << jobId << "for" << name;
73+ }
74+}
75+
76 int CupsFacade::printFileToDest(const QString &filepath, const QString &title,
77 const cups_dest_t *dest)
78 {
79
80=== modified file 'plugins/Ubuntu/Settings/Printers/cups/cupsfacade.h'
81--- plugins/Ubuntu/Settings/Printers/cups/cupsfacade.h 2017-01-26 16:14:55 +0000
82+++ plugins/Ubuntu/Settings/Printers/cups/cupsfacade.h 2017-02-02 16:02:15 +0000
83@@ -87,6 +87,8 @@
84
85 QList<ColorModel> printerGetSupportedColorModels(const QString &name) const;
86 QList<PrintQuality> printerGetSupportedQualities(const QString &name) const;
87+
88+ void cancelJob(const QString &name, const int jobId);
89 int printFileToDest(const QString &filepath, const QString &title,
90 const cups_dest_t *dest);
91
92
93=== modified file 'plugins/Ubuntu/Settings/Printers/printer/printerjob.cpp'
94--- plugins/Ubuntu/Settings/Printers/printer/printerjob.cpp 2017-01-31 12:34:18 +0000
95+++ plugins/Ubuntu/Settings/Printers/printer/printerjob.cpp 2017-02-02 16:02:15 +0000
96@@ -58,11 +58,6 @@
97
98 }
99
100-void PrinterJob::cancel()
101-{
102-
103-}
104-
105 bool PrinterJob::collate() const
106 {
107 return m_collate;
108
109=== modified file 'plugins/Ubuntu/Settings/Printers/printer/printerjob.h'
110--- plugins/Ubuntu/Settings/Printers/printer/printerjob.h 2017-01-26 16:19:54 +0000
111+++ plugins/Ubuntu/Settings/Printers/printer/printerjob.h 2017-02-02 16:02:15 +0000
112@@ -72,7 +72,6 @@
113 PrinterEnum::State state() const;
114 QString title() const;
115 public Q_SLOTS:
116- Q_INVOKABLE void cancel();
117 PrinterEnum::DuplexMode getDuplexMode() const;
118 ColorModel getColorModel() const;
119 PrintQuality getPrintQuality() const;
120
121=== modified file 'plugins/Ubuntu/Settings/Printers/printers/printers.cpp'
122--- plugins/Ubuntu/Settings/Printers/printers/printers.cpp 2017-01-30 11:37:07 +0000
123+++ plugins/Ubuntu/Settings/Printers/printers/printers.cpp 2017-02-02 16:02:15 +0000
124@@ -102,6 +102,11 @@
125 return m_lastMessage;
126 }
127
128+void Printers::cancelJob(const QString &printerName, const int jobId)
129+{
130+ m_backend->cancelJob(printerName, jobId);
131+}
132+
133 void Printers::setDefaultPrinterName(const QString &name)
134 {
135
136
137=== modified file 'plugins/Ubuntu/Settings/Printers/printers/printers.h'
138--- plugins/Ubuntu/Settings/Printers/printers/printers.h 2017-01-26 16:14:55 +0000
139+++ plugins/Ubuntu/Settings/Printers/printers/printers.h 2017-02-02 16:02:15 +0000
140@@ -60,6 +60,8 @@
141 QString defaultPrinterName() const;
142 QString lastMessage() const;
143
144+ Q_INVOKABLE void cancelJob(const QString &printerName, const int jobId);
145+
146 void setDefaultPrinterName(const QString &name);
147 void setDriverFilter(const QString &filter);
148
149
150=== modified file 'tests/unittests/Printers/mockbackend.h'
151--- tests/unittests/Printers/mockbackend.h 2017-01-27 13:48:34 +0000
152+++ tests/unittests/Printers/mockbackend.h 2017-02-02 16:02:15 +0000
153@@ -210,6 +210,11 @@
154 return printerOptions[name].value("PrintQualities").value<QList<PrintQuality>>();
155 }
156
157+ virtual void cancelJob(const QString &name, const int jobId) override
158+ {
159+
160+ }
161+
162 virtual int printFileToDest(const QString &filepath,
163 const QString &title,
164 const cups_dest_t *dest) override
165
166=== modified file 'tests/unittests/Printers/tst_printerjob.cpp'
167--- tests/unittests/Printers/tst_printerjob.cpp 2017-01-26 16:19:54 +0000
168+++ tests/unittests/Printers/tst_printerjob.cpp 2017-02-02 16:02:15 +0000
169@@ -60,11 +60,6 @@
170 m_instance = new PrinterJob(m_mock_printer, m_backend);
171 }
172
173- void testCancel()
174- {
175- QSKIP("Not implemented yet!");
176- }
177-
178 void testCollate()
179 {
180 QCOMPARE(m_instance->collate(), true);

Subscribers

People subscribed via source and target branches