2023-11-19 02:12:44 +03:00
|
|
|
|
package Visual_DVM_2021.Passes.All;
|
2024-10-09 23:37:58 +03:00
|
|
|
|
import Common.Current_;
|
2024-10-08 22:33:49 +03:00
|
|
|
|
import Common.Visual.CommonUI;
|
2024-10-09 22:01:19 +03:00
|
|
|
|
import _VisualDVM.Current;
|
2024-10-07 00:58:29 +03:00
|
|
|
|
import _VisualDVM.Global;
|
2024-10-09 22:21:57 +03:00
|
|
|
|
import _VisualDVM.ProjectData.Project.db_project_info;
|
2024-10-09 23:37:58 +03:00
|
|
|
|
import Visual_DVM_2021.Passes.PassCode;
|
2024-10-10 23:57:36 +03:00
|
|
|
|
import Common.Passes.Pass;
|
2023-09-17 22:13:42 +03:00
|
|
|
|
|
|
|
|
|
|
import java.util.Vector;
|
2024-10-09 23:37:58 +03:00
|
|
|
|
public class DeleteSelectedVersions extends Pass<Vector<db_project_info>> {
|
2023-09-17 22:13:42 +03:00
|
|
|
|
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;
|
|
|
|
|
|
}
|
2024-10-09 23:37:58 +03:00
|
|
|
|
if (!Current_.Check(Log, Current.Root)) {
|
2023-09-17 22:13:42 +03:00
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
Vector<db_project_info> 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;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2024-10-08 22:33:49 +03:00
|
|
|
|
return CommonUI.Warning("Удалить " + q + " версий.");
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected void body() throws Exception {
|
|
|
|
|
|
for (db_project_info version : target)
|
2024-10-09 23:37:58 +03:00
|
|
|
|
passes.get(PassCode.DeleteVersion).Do(version);
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
}
|