From 83f232e55f41b06bb4f0af32773d73752853a30b Mon Sep 17 00:00:00 2001 From: Chris PeBenito <cpebenito@tresys.com> Date: Thu, 9 Jun 2016 09:35:27 -0400 Subject: [PATCH] MLS/RBACRuleQueryTab: Add tab save/restore functions. For #97 and #98. --- setoolsgui/apol/mlsrulequery.py | 33 ++++++++++++++++++++++++++++++ setoolsgui/apol/rbacrulequery.py | 35 ++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) diff --git a/setoolsgui/apol/mlsrulequery.py b/setoolsgui/apol/mlsrulequery.py index c64629a..097eafc 100644 --- a/setoolsgui/apol/mlsrulequery.py +++ b/setoolsgui/apol/mlsrulequery.py @@ -29,6 +29,8 @@ from ..models import SEToolsListModel, invert_list_selection from ..mlsrulemodel import MLSRuleTableModel from ..widget import SEToolsWidget from .queryupdater import QueryResultsUpdater +from .workspace import load_checkboxes, load_lineedits, load_listviews, load_textedits, \ + save_checkboxes, save_lineedits, save_listviews, save_textedits class MLSRuleQueryTab(SEToolsWidget, QScrollArea): @@ -210,6 +212,37 @@ class MLSRuleQueryTab(SEToolsWidget, QScrollArea): self.default_range.setToolTip("Error: {0}".format(ex)) self.default_range.setPalette(self.error_palette) + # + # Save/Load tab + # + def save(self): + """Return a dictionary of settings.""" + settings = {} + save_checkboxes(self, settings, ["criteria_expander", "notes_expander", + "range_transition", + "source_indirect", "source_regex", + "target_indirect", "target_regex"]) + + save_lineedits(self, settings, ["source", "target", "default_range"]) + + save_listviews(self, settings, ["tclass"]) + + save_textedits(self, settings, ["notes"]) + + return settings + + def load(self, settings): + load_checkboxes(self, settings, ["criteria_expander", "notes_expander", + "range_transition", + "source_indirect", "source_regex", + "target_indirect", "target_regex"]) + + load_lineedits(self, settings, ["source", "target", "default_range"]) + + load_listviews(self, settings, ["tclass"]) + + load_textedits(self, settings, ["notes"]) + # # Results runner # diff --git a/setoolsgui/apol/rbacrulequery.py b/setoolsgui/apol/rbacrulequery.py index acf5411..49bf580 100644 --- a/setoolsgui/apol/rbacrulequery.py +++ b/setoolsgui/apol/rbacrulequery.py @@ -29,6 +29,8 @@ from ..models import SEToolsListModel, invert_list_selection from ..rbacrulemodel import RBACRuleTableModel from ..widget import SEToolsWidget from .queryupdater import QueryResultsUpdater +from .workspace import load_checkboxes, load_lineedits, load_listviews, load_textedits, \ + save_checkboxes, save_lineedits, save_listviews, save_textedits class RBACRuleQueryTab(SEToolsWidget, QScrollArea): @@ -231,6 +233,39 @@ class RBACRuleQueryTab(SEToolsWidget, QScrollArea): self.clear_default_error() self.set_default_role() + # + # Save/Load tab + # + def save(self): + """Return a dictionary of settings.""" + settings = {} + save_checkboxes(self, settings, ["criteria_expander", "notes_expander", + "allow", "role_transition", + "source_indirect", "source_regex", + "target_indirect", "target_regex", + "default_regex"]) + + save_lineedits(self, settings, ["source", "target", "default_role"]) + + save_listviews(self, settings, ["tclass"]) + + save_textedits(self, settings, ["notes"]) + + return settings + + def load(self, settings): + load_checkboxes(self, settings, ["criteria_expander", "notes_expander", + "allow", "role_transition", + "source_indirect", "source_regex", + "target_indirect", "target_regex", + "default_regex"]) + + load_lineedits(self, settings, ["source", "target", "default_role"]) + + load_listviews(self, settings, ["tclass"]) + + load_textedits(self, settings, ["notes"]) + # # Results runner #