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("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 [
|
for key in [
|
||||||
"dialog_load_path", # dialog_save_path is in LocalFileOutputDevicePlugin
|
"dialog_load_path", # dialog_save_path is in LocalFileOutputDevicePlugin
|
||||||
"dialog_profile_path",
|
"dialog_profile_path",
|
||||||
|
@ -2011,6 +2015,33 @@ class CuraApplication(QtApplication):
|
||||||
show_whatsnew_only = has_active_machine and has_app_just_upgraded
|
show_whatsnew_only = has_active_machine and has_app_just_upgraded
|
||||||
return show_whatsnew_only
|
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)
|
@pyqtSlot(result = int)
|
||||||
def appWidth(self) -> int:
|
def appWidth(self) -> int:
|
||||||
main_window = QtApplication.getInstance().getMainWindow()
|
main_window = QtApplication.getInstance().getMainWindow()
|
||||||
|
|
|
@ -10,7 +10,15 @@ import UM 1.4 as UM
|
||||||
Packages
|
Packages
|
||||||
{
|
{
|
||||||
pageTitle: catalog.i18nc("@header", "Manage 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
|
model: Marketplace.LocalPackageList
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,7 +50,10 @@ Window
|
||||||
|
|
||||||
OnboardBanner
|
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.
|
// Page title.
|
||||||
|
|
|
@ -6,7 +6,15 @@ import Marketplace 1.0 as Marketplace
|
||||||
Packages
|
Packages
|
||||||
{
|
{
|
||||||
pageTitle: catalog.i18nc("@header", "Install Materials")
|
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
|
model: Marketplace.RemotePackageList
|
||||||
{
|
{
|
||||||
packageTypeFilter: "material"
|
packageTypeFilter: "material"
|
||||||
|
|
|
@ -11,7 +11,12 @@ import Cura 1.6 as Cura
|
||||||
// Onboarding banner.
|
// Onboarding banner.
|
||||||
Rectangle
|
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
|
Layout.preferredHeight: childrenRect.height + 2 * UM.Theme.getSize("default_margin").height
|
||||||
anchors
|
anchors
|
||||||
|
@ -41,14 +46,7 @@ Rectangle
|
||||||
{
|
{
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
color: UM.Theme.getColor("primary_text")
|
color: UM.Theme.getColor("primary_text")
|
||||||
source: {
|
source: UM.Theme.getIcon(bannerIcon)
|
||||||
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 "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,7 +65,8 @@ Rectangle
|
||||||
color: UM.Theme.getColor("primary_text")
|
color: UM.Theme.getColor("primary_text")
|
||||||
hoverColor: UM.Theme.getColor("primary_text_hover")
|
hoverColor: UM.Theme.getColor("primary_text_hover")
|
||||||
iconSource: UM.Theme.getIcon("Cancel")
|
iconSource: UM.Theme.getIcon("Cancel")
|
||||||
onClicked: confirmDeleteDialog.visible = true
|
|
||||||
|
onClicked: onRemoveBanner()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Body
|
// Body
|
||||||
|
@ -83,13 +82,6 @@ Rectangle
|
||||||
font: UM.Theme.getFont("medium")
|
font: UM.Theme.getFont("medium")
|
||||||
color: UM.Theme.getColor("primary_text")
|
color: UM.Theme.getColor("primary_text")
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
text: {
|
text: bannerBody
|
||||||
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 "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -11,7 +11,10 @@ ListView
|
||||||
id: packages
|
id: packages
|
||||||
|
|
||||||
property string pageTitle
|
property string pageTitle
|
||||||
property string bannerType
|
property bool bannerVisible
|
||||||
|
property string bannerIcon
|
||||||
|
property string bannerBody
|
||||||
|
property var onRemoveBanner
|
||||||
|
|
||||||
width: parent.width
|
width: parent.width
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,15 @@ import Marketplace 1.0 as Marketplace
|
||||||
Packages
|
Packages
|
||||||
{
|
{
|
||||||
pageTitle: catalog.i18nc("@header", "Install Plugins")
|
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
|
model: Marketplace.RemotePackageList
|
||||||
{
|
{
|
||||||
packageTypeFilter: "plugin"
|
packageTypeFilter: "plugin"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue