mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-12 17:27:51 -06:00
33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
from UM import i18nCatalog
|
|
from UM.Message import Message
|
|
from cura.CuraApplication import CuraApplication
|
|
|
|
|
|
class RestartApplicationPresenter:
|
|
"""Presents a dialog telling the user that a restart is required to apply changes
|
|
|
|
Since we cannot restart Cura, the app is closed instead when the button is clicked
|
|
"""
|
|
def __init__(self, app: CuraApplication) -> None:
|
|
self._app = app
|
|
self._i18n_catalog = i18nCatalog("cura")
|
|
|
|
def present(self) -> None:
|
|
app_name = self._app.getApplicationDisplayName()
|
|
|
|
message = Message(self._i18n_catalog.i18nc("@info:generic",
|
|
"You need to quit and restart {} before changes have effect.",
|
|
app_name),
|
|
message_type = Message.MessageType.WARNING)
|
|
|
|
message.addAction("quit",
|
|
name="Quit " + app_name,
|
|
icon = "",
|
|
description="Close the application",
|
|
button_align=Message.ActionButtonAlignment.ALIGN_RIGHT)
|
|
|
|
message.actionTriggered.connect(self._quitClicked)
|
|
message.show()
|
|
|
|
def _quitClicked(self, *_):
|
|
self._app.windowClosed()
|