mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Automatically enable github tasks integration after project checkout
This commit is contained in:
@@ -15,10 +15,10 @@
|
||||
*/
|
||||
package com.intellij.openapi.vcs.checkout;
|
||||
|
||||
import com.intellij.ide.impl.NewProjectUtil;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.vcs.VcsBundle;
|
||||
import com.intellij.ide.impl.NewProjectUtil;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@@ -35,4 +35,8 @@ public class NewProjectCheckoutListener implements CheckoutListener {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processOpenedProject(Project lastOpenedProject) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
*/
|
||||
package com.intellij.openapi.vcs.checkout;
|
||||
|
||||
import com.intellij.ide.impl.ProjectUtil;
|
||||
import com.intellij.ide.highlighter.ProjectFileType;
|
||||
import com.intellij.ide.impl.ProjectUtil;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.vcs.VcsBundle;
|
||||
@@ -41,4 +41,8 @@ public class ProjectCheckoutListener implements CheckoutListener {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processOpenedProject(Project lastOpenedProject) {
|
||||
}
|
||||
}
|
||||
@@ -85,7 +85,7 @@
|
||||
|
||||
<applicationConfigurable provider="com.intellij.profile.codeInspection.ui.PlatformInspectionsConfigurableProvider" order="before intentions"/>
|
||||
|
||||
<checkoutCompletedListener implementation="com.intellij.openapi.vcs.checkout.PlatformProjectCheckoutListener"/>
|
||||
<checkoutCompletedListener implementation="com.intellij.openapi.vcs.checkout.PlatformProjectCheckoutListener" id="PlatformProjectCheckoutListener"/>
|
||||
|
||||
<weigher key="proximity" implementationClass="com.intellij.psi.util.proximity.SameDirectoryWeigher" id="sameDirectory"
|
||||
order="after openedInEditor"/>
|
||||
|
||||
@@ -29,4 +29,6 @@ public interface CheckoutListener {
|
||||
ExtensionPointName<CheckoutListener> COMPLETED_EP_NAME = ExtensionPointName.create("com.intellij.checkoutCompletedListener");
|
||||
|
||||
boolean processCheckedOutDirectory(Project project, File directory);
|
||||
|
||||
void processOpenedProject(Project lastOpenedProject);
|
||||
}
|
||||
+10
-2
@@ -19,6 +19,7 @@ import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.vcs.CheckoutProvider;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
@@ -72,11 +73,18 @@ public class CompositeCheckoutListener implements CheckoutProvider.Listener {
|
||||
}
|
||||
|
||||
private void notifyCheckoutListeners(final File directory, final ExtensionPointName<CheckoutListener> epName) {
|
||||
CheckoutListener[] listeners = Extensions.getExtensions(epName);
|
||||
for(CheckoutListener listener: listeners) {
|
||||
final CheckoutListener[] listeners = Extensions.getExtensions(epName);
|
||||
for (CheckoutListener listener: listeners) {
|
||||
myFoundProject = listener.processCheckedOutDirectory(myProject, directory);
|
||||
if (myFoundProject) break;
|
||||
}
|
||||
final Project[] openProjects = ProjectManager.getInstance().getOpenProjects();
|
||||
if (openProjects.length > 0){
|
||||
final Project lastOpenedProject = openProjects[openProjects.length - 1];
|
||||
for (CheckoutListener listener: listeners) {
|
||||
listener.processOpenedProject(lastOpenedProject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void checkoutCompleted() {
|
||||
|
||||
+4
@@ -40,4 +40,8 @@ public class PlatformProjectCheckoutListener implements CheckoutListener {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processOpenedProject(Project lastOpenedProject) {
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user