ElementsCollectionModel : model use multithreading itself for load collections

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4576 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2016-07-14 11:58:56 +00:00
parent 66371ae866
commit df1db0adc3
4 changed files with 66 additions and 29 deletions

View File

@@ -87,21 +87,20 @@ void ElementDialog::setUpWidget()
m_tree_view = new QTreeView(this);
m_model = new ElementsCollectionModel(m_tree_view);
QList <QETProject *> prjs;
foreach(QETProject *prj, QETApp::registeredProjects())
prjs.append(prj);
if (m_mode == OpenElement)
m_model->addCommonCollection(false);
m_model->addCustomCollection(false);
foreach (QETProject *project, QETApp::registeredProjects())
m_model->addProject(project, false);
QList <ElementCollectionItem *> list = m_model->items();
QtConcurrent::blockingMap(list, setUpData);
m_model->loadCollections(true, true, prjs);
else
m_model->loadCollections(false, true, prjs);
m_tree_view->setModel(m_model);
m_tree_view->setHeaderHidden(true);
layout->addWidget(m_tree_view);
m_buttons_box = new QDialogButtonBox(this);
if (m_mode == SaveCategory || m_mode == SaveElement)