File indexing completed on 2024-04-28 15:39:51

0001 /* SPDX-FileCopyrightText: 2003-2010 Jesper K. Pedersen <blackie@kde.org>
0002 
0003    SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 #ifndef CATEGORYLISTVIEW_DRAGITEMINFO_H
0006 #define CATEGORYLISTVIEW_DRAGITEMINFO_H
0007 
0008 #include <qhash.h>
0009 #include <qpair.h>
0010 #include <qstring.h>
0011 
0012 namespace CategoryListView
0013 {
0014 
0015 class DragItemInfo
0016 {
0017 public:
0018     DragItemInfo();
0019     DragItemInfo(const QString &parent, const QString &child);
0020     QString parent() const;
0021     QString child() const;
0022     void setParent(const QString &str);
0023     void setChild(const QString &str);
0024     bool operator<(const DragItemInfo &other) const;
0025 
0026 private:
0027     QString m_parent;
0028     QString m_child;
0029 };
0030 
0031 inline bool operator==(const DragItemInfo &v1, const DragItemInfo &v2)
0032 {
0033     return (v1.parent() == v2.parent()) && (v1.child() == v2.child());
0034 }
0035 
0036 inline uint qHash(const DragItemInfo &key)
0037 {
0038     return qHash(QPair<QString, QString>(key.parent(), key.child()));
0039 }
0040 
0041 QDataStream &operator<<(QDataStream &stream, const DragItemInfo &);
0042 QDataStream &operator>>(QDataStream &stream, DragItemInfo &);
0043 
0044 typedef QSet<DragItemInfo> DragItemInfoSet;
0045 }
0046 
0047 #endif /* CATEGORYLISTVIEW_DRAGITEMINFO_H */
0048 
0049 // vi:expandtab:tabstop=4 shiftwidth=4: