From d16e97c2556f5f43e3f00eee6200de70a182e412 Mon Sep 17 00:00:00 2001 From: "Anders H. Rebner" <anderhre@stud.ntnu.no> Date: Mon, 13 Apr 2020 13:26:33 +0200 Subject: [PATCH] =?UTF-8?q?#105=20Funksjonsendring=20for=20=C3=A5=20unng?= =?UTF-8?q?=C3=A5=20duplisering?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soitool/modules/code_table_base.py | 21 ++++--------------- .../modules/module_authentication_board.py | 13 ++---------- soitool/modules/module_base.py | 12 +++++------ soitool/modules/module_subtractorcodes.py | 13 ++---------- soitool/modules/module_table.py | 14 ++++++------- 5 files changed, 19 insertions(+), 54 deletions(-) diff --git a/soitool/modules/code_table_base.py b/soitool/modules/code_table_base.py index b4c5ee1..7370cda 100644 --- a/soitool/modules/code_table_base.py +++ b/soitool/modules/code_table_base.py @@ -48,10 +48,7 @@ class CodeTableBase(ModuleBase, QTableWidget, metaclass=Meta): # Resize table when headline changes self.cellChanged.connect( lambda: resize_table( - self, - resize_rows=False, - resize_columns=False, - has_headline=True, + self, rows=False, columns=False, has_headline=True, ) ) # If parameters are None, generate new table @@ -61,13 +58,8 @@ class CodeTableBase(ModuleBase, QTableWidget, metaclass=Meta): self.resizeRowsToContents() self.insert_headline(self.start_headline) - # pylint: disable=R0801 - # Disabling "duplicate-code" because this is a single function-call resize_table( - self, - resize_columns=False, - resize_rows=False, - has_headline=True, + self, columns=False, rows=False, has_headline=True, ) else: self.code_length = data["code_length"] @@ -86,7 +78,7 @@ class CodeTableBase(ModuleBase, QTableWidget, metaclass=Meta): cells[i + 1][j] ) # +1 skip headline if j == 2 and self.type == AUTHENTICATIONBOARDMODULE: - item.setTextAlignment(Qt.AlignLeft) + item.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter) else: item.setTextAlignment(Qt.AlignCenter) self.setItem(i, j, item) @@ -95,13 +87,8 @@ class CodeTableBase(ModuleBase, QTableWidget, metaclass=Meta): self.resizeRowsToContents() self.insert_headline(cells[0]) - # pylint: disable=R0801 - # Disabling "duplicate-code" because this is a single function-call resize_table( - self, - resize_columns=False, - resize_rows=False, - has_headline=True, + self, columns=False, rows=False, has_headline=True, ) self.setFixedWidth(size["width"]) self.setFixedHeight(size["height"]) diff --git a/soitool/modules/module_authentication_board.py b/soitool/modules/module_authentication_board.py index 1902bdb..921ea64 100644 --- a/soitool/modules/module_authentication_board.py +++ b/soitool/modules/module_authentication_board.py @@ -139,14 +139,7 @@ class AuthenticationBoardModule(CodeTableBase): self.resizeColumnToContents(2) self.resizeRowToContents(selected_row_index + 1) - # pylint: disable=R0801 - # Disabling "duplicate-code" because this is a single function-call - resize_table( - self, - resize_columns=False, - resize_rows=False, - has_headline=True, - ) + resize_table(self, columns=False, rows=False, has_headline=True) def remove_row(self, row_index): """Remove selected row. @@ -163,9 +156,7 @@ class AuthenticationBoardModule(CodeTableBase): for i in range(row_index, self.rowCount()): self.item(i, 0).setText(self.code_characters[i - 1]) self.item(i, 1).setText(str(i - 1)) - resize_table( - self, resize_columns=False, resize_rows=False, has_headline=True - ) + resize_table(self, columns=False, rows=False, has_headline=True) def generate_authentication_numbers(self): """Generate two non-equal numbers between 1 and CODE_LENGTH. diff --git a/soitool/modules/module_base.py b/soitool/modules/module_base.py index 7b87d96..1d6f055 100644 --- a/soitool/modules/module_base.py +++ b/soitool/modules/module_base.py @@ -38,26 +38,24 @@ class ModuleBase(ABC): raise NotImplementedError -def resize_table( - table, resize_rows=True, resize_columns=True, has_headline=False -): +def resize_table(table, rows=True, columns=True, has_headline=False): """Resize a given QTableWidget. Parameters ---------- table : QTableWidget QTablewidget-instance to resize. - resize_rows : bool + rows : bool Resizes rows to contents if True, by default True. - resize_columns : bool + columns : bool Resizes columns to contents if True, by default True. has_headline : bool True if the table has a headline, by default False. Last column is widened if headline is wider than table. """ - if resize_columns: + if columns: table.resizeColumnsToContents() - if resize_rows: + if rows: table.resizeRowsToContents() # If table has a headline, make sure table is wide enough to fit it. diff --git a/soitool/modules/module_subtractorcodes.py b/soitool/modules/module_subtractorcodes.py index d4ea83c..5ef03dd 100644 --- a/soitool/modules/module_subtractorcodes.py +++ b/soitool/modules/module_subtractorcodes.py @@ -117,15 +117,8 @@ class SubtractorcodesModule(CodeTableBase): item_code.setFlags(item_code.flags() ^ Qt.ItemIsEditable) self.setItem(selected_row_index + 1, 2, item_code) - # pylint: disable=R0801 - # Disabling "duplicate-code" because this is a single function-call self.resizeRowToContents(selected_row_index + 1) - resize_table( - self, - resize_columns=False, - resize_rows=False, - has_headline=True, - ) + resize_table(self, columns=False, rows=False, has_headline=True) def remove_row(self, row_index): """Remove the selected row. @@ -138,9 +131,7 @@ class SubtractorcodesModule(CodeTableBase): self.removeRow(row_index) self.insert_row_identifiers(has_headline=True) - resize_table( - self, resize_columns=False, resize_rows=False, has_headline=True - ) + resize_table(self, columns=False, rows=False, has_headline=True) @staticmethod def get_user_friendly_name(): diff --git a/soitool/modules/module_table.py b/soitool/modules/module_table.py index a4b917a..43bef7f 100644 --- a/soitool/modules/module_table.py +++ b/soitool/modules/module_table.py @@ -50,7 +50,7 @@ class TableModule(ModuleBase, QTableWidget, metaclass=Meta): self.setRowCount(START_ROWS) # Resize width and height of rows, columns and window - resize_table(self, resize_rows=True, resize_columns=True) + resize_table(self) # Set header-items for i in range(self.columnCount()): @@ -74,9 +74,7 @@ class TableModule(ModuleBase, QTableWidget, metaclass=Meta): self.setFixedWidth(size["width"]) self.setFixedHeight(size["height"]) - self.cellChanged.connect( - lambda: resize_table(self, resize_rows=True, resize_columns=True) - ) + self.cellChanged.connect(lambda: resize_table(self)) def keyPressEvent(self, event): """Launch actions when specific combinations of keys are pressed. @@ -131,24 +129,24 @@ class TableModule(ModuleBase, QTableWidget, metaclass=Meta): """Add column to the right of selected column.""" self.insertColumn(self.currentColumn() + 1) self.set_header_item(self.currentColumn() + 1, "") - resize_table(self, resize_rows=True, resize_columns=True) + resize_table(self) def remove_column(self): """Remove selected column if two or more columns exist.""" if self.columnCount() > 1: self.removeColumn(self.currentColumn()) - resize_table(self, resize_rows=True, resize_columns=True) + resize_table(self) def add_row(self): """Add row below selected row.""" self.insertRow(self.currentRow() + 1) - resize_table(self, resize_rows=True, resize_columns=True) + resize_table(self) def remove_row(self): """Remove selected row if two or more rows exist (including header).""" if self.rowCount() > 2 and self.currentRow() != 0: self.removeRow(self.currentRow()) - resize_table(self, resize_rows=True, resize_columns=True) + resize_table(self) def get_size(self): """Return size of widget.""" -- GitLab