summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2010-03-29 18:54:23 (GMT)
committerKevin Smith <git@kismith.co.uk>2010-03-29 18:54:23 (GMT)
commitd2b07202f6b71b0601d032dbf93778d0a656e808 (patch)
tree975f94343b6ece69406d30cafee449093ecfc768 /Swift/QtUI/ChatList
parentcf664dd8baa1accc355ec4a727899a9f68f68ed5 (diff)
downloadswift-contrib-d2b07202f6b71b0601d032dbf93778d0a656e808.zip
swift-contrib-d2b07202f6b71b0601d032dbf93778d0a656e808.tar.bz2
Populate the chats list with muc bookmarks
Diffstat (limited to 'Swift/QtUI/ChatList')
-rw-r--r--Swift/QtUI/ChatList/ChatListGroupItem.h2
-rw-r--r--Swift/QtUI/ChatList/ChatListMUCItem.h6
-rw-r--r--Swift/QtUI/ChatList/ChatListModel.cpp16
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;
}
}