Merge lp://staging/~phablet-team/ubuntu-settings-components/printer-components into lp://staging/ubuntu-settings-components

Proposed by Jonas G. Drange
Status: Work in progress
Proposed branch: lp://staging/~phablet-team/ubuntu-settings-components/printer-components
Merge into: lp://staging/ubuntu-settings-components
Diff against target: 9826 lines (+9462/-1)
59 files modified
CMakeLists.txt (+7/-0)
debian/changelog (+7/-0)
debian/control (+3/-0)
debian/qml-module-ubuntu-settings-components.install (+1/-0)
examples/PrinterQueue.qml (+118/-0)
examples/Printers.qml (+604/-0)
plugins/Ubuntu/Settings/CMakeLists.txt (+1/-0)
plugins/Ubuntu/Settings/Printers/CMakeLists.txt (+53/-0)
plugins/Ubuntu/Settings/Printers/backend/backend.cpp (+350/-0)
plugins/Ubuntu/Settings/Printers/backend/backend.h (+223/-0)
plugins/Ubuntu/Settings/Printers/backend/backend_cups.cpp (+787/-0)
plugins/Ubuntu/Settings/Printers/backend/backend_cups.h (+152/-0)
plugins/Ubuntu/Settings/Printers/backend/backend_pdf.cpp (+119/-0)
plugins/Ubuntu/Settings/Printers/backend/backend_pdf.h (+47/-0)
plugins/Ubuntu/Settings/Printers/cups/ippclient.cpp (+988/-0)
plugins/Ubuntu/Settings/Printers/cups/ippclient.h (+121/-0)
plugins/Ubuntu/Settings/Printers/cups/printerdriverloader.cpp (+128/-0)
plugins/Ubuntu/Settings/Printers/cups/printerdriverloader.h (+61/-0)
plugins/Ubuntu/Settings/Printers/cups/printerloader.cpp (+53/-0)
plugins/Ubuntu/Settings/Printers/cups/printerloader.h (+49/-0)
plugins/Ubuntu/Settings/Printers/enums.h (+141/-0)
plugins/Ubuntu/Settings/Printers/i18n.cpp (+44/-0)
plugins/Ubuntu/Settings/Printers/i18n.h (+29/-0)
plugins/Ubuntu/Settings/Printers/models/drivermodel.cpp (+175/-0)
plugins/Ubuntu/Settings/Printers/models/drivermodel.h (+82/-0)
plugins/Ubuntu/Settings/Printers/models/jobmodel.cpp (+391/-0)
plugins/Ubuntu/Settings/Printers/models/jobmodel.h (+125/-0)
plugins/Ubuntu/Settings/Printers/models/printermodel.cpp (+533/-0)
plugins/Ubuntu/Settings/Printers/models/printermodel.h (+161/-0)
plugins/Ubuntu/Settings/Printers/org.cups.cupsd.Notifier.xml (+146/-0)
plugins/Ubuntu/Settings/Printers/plugin.cpp (+58/-0)
plugins/Ubuntu/Settings/Printers/plugin.h (+33/-0)
plugins/Ubuntu/Settings/Printers/printer/printer.cpp (+358/-0)
plugins/Ubuntu/Settings/Printers/printer/printer.h (+109/-0)
plugins/Ubuntu/Settings/Printers/printer/printerjob.cpp (+514/-0)
plugins/Ubuntu/Settings/Printers/printer/printerjob.h (+174/-0)
plugins/Ubuntu/Settings/Printers/printer/printersignalhandler.cpp (+69/-0)
plugins/Ubuntu/Settings/Printers/printer/printersignalhandler.h (+55/-0)
plugins/Ubuntu/Settings/Printers/printers/printers.cpp (+251/-0)
plugins/Ubuntu/Settings/Printers/printers/printers.h (+107/-0)
plugins/Ubuntu/Settings/Printers/printers_global.h (+23/-0)
plugins/Ubuntu/Settings/Printers/qmldir (+2/-0)
plugins/Ubuntu/Settings/Printers/structs.h (+103/-0)
plugins/Ubuntu/Settings/Printers/utils.h (+110/-0)
po/ubuntu-settings-components.pot (+25/-1)
po/update-usc-pot (+1/-0)
tests/CMakeLists.txt (+1/-0)
tests/unittests/CMakeLists.txt (+1/-0)
tests/unittests/Printers/CMakeLists.txt (+46/-0)
tests/unittests/Printers/mockbackend.h (+443/-0)
tests/unittests/Printers/tst_drivermodel.cpp (+136/-0)
tests/unittests/Printers/tst_jobfilter.cpp (+55/-0)
tests/unittests/Printers/tst_jobmodel.cpp (+120/-0)
tests/unittests/Printers/tst_printer.cpp (+284/-0)
tests/unittests/Printers/tst_printerfilter.cpp (+117/-0)
tests/unittests/Printers/tst_printerjob.cpp (+207/-0)
tests/unittests/Printers/tst_printermodel.cpp (+161/-0)
tests/unittests/Printers/tst_printers.cpp (+156/-0)
tests/unittests/Printers/tst_signalhandler.cpp (+44/-0)
To merge this branch: bzr merge lp://staging/~phablet-team/ubuntu-settings-components/printer-components
Reviewer Review Type Date Requested Status
Unity Team Pending
Review via email: mp+314435@code.staging.launchpad.net

