File indexing completed on 2025-03-09 05:06:32

0001 /*
0002     SPDX-FileCopyrightText: 2010 Daniel Nicoletti <dantti12@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef PRINTER_BEHAVIOR_H
0008 #define PRINTER_BEHAVIOR_H
0009 
0010 #include "PrinterPage.h"
0011 #include <QWidget>
0012 
0013 namespace Ui
0014 {
0015 class PrinterBehavior;
0016 }
0017 
0018 class QWidget;
0019 
0020 class PrinterBehavior : public PrinterPage
0021 {
0022     Q_OBJECT
0023 public:
0024     explicit PrinterBehavior(const QString &destName, bool isClass, QWidget *parent = nullptr);
0025     ~PrinterBehavior() override;
0026 
0027     void setValues(const KCupsPrinter &printer);
0028     void setRemote(bool remote) override;
0029     bool hasChanges() override;
0030 
0031     QStringList neededValues() const override;
0032     void save() override;
0033 
0034 private slots:
0035     void currentIndexChangedCB(int index);
0036     void userListChanged();
0037 
0038 private:
0039     QString errorPolicyString(const QString &policy) const;
0040     QString operationPolicyString(const QString &policy) const;
0041     QString jobSheetsString(const QString &policy) const;
0042 
0043     Ui::PrinterBehavior *const ui;
0044     QString m_destName;
0045     bool m_isClass;
0046     QVariantMap m_changedValues;
0047     int m_changes = 0;
0048 };
0049 
0050 #endif