akregator/src
dragobjects.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef AKREGATOR_DRAGOBJECTS_H
00026 #define AKREGATOR_DRAGOBJECTS_H
00027
00028 #include "article.h"
00029
00030 #include <kurl.h>
00031 #include <kurldrag.h>
00032
00033 #include <qstring.h>
00034 #include <qvaluelist.h>
00035
00036 typedef class QMemArray<char> QByteArray;
00037
00038 namespace Akregator {
00039
00040 class Article;
00041
00042 struct ArticleDragItem
00043 {
00044 QString feedURL;
00045 QString guid;
00046 };
00047
00048 class ArticleDrag : public KURLDrag
00049 {
00050
00051 public:
00052
00053 ArticleDrag(const QValueList<Article>& articles, QWidget* dragSource=0, const char* name=0);
00054
00055 static bool canDecode(const QMimeSource* e);
00056 static bool decode(const QMimeSource* e, QValueList<ArticleDragItem>& articles);
00057
00058 protected:
00059
00060 virtual QByteArray encodedData(const char* mime) const;
00061 virtual const char* format(int i) const;
00062
00063 private:
00064
00065 static QValueList<ArticleDragItem> articlesToDragItems(const QValueList<Article>& articles);
00066 static KURL::List articleURLs(const QValueList<Article>& articles);
00067 QValueList<ArticleDragItem> m_items;
00068 };
00069
00070 }
00071
00072 #endif // AKREGATOR_DRAGOBJECTS_H
|