Warning, file /utilities/print-manager/add-printer/PageChoosePrinters.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002     SPDX-FileCopyrightText: 2010-2018 Daniel Nicoletti <dantti12@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "PageChoosePrinters.h"
0008 #include "ui_PageChoosePrinters.h"
0009 
0010 #include <ClassListWidget.h>
0011 
0012 #include <KCupsRequest.h>
0013 #include <KLocalizedString>
0014 
0015 #include <QPainter>
0016 
0017 PageChoosePrinters::PageChoosePrinters(const QVariantHash &args, QWidget *parent) :
0018     GenericPage(parent),
0019     ui(new Ui::PageChoosePrinters)
0020 {
0021     ui->setupUi(this);
0022 
0023     // setup default options
0024     setWindowTitle(i18nc("@title:window", "Select a Printer to Add"));
0025     // loads the standard key icon
0026 
0027     const int printerSize = 128;
0028     const int overlaySize = 48;
0029 
0030     QPixmap printerIcon = QIcon::fromTheme(QStringLiteral("printer")).pixmap(printerSize);
0031     const QPixmap preferencesIcon = QIcon::fromTheme(QStringLiteral("preferences-other")).pixmap(overlaySize);
0032 
0033     QPainter painter(&printerIcon);
0034 
0035     // bottom right corner
0036     const QPoint startPoint = QPoint(printerSize - overlaySize - 2,
0037                                      printerSize - overlaySize - 2);
0038     painter.drawPixmap(startPoint, preferencesIcon);
0039     ui->printerL->setPixmap(printerIcon);
0040 
0041     connect(ui->membersLV, &ClassListWidget::changed, this, &PageChoosePrinters::allowProceed);
0042 
0043     if (!args.isEmpty()) {
0044         setValues(args);
0045     }
0046 }
0047 
0048 PageChoosePrinters::~PageChoosePrinters()
0049 {
0050     delete ui;
0051 }
0052 
0053 void PageChoosePrinters::setValues(const QVariantHash &args)
0054 {
0055     if (m_args != args) {
0056         m_args = args;
0057     }
0058 }
0059 
0060 QVariantHash PageChoosePrinters::values() const
0061 {
0062     QVariantHash ret = m_args;
0063     ret[KCUPS_MEMBER_URIS] = ui->membersLV->currentSelected(true);
0064     return ret;
0065 }
0066 
0067 bool PageChoosePrinters::canProceed() const
0068 {
0069     return ui->membersLV->selectedPrinters().count() > 0;
0070 }
0071 
0072 #include "moc_PageChoosePrinters.cpp"