X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Ftreemodel.h;h=e585c0b0ea1ae1b3d2c3bd7685a38b4ab79f2796;hp=cc602de77e3b26380e3ca178c3885292bb52ee6e;hb=46d75f41de7c1aaee605c096da28d4b0d8abf138;hpb=197cf9c0d5e227dd475124515f6e6005cf87ac8e diff --git a/src/client/treemodel.h b/src/client/treemodel.h index cc602de7..e585c0b0 100644 --- a/src/client/treemodel.h +++ b/src/client/treemodel.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -39,7 +39,7 @@ public: NoTreeItemFlag = 0x00, DeleteOnLastChildRemoved = 0x01 }; - Q_DECLARE_FLAGS(TreeItemFlags, TreeItemFlag); + Q_DECLARE_FLAGS(TreeItemFlags, TreeItemFlag) AbstractTreeItem(AbstractTreeItem *parent = 0); @@ -79,13 +79,17 @@ signals: void beginRemoveChilds(int firstRow, int lastRow); void endRemoveChilds(); - + +protected: + void customEvent(QEvent *event); + private: QList _childItems; Qt::ItemFlags _flags; TreeItemFlags _treeItemFlags; - inline void checkForDeletion() { if(treeItemFlags() & DeleteOnLastChildRemoved && childCount() == 0) parent()->removeChild(this); } + void removeChildLater(AbstractTreeItem *child); + inline void checkForDeletion() { if(treeItemFlags() & DeleteOnLastChildRemoved && childCount() == 0) parent()->removeChildLater(this); } };