Files
VisualSapfor/src/_VisualDVM/Passes/All/DeleteDownloadedBugReports.java

69 lines
2.6 KiB
Java
Raw Normal View History

2024-10-14 12:14:01 +03:00
package _VisualDVM.Passes.All;
2024-10-14 15:19:13 +03:00
import Common.Passes.Pass;
2024-10-14 12:54:52 +03:00
import Common.Utils.Utils_;
2024-10-08 22:33:49 +03:00
import Common.Visual.Windows.Dialog.Dialog;
2024-10-14 15:19:13 +03:00
import _VisualDVM.Global;
2024-10-09 22:21:57 +03:00
import _VisualDVM.GlobalData.FileObject.DirInfo;
import _VisualDVM.GlobalData.FileObject.DirInfosDataSet;
import _VisualDVM.GlobalData.FileObject.UI.DirInfosFields;
2024-10-09 22:21:57 +03:00
import _VisualDVM.GlobalData.Settings.SettingName;
2024-10-14 12:14:01 +03:00
import _VisualDVM.Passes.PassCode;
2023-09-17 22:13:42 +03:00
import javax.swing.*;
2024-10-09 23:37:58 +03:00
public class DeleteDownloadedBugReports extends Pass<DirInfosDataSet> {
2023-09-17 22:13:42 +03:00
@Override
protected boolean needsAnimation() {
return true;
}
@Override
protected boolean canStart(Object... args) throws Exception {
target = null;
2024-10-14 15:19:13 +03:00
if (Global.mainModule.getPass(PassCode.GetOldBugReports).Do()) {
target = (DirInfosDataSet) Global.mainModule.getPass(PassCode.GetOldBugReports).target;
if (target.Data.isEmpty()) {
Log.Writeln_("Не найдено отчетов, не использовавшихся " +
2024-10-12 00:17:51 +03:00
(Global.mainModule.getDb()).settings.get(SettingName.BugReportsAgeLimit).toInt32() +
" месяцев и более!");
return false;
}
//-
Dialog<Object, DirInfosFields> dialog = new Dialog<Object, DirInfosFields>(DirInfosFields.class) {
@Override
public int getDefaultHeight() {
2024-08-18 12:28:54 +03:00
return 300;
}
@Override
public int getDefaultWidth() {
return 600;
}
@Override
public void Init(Object... params) {
target.mountUI((JPanel) content);
target.ShowUI();
}
@Override
public void validateFields() {
}
};
2024-10-14 15:19:13 +03:00
if (dialog.ShowDialog("Найдено " + target.size() + " отчетов, не использовавшихся " +
(Global.mainModule.getDb()).settings.get(SettingName.BugReportsAgeLimit).toInt32() +
" месяцев и более. Удалить?")) {
return true;
}
}
2023-09-17 22:13:42 +03:00
return false;
}
@Override
protected void performPreparation() throws Exception {
if (Global.mainModule.HasProject())
Global.mainModule.getPass(PassCode.CloseCurrentProject).Do();
2023-09-17 22:13:42 +03:00
}
@Override
protected void body() throws Exception {
for (DirInfo dir : target.Data.values()) {
ShowMessage1(dir.getPK().toString());
2024-10-14 12:54:52 +03:00
Utils_.forceDeleteWithCheck(dir.getFile());
2023-09-17 22:13:42 +03:00
}
}
}