CURA-4895 Close the splash screen when the early crash dialog appears. Increase the size of 'show detailed crash report button'

This commit is contained in:
Diego Prado Gesto 2018-02-05 17:17:46 +01:00
parent e64fb9c762
commit a85a720184
2 changed files with 10 additions and 5 deletions

View File

@ -72,8 +72,10 @@ class CrashHandler:
if has_started and exception_type not in fatal_exception_types:
return
self._send_report_checkbox = None
self.early_crash_dialog = self._createEarlyCrashDialog()
if not has_started:
self._send_report_checkbox = None
self.early_crash_dialog = self._createEarlyCrashDialog()
self.dialog = QDialog()
self._createDialog()
@ -99,7 +101,7 @@ class CrashHandler:
self._send_report_checkbox.setChecked(True)
show_details_button = QPushButton(catalog.i18nc("@action:button", "Show detailed crash report"), dialog)
show_details_button.setMaximumWidth(180)
show_details_button.setMaximumWidth(200)
show_details_button.clicked.connect(self._showDetailedReport)
layout.addWidget(self._send_report_checkbox)

View File

@ -99,18 +99,21 @@ def exceptHook(hook_type, value, traceback):
from PyQt5.Qt import QApplication
if CuraApplication.Created:
_crash_handler = CrashHandler(hook_type, value, traceback, has_started)
if CuraApplication.splash is not None:
CuraApplication.splash.close()
if not has_started:
CuraApplication.getInstance().removePostedEvents(None)
_crash_handler.early_crash_dialog.show()
sys.exit(CuraApplication.getInstance().exec_())
else:
_crash_handler.show()
sys.exit(1)
else:
application = QApplication(sys.argv)
application.removePostedEvents(None)
_crash_handler = CrashHandler(hook_type, value, traceback, has_started)
CuraApplication.getInstance().closeSplash()
# This means the QtApplication could be created and so the splash screen. Then Cura closes it
if CuraApplication.splash is not None:
CuraApplication.splash.close()
_crash_handler.early_crash_dialog.show()
sys.exit(application.exec_())