Merge pull request #1798 from pypeclub/bugfix/settings_error_on_show

Settings error dialog on show
This commit is contained in:
Jakub Trllo 2021-07-29 17:00:17 +02:00 committed by GitHub
commit e4f827e919
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 1 deletions

View file

@ -294,6 +294,7 @@ class SettingsCategoryWidget(QtWidgets.QWidget):
msg = "<br><br>".join(warnings)
dialog = QtWidgets.QMessageBox(self)
dialog.setWindowTitle("Save warnings")
dialog.setText(msg)
dialog.setIcon(QtWidgets.QMessageBox.Warning)
dialog.exec_()
@ -303,6 +304,7 @@ class SettingsCategoryWidget(QtWidgets.QWidget):
except Exception as exc:
formatted_traceback = traceback.format_exception(*sys.exc_info())
dialog = QtWidgets.QMessageBox(self)
dialog.setWindowTitle("Unexpected error")
msg = "Unexpected error happened!\n\nError: {}".format(str(exc))
dialog.setText(msg)
dialog.setDetailedText("\n".join(formatted_traceback))
@ -392,6 +394,7 @@ class SettingsCategoryWidget(QtWidgets.QWidget):
except Exception as exc:
formatted_traceback = traceback.format_exception(*sys.exc_info())
dialog = QtWidgets.QMessageBox(self)
dialog.setWindowTitle("Unexpected error")
msg = "Unexpected error happened!\n\nError: {}".format(str(exc))
dialog.setText(msg)
dialog.setDetailedText("\n".join(formatted_traceback))

View file

@ -94,7 +94,8 @@ class MainWidget(QtWidgets.QWidget):
super(MainWidget, self).showEvent(event)
if self._reset_on_show:
self._reset_on_show = False
self.reset()
# Trigger reset with 100ms delay
QtCore.QTimer.singleShot(100, self.reset)
def _show_password_dialog(self):
if self._password_dialog:
@ -107,6 +108,8 @@ class MainWidget(QtWidgets.QWidget):
self._password_dialog = None
if password_passed:
self.reset()
if not self.isVisible():
self.show()
else:
self.close()