| 880 | } |
| 881 | |
| 882 | KDevelop::ContextMenuExtension SourceFormatterController::contextMenuExtension(KDevelop::Context* context, QWidget* parent) |
| 883 | { |
| 884 | Q_D(SourceFormatterController); |
| 885 | |
| 886 | Q_UNUSED(parent); |
| 887 | |
| 888 | KDevelop::ContextMenuExtension ext; |
| 889 | d->urls.clear(); |
| 890 | d->prjItems.clear(); |
| 891 | |
| 892 | if (d->sourceFormatters.isEmpty()) { |
| 893 | return ext; |
| 894 | } |
| 895 | |
| 896 | if (context->hasType(KDevelop::Context::EditorContext)) |
| 897 | { |
| 898 | if (d->formatTextAction->isEnabled()) |
| 899 | ext.addAction(KDevelop::ContextMenuExtension::EditGroup, d->formatTextAction); |
| 900 | } else if (context->hasType(KDevelop::Context::FileContext)) { |
| 901 | auto* filectx = static_cast<KDevelop::FileContext*>(context); |
| 902 | d->urls = filectx->urls(); |
| 903 | ext.addAction(KDevelop::ContextMenuExtension::EditGroup, d->formatFilesAction); |
| 904 | } else if (context->hasType(KDevelop::Context::CodeContext)) { |
| 905 | } else if (context->hasType(KDevelop::Context::ProjectItemContext)) { |
| 906 | auto* prjctx = static_cast<KDevelop::ProjectItemContext*>(context); |
| 907 | d->prjItems = prjctx->items(); |
| 908 | if (!d->prjItems.isEmpty()) { |
| 909 | ext.addAction(KDevelop::ContextMenuExtension::ExtensionGroup, d->formatFilesAction); |
| 910 | } |
| 911 | } |
| 912 | return ext; |
| 913 | } |
| 914 | |
| 915 | auto SourceFormatterController::fileFormatter(const QUrl& url) const -> FileFormatterPtr |
| 916 | { |