From 5d9e6f82037c37c560827bfd9d71bc9467fa7ccc Mon Sep 17 00:00:00 2001 From: Marcus Eggenberger Date: Thu, 31 Jan 2008 21:56:16 +0000 Subject: [PATCH] some minor improvements to the NetworkModel and added a sanity check to TreeModel --- src/client/networkmodel.cpp | 7 +++++-- src/client/networkmodel.h | 1 + src/client/treemodel.cpp | 3 +++ version.inc | 4 ++-- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/client/networkmodel.cpp b/src/client/networkmodel.cpp index 7cfc5f61..7890099b 100644 --- a/src/client/networkmodel.cpp +++ b/src/client/networkmodel.cpp @@ -227,14 +227,13 @@ void BufferItem::removeUserFromCategory(IrcUser *ircUser) { UserCategoryItem *categoryItem = 0; for(int i = 0; i < childCount(); i++) { categoryItem = qobject_cast(child(i)); - if(success = categoryItem->removeChildById((quint64)ircUser)) { + if(success = categoryItem->removeUser(ircUser)) { if(categoryItem->childCount() == 0) removeChild(i); break; } } - if(!success) { qDebug() << "didn't find User:" << ircUser << (quint64)ircUser; qDebug() << "==== Childlist for Item:" << this << id() << bufferName() << "===="; @@ -405,6 +404,10 @@ void UserCategoryItem::addUser(IrcUser *ircUser) { newChild(new IrcUserItem(ircUser, this)); } +bool UserCategoryItem::removeUser(IrcUser *ircUser) { + return removeChildById((quint64)ircUser); +} + int UserCategoryItem::categoryFromModes(const QString &modes) { for(int i = 0; i < categories.count(); i++) { if(modes.contains(categories[i].mode)) diff --git a/src/client/networkmodel.h b/src/client/networkmodel.h index bc4a17bc..7bd7219c 100644 --- a/src/client/networkmodel.h +++ b/src/client/networkmodel.h @@ -156,6 +156,7 @@ public: virtual QVariant data(int column, int role) const; void addUser(IrcUser *ircUser); + bool removeUser(IrcUser *ircUser); static int categoryFromModes(const QString &modes); diff --git a/src/client/treemodel.cpp b/src/client/treemodel.cpp index 6d6ea841..80e7630b 100644 --- a/src/client/treemodel.cpp +++ b/src/client/treemodel.cpp @@ -57,6 +57,9 @@ bool AbstractTreeItem::newChild(int column, AbstractTreeItem *item) { _childItems[column] = QList(); } + // check if a child with that ID is already known + Q_ASSERT(childById(item->id()) == 0); + int newRow = _childItems[column].count(); emit beginAppendChilds(column, newRow, newRow); _childItems[column].append(item); diff --git a/version.inc b/version.inc index 1d16430d..5654c87d 100644 --- a/version.inc +++ b/version.inc @@ -4,8 +4,8 @@ { using namespace Global; quasselVersion = "0.2.0-pre"; - quasselDate = "2008-01-30"; - quasselBuild = 419; + quasselDate = "2008-01-31"; + quasselBuild = 420; //! Minimum client build number the core needs clientBuildNeeded = 358; -- 2.20.1