diff options
Diffstat (limited to 'Swift/QtUI/Roster/QtTreeWidgetItem.cpp')
| -rw-r--r-- | Swift/QtUI/Roster/QtTreeWidgetItem.cpp | 22 | 
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  | 
 Swift