File indexing completed on 2023-11-26 09:09:29
0001 /* 0002 SPDX-FileCopyrightText: 2010-2018 Daniel Nicoletti <dantti12@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef PRINT_QUEUE_UI_H 0008 #define PRINT_QUEUE_UI_H 0009 0010 #include <QDialog> 0011 #include <QModelIndex> 0012 #include <QToolButton> 0013 0014 namespace Ui { 0015 class PrintQueueUi; 0016 } 0017 0018 class KCupsRequest; 0019 class KCupsPrinter; 0020 class JobSortFilterModel; 0021 class JobModel; 0022 class PrintQueueUi : public QDialog 0023 { 0024 Q_OBJECT 0025 public: 0026 explicit PrintQueueUi(const KCupsPrinter &printer, QWidget *parent = nullptr); 0027 ~PrintQueueUi() override; 0028 0029 signals: 0030 void finished(); 0031 0032 public slots: 0033 void update(); 0034 0035 private slots: 0036 void updatePrinterByName(const QString &printer); 0037 void updatePrinter(const QString &text, 0038 const QString &printerUri, 0039 const QString &printerName, 0040 uint printerState, 0041 const QString &printerStateReasons, 0042 bool printerIsAcceptingJobs); 0043 void whichJobsIndexChanged(int index); 0044 void pausePrinter(); 0045 void configurePrinter(); 0046 0047 void cancelJob(); 0048 void holdJob(); 0049 void resumeJob(); 0050 void reprintJob(); 0051 void authenticateJob(); 0052 0053 int columnCount(const QModelIndex &parent = QModelIndex()) const; 0054 void updateButtons(); 0055 void showContextMenu(const QPoint &point); 0056 void showHeaderContextMenu(const QPoint &point); 0057 void getAttributesFinished(KCupsRequest *request); 0058 0059 private: 0060 void closeEvent(QCloseEvent *event) override; 0061 void setupButtons(); 0062 void setState(int state, const QString &message); 0063 void modifyJob(int action, const QString &destName = QString()); 0064 0065 Ui::PrintQueueUi *ui; 0066 QToolButton *m_filterJobs; 0067 JobSortFilterModel *m_proxyModel; 0068 JobModel *m_model; 0069 QString m_destName; 0070 QString m_title; 0071 QPixmap m_printerIcon; 0072 char m_lastState = 0; 0073 bool m_isClass; 0074 bool m_preparingMenu = false; 0075 bool m_printerPaused = false; 0076 }; 0077 0078 #endif