Merge pull request #6347 from Ultimaker/allow_hiding_new_cloud_printers_popup

Store in preferences if the user wants to hide the message
This commit is contained in:
Ian Paschal 2019-09-13 12:54:01 +02:00 committed by GitHub
commit 495ed17294
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 4 deletions

View File

@ -28,7 +28,7 @@ class CloudFlowMessage(Message):
lifetime=0, lifetime=0,
dismissable=True, dismissable=True,
option_state=False, option_state=False,
image_source=image_path, image_source=QUrl.fromLocalFile(image_path),
image_caption=I18N_CATALOG.i18nc("@info:status Ultimaker Cloud should not be translated.", image_caption=I18N_CATALOG.i18nc("@info:status Ultimaker Cloud should not be translated.",
"Connect to Ultimaker Cloud"), "Connect to Ultimaker Cloud"),
) )

View File

@ -2,7 +2,7 @@
# Cura is released under the terms of the LGPLv3 or higher. # Cura is released under the terms of the LGPLv3 or higher.
from UM import i18nCatalog from UM import i18nCatalog
from UM.Message import Message from UM.Message import Message
from cura.CuraApplication import CuraApplication
I18N_CATALOG = i18nCatalog("cura") I18N_CATALOG = i18nCatalog("cura")
@ -13,16 +13,25 @@ class CloudPrinterDetectedMessage(Message):
# Singleton used to prevent duplicate messages of this type at the same time. # Singleton used to prevent duplicate messages of this type at the same time.
__is_visible = False __is_visible = False
# Store in preferences to hide this message in the future.
_preference_key = "cloud/block_new_printers_popup"
def __init__(self) -> None: def __init__(self) -> None:
super().__init__( super().__init__(
title=I18N_CATALOG.i18nc("@info:title", "New cloud printers found"), title=I18N_CATALOG.i18nc("@info:title", "New cloud printers found"),
text=I18N_CATALOG.i18nc("@info:message", "New printers have been found connected to your account, " text=I18N_CATALOG.i18nc("@info:message", "New printers have been found connected to your account, "
"you can find them in your list of discovered printers."), "you can find them in your list of discovered printers."),
lifetime=10, lifetime=0,
dismissable=True dismissable=True,
option_state=False,
option_text=I18N_CATALOG.i18nc("@info:option_text", "Do not show this message again")
) )
self.optionToggled.connect(self._onDontAskMeAgain)
CuraApplication.getInstance().getPreferences().addPreference(self._preference_key, False)
def show(self) -> None: def show(self) -> None:
if CuraApplication.getInstance().getPreferences().getValue(self._preference_key):
return
if CloudPrinterDetectedMessage.__is_visible: if CloudPrinterDetectedMessage.__is_visible:
return return
super().show() super().show()
@ -31,3 +40,6 @@ class CloudPrinterDetectedMessage(Message):
def hide(self, send_signal = True) -> None: def hide(self, send_signal = True) -> None:
super().hide(send_signal) super().hide(send_signal)
CloudPrinterDetectedMessage.__is_visible = False CloudPrinterDetectedMessage.__is_visible = False
def _onDontAskMeAgain(self, checked: bool) -> None:
CuraApplication.getInstance().getPreferences().setValue(self._preference_key, checked)