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

Method addMenu

src/plugins/builder/mainframe/buildmanager.cpp:100–148  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

98}
99
100void BuildManager::addMenu()
101{
102 auto &ctx = dpfInstance.serviceContext();
103 auto windowService = ctx.service<WindowService>(WindowService::name());
104 if (!windowService)
105 return;
106
107 auto actionInit = [&](QAction *action, const QString &actionID,
108 const QKeySequence &key,
109 const QString &iconFileName = {})
110 -> Command * {
111 if (!iconFileName.isEmpty())
112 action->setIcon(QIcon::fromTheme(iconFileName));
113 auto cmd = ActionManager::instance()->registerAction(action, actionID);
114 if (!key.isEmpty())
115 cmd->setDefaultKeySequence(key);
116 return cmd;
117 };
118
119 auto mBuild = ActionManager::instance()->actionContainer(M_BUILD);
120 d->buildAction = new QAction(MWMBA_BUILD, this);
121 auto cmd = actionInit(d->buildAction, "Build.Build",
122 QKeySequence(Qt::Modifier::CTRL | Qt::Key::Key_B),
123 "build");
124 mBuild->addAction(cmd);
125 d->buildCancelBtn = windowService->addTopToolItem(cmd, true, Priority::low);
126
127 d->cancelAction = new QAction(MWMBA_CANCEL, this);
128 d->cancelAction->setIcon(QIcon::fromTheme("cancel"));
129 cmd = actionInit(d->cancelAction, "Build.Cancel", QKeySequence(Qt::ALT | Qt::Key_Backspace));
130 mBuild->addAction(cmd);
131
132 d->rebuildAction = new QAction(MWMBA_REBUILD, this);
133 d->rebuildAction->setIcon(QIcon::fromTheme("rebuild"));
134 actionInit(d->rebuildAction, "Build.Rebuild", QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_B));
135
136 d->cleanAction = new QAction(MWMBA_CLEAN, this);
137 d->cleanAction->setIcon(QIcon::fromTheme("clearall"));
138 actionInit(d->cleanAction, "Build.Clean", QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_C));
139
140 QObject::connect(d->buildAction, &QAction::triggered,
141 this, &BuildManager::buildCancelProject, Qt::DirectConnection);
142 QObject::connect(d->rebuildAction, &QAction::triggered,
143 this, &BuildManager::rebuildProject, Qt::DirectConnection);
144 QObject::connect(d->cleanAction, &QAction::triggered,
145 this, &BuildManager::cleanProject, Qt::DirectConnection);
146 QObject::connect(d->cancelAction, &QAction::triggered,
147 this, &BuildManager::cancelBuild, Qt::DirectConnection);
148}
149
150void BuildManager::initCompileWidget()
151{

Callers 2

updateToolMenuMethod · 0.45
setupToolMenuMethod · 0.45

Calls 10

QKeySequenceClass · 0.85
connectFunction · 0.85
registerActionMethod · 0.80
setDefaultKeySequenceMethod · 0.80
actionContainerMethod · 0.80
addTopToolItemMethod · 0.80
nameFunction · 0.50
isEmptyMethod · 0.45
setIconMethod · 0.45
addActionMethod · 0.45

Tested by

no test coverage detected