mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-19 12:47:49 -06:00
Remove banners when clicking close button
This commit is contained in:
parent
20f94add47
commit
3ddfa6486b
7 changed files with 76 additions and 23 deletions
|
@ -572,6 +572,10 @@ class CuraApplication(QtApplication):
|
|||
|
||||
preferences.addPreference("general/accepted_user_agreement", False)
|
||||
|
||||
preferences.addPreference("cura/market_place_show_plugin_banner", True)
|
||||
preferences.addPreference("cura/market_place_show_material_banner", True)
|
||||
preferences.addPreference("cura/market_place_show_manage_packages_banner", True)
|
||||
|
||||
for key in [
|
||||
"dialog_load_path", # dialog_save_path is in LocalFileOutputDevicePlugin
|
||||
"dialog_profile_path",
|
||||
|
@ -2011,6 +2015,33 @@ class CuraApplication(QtApplication):
|
|||
show_whatsnew_only = has_active_machine and has_app_just_upgraded
|
||||
return show_whatsnew_only
|
||||
|
||||
@pyqtSlot(result = bool)
|
||||
def shouldShowMarketPlacePluginBanner(self) -> bool:
|
||||
return self._preferences.getValue("cura/market_place_show_plugin_banner")
|
||||
|
||||
@pyqtSlot(result = bool)
|
||||
def shouldShowMarketPlaceMaterialBanner(self) -> bool:
|
||||
return self._preferences.getValue("cura/market_place_show_material_banner")
|
||||
|
||||
@pyqtSlot(result = bool)
|
||||
def shouldShowMarketPlaceManagePackagesBanner(self) -> bool:
|
||||
return self._preferences.getValue("cura/market_place_show_manage_packages_banner")
|
||||
|
||||
@pyqtSlot()
|
||||
def closeMarketPlacePluginBanner(self) -> None:
|
||||
Logger.log("i", "Close market place plugin banner")
|
||||
self._preferences.setValue("cura/market_place_show_plugin_banner", False)
|
||||
|
||||
@pyqtSlot()
|
||||
def closeMarketPlaceMaterialBanner(self) -> None:
|
||||
Logger.log("i", "Close market place material banner")
|
||||
self._preferences.setValue("cura/market_place_show_material_banner", False)
|
||||
|
||||
@pyqtSlot()
|
||||
def closeMarketPlaceManagePackagesBanner(self) -> None:
|
||||
Logger.log("i", "Close market place manage packages banner")
|
||||
self._preferences.setValue("cura/market_place_show_manage_packages_banner", False)
|
||||
|
||||
@pyqtSlot(result = int)
|
||||
def appWidth(self) -> int:
|
||||
main_window = QtApplication.getInstance().getMainWindow()
|
||||
|
|
|
@ -10,7 +10,15 @@ import UM 1.4 as UM
|
|||
Packages
|
||||
{
|
||||
pageTitle: catalog.i18nc("@header", "Manage packages")
|
||||
bannerType: "__MANAGE_PACKAGES__"
|
||||
|
||||
bannerVisible: CuraApplication.shouldShowMarketPlaceManagePackagesBanner()
|
||||
bannerIcon: "ArrowDoubleCircleRight"
|
||||
bannerBody: catalog.i18nc("@text", "Manage your Ultimaker Cura plugins and material profiles here. Make sure to keep your plugins up to date and backup your setup regularly.")
|
||||
onRemoveBanner: function() {
|
||||
CuraApplication.closeMarketPlaceManagePackagesBanner();
|
||||
bannerVisible = false;
|
||||
}
|
||||
|
||||
model: Marketplace.LocalPackageList
|
||||
{
|
||||
}
|
||||
|
|
|
@ -50,7 +50,10 @@ Window
|
|||
|
||||
OnboardBanner
|
||||
{
|
||||
bannerType: content.item && content.item.bannerType
|
||||
bannerVisible: content.item && content.item.bannerVisible
|
||||
bannerBody: content.item && content.item.bannerBody
|
||||
bannerIcon: content.item && content.item.bannerIcon
|
||||
onRemoveBanner: content.item && content.item.onRemoveBanner
|
||||
}
|
||||
|
||||
// Page title.
|
||||
|
|
|
@ -6,7 +6,15 @@ import Marketplace 1.0 as Marketplace
|
|||
Packages
|
||||
{
|
||||
pageTitle: catalog.i18nc("@header", "Install Materials")
|
||||
bannerType: "__MATERIALS__"
|
||||
|
||||
bannerVisible: CuraApplication.shouldShowMarketPlaceMaterialBanner()
|
||||
bannerIcon: "Spool"
|
||||
bannerBody: catalog.i18nc("@text", "Streamline your workflow and customize your Ultimaker Cura experience with plugins contributed by our amazing community of users.")
|
||||
onRemoveBanner: function() {
|
||||
CuraApplication.closeMarketPlaceMaterialBanner();
|
||||
bannerVisible = false;
|
||||
}
|
||||
|
||||
model: Marketplace.RemotePackageList
|
||||
{
|
||||
packageTypeFilter: "material"
|
||||
|
|
|
@ -11,7 +11,12 @@ import Cura 1.6 as Cura
|
|||
// Onboarding banner.
|
||||
Rectangle
|
||||
{
|
||||
property var bannerType
|
||||
property bool bannerVisible
|
||||
property string bannerIcon
|
||||
property string bannerBody
|
||||
property var onRemoveBanner
|
||||
|
||||
visible: bannerVisible
|
||||
|
||||
Layout.preferredHeight: childrenRect.height + 2 * UM.Theme.getSize("default_margin").height
|
||||
anchors
|
||||
|
@ -41,14 +46,7 @@ Rectangle
|
|||
{
|
||||
anchors.fill: parent
|
||||
color: UM.Theme.getColor("primary_text")
|
||||
source: {
|
||||
switch (bannerType) {
|
||||
case "__PLUGINS__" : return UM.Theme.getIcon("Shop");
|
||||
case "__MATERIALS__" : return UM.Theme.getIcon("Spool");
|
||||
case "__MANAGE_PACKAGES__" : return UM.Theme.getIcon("ArrowDoubleCircleRight");
|
||||
default: return "";
|
||||
}
|
||||
}
|
||||
source: UM.Theme.getIcon(bannerIcon)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -67,7 +65,8 @@ Rectangle
|
|||
color: UM.Theme.getColor("primary_text")
|
||||
hoverColor: UM.Theme.getColor("primary_text_hover")
|
||||
iconSource: UM.Theme.getIcon("Cancel")
|
||||
onClicked: confirmDeleteDialog.visible = true
|
||||
|
||||
onClicked: onRemoveBanner()
|
||||
}
|
||||
|
||||
// Body
|
||||
|
@ -83,13 +82,6 @@ Rectangle
|
|||
font: UM.Theme.getFont("medium")
|
||||
color: UM.Theme.getColor("primary_text")
|
||||
wrapMode: Text.WordWrap
|
||||
text: {
|
||||
switch (bannerType) {
|
||||
case "__PLUGINS__" : return catalog.i18nc("@text", "Streamline your workflow and customize your Ultimaker Cura experience with plugins contributed by our amazing community of users.");
|
||||
case "__MATERIALS__" : return catalog.i18nc("@text", "Select and install material profiles optimised for your Ultimaker 3D printers.");
|
||||
case "__MANAGE_PACKAGES__" : return catalog.i18nc("@text", "Manage your Ultimaker Cura plugins and material profiles here. Make sure to keep your plugins up to date and backup your setup regularly.");
|
||||
default: return "";
|
||||
}
|
||||
}
|
||||
text: bannerBody
|
||||
}
|
||||
}
|
|
@ -11,7 +11,10 @@ ListView
|
|||
id: packages
|
||||
|
||||
property string pageTitle
|
||||
property string bannerType
|
||||
property bool bannerVisible
|
||||
property string bannerIcon
|
||||
property string bannerBody
|
||||
property var onRemoveBanner
|
||||
|
||||
width: parent.width
|
||||
|
||||
|
|
|
@ -6,7 +6,15 @@ import Marketplace 1.0 as Marketplace
|
|||
Packages
|
||||
{
|
||||
pageTitle: catalog.i18nc("@header", "Install Plugins")
|
||||
bannerType: "__PLUGINS__"
|
||||
|
||||
bannerVisible: CuraApplication.shouldShowMarketPlacePluginBanner()
|
||||
bannerIcon: "Shop"
|
||||
bannerBody: catalog.i18nc("@text", "Select and install material profiles optimised for your Ultimaker 3D printers.")
|
||||
onRemoveBanner: function() {
|
||||
CuraApplication.closeMarketPlacePluginBanner();
|
||||
bannerVisible = false;
|
||||
}
|
||||
|
||||
model: Marketplace.RemotePackageList
|
||||
{
|
||||
packageTypeFilter: "plugin"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue