79 lines
2.6 KiB
Java
79 lines
2.6 KiB
Java
// Copyright (c) 2021, Fr.Terrot. All rights reserved.
|
|
// Use of this source code is governed by a MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package io.gitea.mylyn.ui;
|
|
|
|
import org.eclipse.jface.resource.ImageDescriptor;
|
|
import org.eclipse.jface.wizard.IWizard;
|
|
import org.eclipse.mylyn.tasks.core.IRepositoryQuery;
|
|
import org.eclipse.mylyn.tasks.core.ITask;
|
|
import org.eclipse.mylyn.tasks.core.ITaskComment;
|
|
import org.eclipse.mylyn.tasks.core.ITaskMapping;
|
|
import org.eclipse.mylyn.tasks.core.TaskRepository;
|
|
import org.eclipse.mylyn.tasks.ui.AbstractRepositoryConnectorUi;
|
|
import org.eclipse.mylyn.tasks.ui.wizards.ITaskRepositoryPage;
|
|
import org.eclipse.mylyn.tasks.ui.wizards.NewTaskWizard;
|
|
import org.eclipse.mylyn.tasks.ui.wizards.RepositoryQueryWizard;
|
|
|
|
import io.gitea.model.IssueType;
|
|
import io.gitea.mylyn.core.GiteaPluginCore;
|
|
|
|
public class GiteaConnectorUI extends AbstractRepositoryConnectorUi {
|
|
|
|
@Override
|
|
public String getConnectorKind() {
|
|
return GiteaPluginCore.CONNECTOR_KIND;
|
|
}
|
|
|
|
@Override
|
|
public IWizard getNewTaskWizard(TaskRepository repository, ITaskMapping mapping) {
|
|
return new NewTaskWizard(repository, mapping);
|
|
}
|
|
|
|
@Override
|
|
public IWizard getQueryWizard(TaskRepository repository, IRepositoryQuery query) {
|
|
RepositoryQueryWizard wizard = new RepositoryQueryWizard(repository);
|
|
wizard.addPage(new GiteaQueryPage(Labels.NEW_PAGE, repository, query));
|
|
return wizard;
|
|
}
|
|
|
|
@Override
|
|
public ITaskRepositoryPage getSettingsPage(TaskRepository repository) {
|
|
return new GiteaRepositorySettingsPage(Labels.NEW_REPOSITORY, Labels.SETTINGS_PAGE, repository);
|
|
}
|
|
|
|
@Override
|
|
public boolean hasSearchPage() {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public ImageDescriptor getTaskKindOverlay(ITask task) {
|
|
//FIXME: complete with other kind epic,...enhancement ...
|
|
String kind = task.getTaskKind();
|
|
try {
|
|
switch(IssueType.valueOf(kind)) {
|
|
case BUG:
|
|
return GiteaImages.ISSUE;
|
|
case FEATURE:
|
|
return GiteaImages.OVERLAY_FEATURE;
|
|
case STORY:
|
|
return GiteaImages.OVERLAY_STORY;
|
|
default:
|
|
}
|
|
}
|
|
catch (IllegalArgumentException e) {
|
|
// unhandled task kind.
|
|
}
|
|
return super.getTaskKindOverlay(task);
|
|
}
|
|
|
|
@Override
|
|
public String getReplyText(TaskRepository taskRepository, ITask task, ITaskComment taskComment,
|
|
boolean includeTask) {
|
|
return "Reply to " + taskComment.getAuthor();
|
|
}
|
|
|
|
}
|