diff --git a/soitool/modules/module_phonebook.py b/soitool/modules/module_phonebook.py index b41de9af2915c0bc385aea1ae69a842a1b5a6615..be37faa6f80b3677d8894abfb0f63e0da5d96f2f 100644 --- a/soitool/modules/module_phonebook.py +++ b/soitool/modules/module_phonebook.py @@ -7,6 +7,7 @@ from PySide2.QtWidgets import ( QPushButton, QHBoxLayout, QTableWidgetItem, + QCheckBox, ) from PySide2.QtCore import Qt, QSize from PySide2.QtGui import QKeySequence, QBrush, QColor @@ -19,7 +20,38 @@ from soitool.modules.module_base import ( class ComponentsChoicePopup(QDialog): - pass + def __init__(self, table_columns): + + super().__init__() + + self.table_columns = table_columns + + self.setWindowTitle("Kolonner") + + # Layout + layout = QVBoxLayout() + + for header in self.table_columns.keys(): + box = QCheckBox(header) + box.setChecked(self.table_columns[header]) + layout.addWidget(box) + + btn_done = QPushButton("Bruk") + btn_done.clicked.connect(lambda: self.update_table_columns(layout)) + layout.addWidget(btn_done) + + self.setLayout(layout) + + def update_table_columns(self, layout): + + for item_index in range(layout.count()): + item = layout.itemAt(item_index).widget() + if isinstance(item, QCheckBox): + self.table_columns[item.text()] = item.isChecked() + self.accept() + + def get_table_columns(self): + return self.table_columns class Meta(type(ModuleBase), type(QWidget)): @@ -62,11 +94,6 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta): layout.addWidget(self.buttons) self.setLayout(layout) - for i in range(self.table.columnCount()): - self.table.setCurrentCell(0, i) - item = self.table.currentItem() - print(item.text()) - self.set_columns() # !!!!! CREATE MAIN COMPONENTS !!!!!! @@ -98,7 +125,7 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta): def __creat_buttons(self): btn_components = QPushButton("Kolonner", self) - btn_components.clicked.connect(lambda: print("btn_components clicked")) + btn_components.clicked.connect(lambda: self.open_popup()) btn_components.setShortcut(QKeySequence(Qt.CTRL + Qt.Key_K)) btn_components.setFixedWidth(100) @@ -157,9 +184,7 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta): self.resize() def set_columns(self): - print(self.table_columns.keys()) for header in self.table_columns.keys(): - print(header) self.table.setColumnHidden( self.get_column_index_by_header(header), not (self.table_columns[header]), @@ -191,7 +216,10 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta): self.setFixedSize(QSize(width, height)) def open_popup(self): - pass + popup = ComponentsChoicePopup(self.table_columns) + popup.exec_() + self.table_columns = popup.get_table_columns() + self.set_columns() # !!!!! MODULE BASE OPERATIONS !!!!!