diff options
Diffstat (limited to 'Swift/QtUI/ChatList')
-rw-r--r-- | Swift/QtUI/ChatList/ChatListGroupItem.h | 2 | ||||
-rw-r--r-- | Swift/QtUI/ChatList/ChatListMUCItem.h | 6 | ||||
-rw-r--r-- | Swift/QtUI/ChatList/ChatListModel.cpp | 16 |
3 files changed, 17 insertions, 7 deletions
diff --git a/Swift/QtUI/ChatList/ChatListGroupItem.h b/Swift/QtUI/ChatList/ChatListGroupItem.h index 82c9616..eb9729b 100644 --- a/Swift/QtUI/ChatList/ChatListGroupItem.h +++ b/Swift/QtUI/ChatList/ChatListGroupItem.h @@ -13,7 +13,7 @@ namespace Swift { int rowCount() {return items_.size();}; ChatListItem* item(int i) {return items_[i];}; int row(ChatListItem* item) {return items_.indexOf(item);}; - QVariant data(int role) {return "Bob";}; + QVariant data(int role) {return (role == Qt::DisplayRole) ? name_ : QVariant();}; private: QString name_; QList<ChatListItem*> items_; diff --git a/Swift/QtUI/ChatList/ChatListMUCItem.h b/Swift/QtUI/ChatList/ChatListMUCItem.h index dd3f185..b973ac2 100644 --- a/Swift/QtUI/ChatList/ChatListMUCItem.h +++ b/Swift/QtUI/ChatList/ChatListMUCItem.h @@ -11,9 +11,9 @@ namespace Swift { class ChatListMUCItem : public ChatListItem { public: - ChatListMUCItem(boost::shared_ptr<MUCBookmark> bookmark, ChatListGroupItem* parent) : ChatListItem(parent), bookmark_(bookmark) {}; - boost::shared_ptr<MUCBookmark> getBookmark() {return bookmark_;}; - QVariant data(int role) { return QVariant(); }; + ChatListMUCItem(boost::shared_ptr<MUCBookmark> bookmark, ChatListGroupItem* parent); + boost::shared_ptr<MUCBookmark> getBookmark(); + QVariant data(int role); private: boost::shared_ptr<MUCBookmark> bookmark_; QList<ChatListItem*> items_; diff --git a/Swift/QtUI/ChatList/ChatListModel.cpp b/Swift/QtUI/ChatList/ChatListModel.cpp index 246d45d..1a1bb80 100644 --- a/Swift/QtUI/ChatList/ChatListModel.cpp +++ b/Swift/QtUI/ChatList/ChatListModel.cpp @@ -7,12 +7,16 @@ namespace Swift { ChatListModel::ChatListModel() { root_ = new ChatListGroupItem("", NULL); mucBookmarks_ = new ChatListGroupItem("MUC Bookmarks", root_); + root_->addItem(mucBookmarks_); } void ChatListModel::addMUCBookmark(boost::shared_ptr<Swift::MUCBookmark> bookmark) { emit layoutAboutToBeChanged(); mucBookmarks_->addItem(new ChatListMUCItem(bookmark, mucBookmarks_)); emit layoutChanged(); + //QModelIndex index = createIndex(mucBookmarks_->rowCount() - 1, 0, mucBookmarks_); + //emit dataChanged(index, index); + //emit dataChanged(parent(index), parent(index)); } void ChatListModel::removeMUCBookmark(boost::shared_ptr<Swift::MUCBookmark> bookmark) { @@ -54,11 +58,17 @@ QModelIndex ChatListModel::parent(const QModelIndex& index) const { } int ChatListModel::rowCount(const QModelIndex& parentIndex) const { - ChatListGroupItem* parent = root_; + ChatListGroupItem* parent = NULL; + printf("Counting\n"); if (parentIndex.isValid()) { - parent = static_cast<ChatListGroupItem*>(parentIndex.internalPointer()); + printf("Valid index\n"); + parent = dynamic_cast<ChatListGroupItem*>(static_cast<ChatListItem*>(parentIndex.internalPointer())); + } else { + parent = root_; } - return parent ? parent->rowCount() : 0; + int count = (parent ? parent->rowCount() : 0); + printf("Count returned as %d, muc count is %d\n", count, mucBookmarks_->rowCount()); + return count; } } |