Improve handling of tool dialogs on project close
This commit is contained in:
@@ -198,7 +198,7 @@ class SharedData(QObject):
|
||||
|
||||
def closeProject(self) -> None:
|
||||
"""Close the current project."""
|
||||
self._closeDialogs()
|
||||
self._closeToolDialogs()
|
||||
self.project.closeProject(self._idleTime)
|
||||
self._resetProject()
|
||||
self._resetIdleTimer()
|
||||
@@ -357,15 +357,12 @@ class SharedData(QObject):
|
||||
self._idleTime = 0.0
|
||||
return
|
||||
|
||||
def _closeDialogs(self) -> None:
|
||||
"""Close non-modal dialogs."""
|
||||
from novelwriter.tools.manuscript import GuiManuscript
|
||||
from novelwriter.tools.writingstats import GuiWritingStats
|
||||
|
||||
def _closeToolDialogs(self) -> None:
|
||||
"""Close all open tool dialogs."""
|
||||
from novelwriter.extensions.modified import NToolDialog
|
||||
for widget in self.mainGui.children():
|
||||
if isinstance(widget, (GuiManuscript, GuiWritingStats)):
|
||||
if isinstance(widget, NToolDialog):
|
||||
widget.close()
|
||||
|
||||
return
|
||||
|
||||
# END Class SharedData
|
||||
|
||||
Reference in New Issue
Block a user