kmjobviewer.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KMJOBVIEWER_H
00021 #define KMJOBVIEWER_H
00022
00023 #if !defined( _KDEPRINT_COMPILE ) && defined( __GNUC__ )
00024 #warning internal header, do not use except if you are a KDEPrint developer
00025 #endif
00026
00027 #include <kmainwindow.h>
00028 #include "kmprinterpage.h"
00029 #include "kpreloadobject.h"
00030
00031 class KMJobManager;
00032 class KMJob;
00033 class KListView;
00034 class JobItem;
00035 class QPopupMenu;
00036 class QListViewItem;
00037 class KMPrinter;
00038 class QTimer;
00039 class QLineEdit;
00040 class QCheckBox;
00041
00049 class KDEPRINT_EXPORT KMJobViewer : public KMainWindow, public KMPrinterPage, public KPReloadObject
00050 {
00051 Q_OBJECT
00052 public:
00053 KMJobViewer(QWidget *parent = 0, const char *name = 0);
00054 ~KMJobViewer();
00055
00056 void setPrinter(const QString& prname);
00057 void setPrinter(KMPrinter *p);
00058 void refresh(bool reload = false);
00059 QString printer() const;
00060 bool isSticky() const;
00061
00062 signals:
00063 void jobsShown(KMJobViewer*, bool hasJobs);
00064 void refreshClicked();
00065 void printerChanged(KMJobViewer*, const QString& prname);
00066 void viewerDestroyed(KMJobViewer*);
00067
00068 public slots:
00069 void pluginActionActivated(int);
00070
00071 protected slots:
00072 void slotSelectionChanged();
00073 void slotHold();
00074 void slotResume();
00075 void slotRemove();
00076 void slotRestart();
00077 void slotRightClicked(QListViewItem*,const QPoint&,int);
00078 void slotMove(int prID);
00079 void slotPrinterSelected(int);
00080 void slotShowCompleted(bool);
00081 void slotRefresh();
00082 void slotClose();
00083 void slotShowMoveMenu();
00084 void slotShowPrinterMenu();
00085 void slotUserOnly(bool);
00086 void slotUserChanged();
00087 void slotConfigure();
00088 void slotDropped( QDropEvent*, QListViewItem* );
00089
00090 protected:
00091 void init();
00092 void updateJobs();
00093 void initActions();
00094 JobItem* findItem(const QString& uri);
00095 void jobSelection(QPtrList<KMJob>& l);
00096 void send(int cmd, const QString& name, const QString& arg = QString::null);
00097 void loadPrinters();
00098 void loadPluginActions();
00099 void removePluginActions();
00100 void reload();
00101
00102 void closeEvent(QCloseEvent*);
00103 void triggerRefresh();
00104 void addToManager();
00105 void removeFromManager();
00106 void buildPrinterMenu(QPopupMenu *menu, bool use_all = false, bool use_specials = false);
00107 void updateCaption();
00108 void updateStatusBar();
00109
00110 private:
00111 KListView *m_view;
00112 QPtrList<KMJob> m_jobs;
00113 QPtrList<JobItem> m_items;
00114 QPopupMenu *m_pop;
00115 QPtrList<KMPrinter> m_printers;
00116 QString m_prname;
00117 int m_type;
00118 QString m_username;
00119 QLineEdit *m_userfield;
00120 QCheckBox *m_stickybox;
00121 bool m_standalone;
00122 };
00123
00124 inline QString KMJobViewer::printer() const
00125 { return m_prname; }
00126
00127 #endif
|