Skip to content

Commit

Permalink
[LO extension] correct display of disabled default rules
Browse files Browse the repository at this point in the history
  • Loading branch information
FredKruse committed Mar 3, 2023
1 parent d290103 commit a60e6d1
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -433,6 +433,14 @@ public void removeDisabledRuleIds(Set<String> ruleIds) {
enabledRuleIds.addAll(ruleIds);
}

public void removeDisabledRuleId(String ruleId) {
disabledRuleIds.remove(ruleId);
}

public void removeEnabledRuleId(String ruleId) {
enabledRuleIds.remove(ruleId);
}

public void setEnabledRuleIds(Set<String> ruleIds) {
enabledRuleIds = ruleIds;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1663,20 +1663,31 @@ private JPanel getChangedRulesPanel(List<Rule> rules, boolean enabledRules, JPan
cons.fill = GridBagConstraints.NONE;
cons.insets = new Insets(4, 3, 0, 4);

Set<String> changedRuleIds;
List<String> changedRuleIds;
if (enabledRules) {
changedRuleIds = config.getEnabledRuleIds();
changedRuleIds = new ArrayList<String>(config.getEnabledRuleIds());
} else {
changedRuleIds = config.getDisabledRuleIds();
changedRuleIds = new ArrayList<String>(config.getDisabledRuleIds());
}

if (changedRuleIds != null) {
List<JCheckBox> ruleCheckboxes = new ArrayList<>();
for (String ruleId : changedRuleIds) {
for (int i = changedRuleIds.size() - 1; i >= 0; i--) {
String ruleId = changedRuleIds.get(i);
String ruleDescription = null;
for (Rule rule : rules) {
if (rule.getId().equals(ruleId)) {
ruleDescription = rule.getDescription();
if ((enabledRules && rule.isDefaultOff() && !rule.isOfficeDefaultOn()) ||
(!enabledRules && (!rule.isDefaultOff() || rule.isOfficeDefaultOn()))) {
ruleDescription = rule.getDescription();
} else {
if (enabledRules) {
config.removeEnabledRuleId(ruleId);
} else {
config.removeDisabledRuleId(ruleId);
}
}

break;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -493,29 +493,43 @@ Map<String, String> getDisabledRulesMap(String langCode) {
langCode = OfficeTools.localeToString(locale);
}
Map<String, String> disabledRulesMap = new HashMap<>();
List<Rule> allRules = lt.getAllRules();
for (String disabledRule : getDisabledRules(langCode)) {
String ruleDesc = null;
for (Rule rule : allRules) {
if (disabledRule.equals(rule.getId())) {
ruleDesc = rule.getDescription();
break;
if (langCode != null && lt != null && config != null) {
List<Rule> allRules = lt.getAllRules();
List<String> disabledRules = new ArrayList<String>(getDisabledRules(langCode));
for (int i = disabledRules.size() - 1; i >= 0; i--) {
String disabledRule = disabledRules.get(i);
String ruleDesc = null;
for (Rule rule : allRules) {
if (disabledRule.equals(rule.getId())) {
if (!rule.isDefaultOff() || rule.isOfficeDefaultOn()) {
ruleDesc = rule.getDescription();
} else {
removeDisabledRule(langCode, disabledRule);
}
break;
}
}
}
if (ruleDesc != null) {
disabledRulesMap.put(disabledRule, ruleDesc);
}
}
for (String disabledRule : config.getDisabledRuleIds()) {
String ruleDesc = null;
for (Rule rule : allRules) {
if (disabledRule.equals(rule.getId())) {
ruleDesc = rule.getDescription();
break;
if (ruleDesc != null) {
disabledRulesMap.put(disabledRule, ruleDesc);
}
}
if (ruleDesc != null) {
disabledRulesMap.put(disabledRule, ruleDesc);
disabledRules = new ArrayList<String>(config.getDisabledRuleIds());
for (int i = disabledRules.size() - 1; i >= 0; i--) {
String disabledRule = disabledRules.get(i);
String ruleDesc = null;
for (Rule rule : allRules) {
if (disabledRule.equals(rule.getId())) {
if (!rule.isDefaultOff() || rule.isOfficeDefaultOn()) {
ruleDesc = rule.getDescription();
} else {
config.removeDisabledRuleId(disabledRule);
}
break;
}
}
if (ruleDesc != null) {
disabledRulesMap.put(disabledRule, ruleDesc);
}
}
}
return disabledRulesMap;
Expand Down

0 comments on commit a60e6d1

Please sign in to comment.