diff --git a/soitool/media/phonetable.png b/soitool/media/phonetable.png new file mode 100644 index 0000000000000000000000000000000000000000..2e699d71b68a4b6f7ccb259efbbebd341dcdbdde Binary files /dev/null and b/soitool/media/phonetable.png differ diff --git a/soitool/modules/module_phonebook.py b/soitool/modules/module_phonebook.py index 5ca1a392d9a51bcd651315f688c8a4f21301a8cd..4625f58480042f686c7f36abbfdfe00300ddc4f4 100644 --- a/soitool/modules/module_phonebook.py +++ b/soitool/modules/module_phonebook.py @@ -10,7 +10,7 @@ from PySide2.QtWidgets import ( QCheckBox, ) from PySide2.QtCore import Qt, QSize -from PySide2.QtGui import QKeySequence, QBrush, QColor +from PySide2.QtGui import QKeySequence, QBrush, QColor, QIcon from soitool.modules.module_base import ( ModuleBase, HEADLINE_FONT, @@ -303,24 +303,61 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta): # !!!!! MODULE BASE OPERATIONS !!!!! def get_size(self): - return super().get_size() + """Getter for module size. + + Returns + ------- + tupple + Size of the module (width, height) + """ + self.resize() + return (self.minimumWidth, self.minimumHeight) def get_data(self): - return super().get_data() + """Get module content as serialized data. + + Returns + ------- + dict + Serialized module content. + """ + + data = {} + + for column_index in range(self.table.columnCount()): + self.table.setCurrentCell(0, column_index) + header = self.table.currentItem().text() + if self.selected_columns[header]: + row_data = [] + for row_index in range(1, self.table.rowCount()): + self.table.setCurrentCell(row_index, column_index) + row_item = self.table.currentItem() + if row_item: + row_data.append(row_item.text()) + else: + row_data.append("") + data[header] = row_data + + return data @staticmethod def get_user_friendly_name(): - pass + """Get user friendly name. + + Returns + ------- + string + User friendly name. + """ + return "Telefonliste" @staticmethod def get_icon(): - pass + """Get icon. - -if __name__ == "__main__": - from PySide2.QtWidgets import QApplication - - app = QApplication() - module = PhonebookModule() - module.show() - app.exec_() + Returns + ------- + QIcon + Picture of module. + """ + return QIcon("soitool/media/phonetable.png")