Skip to content
Snippets Groups Projects
Commit 791ac4ca authored by morkolai's avatar morkolai
Browse files

#96 Lagt til popup for valg av kolonner

parent 837d52a4
No related branches found
No related tags found
1 merge request!57#96 Telefonliste & Fiks til høyde på tabeller (rundt oppløsning)
Pipeline #83380 failed
......@@ -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 !!!!!
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment