void PropertyEditor::applyFilter() { const QList<QtBrowserItem *> items = m_currentBrowser->topLevelItems(); if (m_sorting) { applyPropertiesFilter(items); } else { QListIterator<QtBrowserItem *> itTopLevel(items); while (itTopLevel.hasNext()) { QtBrowserItem *item = itTopLevel.next(); setItemVisible(item, applyPropertiesFilter(item->children())); } } }
void PropertyEditor::storeExpansionState() { const QList<QtBrowserItem *> items = m_currentBrowser->topLevelItems(); if (m_sorting) { storePropertiesExpansionState(items); } else { QListIterator<QtBrowserItem *> itGroup(items); while (itGroup.hasNext()) { QtBrowserItem *item = itGroup.next(); const QString groupName = item->property()->propertyName(); QList<QtBrowserItem *> propertyItems = item->children(); if (!propertyItems.empty()) m_expansionState[groupName] = isExpanded(item); // properties stuff here storePropertiesExpansionState(propertyItems); } } }
void PropertyEditor::storePropertiesExpansionState(const QList<QtBrowserItem *> &items) { const QChar bar = QLatin1Char('|'); QListIterator<QtBrowserItem *> itProperty(items); while (itProperty.hasNext()) { QtBrowserItem *propertyItem = itProperty.next(); if (!propertyItem->children().empty()) { QtProperty *property = propertyItem->property(); const QString propertyName = property->propertyName(); const QMap<QtProperty *, QString>::const_iterator itGroup = m_propertyToGroup.constFind(property); if (itGroup != m_propertyToGroup.constEnd()) { QString key = itGroup.value(); key += bar; key += propertyName; m_expansionState[key] = isExpanded(propertyItem); } } } }
void PropertyEditor::applyExpansionState() { const QList<QtBrowserItem *> items = m_currentBrowser->topLevelItems(); if (m_sorting) { applyPropertiesExpansionState(items); } else { QListIterator<QtBrowserItem *> itTopLevel(items); const QMap<QString, bool>::const_iterator excend = m_expansionState.constEnd(); while (itTopLevel.hasNext()) { QtBrowserItem *item = itTopLevel.next(); const QString groupName = item->property()->propertyName(); const QMap<QString, bool>::const_iterator git = m_expansionState.constFind(groupName); if (git != excend) setExpanded(item, git.value()); else setExpanded(item, true); // properties stuff here applyPropertiesExpansionState(item->children()); } } }