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