libkdepim

kdepimwidgets.cpp

00001 
00006 #include <qwidgetplugin.h>
00007 
00008 #include <kinstance.h>
00009 #include <libkdepim/kdateedit.h>
00010 #include <libkdepim/addresseelineedit.h>
00011 #include <libkdepim/clicklineedit.h>
00012 #include <libkdepim/ktimeedit.h>
00013 #ifndef EMBED_IMAGES
00014 #include <kstandarddirs.h>
00015 #endif
00016 
00017 class KDEPimWidgets : public QWidgetPlugin
00018 {
00019 public:
00020     KDEPimWidgets();
00021     
00022     virtual ~KDEPimWidgets();
00023     
00024     virtual QStringList keys() const
00025     {
00026         QStringList result;
00027         for (WidgetInfos::ConstIterator it = m_widgets.begin(); it != m_widgets.end(); ++it)
00028             result << it.key();
00029         return result;
00030     }
00031     
00032     virtual QWidget *create(const QString &key, QWidget *parent = 0, const char *name = 0);
00033     
00034     virtual QIconSet iconSet(const QString &key) const
00035     {
00036 #ifdef EMBED_IMAGES
00037         QPixmap pix(m_widgets[key].iconSet);
00038 #else
00039         QPixmap pix(locate( "data", 
00040             QString::fromLatin1("kdepimwidgets/pics/") + m_widgets[key].iconSet));
00041 #endif
00042         return QIconSet(pix);
00043     }
00044     
00045     virtual bool isContainer(const QString &key) const { return m_widgets[key].isContainer; }
00046     
00047     virtual QString group(const QString &key) const { return m_widgets[key].group; }
00048     
00049     virtual QString includeFile(const QString &key) const { return m_widgets[key].includeFile; }
00050     
00051     virtual QString toolTip(const QString &key) const { return m_widgets[key].toolTip; }
00052     
00053     virtual QString whatsThis(const QString &key) const { return m_widgets[key].whatsThis; }
00054 private:
00055     struct WidgetInfo
00056     {
00057         QString group;
00058 #ifdef EMBED_IMAGES
00059         QPixmap iconSet;
00060 #else
00061         QString iconSet;
00062 #endif
00063         QString includeFile;
00064         QString toolTip;
00065         QString whatsThis;
00066         bool isContainer;
00067     };
00068     typedef QMap<QString, WidgetInfo> WidgetInfos;
00069     WidgetInfos m_widgets;
00070 };
00071 KDEPimWidgets::KDEPimWidgets()
00072 {
00073         WidgetInfo widget;
00074 
00075     widget.group = QString::fromLatin1("Input (KDE-PIM)");
00076 #ifdef EMBED_IMAGES
00077     widget.iconSet = QPixmap(kdateedit_xpm);
00078 #else
00079     widget.iconSet = QString::fromLatin1("kdateedit.png");
00080 #endif
00081     widget.includeFile = QString::fromLatin1("libkdepim/kdateedit.h");
00082     widget.toolTip = QString::fromLatin1("Date Edit Combobox (KDE-PIM)");
00083     widget.whatsThis = QString::fromLatin1("A widget to enter a date. It can also be selected from a date picker calendar.");
00084     widget.isContainer = false;
00085     m_widgets.insert(QString::fromLatin1("KDateEdit"), widget);
00086 
00087     widget.group = QString::fromLatin1("Input (KDE-PIM)");
00088 #ifdef EMBED_IMAGES
00089     widget.iconSet = QPixmap(kpim__addresseelineedit_xpm);
00090 #else
00091     widget.iconSet = QString::fromLatin1("kpim__addresseelineedit.png");
00092 #endif
00093     widget.includeFile = QString::fromLatin1("libkdepim/addresseelineedit.h");
00094     widget.toolTip = QString::fromLatin1("Addressee Line Edit (KDE-PIM)");
00095     widget.whatsThis = QString::fromLatin1("A line edit which lets you select addressees from the addressbook");
00096     widget.isContainer = false;
00097     m_widgets.insert(QString::fromLatin1("KPIM::AddresseeLineEdit"), widget);
00098 
00099     widget.group = QString::fromLatin1("Input (KDE-PIM)");
00100 #ifdef EMBED_IMAGES
00101     widget.iconSet = QPixmap(kpim__clicklineedit_xpm);
00102 #else
00103     widget.iconSet = QString::fromLatin1("kpim__clicklineedit.png");
00104 #endif
00105     widget.includeFile = QString::fromLatin1("libkdepim/clicklineedit.h");
00106     widget.toolTip = QString::fromLatin1("Click Line Edit (KDE-PIM)");
00107     widget.whatsThis = QString::fromLatin1("A line edit that shows grayed-out default text when no text is set.");
00108     widget.isContainer = false;
00109     m_widgets.insert(QString::fromLatin1("KPIM::ClickLineEdit"), widget);
00110 
00111     widget.group = QString::fromLatin1("Input (KDE-PIM)");
00112 #ifdef EMBED_IMAGES
00113     widget.iconSet = QPixmap(ktimeedit_xpm);
00114 #else
00115     widget.iconSet = QString::fromLatin1("ktimeedit.png");
00116 #endif
00117     widget.includeFile = QString::fromLatin1("libkdepim/ktimeedit.h");
00118     widget.toolTip = QString::fromLatin1("Time Edit Combobox (KDE-PIM)");
00119     widget.whatsThis = QString::fromLatin1("A widget to enter a time. It can also be selected from a drop-down list.");
00120     widget.isContainer = false;
00121     m_widgets.insert(QString::fromLatin1("KTimeEdit"), widget);
00122 
00123     new KInstance("kdepimwidgets");
00124 }
00125 KDEPimWidgets::~KDEPimWidgets()
00126 {
00127     
00128 }
00129 QWidget *KDEPimWidgets::create(const QString &key, QWidget *parent, const char *name)
00130 {
00131 
00132          if (key == QString::fromLatin1("KDateEdit"))
00133                 return new KDateEdit(parent, name);
00134 
00135          if (key == QString::fromLatin1("KPIM::AddresseeLineEdit"))
00136                 return new KPIM::AddresseeLineEdit(parent, name);
00137 
00138          if (key == QString::fromLatin1("KPIM::ClickLineEdit"))
00139                 return new KPIM::ClickLineEdit(parent, name);
00140 
00141          if (key == QString::fromLatin1("KTimeEdit"))
00142                 return new KTimeEdit(parent, QTime::currentTime(), name);
00143 
00144     return 0;
00145 }
00146 KDE_Q_EXPORT_PLUGIN(KDEPimWidgets)
00147 
KDE Home | KDE Accessibility Home | Description of Access Keys