summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI/Roster/QtTreeWidgetItem.cpp')
-rw-r--r--Swift/QtUI/Roster/QtTreeWidgetItem.cpp22
1 files changed, 15 insertions, 7 deletions
diff --git a/Swift/QtUI/Roster/QtTreeWidgetItem.cpp b/Swift/QtUI/Roster/QtTreeWidgetItem.cpp
index aa1836c..1b77b26 100644
--- a/Swift/QtUI/Roster/QtTreeWidgetItem.cpp
+++ b/Swift/QtUI/Roster/QtTreeWidgetItem.cpp
@@ -8,6 +8,7 @@ namespace Swift {
QtTreeWidgetItem::QtTreeWidgetItem(QtTreeWidgetItem* parentItem) : QObject(), textColor_(0,0,0), backgroundColor_(255,255,255) {
parent_ = parentItem;
shown_ = true;
+ expanded_ = true;
}
void QtTreeWidgetItem::setText(const String& text) {
@@ -38,17 +39,18 @@ void QtTreeWidgetItem::setBackgroundColor(unsigned long color) {
}
void QtTreeWidgetItem::setExpanded(bool b) {
- //treeWidget()->setItemExpanded(this, b);
+ expanded_ = true;
+ emit changed(this);
}
void QtTreeWidgetItem::hide() {
shown_ = false;
- emit changed();
+ emit changed(this);
}
void QtTreeWidgetItem::show() {
shown_ = true;
- emit changed();
+ emit changed(this);
}
bool QtTreeWidgetItem::isShown() {
@@ -77,18 +79,18 @@ QtTreeWidgetItem* QtTreeWidgetItem::getParentItem() {
void QtTreeWidgetItem::addChild(QtTreeWidgetItem* child) {
children_.append(child);
- connect(child, SIGNAL(changed()), this, SLOT(handleChanged()));
- handleChanged();
+ connect(child, SIGNAL(changed(QtTreeWidgetItem*)), this, SLOT(handleChanged(QtTreeWidgetItem*)));
+ handleChanged(child);
}
-void QtTreeWidgetItem::handleChanged() {
+void QtTreeWidgetItem::handleChanged(QtTreeWidgetItem* child) {
shownChildren_.clear();
for (int i = 0; i < children_.size(); i++) {
if (children_[i]->isShown()) {
shownChildren_.append(children_[i]);
}
}
- emit changed();
+ emit changed(child);
}
int QtTreeWidgetItem::rowCount() {
@@ -106,6 +108,8 @@ int QtTreeWidgetItem::row() {
QtTreeWidgetItem* QtTreeWidgetItem::getItem(int row) {
//qDebug() << "Returning row " << row << " from item " << displayName_;
+ Q_ASSERT(row >= 0);
+ Q_ASSERT(row < rowCount());
return shownChildren_[row];
}
@@ -125,4 +129,8 @@ bool QtTreeWidgetItem::isContact() {
return children_.size() == 0;
}
+bool QtTreeWidgetItem::isExpanded() {
+ return expanded_;
+}
+
} \ No newline at end of file