Automatically enable github tasks integration after project checkout

This commit is contained in:
Oleg Shpynov
2010-10-26 17:25:50 +04:00
parent 557f2c79eb
commit 05be51dcab
6 changed files with 27 additions and 5 deletions
@@ -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);
}
@@ -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() {
@@ -40,4 +40,8 @@ public class PlatformProjectCheckoutListener implements CheckoutListener {
}
return false;
}
@Override
public void processOpenedProject(Project lastOpenedProject) {
}
}