package Visual_DVM_2021.Passes.All; import Common.Current; import Common.Global; import Common.UI.UI; import Common.UI.Windows.Dialog.Dialog; import Common.Utils.Utils; import GlobalData.FileObject.FileObject; import GlobalData.FileObject.FileObjectsDataSet; import GlobalData.FileObject.FileObjectsFields; import Visual_DVM_2021.Passes.PassCode_2021; import Visual_DVM_2021.Passes.Pass_2021; import Visual_DVM_2021.Passes.UI.CopyProjectFields; import javax.swing.*; import java.io.File; import java.nio.file.Paths; import java.util.*; public class DeleteDownloadedBugReports extends Pass_2021> { @Override protected boolean needsAnimation() { return true; } @Override public boolean needsConfirmations() { return true; } @Override protected boolean canStart(Object... args) throws Exception { target = null; if (passes.get(PassCode_2021.GetOldBugReports).Do()){ target = (Vector) passes.get(PassCode_2021.GetOldBugReports).target; FileObjectsDataSet set = new FileObjectsDataSet(); for (File file: target){ set.put(file.getName(),new FileObject(file)); } //- Dialog dialog = new Dialog(FileObjectsFields.class) { @Override public int getDefaultHeight() { return 300; } @Override public int getDefaultWidth() { return 600; } @Override public void Init(Object... params) { set.mountUI((JPanel) content); set.ShowUI(); } @Override public void validateFields() { } }; if (dialog.ShowDialog("Найдено "+target.size()+" загруженных проектов. Удалить?")) { return true; } } return false; } @Override protected void performPreparation() throws Exception { if (Current.HasProject()) passes.get(PassCode_2021.CloseCurrentProject).Do(); } @Override protected void body() throws Exception { for (File file : target) { ShowMessage1(file.getName()); Utils.forceDeleteWithCheck(file); } } }