kmlprmanager.h
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef KMLRMANAGER_H
00021 #define KMLRMANAGER_H
00022 
00023 #include "kmmanager.h"
00024 
00025 #include <qdict.h>
00026 #include <qptrlist.h>
00027 #include <qdatetime.h>
00028 #include <kurl.h>
00029 
00030 class LprHandler;
00031 class PrintcapEntry;
00032 class LpcHelper;
00033 class KPrinter;
00034 
00035 class KMLprManager : public KMManager
00036 {
00037     Q_OBJECT
00038 public:
00039     KMLprManager(QObject *parent, const char *name, const QStringList & );
00040 
00041     bool completePrinter(KMPrinter*);
00042     bool completePrinterShort(KMPrinter*);
00043     bool enablePrinter(KMPrinter*, bool);
00044     bool startPrinter(KMPrinter*, bool);
00045     bool savePrinterDriver(KMPrinter*, DrMain*);
00046     DrMain* loadPrinterDriver(KMPrinter*, bool = false);
00047     DrMain* loadFileDriver(const QString&);
00048     bool createPrinter(KMPrinter*);
00049     bool removePrinter(KMPrinter*);
00050 
00051     QString driverDbCreationProgram();
00052     QString driverDirectory();
00053 
00054     LpcHelper* lpcHelper()  { return m_lpchelper; }
00055     QString printOptions(KPrinter*);
00056 
00057     void createPluginActions(KActionCollection*);
00058     void validatePluginActions(KActionCollection*, KMPrinter*);
00059     QString stateInformation();
00060 
00061 protected slots:
00062     void slotEditPrintcap();
00063 
00064 protected:
00065     void listPrinters();
00066     void initHandlers();
00067     void insertHandler(LprHandler*);
00068     PrintcapEntry* findEntry(KMPrinter*);
00069     LprHandler* findHandler(KMPrinter*);
00070     void checkPrinterState(KMPrinter*);
00071     bool savePrintcapFile();
00072 
00073 private:
00074     QDict<LprHandler>   m_handlers;
00075     QPtrList<LprHandler>    m_handlerlist;
00076     QDict<PrintcapEntry>    m_entries;
00077     QDateTime       m_updtime;
00078     LpcHelper       *m_lpchelper;
00079     KMPrinter       *m_currentprinter;
00080 };
00081 
00082 #endif
 
This file is part of the documentation for kdeprint Library Version 3.2.0.