summaryrefslogtreecommitdiffabout
path: root/korganizer/customlistviewitem.h
Side-by-side diff
Diffstat (limited to 'korganizer/customlistviewitem.h') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/customlistviewitem.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/korganizer/customlistviewitem.h b/korganizer/customlistviewitem.h
new file mode 100644
index 0000000..94e5bce
--- a/dev/null
+++ b/korganizer/customlistviewitem.h
@@ -0,0 +1,38 @@
+#ifndef CUSTOMLISTVIEWITEM_H
+#define CUSTOMLISTVIEWITEM_H
+
+#include <qmap.h>
+#include <qstring.h>
+#include <klistview.h>
+
+template<class T>
+class CustomListViewItem : public KListViewItem
+{
+ public:
+ CustomListViewItem( T data, KListView *parent ) :
+ KListViewItem( parent ), mData( data ) { updateItem(); };
+ ~CustomListViewItem() {};
+
+ void updateItem() {};
+
+ T data() const { return mData; }
+
+ QString key(int column, bool) const
+ {
+ QMap<int,QString>::ConstIterator it = mKeyMap.find(column);
+ if (it == mKeyMap.end()) return text(column);
+ else return *it;
+ }
+
+ void setSortKey(int column,const QString &key)
+ {
+ mKeyMap.insert(column,key);
+ }
+
+ private:
+ T mData;
+
+ QMap<int,QString> mKeyMap;
+};
+
+#endif