equal
deleted
inserted
replaced
3037 QList<QTreeWidgetItem*> QTreeWidget::selectedItems() const |
3037 QList<QTreeWidgetItem*> QTreeWidget::selectedItems() const |
3038 { |
3038 { |
3039 Q_D(const QTreeWidget); |
3039 Q_D(const QTreeWidget); |
3040 QModelIndexList indexes = selectionModel()->selectedIndexes(); |
3040 QModelIndexList indexes = selectionModel()->selectedIndexes(); |
3041 QList<QTreeWidgetItem*> items; |
3041 QList<QTreeWidgetItem*> items; |
|
3042 items.reserve(indexes.count()); |
|
3043 QSet<QTreeWidgetItem *> seen; |
|
3044 seen.reserve(indexes.count()); |
3042 for (int i = 0; i < indexes.count(); ++i) { |
3045 for (int i = 0; i < indexes.count(); ++i) { |
3043 QTreeWidgetItem *item = d->item(indexes.at(i)); |
3046 QTreeWidgetItem *item = d->item(indexes.at(i)); |
3044 if (isItemHidden(item) || items.contains(item)) // ### slow, optimize later |
3047 if (isItemHidden(item) || seen.contains(item)) |
3045 continue; |
3048 continue; |
|
3049 seen.insert(item); |
3046 items.append(item); |
3050 items.append(item); |
3047 } |
3051 } |
3048 return items; |
3052 return items; |
3049 } |
3053 } |
3050 |
3054 |