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 ( ...@@ -7,6 +7,7 @@ from PySide2.QtWidgets import (
QPushButton, QPushButton,
QHBoxLayout, QHBoxLayout,
QTableWidgetItem, QTableWidgetItem,
QCheckBox,
) )
from PySide2.QtCore import Qt, QSize from PySide2.QtCore import Qt, QSize
from PySide2.QtGui import QKeySequence, QBrush, QColor from PySide2.QtGui import QKeySequence, QBrush, QColor
...@@ -19,7 +20,38 @@ from soitool.modules.module_base import ( ...@@ -19,7 +20,38 @@ from soitool.modules.module_base import (
class ComponentsChoicePopup(QDialog): 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)): class Meta(type(ModuleBase), type(QWidget)):
...@@ -62,11 +94,6 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta): ...@@ -62,11 +94,6 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta):
layout.addWidget(self.buttons) layout.addWidget(self.buttons)
self.setLayout(layout) 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() self.set_columns()
# !!!!! CREATE MAIN COMPONENTS !!!!!! # !!!!! CREATE MAIN COMPONENTS !!!!!!
...@@ -98,7 +125,7 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta): ...@@ -98,7 +125,7 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta):
def __creat_buttons(self): def __creat_buttons(self):
btn_components = QPushButton("Kolonner", 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.setShortcut(QKeySequence(Qt.CTRL + Qt.Key_K))
btn_components.setFixedWidth(100) btn_components.setFixedWidth(100)
...@@ -157,9 +184,7 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta): ...@@ -157,9 +184,7 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta):
self.resize() self.resize()
def set_columns(self): def set_columns(self):
print(self.table_columns.keys())
for header in self.table_columns.keys(): for header in self.table_columns.keys():
print(header)
self.table.setColumnHidden( self.table.setColumnHidden(
self.get_column_index_by_header(header), self.get_column_index_by_header(header),
not (self.table_columns[header]), not (self.table_columns[header]),
...@@ -191,7 +216,10 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta): ...@@ -191,7 +216,10 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta):
self.setFixedSize(QSize(width, height)) self.setFixedSize(QSize(width, height))
def open_popup(self): 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 !!!!! # !!!!! 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