libkdepim
kdepimwidgets.cpp00001
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
|