summaryrefslogtreecommitdiff
path: root/src/plugins/classview/classviewparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/classview/classviewparser.cpp')
-rw-r--r--src/plugins/classview/classviewparser.cpp89
1 files changed, 1 insertions, 88 deletions
diff --git a/src/plugins/classview/classviewparser.cpp b/src/plugins/classview/classviewparser.cpp
index 49af9de876..b3c0442007 100644
--- a/src/plugins/classview/classviewparser.cpp
+++ b/src/plugins/classview/classviewparser.cpp
@@ -111,12 +111,6 @@ public:
//! List for files which has to be parsed
QSet<QString> fileList;
- //! Root item read write lock
- QReadWriteLock rootItemLocker;
-
- //! Parsed root item
- ParserTreeItem::ConstPtr rootItem;
-
//! Flat mode
bool flatMode = false;
};
@@ -152,39 +146,6 @@ Parser::~Parser()
}
/*!
- Checks \a item for lazy data population of a QStandardItemModel.
-*/
-
-bool Parser::canFetchMore(QStandardItem *item, bool skipRoot) const
-{
- ParserTreeItem::ConstPtr ptr = findItemByRoot(item, skipRoot);
- if (ptr.isNull())
- return false;
- return ptr->canFetchMore(item);
-}
-
-/*!
- Checks \a item for lazy data population of a QStandardItemModel.
- \a skipRoot skips the root item.
-*/
-
-void Parser::fetchMore(QStandardItem *item, bool skipRoot) const
-{
- ParserTreeItem::ConstPtr ptr = findItemByRoot(item, skipRoot);
- if (ptr.isNull())
- return;
- ptr->fetchMore(item);
-}
-
-bool Parser::hasChildren(QStandardItem *item) const
-{
- ParserTreeItem::ConstPtr ptr = findItemByRoot(item);
- if (ptr.isNull())
- return false;
- return ptr->childCount() != 0;
-}
-
-/*!
Switches to flat mode (without subprojects) if \a flat returns \c true.
*/
@@ -207,45 +168,6 @@ void Parser::aboutToShutdown()
}
/*!
- Returns the internal tree item for \a item. \a skipRoot skips the root
- item.
-*/
-
-ParserTreeItem::ConstPtr Parser::findItemByRoot(const QStandardItem *item, bool skipRoot) const
-{
- if (!item)
- return ParserTreeItem::ConstPtr();
-
- // go item by item to the root
- QList<const QStandardItem *> uiList;
- const QStandardItem *cur = item;
- while (cur) {
- uiList.append(cur);
- cur = cur->parent();
- }
-
- if (skipRoot && uiList.count() > 0)
- uiList.removeLast();
-
- ParserTreeItem::ConstPtr internal;
- {
- QReadLocker locker(&d->rootItemLocker);
- internal = d->rootItem;
- }
-
- while (uiList.count() > 0) {
- cur = uiList.last();
- uiList.removeLast();
- const SymbolInformation &inf = Internal::symbolInformationFromItem(cur);
- internal = internal->child(inf);
- if (internal.isNull())
- break;
- }
-
- return internal;
-}
-
-/*!
Parses the class and produces a new tree.
\sa addProject
@@ -486,16 +408,7 @@ void Parser::requestCurrentState()
d->timer.stop();
// TODO: we need to have a fresh SessionManager data here, which we could pass to parse()
- const ParserTreeItem::ConstPtr newRoot = parse();
- {
- QWriteLocker locker(&d->rootItemLocker);
- d->rootItem = newRoot;
- }
-
- QSharedPointer<QStandardItem> std(new QStandardItem());
- d->rootItem->convertTo(std.data());
-
- emit treeDataUpdate(std);
+ emit treeRegenerated(parse());
}
// TODO: don't use Project class in this thread