from qgis.PyQt.QtWidgets import ( QWidget, QGridLayout, QLabel, QLineEdit, QGroupBox, QVBoxLayout, QPushButton ) from sn_basis.logic.settings_logic import SettingsLogic class SettingsTab(QWidget): def __init__(self, parent=None): super().__init__(parent) self.logic = SettingsLogic() main_layout = QVBoxLayout() # 🟦 Benutzerspezifische Festlegungen user_group = QGroupBox("Benutzerspezifische Festlegungen") user_layout = QGridLayout() self.amt = QLineEdit() self.behoerde = QLineEdit() self.landkreis_user = QLineEdit() self.sachgebiet = QLineEdit() user_layout.addWidget(QLabel("Amt:"), 0, 0) user_layout.addWidget(self.amt, 0, 1) user_layout.addWidget(QLabel("Behörde:"), 1, 0) user_layout.addWidget(self.behoerde, 1, 1) user_layout.addWidget(QLabel("Landkreis:"), 2, 0) user_layout.addWidget(self.landkreis_user, 2, 1) user_layout.addWidget(QLabel("Sachgebiet:"), 3, 0) user_layout.addWidget(self.sachgebiet, 3, 1) user_group.setLayout(user_layout) # 🟨 Projektspezifische Festlegungen project_group = QGroupBox("Projektspezifische Festlegungen") project_layout = QGridLayout() self.bezeichnung = QLineEdit() self.verfahrensnummer = QLineEdit() self.gemeinden = QLineEdit() self.landkreise_proj = QLineEdit() project_layout.addWidget(QLabel("Bezeichnung:"), 0, 0) project_layout.addWidget(self.bezeichnung, 0, 1) project_layout.addWidget(QLabel("Verfahrensnummer:"), 1, 0) project_layout.addWidget(self.verfahrensnummer, 1, 1) project_layout.addWidget(QLabel("Gemeinde(n):"), 2, 0) project_layout.addWidget(self.gemeinden, 2, 1) project_layout.addWidget(QLabel("Landkreis(e):"), 3, 0) project_layout.addWidget(self.landkreise_proj, 3, 1) project_group.setLayout(project_layout) # 🟩 Speichern-Button save_button = QPushButton("Speichern") save_button.clicked.connect(self.save_data) # Layout zusammenfügen main_layout.addWidget(user_group) main_layout.addWidget(project_group) main_layout.addStretch() main_layout.addWidget(save_button) self.setLayout(main_layout) self.load_data() def save_data(self): fields = { "amt": self.amt.text(), "behoerde": self.behoerde.text(), "landkreis_user": self.landkreis_user.text(), "sachgebiet": self.sachgebiet.text(), "bezeichnung": self.bezeichnung.text(), "verfahrensnummer": self.verfahrensnummer.text(), "gemeinden": self.gemeinden.text(), "landkreise_proj": self.landkreise_proj.text() } self.logic.save(fields) def load_data(self): data = self.logic.load() self.amt.setText(data["amt"]) self.behoerde.setText(data["behoerde"]) self.landkreis_user.setText(data["landkreis_user"]) self.sachgebiet.setText(data["sachgebiet"]) self.bezeichnung.setText(data["bezeichnung"]) self.verfahrensnummer.setText(data["verfahrensnummer"]) self.gemeinden.setText(data["gemeinden"]) self.landkreise_proj.setText(data["landkreise_proj"])