def __init__(self, app, parent, model, **kwargs):
        flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
        super().__init__(parent, flags, **kwargs)
        self.app = app
        self.specific_actions = frozenset()
        self._setupUI()
        self.model = model  # ExcludeListDialogCore
        self.model.view = self
        self.table = ExcludeListTable(app, view=self.tableView)  # Qt ExcludeListTable
        self._row_matched = False  # test if at least one row matched our test string
        self._input_styled = False

        self.buttonAdd.clicked.connect(self.addStringFromLineEdit)
        self.buttonRemove.clicked.connect(self.removeSelected)
        self.buttonRestore.clicked.connect(self.restoreDefaults)
        self.buttonClose.clicked.connect(self.accept)
        self.buttonHelp.clicked.connect(self.display_help_message)
        self.buttonTestString.clicked.connect(self.onTestStringButtonClicked)
        self.inputLine.textEdited.connect(self.reset_input_style)
        self.testLine.textEdited.connect(self.reset_input_style)
        self.testLine.textEdited.connect(self.reset_table_style)