MCPcopy Create free account
hub / github.com/Liniyous/ElaWidgetTools / removeNode

Method removeNode

ElaWidgetTools/ElaNavigationBar.cpp:405–455  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

403}
404
405void ElaNavigationBar::removeNode(const QString& nodeKey)
406{
407 Q_D(ElaNavigationBar);
408 ElaNavigationNode* node = d->_navigationModel->getNavigationNode(nodeKey);
409 if (!node)
410 {
411 node = d->_footerModel->getNavigationNode(nodeKey);
412 }
413 if (!node)
414 {
415 return;
416 }
417 if (node->getIsFooterNode())
418 {
419 Q_EMIT navigationNodeRemoved(ElaNavigationType::FooterNode, nodeKey);
420 d->_footerModel->removeNavigationNode(nodeKey);
421 d->_footerView->setFixedHeight(40 * d->_footerModel->getFooterNodeCount());
422 }
423 else
424 {
425 if (node->getIsCategoryNode())
426 {
427 QStringList removeKeyList = d->_navigationModel->removeNavigationNode(nodeKey);
428 d->_initNodeModelIndex(QModelIndex());
429 for (const auto& removeKey: removeKeyList)
430 {
431 Q_EMIT navigationNodeRemoved(ElaNavigationType::CategoryNode, removeKey);
432 }
433 }
434 else
435 {
436 QStringList removeKeyList = d->_navigationModel->removeNavigationNode(nodeKey);
437 d->_initNodeModelIndex(QModelIndex());
438 for (const auto& removeKey: removeKeyList)
439 {
440 d->_pageMetaMap.remove(removeKey);
441 d->_pageNewWindowCountMap.remove(removeKey);
442 Q_EMIT navigationNodeRemoved(ElaNavigationType::PageNode, removeKey);
443 }
444 }
445 }
446 for (int i = 0; i < d->_suggestDataList.count(); i++)
447 {
448 auto& suggestData = d->_suggestDataList[i];
449 if (suggestData.getSuggestData().value("ElaPageKey").toString() == nodeKey)
450 {
451 d->_suggestDataList.removeAt(i);
452 break;
453 }
454 }
455}
456
457void ElaNavigationBar::setNodeKeyPoints(const QString& nodeKey, int keyPoints)
458{

Callers 1

removeNavigationNodeMethod · 0.80

Calls 6

setFixedHeightMethod · 0.80
getFooterNodeCountMethod · 0.80
_initNodeModelIndexMethod · 0.80
countMethod · 0.80
getNavigationNodeMethod · 0.45
removeNavigationNodeMethod · 0.45

Tested by

no test coverage detected