Commit message

* packaging: suggest cups, depend on libcups2-dev
* adds cups bindings for printer/job management

To post a comment you must log in.
185. By Jonas G. Drange

internalizes cph stuff

186. By Jonas G. Drange

inch closer to settings duplex

187. By Jonas G. Drange

latest changes

188. By Jonas G. Drange

makes string stuff in pkhelper saner

189. By Jonas G. Drange

enables you to set the duplex of a printer

190. By Jonas G. Drange

fix path errors

191. By Jonas G. Drange

adds metaobj to cupsfacade system, other various fixes

192. By Jonas G. Drange

allows read/write of pageSize

193. By Jonas G. Drange

adds pagesize read/write

194. By Jonas G. Drange

adds colormodels stuff

195. By Jonas G. Drange

merges andrews printerjob work, as well as solving any conflicts

196. By Jonas G. Drange

corrects case where having colormodels gave you a dud as well, and fixes some warnings

197. By Jonas G. Drange

implements setData for ColorModel

198. By Jonas G. Drange

implements setData for ColorModel

199. By Jonas G. Drange

fixes colormodel implementation for printers with models

200. By Andrew Hayzen

* Add QTimer to poll availablePrinters for changes
* Improve update in PrinterModel so that it uses insert/move/remove instead of clear
* Add tests to ensure that insert/move/remove of printers works

201. By Andrew Hayzen

* Create startTimer method in PrinterModel

202. By Andrew Hayzen

* Expose colorModelType to QML
* Fix utils detection of colorModelType
* Change startTimer to not be a pointer
* Use new helpers in makeDest

203. By Jonas G. Drange

adds implementation of a proxyfilter for allPrinters, sorted by default

204. By Jonas G. Drange

migrates to allPrinters and marks the default

205. By Jonas G. Drange

merges andrews latest and solves conflicts

206. By Jonas G. Drange

removes displayrole arg in test as it is not needed

207. By Jonas G. Drange

* adds count and countChanged on the printer filter proxy by redirect of signal
* tests count and countChanged on PrinterFilter in tst_printerfilter

208. By Jonas G. Drange

* Add getter method to PrinterModel
* Fix issue in update when removing multiple rows (also added regression test)
* Add refresh command to PrinterInfo
* Add ability for setting defaults to emit signals, so when a default is set it remains set on the QML side

209. By Andrew Hayzen

* Add a Printers::allPrintersWithPdf option which includes a fake pdf at the bottom
* Add a PrinterInfoAllImpl which combines PrinterInfoPdfImpl and PrinterInfoImpl for listing
* Add a PrinterInfoPdfImpl which implements a fake pdf printer (just a name in the list)
* Add isPdf role to PrinterModel
* Add filterOnPdf to PrinterModel to allow for only showing pdf printers
* Force pdf printers to bottom of the PrinterModel
* Inject a fake ColorModel in PrinterPrivate::loadColorModel for pdf printers
* Change PrinterJob::setPrinterName to use PrinterInfoAllImpl for retreiving the PrinterInfo
* Improve the UI names for the Duplex modes
* Improve detection of color models so that "black" is a greyscale type
* In the example disable duplex mode when there is only None
* Fix colorModelType not emitting when it may have changed, causing QML to get out of sync

210. By Jonas G. Drange

* Implements read/write of select Quality ppd settings
* Updates PrinterJob to use the correct quality setting
* Fixes broken ColorModel system, now reflects most ppds, and leaves the ppd implementation details in the ppd (colorspace, organization, etc)

211. By Jonas G. Drange

* packaging: suggest cups, depend on libcups2-dev
* adds cups bindings for printer/job management

212. By Jonas G. Drange

* Rewrites Printer, PrinterJob, PrinterModel to all use a new backend.
* Adds new backend that bridges PDF and Cups implementations.
* Drops PIMPL idiom since we're not going to export C++ headers anyway.
* Drops most bridge patterns in classes that are now implementation details (QPrinterInfo, CupsFacade).
* Tries to deal with some RAII issues.

