diff --git a/soitool/modules/code_table_base.py b/soitool/modules/code_table_base.py index b4c5ee1f7e29528d9023796ea87f95a962058d38..7370cda5e4826d6e5afa6372099b953c103512ea 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 1902bdbf3ccbe37aace3eee610b4a4733982f927..921ea647da3e18582104a7b4d566479e506646c9 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 7b87d96b67669e18bd34a5315ea358b38a4f9ae7..1d6f055d20dd0a418317e7a77d3e140540159b2d 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 d4ea83c7ce89e1fc3e89ba0c4caa47bc449663dc..5ef03ddbde0ef4e611a1356f0faeb497ae5ae8ac 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 a4b917ab9911bd4d9d9961d35f92f9f24a4323f1..43bef7fb8d9e3ca625877c9ae7dfae4705b3dd93 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."""