diff --git a/plugins/tasks/tasks-api/src/com/intellij/tasks/TaskRepositoryType.java b/plugins/tasks/tasks-api/src/com/intellij/tasks/TaskRepositoryType.java index 9aaa0319ca64..915f96d31aa6 100644 --- a/plugins/tasks/tasks-api/src/com/intellij/tasks/TaskRepositoryType.java +++ b/plugins/tasks/tasks-api/src/com/intellij/tasks/TaskRepositoryType.java @@ -20,6 +20,7 @@ import com.intellij.openapi.project.Project; import com.intellij.tasks.config.TaskRepositoryEditor; import com.intellij.util.Consumer; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.util.EnumSet; @@ -39,6 +40,9 @@ public abstract class TaskRepositoryType { @NotNull public abstract Icon getIcon(); + @Nullable + public String getAdvertiser() { return null; } + @NotNull public abstract TaskRepositoryEditor createEditor(T repository, Project project, Consumer changeListener); diff --git a/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form b/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form index 4a6e4699f89c..a4acc2a2f8b2 100644 --- a/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form +++ b/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.form @@ -3,7 +3,7 @@ - + @@ -144,6 +144,16 @@ + + + + + + + + + + diff --git a/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.java b/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.java index 7745a72f0c98..a72a17788b89 100644 --- a/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.java +++ b/plugins/tasks/tasks-api/src/com/intellij/tasks/config/BaseRepositoryEditor.java @@ -20,6 +20,7 @@ import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.EditorFactory; import com.intellij.openapi.project.Project; +import com.intellij.openapi.ui.Messages; import com.intellij.tasks.TaskManager; import com.intellij.tasks.TaskRepository; import com.intellij.tasks.impl.BaseRepository; @@ -65,6 +66,7 @@ public class BaseRepositoryEditor extends TaskReposito private JPanel myEditorPanel; protected JBCheckBox myLoginAnonymouslyJBCheckBox; protected JBTabbedPane myTabbedPane; + private JTextPane myAdvertiser; private boolean myApplying; protected Project myProject; @@ -115,6 +117,11 @@ public class BaseRepositoryEditor extends TaskReposito myEditor = EditorFactory.getInstance().createEditor(myDocument); myEditorPanel.add(myEditor.getComponent(), BorderLayout.CENTER); myComment.setText("Available placeholders: " + repository.getComment()); + String advertiser = repository.getRepositoryType().getAdvertiser(); + if (advertiser != null) { + Messages.installHyperlinkSupport(myAdvertiser); + myAdvertiser.setText(advertiser); + } installListener(myAddCommitMessage); installListener(myDocument); diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/youtrack/YouTrackRepositoryType.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/youtrack/YouTrackRepositoryType.java index 26877b8d022b..70bbd9507519 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/youtrack/YouTrackRepositoryType.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/youtrack/YouTrackRepositoryType.java @@ -7,6 +7,7 @@ import com.intellij.tasks.impl.BaseRepositoryType; import com.intellij.util.Consumer; import icons.TasksIcons; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.util.EnumSet; @@ -26,6 +27,12 @@ public class YouTrackRepositoryType extends BaseRepositoryTypeNot YouTrack customer yet? Get YouTrack"; + } + @NotNull public YouTrackRepository createRepository() { return new YouTrackRepository(this);