Skip to content
Snippets Groups Projects
Commit eeeb9e46 authored by vflyson's avatar vflyson
Browse files

[regex_filter] Improve the rule swap mechanism

parent 00b40e62
No related branches found
No related tags found
No related merge requests found
......@@ -88,11 +88,20 @@ class RegexFilterPlugin(GajimPlugin):
return False
@log_calls('RegexFilterPlugin')
def swap_rules(self, oldNum, newNum):
if newNum >= 0 and newNum < len(self.get_rules().items()):
temp = self.config[str(newNum)]
self.config[str(newNum)] = self.config[str(oldNum)]
self.config[str(oldNum)] = temp
def swap_rules(self, old_num, down):
new_num = old_num
rules_num = self.rules.keys()
rules_num.sort()
if down:
rules_num = reversed(rules_num)
for num in rules_num:
if num == old_num:
break
new_num = num
if new_num != old_num:
temp = self.config[str(new_num)]
self.config[str(new_num)] = self.config[str(old_num)]
self.config[str(old_num)] = temp
self.create_rules()
return True
return False
......
......@@ -115,14 +115,13 @@ class RegexFilterPluginConfigDialog(GajimPluginConfigDialog):
for rule in rules:
it = model.get_iter(rule)
ruleNum = model.get(it, 0)
self.plugin.swap_rules("%d" % ruleNum, int("%d" % ruleNum) - 1)
ruleNum, _ = model.get(it, 0, 1)
self.plugin.swap_rules(ruleNum, False)
def move_down_button_clicked_cb(self, button, *args):
model, rules = self.rules_view.get_selection().get_selected_rows()
for rule in rules:
it = model.get_iter(rule)
ruleNum = model.get(it, 0)
self.plugin.swap_rules("%d" % ruleNum, int("%d" % ruleNum) + 1)
ruleNum, _ = model.get(it, 0, 1)
self.plugin.swap_rules(ruleNum, True)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment