From 7c9de3e79cf17bc5cedf8b68260bdad18485d719 Mon Sep 17 00:00:00 2001 From: irengrig Date: Fri, 25 Mar 2011 12:05:45 +0300 Subject: [PATCH] Clear Case first take: IDEA-65977 Clear Case plugin can not add/move to non existing directory + unversioned folders are detected and shown. todo: performance --- .../vcs-api/src/com/intellij/vcsUtil/VcsUtil.java | 8 +------- .../changes/actions/ScheduleForAdditionAction.java | 11 ++++++++--- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/platform/vcs-api/src/com/intellij/vcsUtil/VcsUtil.java b/platform/vcs-api/src/com/intellij/vcsUtil/VcsUtil.java index 814e01a7f5b5..053c0b639c6d 100644 --- a/platform/vcs-api/src/com/intellij/vcsUtil/VcsUtil.java +++ b/platform/vcs-api/src/com/intellij/vcsUtil/VcsUtil.java @@ -56,14 +56,8 @@ public class VcsUtil { private static final Logger LOG = Logger.getInstance("#com.intellij.vcsUtil.VcsUtil"); - /** - * Call "fileDirty" in the read action. - */ public static void markFileAsDirty(final Project project, final VirtualFile file) { - final VcsDirtyScopeManager mgr = VcsDirtyScopeManager.getInstance(project); - ApplicationManager.getApplication().runReadAction(new Runnable() { - public void run() { mgr.fileDirty(file); } - }); + VcsDirtyScopeManager.getInstance(project).fileDirty(file); } public static void markFileAsDirty(final Project project, final FilePath path) { diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/ScheduleForAdditionAction.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/ScheduleForAdditionAction.java index 9c827f731a93..1415c6defd4f 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/ScheduleForAdditionAction.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/ScheduleForAdditionAction.java @@ -45,7 +45,7 @@ public class ScheduleForAdditionAction extends AnAction implements DumbAware { } public void update(AnActionEvent e) { - final boolean enabled = e.getData(PlatformDataKeys.PROJECT) != null && (getUnversionedFiles(e) != null); + final boolean enabled = e.getData(PlatformDataKeys.PROJECT) != null && (thereAreUnversionedFiles(e)); e.getPresentation().setEnabled(enabled); final String place = e.getPlace(); if (ActionPlaces.ACTION_PLACE_VCS_QUICK_LIST_POPUP_ACTION.equals(place) || ActionPlaces.CHANGES_VIEW_POPUP.equals(place) ) { @@ -62,8 +62,13 @@ public class ScheduleForAdditionAction extends AnAction implements DumbAware { changeListManager.addUnversionedFiles(changeListManager.getDefaultChangeList(), unversionedFiles); } + protected boolean thereAreUnversionedFiles(final AnActionEvent e) { + final List unversionedFiles = getUnversionedFiles(e); + return unversionedFiles != null && !(unversionedFiles.isEmpty()); + } + @Nullable - private static List getUnversionedFiles(final AnActionEvent e) { + protected List getUnversionedFiles(final AnActionEvent e) { // first get from the ChangeListView List unversionedFiles = e.getData(ChangesListView.UNVERSIONED_FILES_DATA_KEY); if (unversionedFiles != null && !unversionedFiles.isEmpty()) { @@ -88,4 +93,4 @@ public class ScheduleForAdditionAction extends AnAction implements DumbAware { return unversionedFiles.isEmpty() ? null : unversionedFiles; } -} \ No newline at end of file +}