diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 764484f2..01ac9666 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -7,7 +7,16 @@ + + + + + + + + + diff --git a/properties b/properties index a8e0f499..1bd3a47b 100644 --- a/properties +++ b/properties @@ -41,5 +41,11 @@ "eraseTestingWorkspaces": true, "lastMachineId": 1, "lastUserId": 17, - "lastCompilerId": -1 + "lastCompilerId": -1, + "RegisterOn": false, + "SpacesOn": false, + "EmptyLinesOn": false, + "FortranWrapsOn": false, + "ExtensionsOn": false, + "ComparsionDiffMergeOn": true } \ No newline at end of file diff --git a/src/_VisualDVM/GlobalData/Settings/SettingName.java b/src/_VisualDVM/GlobalData/Settings/SettingName.java index 98d6bd89..d6d9a3d8 100644 --- a/src/_VisualDVM/GlobalData/Settings/SettingName.java +++ b/src/_VisualDVM/GlobalData/Settings/SettingName.java @@ -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, //-- // @@ -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: diff --git a/src/_VisualDVM/GlobalData/Settings/SettingsDBTable.java b/src/_VisualDVM/GlobalData/Settings/SettingsDBTable.java index 3f4d4588..b672e79c 100644 --- a/src/_VisualDVM/GlobalData/Settings/SettingsDBTable.java +++ b/src/_VisualDVM/GlobalData/Settings/SettingsDBTable.java @@ -32,7 +32,6 @@ public class SettingsDBTable extends DBTable { // 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 { AddSetting(new DBSetting(SettingName.SaveModifications, 1, SettingType.SapforFlag, ComponentType.SapforOptions)); // //- - // - 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)); - // AddSetting(new DBSetting(SettingName.BugReportsAgeLimit, 2, SettingType.IntField, ComponentType.Visualiser)); } public Vector getSettingsByOwner(ComponentType owner) { diff --git a/src/_VisualDVM/GlobalProperties.java b/src/_VisualDVM/GlobalProperties.java index 782788d7..ef7c41a0 100644 --- a/src/_VisualDVM/GlobalProperties.java +++ b/src/_VisualDVM/GlobalProperties.java @@ -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": diff --git a/src/_VisualDVM/Utils.java b/src/_VisualDVM/Utils.java index 81271fd1..648245b4 100644 --- a/src/_VisualDVM/Utils.java +++ b/src/_VisualDVM/Utils.java @@ -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"); } diff --git a/src/_VisualDVM/Visual/Menus/MainMenuBar/VersionsComparisonMenu.java b/src/_VisualDVM/Visual/Menus/MainMenuBar/VersionsComparisonMenu.java new file mode 100644 index 00000000..041d4a2d --- /dev/null +++ b/src/_VisualDVM/Visual/Menus/MainMenuBar/VersionsComparisonMenu.java @@ -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); + } + } +} diff --git a/src/_VisualDVM/Visual/Menus/MainMenuBar/VisualiserSettingsMenu/VisualiserSettingsMenu.java b/src/_VisualDVM/Visual/Menus/MainMenuBar/VisualiserSettingsMenu/VisualiserSettingsMenu.java index 68bcbda7..11807381 100644 --- a/src/_VisualDVM/Visual/Menus/MainMenuBar/VisualiserSettingsMenu/VisualiserSettingsMenu.java +++ b/src/_VisualDVM/Visual/Menus/MainMenuBar/VisualiserSettingsMenu/VisualiserSettingsMenu.java @@ -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()); } diff --git a/src/_VisualDVM/Visual/Windows/SapforVersionsComparisonForm.java b/src/_VisualDVM/Visual/Windows/SapforVersionsComparisonForm.java index 8757fe41..412121a2 100644 --- a/src/_VisualDVM/Visual/Windows/SapforVersionsComparisonForm.java +++ b/src/_VisualDVM/Visual/Windows/SapforVersionsComparisonForm.java @@ -81,10 +81,10 @@ public class SapforVersionsComparisonForm extends ComparisonForm 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 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); diff --git a/src/_VisualDVM/Visual/Windows/VersionsComparisonForm.java b/src/_VisualDVM/Visual/Windows/VersionsComparisonForm.java index 6ec4981b..bb30af36 100644 --- a/src/_VisualDVM/Visual/Windows/VersionsComparisonForm.java +++ b/src/_VisualDVM/Visual/Windows/VersionsComparisonForm.java @@ -28,10 +28,10 @@ public class VersionsComparisonForm extends ComparisonForm { } 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 { 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 { } @Override protected boolean fortranWrapsOn() { - return (Global.mainModule.getDb()).settings.get(SettingName.FortranWrapsOn).toBoolean(); + return Global.properties.FortranWrapsOn; } }