X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Ftreemodel.h;h=3a1c144e08462b1601f74c658564c5083a1d3424;hp=5ff823ac41bcb3d88ddd8acdd3b6ece0a1e46774;hb=56607f81246f04db3a0e71c9a8757d7f75d6cfcf;hpb=9d4fbba1e7390f7cbc60aed962bf9d36ac111263 diff --git a/src/client/treemodel.h b/src/client/treemodel.h index 5ff823ac..3a1c144e 100644 --- a/src/client/treemodel.h +++ b/src/client/treemodel.h @@ -40,26 +40,18 @@ public: AbstractTreeItem(AbstractTreeItem *parent = 0); virtual ~AbstractTreeItem(); - bool newChild(int column, AbstractTreeItem *child); bool newChild(AbstractTreeItem *child); - - bool removeChild(int column, int row); - bool removeChild(int row); + bool newChilds(const QList &items); - bool removeChildById(int column, const quint64 &id); + bool removeChild(int row); bool removeChildById(const quint64 &id); - void removeAllChilds(); virtual quint64 id() const; - AbstractTreeItem *child(int column, int row) const; AbstractTreeItem *child(int row) const; - - AbstractTreeItem *childById(int column, const quint64 &id) const; AbstractTreeItem *childById(const quint64 &id) const; - int childCount(int column) const; int childCount() const; virtual int columnCount() const = 0; @@ -70,24 +62,23 @@ public: virtual Qt::ItemFlags flags() const; virtual void setFlags(Qt::ItemFlags); - int column() const; int row() const; AbstractTreeItem *parent() const; + void dumpChildList(); + signals: void dataChanged(int column = -1); - void beginAppendChilds(int column, int firstRow, int lastRow); + void beginAppendChilds(int firstRow, int lastRow); void endAppendChilds(); - void beginRemoveChilds(int column, int firstRow, int lastRow); + void beginRemoveChilds(int firstRow, int lastRow); void endRemoveChilds(); private: - QHash > _childItems; + QList _childItems; Qt::ItemFlags _flags; - - int defaultColumn() const; }; @@ -125,6 +116,7 @@ public: virtual QVariant data(int column, int role) const; virtual bool setData(int column, const QVariant &value, int role); + virtual QString toolTip(int column) const { Q_UNUSED(column) return QString(); } virtual int columnCount() const; void appendProperty(const QString &property); @@ -152,7 +144,7 @@ public: QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; QModelIndex indexById(quint64 id, const QModelIndex &parent = QModelIndex()) const; - QModelIndex indexByItem(AbstractTreeItem *item, int column = 0) const; + QModelIndex indexByItem(AbstractTreeItem *item) const; QModelIndex parent(const QModelIndex &index) const; @@ -164,10 +156,10 @@ public: private slots: void itemDataChanged(int column = -1); - void beginAppendChilds(int column, int firstRow, int lastRow); + void beginAppendChilds(int firstRow, int lastRow); void endAppendChilds(); - void beginRemoveChilds(int column, int firstRow, int lastRow); + void beginRemoveChilds(int firstRow, int lastRow); void endRemoveChilds(); protected: @@ -185,8 +177,12 @@ private: }; ChildStatus _childStatus; int _aboutToRemoveOrInsert; - // QLinkedList _childStatus; +private slots: + void debug_rowsAboutToBeInserted(const QModelIndex &parent, int start, int end); + void debug_rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end); + void debug_rowsInserted(const QModelIndex &parent, int start, int end); + void debug_rowsRemoved(const QModelIndex &parent, int start, int end); }; #endif