213. By Jonas G. Drange

syncs with trunk

214. By Jonas G. Drange

Jonas G. Drange 2017-01-23 deletes old, unused mocks

215. By Jonas G. Drange

adds printer state

216. By Andrew Hayzen

* Add support for translations in the printer components

217. By Andrew Hayzen

* Add Collate and Reverse options to PrinterJob

218. By Andrew Hayzen

* Add isTwoSided read-only property to PrinterJob which allows the QML to know if the selected duplexMode is actually going to print double sided

219. By Jonas G. Drange

resolves conflicts

220. By Andrew Hayzen

* Skip null printers for now as they result in errors due to missing ppd definitions and segfaults when trying to print

221. By Jonas G. Drange

  * allows creation of printers in example qml, and by extension the API
  * create printers by either providing a PPD file, or select a PPD from the database
  * adds a DriverModel that holds printer drivers, which can be filtered
  * adds testing of DriverModel

222. By Andrew Hayzen

* Always fit-to-page for now as printing app doesn't know about page sizes or scaling yet

223. By Andrew Hayzen

* Add cancel method to Printers

224. By Andrew Hayzen

* Add JobModel which lists the jobs for a certain printer
* Add JobRole to PrinterModel to access jobs
* Add JobState enum to track enums from cups
* Add example Queue which lists jobs for a printer with their name, id, status and allows you to cancel the job by clicking

225. By Jonas G. Drange

* Deprecate QTimer based update()
* Replace with cups subscription based update()
* Fixes tests.

226. By Andrew Hayzen

* Add updateFrom to Printer and PrinterJob
* Call updateFrom in PrinterModel and JobModel when printers are the same
* Emit dataChanged signal in models when updateFrom returns a change
* Add deepCompare to Printer and PrinterJob

227. By Andrew Hayzen

* Link notifications to JobModel - removing polling
* Fix compiler errors that appeared from the previous branch
* Fix logic change in last branch that was wrong way around

228. By Andrew Hayzen

* Resolve console warnings - add TODOs in methods that should be implemented where I've put a fake return value for now
* Set a default for switches that compiler thinks it can reach the end of the control without
* Add return values for methods that are not implemented yet
* Add Q_UNUSED for parameters that aren't used

229. By Andrew Hayzen

* Expose many more properties of PrinterJob to the JobModel
* Load PrinterJob properties from the ipp job attributes when loading for the JobModel

230. By Jonas G. Drange

merges ~jonas-drange/ubuntu-settings-components/asyncness/

231. By Jonas G. Drange

frees all the jobs which works fine

232. By Jonas G. Drange

* adds PrinterSignalHandler that is responsible for handling (some) printer signals.
* uses PrinterSignalHandler in PrinterModel so that i only will update printers a minimum number of times

Unmerged revisions

232. By Jonas G. Drange

* adds PrinterSignalHandler that is responsible for handling (some) printer signals.
* uses PrinterSignalHandler in PrinterModel so that i only will update printers a minimum number of times

231. By Jonas G. Drange

frees all the jobs which works fine

230. By Jonas G. Drange

merges ~jonas-drange/ubuntu-settings-components/asyncness/

229. By Andrew Hayzen

* Expose many more properties of PrinterJob to the JobModel
* Load PrinterJob properties from the ipp job attributes when loading for the JobModel

228. By Andrew Hayzen

* Resolve console warnings - add TODOs in methods that should be implemented where I've put a fake return value for now
* Set a default for switches that compiler thinks it can reach the end of the control without
* Add return values for methods that are not implemented yet
* Add Q_UNUSED for parameters that aren't used

227. By Andrew Hayzen

* Link notifications to JobModel - removing polling
* Fix compiler errors that appeared from the previous branch
* Fix logic change in last branch that was wrong way around

226. By Andrew Hayzen

* Add updateFrom to Printer and PrinterJob
* Call updateFrom in PrinterModel and JobModel when printers are the same
* Emit dataChanged signal in models when updateFrom returns a change
* Add deepCompare to Printer and PrinterJob

225. By Jonas G. Drange

* Deprecate QTimer based update()
* Replace with cups subscription based update()
* Fixes tests.

224. By Andrew Hayzen

* Add JobModel which lists the jobs for a certain printer
* Add JobRole to PrinterModel to access jobs
* Add JobState enum to track enums from cups
* Add example Queue which lists jobs for a printer with their name, id, status and allows you to cancel the job by clicking

223. By Andrew Hayzen

* Add cancel method to Printers

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches