| 1212 | } |
| 1213 | |
| 1214 | ContextMenuExtension ProjectController::contextMenuExtension(Context* ctx, QWidget* parent) |
| 1215 | { |
| 1216 | Q_D(ProjectController); |
| 1217 | |
| 1218 | Q_UNUSED(parent); |
| 1219 | ContextMenuExtension ext; |
| 1220 | if ( ctx->type() != Context::ProjectItemContext) { |
| 1221 | return ext; |
| 1222 | } |
| 1223 | if (!static_cast<ProjectItemContext*>(ctx)->items().isEmpty() ) { |
| 1224 | |
| 1225 | auto* action = new QAction(i18nc("@action", "Reparse the Entire Project"), this); |
| 1226 | connect(action, &QAction::triggered, this, [this] { |
| 1227 | Q_D(ProjectController); |
| 1228 | const auto projects = d->selectedProjects(); |
| 1229 | for (auto* project : projects) { |
| 1230 | reparseProject(project, true, true); |
| 1231 | } |
| 1232 | }); |
| 1233 | |
| 1234 | ext.addAction(ContextMenuExtension::ProjectGroup, action); |
| 1235 | return ext; |
| 1236 | } |
| 1237 | |
| 1238 | ext.addAction(ContextMenuExtension::ProjectGroup, d->m_openProject); |
| 1239 | ext.addAction(ContextMenuExtension::ProjectGroup, d->m_fetchProject); |
| 1240 | ext.addAction(ContextMenuExtension::ProjectGroup, d->m_recentProjectsAction); |
| 1241 | |
| 1242 | return ext; |
| 1243 | } |
| 1244 | |
| 1245 | ProjectBuildSetModel* ProjectController::buildSetModel() |
| 1246 | { |
nothing calls this directly
no test coverage detected