MCPcopy Create free account
hub / github.com/Codeya-IDE/deepin-ide / rootMenu

Method rootMenu

src/plugins/project/mainframe/projecttree.cpp:536–559  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

534}
535
536QMenu *ProjectTree::rootMenu(QStandardItem *root)
537{
538 DMenu *menu = nullptr;
539 QString toolKitName = ProjectInfo::get(root).kitName();
540 // 获取支持右键菜单生成器
541 auto &ctx = dpfInstance.serviceContext();
542 ProjectService *projectService = ctx.service<ProjectService>(ProjectService::name());
543 if (projectService->supportGeneratorName<ProjectGenerator>().contains(toolKitName)) {
544 menu = projectService->createGenerator<ProjectGenerator>(toolKitName)->createItemMenu(root);
545 }
546 if (!menu)
547 menu = new DMenu();
548
549 QAction *activeProjectAction = new QAction(QAction::tr("Project Active"), menu);
550 QAction *closeAction = new QAction(QAction::tr("Project Close"), menu);
551 QAction *propertyAction = new QAction(QAction::tr("Project Info"), menu);
552 QObject::connect(activeProjectAction, &QAction::triggered, activeProjectAction, [=]() { doActiveProject(root); });
553 QObject::connect(closeAction, &QAction::triggered, closeAction, [=]() { doCloseProject(root); });
554 QObject::connect(propertyAction, &QAction::triggered, propertyAction, [=]() { doShowProjectInfo(root); });
555 menu->insertAction(nullptr, activeProjectAction);
556 menu->insertAction(nullptr, closeAction);
557 menu->insertAction(nullptr, propertyAction);
558 return menu;
559}
560
561void ProjectTree::performDrag()
562{

Callers

nothing calls this directly

Calls 7

connectFunction · 0.85
insertActionMethod · 0.80
getFunction · 0.50
nameFunction · 0.50
kitNameMethod · 0.45
containsMethod · 0.45
createItemMenuMethod · 0.45

Tested by

no test coverage detected