38 lines
1.4 KiB
Java
38 lines
1.4 KiB
Java
package _VisualDVM.Passes.All;
|
|
import Common.Utils.Utils_;
|
|
import Common.Visual.UI;
|
|
import _VisualDVM.Current;
|
|
import _VisualDVM.Global;
|
|
import _VisualDVM.Passes.PassCode;
|
|
import _VisualDVM.Passes.Project.ChangeFilePass;
|
|
import _VisualDVM.ProjectData.Files.DBProjectFile;
|
|
public class DeleteFile extends ChangeFilePass<DBProjectFile> {
|
|
@Override
|
|
public String getIconPath() {
|
|
return "/Common/icons/Delete.png";
|
|
}
|
|
@Override
|
|
protected boolean canStart(Object... args) {
|
|
resetArgs();
|
|
return (Global.mainModule.Check(Log, Current.SelectedFile)) &&
|
|
UI.Warning("Удалить файл "
|
|
+ Utils_.Brackets((target = Global.mainModule.getSelectedFile()).name));
|
|
}
|
|
@Override
|
|
protected void performPreparation() throws Exception {
|
|
if (Global.mainModule.HasFile() && (Global.mainModule.getFile().file.equals(target.file)))
|
|
Global.mainModule.getPass(PassCode.CloseCurrentFile).Do();
|
|
}
|
|
@Override
|
|
protected void body() throws Exception {
|
|
Global.mainModule.getUI().getMainWindow().getProjectWindow().getFilesTreeForm().getTree().RemoveNode(target.node);
|
|
project.db.Delete(target);
|
|
Utils_.forceDeleteWithCheck(target.file);
|
|
}
|
|
@Override
|
|
protected void performDone() throws Exception {
|
|
Global.mainModule.set(Current.SelectedFile, null);
|
|
Global.mainModule.set(Current.ProjectNode, null);
|
|
}
|
|
}
|