перенос настроек сравнения в проперти

This commit is contained in:
2025-01-10 22:22:23 +03:00
parent 10a4ebfe43
commit 0b7b793571
11 changed files with 78 additions and 58 deletions

View File

@@ -1,7 +1,6 @@
package _VisualDVM.GlobalData.Settings;
public enum SettingName {
Undefined,
//
//--------------
ProjectsSearchDirectory,
LastVersionPath,
@@ -10,13 +9,6 @@ public enum SettingName {
FastAccessPassesCount,
LastOpenedProjectsCount,
Workspace,
RegisterOn,
SpacesOn,
EmptyLinesOn,
FortranWrapsOn,
ExtensionsOn,
ComparsionDiffMergeOn,
DarkThemeOn,
ShowFullArraysDeclarations,
ShowFullTabsNames,
LocalMakePathWindows,
@@ -27,8 +19,6 @@ public enum SettingName {
DVMConvertationOptions,
Kernels,
Email, //для тестирования. потом.
Pause, //стоит ли тестрование на паузе.
Queue, //хз нужна ли. будет пересказ пакета в проходе.
BugReportsAgeLimit,
//--
//<editor-fold desc="Настройки сапфора. должны быть подряд!">
@@ -62,8 +52,6 @@ public enum SettingName {
return "Срок хранения отчетов об ошибках (месяцы)";
case SaveModifications:
return "Сохранять копию исходной версии при преобразованиях";
case ComparsionDiffMergeOn:
return "Автоматическое сравнение";
case DVMConvertationOptions:
return "Опции DVM конвертации";
case Kernels:
@@ -80,18 +68,6 @@ public enum SettingName {
return "Показывать полные имена вкладок";
case ShowFullArraysDeclarations:
return "Показывать развернутый список объявлений массивов";
case ExtensionsOn:
return "Учитывать расширения файлов";
case DarkThemeOn:
return "Тёмная тема редактора кода";
case FortranWrapsOn:
return "Учитывать переносы";
case EmptyLinesOn:
return "Учитывать пустые строки";
case SpacesOn:
return "Учитывать пробелы и табуляции";
case RegisterOn:
return "Учитывать регистр";
case Workspace:
return "Рабочее пространство визуализатора";
case STATIC_SHADOW_ANALYSIS:

View File

@@ -32,7 +32,6 @@ public class SettingsDBTable extends DBTable<SettingName, DBSetting> {
//<editor-fold desc="Global">
AddSetting(new DBSetting(SettingName.ProjectsSearchDirectory, "", SettingType.StringField, ComponentType.Visualiser, false));
AddSetting(new DBSetting(SettingName.EditorFontSize, "14", SettingType.StringField, ComponentType.Visualiser, false));
AddSetting(new DBSetting(SettingName.DarkThemeOn, 0, SettingType.SapforFlag, ComponentType.Visualiser, false));
AddSetting(new DBSetting(SettingName.ShowFullArraysDeclarations, 0, SettingType.SapforFlag, ComponentType.Visualiser));
AddSetting(new DBSetting(SettingName.ShowFullTabsNames, 0, SettingType.SapforFlag, ComponentType.Visualiser));
AddSetting(new DBSetting(SettingName.FastAccessPassesCount, 5, SettingType.IntField, ComponentType.Visualiser));
@@ -71,14 +70,6 @@ public class SettingsDBTable extends DBTable<SettingName, DBSetting> {
AddSetting(new DBSetting(SettingName.SaveModifications, 1, SettingType.SapforFlag, ComponentType.SapforOptions));
//</editor-fold>
//-
//<editor-fold desc="Comparsion">
AddSetting(new DBSetting(SettingName.ExtensionsOn, 0, SettingType.SapforFlag, ComponentType.ComparsionOptions));
AddSetting(new DBSetting(SettingName.RegisterOn, 0, SettingType.SapforFlag, ComponentType.ComparsionOptions));
AddSetting(new DBSetting(SettingName.SpacesOn, 1, SettingType.SapforFlag, ComponentType.ComparsionOptions));
AddSetting(new DBSetting(SettingName.EmptyLinesOn, 1, SettingType.SapforFlag, ComponentType.ComparsionOptions));
AddSetting(new DBSetting(SettingName.FortranWrapsOn, 1, SettingType.SapforFlag, ComponentType.ComparsionOptions));
AddSetting(new DBSetting(SettingName.ComparsionDiffMergeOn, 0, SettingType.SapforFlag, ComponentType.ComparsionOptions));
//</editor-fold>
AddSetting(new DBSetting(SettingName.BugReportsAgeLimit, 2, SettingType.IntField, ComponentType.Visualiser));
}
public Vector<DBSetting> getSettingsByOwner(ComponentType owner) {

View File

@@ -96,6 +96,19 @@ public class GlobalProperties {
public int lastUserId = CommonConstants.Nan;
@Expose
public int lastCompilerId = CommonConstants.Nan;
//--
@Expose
public boolean RegisterOn=false;
@Expose
public boolean SpacesOn=false;
@Expose
public boolean EmptyLinesOn=false;
@Expose
public boolean FortranWrapsOn=false;
@Expose
public boolean ExtensionsOn=false;
@Expose
public boolean ComparsionDiffMergeOn=false;
public GlobalProperties(GlobalProperties p) {
super();
Mode = p.Mode;
@@ -147,6 +160,18 @@ public class GlobalProperties {
//-----------------
public String getFieldDescription(String fieldName) {
switch (fieldName) {
case "ExtensionsOn":
return "Учитывать расширения файлов";
case "FortranWrapsOn":
return "Учитывать переносы";
case "EmptyLinesOn":
return "Учитывать пустые строки";
case "SpacesOn":
return "Учитывать пробелы и табуляции";
case "RegisterOn":
return "Учитывать регистр";
case "ComparsionDiffMergeOn":
return "Автоматическое сравнение";
case "AutoBugReportsLoad":
return "Автоматическая синхронизация отчётов об ошибках";
case "AutoTestsLoad":

View File

@@ -648,11 +648,11 @@ public class Utils {
break;
case ' ':
case '\t':
if ((Global.mainModule.getDb()).settings.get(SettingName.SpacesOn).toBoolean()) line.append(c);
if (Global.properties.SpacesOn) line.append(c);
v_line.append(c);
break;
case '\n': //конец строки
if ((Global.mainModule.getDb()).settings.get(SettingName.FortranWrapsOn).toBoolean()) {
if (Global.properties.FortranWrapsOn) {
//оракул. лезем в начало следующей строки
//и анализируем первые 5 символов
boolean hasWrap = false;
@@ -678,7 +678,7 @@ public class Utils {
break;
}
//добавление строки в результат.
if ((line.length() > 0) || (Global.mainModule.getDb()).settings.get(SettingName.EmptyLinesOn).toBoolean()
if ((line.length() > 0) || Global.properties.EmptyLinesOn
// Global.db.settings.get(SettingName.SpacesOn).toBoolean()
) {
lines.add(line.toString());
@@ -697,7 +697,7 @@ public class Utils {
if ((i > 0) && (c != '\n')) {
//строка оборвалась на EOF
//добавление строки в результат.
if ((line.length() > 0) || (Global.mainModule.getDb()).settings.get(SettingName.EmptyLinesOn).toBoolean()
if ((line.length() > 0) || Global.properties.EmptyLinesOn
// && Global.db.settings.get(SettingName.SpacesOn).toBoolean()
) {
lines.add(line.toString());
@@ -709,11 +709,11 @@ public class Utils {
public static boolean CompareLines(String line1_raw, String line2_raw) {
String line1 = line1_raw;
String line2 = line2_raw;
if (!(Global.mainModule.getDb()).settings.get(SettingName.RegisterOn).toBoolean()) {
if (!Global.properties.RegisterOn) {
line1 = line1.toUpperCase();
line2 = line2.toUpperCase();
}
if (!(Global.mainModule.getDb()).settings.get(SettingName.SpacesOn).toBoolean()) {
if (!Global.properties.SpacesOn) {
line1 = Utils_.removeCharacters(line1, " ", "\t");
line2 = Utils_.removeCharacters(line2, " ", "\t");
}

View File

@@ -0,0 +1,19 @@
package _VisualDVM.Visual.Menus.MainMenuBar;
import _VisualDVM.Global;
import _VisualDVM.Visual.Menus.SettingsSubmenu;
public class VersionsComparisonMenu extends SettingsSubmenu {
public VersionsComparisonMenu() {
super("Сравнение версий", null);
String[] propertiesNames = new String[]{
"RegisterOn",
"SpacesOn",
"EmptyLinesOn",
"FortranWrapsOn",
"ExtensionsOn",
"ComparsionDiffMergeOn",
};
for (String name : propertiesNames) {
Global.properties.addFlagMenuItem(this, name);
}
}
}

View File

@@ -4,6 +4,7 @@ import Common.Visual.Menus.VisualiserMenu;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Visual.Menus.MainMenuBar.SynchronizationSettingsMenu;
import _VisualDVM.Visual.Menus.MainMenuBar.VersionsComparisonMenu;
import _VisualDVM.Visual.Menus.PropertiesSubmenu;
import _VisualDVM.Visual.Menus.SettingsSubmenu;
public class VisualiserSettingsMenu extends VisualiserMenu {
@@ -27,14 +28,7 @@ public class VisualiserSettingsMenu extends VisualiserMenu {
));
}
add(new SynchronizationSettingsMenu());
add(new SettingsSubmenu("Сравнение", null,
SettingName.ExtensionsOn,
SettingName.RegisterOn,
SettingName.SpacesOn,
SettingName.EmptyLinesOn,
SettingName.FortranWrapsOn,
SettingName.ComparsionDiffMergeOn
));
add(new VersionsComparisonMenu());
add((Global.mainModule.getDb()).settings.get(SettingName.Workspace).getMenuItem());
add((Global.mainModule.getDb()).settings.get(SettingName.BugReportsAgeLimit).getMenuItem());
}

View File

@@ -81,10 +81,10 @@ public class SapforVersionsComparisonForm extends ComparisonForm<SapforVersion_j
} else {
if (isReady()) {
if (getMaster().isReady()) {
boolean ExtensionsOn = (Global.mainModule.getDb()).settings.get(SettingName.ExtensionsOn).toBoolean();
boolean ExtensionsOn = (Global.properties.ExtensionsOn);
String name1 = ExtensionsOn ? getMaster().file.file.getName() : Utils_.getFileNameWithoutExtension(getMaster().file.file);
String name2 = ExtensionsOn ? file.file.getName() : Utils_.getFileNameWithoutExtension(file.file);
if ((Global.mainModule.getDb()).settings.get(SettingName.ComparsionDiffMergeOn).toBoolean()) {
if (Global.properties.ComparsionDiffMergeOn) {
if (name1.equalsIgnoreCase(name2))
master.DoComparePass(true);
} else
@@ -154,7 +154,7 @@ public class SapforVersionsComparisonForm extends ComparisonForm<SapforVersion_j
cbFile.setSelectedIndex(-1);
for (int i = 0; i < cbFile.getItemCount(); ++i) {
ProjectFile projectFile = cbFile.getItemAt(i);
if ((Global.mainModule.getDb()).settings.get(SettingName.ExtensionsOn).toBoolean()) {
if (Global.properties.ExtensionsOn) {
//если учитываем расширения, ищем полное совпадение
if (projectFile.file.getName().equals(file_name)) {
cbFile.setSelectedIndex(i);

View File

@@ -30,7 +30,7 @@ public abstract class TasksComparisonForm<T extends DBObject> extends Comparison
//в отличие от комбо боксов, тут события нажатия на кнопку, нет.
if (isReady()) {
if (slave.isReady()) {
if ((Global.mainModule.getDb()).settings.get(SettingName.ComparsionDiffMergeOn).toBoolean()) {
if (Global.properties.ComparsionDiffMergeOn) {
DoComparePass(true);
} else
DoShowPass(true);
@@ -41,7 +41,7 @@ public abstract class TasksComparisonForm<T extends DBObject> extends Comparison
} else {
if (isReady()) {
if (master.isReady()) {
if ((Global.mainModule.getDb()).settings.get(SettingName.ComparsionDiffMergeOn).toBoolean()) {
if (Global.properties.ComparsionDiffMergeOn) {
master.DoComparePass(true);
} else
master.DoShowPass(true);

View File

@@ -28,10 +28,10 @@ public class VersionsComparisonForm extends ComparisonForm<db_project_info> {
} else {
if (isReady()) {
if (getMaster().isReady()) {
boolean ExtensionsOn = (Global.mainModule.getDb()).settings.get(SettingName.ExtensionsOn).toBoolean();
boolean ExtensionsOn = (Global.properties.ExtensionsOn);
String name1 = ExtensionsOn ? getMaster().file.file.getName() : Utils_.getFileNameWithoutExtension(getMaster().file.file);
String name2 = ExtensionsOn ? file.file.getName() : Utils_.getFileNameWithoutExtension(file.file);
if ((Global.mainModule.getDb()).settings.get(SettingName.ComparsionDiffMergeOn).toBoolean()) {
if (Global.properties.ComparsionDiffMergeOn) {
if (name1.equalsIgnoreCase(name2))
master.DoComparePass(true);
} else
@@ -82,7 +82,7 @@ public class VersionsComparisonForm extends ComparisonForm<db_project_info> {
cbFile.setSelectedIndex(-1);
for (int i = 0; i < cbFile.getItemCount(); ++i) {
ProjectFile projectFile = cbFile.getItemAt(i);
if ((Global.mainModule.getDb()).settings.get(SettingName.ExtensionsOn).toBoolean()) {
if (Global.properties.ExtensionsOn) {
//если учитываем расширения, ищем полное совпадение
if (projectFile.file.getName().equals(file_in.file.getName())) {
cbFile.setSelectedIndex(i);
@@ -105,6 +105,6 @@ public class VersionsComparisonForm extends ComparisonForm<db_project_info> {
}
@Override
protected boolean fortranWrapsOn() {
return (Global.mainModule.getDb()).settings.get(SettingName.FortranWrapsOn).toBoolean();
return Global.properties.FortranWrapsOn;
}
}