summaryrefslogtreecommitdiffstats
path: root/src/printsupport/dialogs/qprintdialog_unix.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Pass non-trivial types by const-ref in range-loop [-Wclazy-range-loop]Sergio Martins2018-12-051-1/+1
| | | | | | | | | | | | | corelib/serialization/qcbormap.h:176:14: warning: Missing reference in range-for with non trivial type (QPair<QCborValue, QCborValue>) corelib/serialization/qjsoncbor.cpp:820:10: warning: Missing reference in range-for with non trivial type (QJsonValue) gui/kernel/qguiapplication.cpp:1171:10: warning: Missing reference in range-for with non trivial type (QString) printsupport/dialogs/qprintdialog_unix.cpp:741:10: warning: Missing reference in range-for with non trivial type (QString) printsupport/kernel/qprinter.cpp:1851:10: warning: Missing reference in range-for with non trivial type (QVariant) tools/qlalr/cppgenerator.cpp:463:8: warning: Missing reference in range-for with non trivial type (Name) Change-Id: I327b0f116e329e55952ed5740a5f5af4b2918392 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix clang develop buildAllan Sandfeld Jensen2018-05-311-1/+1
| | | | | | | | A mismatch of enums after a rename. Change-Id: Ib28e4607f20583afcb9210fdef7f52d95c63e3dd Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-05-241-0/+4
|\ | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt_common.prf src/corelib/tools/qstring.cpp src/plugins/platforms/windows/qwindowsmousehandler.cpp src/widgets/widgets/qmainwindowlayout_p.h Change-Id: I5df613008f6336f69b257d08e49a133d033a9d65
| * Fix build for Android with android-clangLiang Qi2018-05-161-0/+4
| | | | | | | | | | | | | | | | | | | | dialogs/qprintdialog_unix.cpp:149:15: error: private field 'm_printer' is not used [-Werror,-Wunused-private-field] QPrinter *m_printer; ^ Change-Id: Idce515a3e66019756b6ad2d305072e0a89bb823b Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | cups: Fix UI mismatch when a default printer option choice is not availableAlbert Astals Cid2018-05-091-14/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can happen that the user sets a default printer option choice, using lpoptions or similar, and that is a mistake since that choice is not available because it needs an installable option that is not in the printer. We need to check that and set the internal ppd option not to the value the user gave to lpoptions but to something sane Also rename foundMarkedOption to foundMarkedChoice since we're going through all the choices of a given option in that loop Change-Id: Ic9362d9b4fba33025c4d45eed8ddd203c95836bf Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Unix print dialog: Properly initialize duplexMichael Weghorn2018-05-021-5/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case the user has explicitly selected a value for the duplex mode in the print dialog before, select this one when another printer is selected and the newly selected printer supports it. Otherwise, always set to the default value of the respective device that was selected. This way, default values that the user (or admin) has set for a CUPS printer (or printer instance) are honored, but an explicit user choice made in the dialog takes precedence. Previously, the duplex values was always reset to "None" every time the printer was changed. Change-Id: Id9683a05b10cf7a4b842f8b6c8452e80cdc6ff91 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | cups: Take conflicts for duplex and page size into accountAlbert Astals Cid2018-03-271-6/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Duplex and Page Size are not shown in the "Advanced" options tag since they are more important options, this means we were not taking them into account for ppd conflicts since we never set their values in the ppd, we do use the new-style cups options for them when printing With this patch we add m_pageSizePpdOption and m_duplexPpdOption to set the values to the ppd struct behind the scenes. Change-Id: I48bd9fe93d0c08b7b8dd9620a07c56fc79cce13b Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Initialize m_cupsCodecJesus Fernandez2018-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | Ensure initialization of m_cupsCodec to nullptr. The codec is checking the value of m_cupsCodec; but the initialization was conditional before this patch. Change-Id: I81751b7743e9956f31f17cead01dc05e268db7eb Coverity-Id: 188700 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Linux/cups: Better advanced options UIAlbert Astals Cid2018-03-191-562/+208
|/ | | | | | | | | | Previously we were using a treeview that wasn't very clear it was editable, now we simply use QComboBoxes that are much more clear the user can change the values Change-Id: Ied9bca195f4cb275115213631e21cd6a15544311 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* cups: Clear cups options at the start of QPrintPropertiesDialog::setupPrinterAlbert Astals Cid2018-01-241-0/+4
| | | | | | | | | | | | | | | | | | For some reason the cups options are kept globally instead of per printer at QCupsPrintEnginePrivate so when setting the printer options on accepting the print dialog, we first need to clear them and then call the other functions that set them, otherwise, we will "reuse" cups option set on the previous print. How to reproduce: * Open print dialog, set some advanced option to a non default value, easiest one is print in grayscale * Print * Check it prints in grayscale * Open print dialog, check the advanced options are all on default values * Print * Check it incorrectly prints in grayscale Change-Id: I59aacaf30db844ad40887d6b771f9354557852b6 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Cups Print Dialog: Change the message box titles to CapsFriedemann Kleint2018-01-171-2/+2
| | | | | | | | | Amends 608301d4c81ce65804a088aaebbd5433a56d69d7. Task-number: QTBUG-1311 Change-Id: I01cd60f0676f4e0501d411151492b4f867653053 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* QPrintDialog/Unix: compile with gcc 4.8Christian Ehrlicher2018-01-171-1/+2
| | | | | | | | | Passing parameters via auto to a lambda function is a c++14 extension which is not supported by gcc4.8. Change-Id: I335b2a2f5ba02f5440c2e7ccc81d4156e8b29484 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Move color/grayscale option to cups advanced panelRenato Araujo Oliveira Filho2018-01-161-1/+18
| | | | | | | | | | | CUPS has a complex way to configure colors for printers, and this can not be represented only by radio buttons. Because of that all colors related options will be available only in the advanced panel. The color/grayscale option will still be available when printing to a file. Change-Id: I1592e779009bd80b6dfc18dde760db4154e46439 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* CUPS: Don't show choices that conflict with the printer installed optionsAlbert Astals Cid2018-01-121-16/+30
| | | | | | | | | | Some options only make sense if the printer has installed some extensions, e.g. we should not shown "Staple" options if the Stapler addon is not installed, so with this change we use ppdInstallableConflict to know whether an option should be shown to the user or not. Change-Id: I5733e1ac8b667c26b292aeafc90a10c155b751a4 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* CUPS: Rework set/clearCupsOption APIAlbert Astals Cid2018-01-121-3/+1
| | | | | | | | | | | | Previously it was a bit awkward to use, you had to do QStringList cupsOptions = QCUPSSupport::cupsOptionsList(printer); QCUPSSupport::setCupsOption(cupsOptions, option, value); QCUPSSupport::setCupsOptions(printer, cupsOptions); now you simply have to do QCUPSSupport::setCupsOption(printer, option, value); Change-Id: Id31583f1ec72644791d82776debbae5583a2be54 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* CUPS: Enable printing arbitrary pages and page rangesAlbert Astals Cid2018-01-121-0/+104
| | | | | | Task-number: QTBUG-1311 Change-Id: I8e09def0e0d8c1404d3ee86845d98a30c23b6485 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* cups: Don't show InstallableOptions in the advanced propertiesAlbert Astals Cid2018-01-121-8/+17
| | | | | | | | | | According to CUPS maintainer it is recommended to not show them[1]. GTK and Libreoffice behave like that. [1] https://lists.cups.org/pipermail/cups/2015-September/027124.html Change-Id: I82614003490554d41e38a125d44e3a599c2e7342 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Unix: Fix usability of the print properties dialogAlbert Astals Cid2018-01-121-41/+66
| | | | | | | | | | | | | | Previous behavior: * Open, change setting, cancel, open again, setting was as originally (i.e. unchanged) * Open, change setting, accept, open, change setting, cancel, open again, the setting would be as before pressing cancel * Open, change setting, accept, open, press cancel without changing anything, print, the initially changed setting is not applied New behavior: * Pressing cancel just cancels the changes since you opened the dialog, everything you accepted previously stays correctly selected Change-Id: I483647504682f26d3d21c5229cc6530bf14fe519 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* QUnixPrintWidgetPrivate::_q_printerChanged: Update state correctlyAlbert Astals Cid2018-01-091-0/+6
| | | | | | | | | We need to update the printer output format and the current print device when changing the printer so that if the user opens the properties dialog for that printer it reflects correctly the selected printer. Change-Id: Ib6767a74b74b8eebe43ff17006b6105c483a08b6 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Validate printer duplex modeRenato Araujo Oliveira Filho2018-01-091-1/+7
| | | | | | | | Disable unavailable duplex options Remove redundant option on advanced tab Change-Id: Ie09c9ffd637b521210e3d7d4f15300792f910996 Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* Fix build due to missing QDebug includeSérgio Martins2018-01-091-0/+1
| | | | | | | The build just passes on Qt CI by chance. Change-Id: I3bfef12b48df22fa64d92af9cd345bfc984c9923 Reviewed-by: David Faure <david.faure@kdab.com>
* CUPS: Fix conflict handlingAlbert Astals Cid2018-01-051-4/+97
| | | | | | | | | | | The previous code assumed that ppdMarkOption returning non zero (i.e. it has conflicts) also meant that the option wasn't applied at the ppd level, but it actually is. What we need to do is after calling ppdMarkOption parse the tree again looking to see if any option is conflicting and mark it as such in the UI. Change-Id: I836f1902d14dc8c176bb06776471cbf4ed11786f Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* CUPS: Fix advanced options cancel of the print properties dialogAlbert Astals Cid2018-01-041-0/+36
| | | | | | | | | | | When the user changes the advanced settings we call setProperty PDPK_PpdOption so if the user cancels we need to set them back to what they were originally Change-Id: Idd0cb413fb1e68dd28cf66f7f66f7e0afb38393e Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Refactor QPPDOptionsModel a bitAlbert Astals Cid2018-01-041-36/+59
| | | | | | | | | | Make the members private and add getters Make some other functions also private Move setCupsOptionsFromItems from QPrintPropertiesDialog to QPPDOptionsModel Change-Id: Ibb555a6e6be53550f30c159c3ad611d55e2a767a Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devLars Knoll2018-01-021-8/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf sc/corelib/io/qfsfileengine_p.h src/corelib/io/qstorageinfo_unix.cpp src/platformsupport/eglconvenience/qeglpbuffer_p.h src/platformsupport/input/libinput/qlibinputkeyboard.cpp src/platformsupport/input/libinput/qlibinputpointer.cpp src/plugins/platforms/cocoa/qcocoamenu.mm src/plugins/platforms/ios/qiosscreen.h src/plugins/platforms/ios/qioswindow.h src/plugins/platforms/ios/quiview.mm src/printsupport/dialogs/qpagesetupdialog_unix_p.h src/printsupport/dialogs/qprintpreviewdialog.cpp src/printsupport/widgets/qcupsjobwidget_p.h src/widgets/widgets/qmenu.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp Change-Id: Iecb4883122efe97ef0ed850271e6c51bab568e9c
| * Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-12-051-1/+3
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/ios/quiview.mm Change-Id: I88384c70047391c75d9ff166c8d9881ff6751dbf
| | * Fix unix QPrintDialog initially selected printerJoni Poikelin2017-11-291-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unix QPrintDialog always set default printer as selected printer even though something was explicitly requested. [ChangeLog][QtPrintSupport][QPrintDialog] Properly pre-select explicitly requested printer on Unix. Task-number: QTBUG-63933 Change-Id: I6289f759d480b4891f4ddd7ff5aad3ae9ab4bc75 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * | PrintSupport: modernize connection signal/slotLaurent Montel2017-11-301-2/+2
| | | | | | | | | | | | | | | Change-Id: I6e482cd9503e96cc43ead21122d3690cdb18151c Reviewed-by: David Faure <david.faure@kdab.com>
| * | Printsupport: not necessary to check pointer before to delete itLaurent Montel2017-11-301-2/+1
| | | | | | | | | | | | | | | Change-Id: Ib2a7823224c45b6e9110016b2f5756e1b2fd8f3c Reviewed-by: David Faure <david.faure@kdab.com>
| * | PrintSupport: convert 0 with nullptr (c++11)Laurent Montel2017-11-301-3/+3
| | | | | | | | | | | | | | | Change-Id: I35a8022c78427c9b4d4a9d9941770d22c36c3be8 Reviewed-by: David Faure <david.faure@kdab.com>
* | | CUPS: Refactor the code a bitAlbert Astals Cid2017-12-271-16/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the selected and selDescription members to a subclass of QOptionTreeItem since it's only ever used for Option type nodes of the tree Change-Id: Ic99841c4e04a3afcff0950f72abf12977850f6d3 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Renato Araujo Oliveira Filho <renato.araujo@kdab.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | QPageSetupWidget::setPrinter: Use printdevice default paper sizeAlbert Astals Cid2017-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | | This means that actually the paper size set on system settings (or lpoptions) is used instead of A4 Change-Id: I2dd86fd9ba210a335773430328b0ba2d3343395f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | CUPS: Use default cups job-priority instead of 50Albert Astals Cid2017-12-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This also reads the job-priority from lpoptions if set there for the particular printer Change-Id: I75d983c377d2135a0b0d3e028829a7384a5e1897 Reviewed-by: Laurent Montel <laurent.montel@kdab.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | QtPrintSupport: Fix buildFriedemann Kleint2017-12-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dialogs/qprintdialog_unix.cpp:1104:21: error: incomplete type 'QTextCodec' used in nested name specifier Amends b4330bc391bbb08898f192ea3469b73aed09134c. Task-number: QTBUG-54464 Change-Id: I555431d11a5c3f247d4f055d94255d2708c92374 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: David Faure <david.faure@kdab.com>
* | | Reintroduce the Advanced tab in the QPrintPropertiesDialogAlbert Astals Cid2017-12-151-6/+395
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is mostly a revert of 69de6177615de3c4c31dea529172389e92f490b0 adapted to the new code. The commit that removed this code said: a) there's duplicate settings in the advanced tabs and in the rest of the ui: this easily solved with a blacklist b) you can set these options in the system settings: probably true, but it is very cumbersome to go to the printer settings every time i print to select from which tray the paper should be used Task Number: QTBUG-54464 Change-Id: I7b1cacf51006dadb10aa6e00fe6dd2ff748fe576 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | Remove QPageSetupWidget::selectPrinterAlbert Astals Cid2017-12-061-2/+1
| | | | | | | | | | | | | | | | | | | | | t's only ever called after setPrinter so merge the code Change-Id: I4b5d593edbe62b64354e81c19112fa87b0555fdc Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Remove QPrintPropertiesDialog::selectPrinterAlbert Astals Cid2017-12-061-15/+15
| | | | | | | | | | | | | | | | | | | | | It is only ever called after the constructor, so merge the code Change-Id: I5c75a2cd367af401b41920f51754a64dc6c6eb40 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Remove QCupsJobWidget::setPrinterAlbert Astals Cid2017-12-061-2/+1
| | | | | | | | | | | | | | | | | | | | | It is only ever called after the constructor so merge the code Change-Id: I381165ad90c85342e5db3c16327d729388b71fb2 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Remove QPrintPropertiesDialog::applyPrinterPropertiesAlbert Astals Cid2017-12-061-15/+6
| | | | | | | | | | | | | | | | | | | | | It's only ever called after the constructor so merge its code to the constructor Change-Id: Icca88764f725b9aeaa08ee7387da8885be247fba Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Remove QUnixPrintWidgetPrivate::applyPrinterPropertiesAlbert Astals Cid2017-12-061-45/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | And move it's code to the only place it is called, the QUnixPrintWidget constructor, that means we can remove the if that checks if propertiesDialog is not null since at that stage we know it is null Change-Id: I81cdaa0505fa6fe64a45c7d1f5c3e277400cbbf7 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Remove QPrintDialogPrivate::applyPrinterProperties, no one calls itAlbert Astals Cid2017-12-061-8/+0
| | | | | | | | | | | | | | | Change-Id: Ic140f62e5cb63c6a4b7f4fa10ca243d8bb055c4e Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-10-171-8/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/network/fortuneclient/client.cpp examples/network/fortuneserver/server.cpp src/platformsupport/platformcompositor/qopenglcompositorbackingstore_p.h src/plugins/platforms/cocoa/qcocoabackingstore.h src/plugins/platforms/cocoa/qcocoaintegration.h src/plugins/platforms/cocoa/qcocoascreen.h src/plugins/platforms/ios/qiosbackingstore.h src/plugins/sqldrivers/oci/qsql_oci.cpp src/widgets/kernel/qwidgetwindow.cpp Change-Id: Ia6dd2c52d4a691b671cf9a2ffca70deccece8f10
| * | Printsupport: Not necessary to call setLayout when we added the parentLaurent Montel2017-10-121-1/+0
| | | | | | | | | | | | | | | Change-Id: I3504afbc7bb1aaa8c2619532fa4e05740dd6f3c4 Reviewed-by: David Faure <david.faure@kdab.com>
| * | PrintSupport: Layout constructor already uses "this"Laurent Montel2017-10-091-1/+0
| | | | | | | | | | | | | | | | | | | | | Not necessary to call setLayout here. Change-Id: I761215b46ab4f778786e92338906b5ec7515c53d Reviewed-by: David Faure <david.faure@kdab.com>
| * | PrintSupport: replace 0 with nullptrLaurent Montel2017-10-091-6/+6
| |/ | | | | | | | | Change-Id: Ic5e0000e384989239965f269474d17fa29669db1 Reviewed-by: David Faure <david.faure@kdab.com>
* | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-09-261-1/+3
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qguiapplication.cpp src/platformsupport/input/libinput/qlibinputpointer.cpp src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h src/plugins/platforms/cocoa/qcocoawindow.h src/testlib/qtestsystem.h Change-Id: I5975ffb3261c2dd82fe02ec4e57df7c0950226c5
| * Convert features.completer to QT_[REQUIRE_]CONFIGStephan Binner2017-09-041-1/+3
| | | | | | | | | | Change-Id: If45a46c08b37d245229a39f3d6ffbb34154934f2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Replace Q_DECL_OVERRIDE with override where possibleKevin Funk2017-09-191-1/+1
|/ | | | | | | | | | | | | | | | Remaining uses of Q_DECL_OVERRIDE are in: src/corelib/global/qcompilerdetection.h src/corelib/global/qglobal.cpp doc/global/qt-cpp-defines.qdocconf (definition and documentation of Q_DECL_OVERRIDE) tests/manual/qcursor/qcursorhighdpi/main.cpp (a test executable compilable both under Qt4 and Qt5) Change-Id: Ib9b05d829add69e98a86238274b6a1fcb19b49ba Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Convert features.filesystemmodel to QT_[REQUIRE_]CONFIGStephan Binner2017-07-021-1/+3
| | | | | Change-Id: I862510387e79d04221ec075f3e79896908ee9d8f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Convert features.fscompleter to QT_[REQUIRE_]CONFIGStephan Binner2017-07-021-1/+1
| | | | | | | Fix one #include as only QCompleter is used and not QFSCompleter. Change-Id: Ia1e722122f7e322c678d2db6962c6086c684ddd9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>