def accept_category(self): if self._category is None: self._category = Filter() self._category.set_description(self.description_entry.text()) self._category.set_enabled(self.enabled_check.isChecked()) self._category.set_selected_by_default(self.default_check.isChecked()) self.accept()
class EditCategoryDialog(QDialog): def __init__(self, category=None): QDialog.__init__(self, None, Qt.WindowTitleHint) self._category = category description_label = QLabel("Description") self.description_entry = QLineEdit() self.description_entry.setMinimumWidth(60) self.enabled_check = QCheckBox("Enabled") self.default_check = QCheckBox("Selected as Default") if category is not None: self.description_entry.setText(self._category.get_description()) self.enabled_check.setChecked(self._category.get_enabled()) self.default_check.setChecked(self._category.get_selected_by_default()) layout = QGridLayout() layout.addWidget(description_label, 0, 0, 1, 1, Qt.AlignRight) layout.addWidget(self.description_entry, 0, 1, 1, 2) layout.addWidget(self.enabled_check, 1, 1) layout.addWidget(self.default_check, 2, 1) accept_text = "Edit Category" if category is not None else "Add Category" self.setWindowTitle(accept_text) accept_button = QPushButton(accept_text) accept_button.clicked.connect(self.accept_category) reject_button = QPushButton("Cancel") reject_button.clicked.connect(self.reject) button_layout = QHBoxLayout() button_layout.addStretch(1) button_layout.addWidget(accept_button) button_layout.addWidget(reject_button) layout.addLayout(button_layout, 3, 0, 1, 3) self.setFixedWidth(250) self.setFixedHeight(130) self.setLayout(layout) def accept_category(self): if self._category is None: self._category = Filter() self._category.set_description(self.description_entry.text()) self._category.set_enabled(self.enabled_check.isChecked()) self._category.set_selected_by_default(self.default_check.isChecked()) self.accept() def get_category(self): return self._category