package Visual_DVM_2021.Passes.All; import Common.Current_; import Common.Visual.CommonUI; import _VisualDVM.Current; import _VisualDVM.Global; import _VisualDVM.ProjectData.Project.db_project_info; import Visual_DVM_2021.Passes.PassCode; import Common.Passes.Pass; import java.util.Vector; public class DeleteSelectedVersions extends Pass> { boolean has_current_project; @Override public String getButtonText() { return ""; } @Override public String getIconPath() { return "/icons/Delete.png"; } @Override protected boolean canStart(Object... args) throws Exception { has_current_project = false; target = new Vector<>(); //------------------------ if (!Global.versions_multiselection) { Log.Writeln_("Нажмите правую клавишу мыши, и перейдите в режим выбора версий."); return false; } if (!Current_.Check(Log, Current.Root)) { return false; } Vector allVersions = new Vector<>(); Current.getRoot().getSelectedVersions(allVersions); if (allVersions.size() == 0) { Log.Writeln_("Не отмечено ни одной версии."); return false; } int q = Current.getRoot().getSelectedVersionsForDeletion(target); if (Current.HasProject()) { for (db_project_info version : target) { if (Current.getProject().Home.getAbsolutePath().startsWith(version.Home.getAbsolutePath())) { has_current_project = true; break; } } } return CommonUI.Warning("Удалить " + q + " версий."); } @Override protected void body() throws Exception { for (db_project_info version : target) passes.get(PassCode.DeleteVersion).Do(version); } }