Search in sources :

Example 6 with VcsDirtyScopeManager

use of com.intellij.openapi.vcs.changes.VcsDirtyScopeManager in project intellij-community by JetBrains.

the class PropertiesComponent method updateFileStatus.

private void updateFileStatus(boolean recursive) {
    if (myFile != null && myVcs != null) {
        String url = "file://" + myFile.getPath().replace(File.separatorChar, '/');
        VirtualFile file = VirtualFileManager.getInstance().findFileByUrl(url);
        if (file != null) {
            VcsDirtyScopeManager dirtyScopeManager = VcsDirtyScopeManager.getInstance(myVcs.getProject());
            if (recursive && file.isDirectory()) {
                dirtyScopeManager.dirDirtyRecursively(file);
            } else {
                dirtyScopeManager.fileDirty(file);
            }
        }
    }
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) VcsDirtyScopeManager(com.intellij.openapi.vcs.changes.VcsDirtyScopeManager)

Example 7 with VcsDirtyScopeManager

use of com.intellij.openapi.vcs.changes.VcsDirtyScopeManager in project google-cloud-intellij by GoogleCloudPlatform.

the class GcpCheckoutProvider method clone.

private static void clone(@NotNull final Project project, @NotNull final Git git, @Nullable final Listener listener, @NotNull final VirtualFile destinationParent, @NotNull final String sourceRepositoryUrl, @NotNull final String directoryName, @NotNull final String parentDirectory, @Nullable final String gcpUserName) {
    final AtomicBoolean cloneResult = new AtomicBoolean();
    new Task.Backgroundable(project, GctBundle.message("clonefromgcp.repository", sourceRepositoryUrl)) {

        @Override
        public void run(@NotNull ProgressIndicator indicator) {
            GcpHttpAuthDataProvider.Context context = GcpHttpAuthDataProvider.createContext(gcpUserName);
            try {
                cloneResult.set(doClone(project, indicator, git, directoryName, parentDirectory, sourceRepositoryUrl));
            } finally {
                context.close();
            }
        }

        @Override
        public void onSuccess() {
            if (!cloneResult.get()) {
                return;
            }
            destinationParent.refresh(true, true, new Runnable() {

                @Override
                public void run() {
                    if (project.isOpen() && (!project.isDisposed()) && (!project.isDefault())) {
                        final VcsDirtyScopeManager mgr = VcsDirtyScopeManager.getInstance(project);
                        mgr.fileDirty(destinationParent);
                    }
                }
            });
            ProjectManagerListener configWriter = new ProjectManagerListener() {

                @Override
                public void projectOpened(Project project) {
                    PropertiesComponent.getInstance(project).setValue(GcpHttpAuthDataProvider.GCP_USER, gcpUserName == null ? "" : gcpUserName);
                }

                @Override
                public boolean canCloseProject(Project project) {
                    return true;
                }

                @Override
                public void projectClosed(Project project) {
                // no-op
                }

                @Override
                public void projectClosing(Project project) {
                // no-op
                }
            };
            ProjectManager.getInstance().addProjectManagerListener(configWriter);
            try {
                if (listener != null) {
                    listener.directoryCheckedOut(new File(parentDirectory, directoryName), GitVcs.getKey());
                    listener.checkoutCompleted();
                }
            } finally {
                ProjectManager.getInstance().removeProjectManagerListener(configWriter);
            }
        }
    }.queue();
}
Also used : AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Project(com.intellij.openapi.project.Project) Task(com.intellij.openapi.progress.Task) ProjectManagerListener(com.intellij.openapi.project.ProjectManagerListener) ProgressIndicator(com.intellij.openapi.progress.ProgressIndicator) VirtualFile(com.intellij.openapi.vfs.VirtualFile) File(java.io.File) VcsDirtyScopeManager(com.intellij.openapi.vcs.changes.VcsDirtyScopeManager)

Aggregations

VcsDirtyScopeManager (com.intellij.openapi.vcs.changes.VcsDirtyScopeManager)7 VirtualFile (com.intellij.openapi.vfs.VirtualFile)7 File (java.io.File)3 ProgressIndicator (com.intellij.openapi.progress.ProgressIndicator)2 Task (com.intellij.openapi.progress.Task)2 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)2 Project (com.intellij.openapi.project.Project)1 ProjectManagerListener (com.intellij.openapi.project.ProjectManagerListener)1 ChangesUtil.getVcsForFile (com.intellij.openapi.vcs.changes.ChangesUtil.getVcsForFile)1 VfsUtilCore.virtualToIoFile (com.intellij.openapi.vfs.VfsUtilCore.virtualToIoFile)1 NewVirtualFile (com.intellij.openapi.vfs.newvfs.NewVirtualFile)1 StatusBar (com.intellij.openapi.wm.StatusBar)1 SvnProgressCanceller (org.jetbrains.idea.svn.SvnProgressCanceller)1 SvnVcs (org.jetbrains.idea.svn.SvnVcs)1 UpdateClient (org.jetbrains.idea.svn.update.UpdateClient)1