def __init__(self, parent=None, metadata: Dict[str, Any] = None): super().__init__(parent) super().setWindowFlags(QtCore.Qt.Window | QtCore.Qt.WindowCloseButtonHint) self.setWindowTitle(self.TITLE) if metadata is None: self._metadata = {"author": None, "licence": None} else: self._metadata = copy.deepcopy(metadata) self._main_layout = QtWidgets.QFormLayout(self) self._author = QtWidgets.QLineEdit() self._author.setText("" if (self._metadata.get("author", None) is None ) else self._metadata["author"]) self._licence_text = QtWidgets.QTextEdit() self._licence_text.setText("" if ( self._metadata.get("licence", None) is None ) else self._metadata["licence"]) self._licence_btn = QtWidgets.QPushButton("From File") self._submit_btns = QtWidgets.QDialogButtonBox( QtWidgets.QDialogButtonBox.Cancel | QtWidgets.QDialogButtonBox.Ok) self._main_layout.addRow("Author:", self._author) self._main_layout.addRow("Licence:", self._licence_btn) self._main_layout.addRow(self._licence_text) self._main_layout.addRow(self._submit_btns) self._licence_btn.clicked.connect(self._on_file_req) self._submit_btns.accepted.connect(self._on_accept) self._submit_btns.rejected.connect(self.reject) self.setAttribute(QtCore.Qt.WA_DeleteOnClose, True)
def __init__(self, parent=None, name=""): super().__init__(parent) super().setWindowFlags(QtCore.Qt.Window | QtCore.Qt.WindowCloseButtonHint) self.setWindowTitle(name) self._result = None self._form_layout = QtWidgets.QFormLayout(self) self._hbox_layout = QtWidgets.QHBoxLayout() self._button = QtWidgets.QPushButton("Select") self._text = QtWidgets.QLineEdit("") self._text.setReadOnly(True) self._hbox_layout.addWidget(self._button) self._hbox_layout.addWidget(self._text) self._theme_text = QtWidgets.QLineEdit() self._form_layout.addRow("Theme Name:", self._theme_text) self._form_layout.addRow("Theme Directory:", self._hbox_layout) self._submit_btns = QtWidgets.QDialogButtonBox( QtWidgets.QDialogButtonBox.Cancel | QtWidgets.QDialogButtonBox.Ok) self._submit_btns.button( QtWidgets.QDialogButtonBox.Ok).setEnabled(False) self._form_layout.addRow(self._submit_btns) self.setLayout(self._form_layout) self._button.clicked.connect(self.open_dir) self._submit_btns.rejected.connect(self.reject) self._submit_btns.accepted.connect(self.accept) self._theme_text.textChanged.connect(lambda a: self.validate()) self.accepted.connect(self.on_submit_stuff) self.setAttribute(QtCore.Qt.WA_DeleteOnClose, True)