package Visual_DVM_2021.Passes.All; import Common.Utils.CommonUtils; import _VisualDVM.Current; import _VisualDVM.GlobalData.GlobalDatabase; import Common.Visual.Windows.Dialog.Dialog; import _VisualDVM.Utils; import _VisualDVM.GlobalData.FileObject.DirInfo; import _VisualDVM.GlobalData.FileObject.DirInfosDataSet; import _VisualDVM.GlobalData.FileObject.DirInfosFields; import _VisualDVM.GlobalData.Settings.SettingName; import Visual_DVM_2021.Passes.PassCode; import Visual_DVM_2021.Passes.Pass; import javax.swing.*; public class DeleteDownloadedBugReports extends Pass { @Override protected boolean needsAnimation() { return true; } @Override protected boolean canStart(Object... args) throws Exception { target = null; if (passes.get(PassCode.GetOldBugReports).Do()){ target = (DirInfosDataSet) passes.get(PassCode.GetOldBugReports).target; if (target.Data.isEmpty()){ Log.Writeln_("Не найдено отчетов, не использовавшихся " + ((GlobalDatabase) CommonUtils.db).settings.get(SettingName.BugReportsAgeLimit).toInt32() + " месяцев и более!"); return false; } //- Dialog dialog = new Dialog(DirInfosFields.class) { @Override public int getDefaultHeight() { return 300; } @Override public int getDefaultWidth() { return 600; } @Override public void Init(Object... params) { target.mountUI((JPanel) content); target.ShowUI(); } @Override public void validateFields() { } }; if (dialog.ShowDialog("Найдено "+target.size()+" отчетов, не использовавшихся " + ((GlobalDatabase)CommonUtils.db).settings.get(SettingName.BugReportsAgeLimit).toInt32()+ " месяцев и более. Удалить?")) { return true; } } return false; } @Override protected void performPreparation() throws Exception { if (Current.HasProject()) passes.get(PassCode.CloseCurrentProject).Do(); } @Override protected void body() throws Exception { for (DirInfo dir : target.Data.values()) { ShowMessage1(dir.getPK().toString()); Utils.forceDeleteWithCheck(dir.getFile()); } } }