From a51eb8578e998a6a3d1a15631a31a712136a3af5 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Thu, 9 Jul 2020 16:43:57 +0300 Subject: [PATCH] support most of CanvasConfigView functionality --move the relevant qml files from containment into shell configuration files --- app/package/lattepackage.cpp | 2 +- app/view/settings/primaryconfigview.cpp | 4 + app/view/settings/subconfigview.cpp | 2 + .../package/contents/configuration/Canvas.qml | 25 --- .../configuration/CanvasConfiguration.qml | 168 ++++++++++++++++++ .../configuration/canvas}/HeaderSettings.qml | 5 +- .../configuration/canvas}/SettingsOverlay.qml | 9 +- .../configuration/canvas}/controls/Button.qml | 19 +- .../canvas}/controls/GraphicIcon.qml | 0 .../canvas}/controls/RearrangeIcon.qml | 0 .../canvas}/controls/StickIcon.qml | 1 - .../configuration/canvas}/maxlength/Ruler.qml | 5 +- .../canvas}/maxlength/RulerMouseArea.qml | 3 +- .../package/contents/images/canvas}/AUTHORS | 0 .../package/contents/images/canvas}/COPYING | 0 .../contents/images/canvas}/blueprint.jpg | Bin .../contents/images/canvas}/brownprint.jpg | Bin .../contents/images/canvas}/darkgreyprint.jpg | Bin .../contents/images/canvas}/goldprint.jpg | Bin .../contents/images/canvas}/greenprint.jpg | Bin .../images/canvas}/lightskyblueprint.jpg | Bin .../contents/images/canvas}/orangeprint.jpg | Bin .../contents/images/canvas}/pinkprint.jpg | Bin .../contents/images/canvas}/purpleprint.jpg | Bin .../contents/images/canvas}/redprint.jpg | Bin .../contents/images/canvas}/wheatprint.jpg | Bin 26 files changed, 192 insertions(+), 51 deletions(-) delete mode 100644 shell/package/contents/configuration/Canvas.qml create mode 100644 shell/package/contents/configuration/CanvasConfiguration.qml rename {containment/package/contents/ui/editmode => shell/package/contents/configuration/canvas}/HeaderSettings.qml (96%) rename {containment/package/contents/ui/editmode => shell/package/contents/configuration/canvas}/SettingsOverlay.qml (87%) rename {containment/package/contents/ui/editmode => shell/package/contents/configuration/canvas}/controls/Button.qml (78%) rename {containment/package/contents/ui/editmode => shell/package/contents/configuration/canvas}/controls/GraphicIcon.qml (100%) rename {containment/package/contents/ui/editmode => shell/package/contents/configuration/canvas}/controls/RearrangeIcon.qml (100%) rename {containment/package/contents/ui/editmode => shell/package/contents/configuration/canvas}/controls/StickIcon.qml (97%) rename {containment/package/contents/ui/editmode => shell/package/contents/configuration/canvas}/maxlength/Ruler.qml (98%) rename {containment/package/contents/ui/editmode => shell/package/contents/configuration/canvas}/maxlength/RulerMouseArea.qml (98%) rename {containment/package/contents/icons => shell/package/contents/images/canvas}/AUTHORS (100%) rename {containment/package/contents/icons => shell/package/contents/images/canvas}/COPYING (100%) rename {containment/package/contents/icons => shell/package/contents/images/canvas}/blueprint.jpg (100%) rename {containment/package/contents/icons => shell/package/contents/images/canvas}/brownprint.jpg (100%) rename {containment/package/contents/icons => shell/package/contents/images/canvas}/darkgreyprint.jpg (100%) rename {containment/package/contents/icons => shell/package/contents/images/canvas}/goldprint.jpg (100%) rename {containment/package/contents/icons => shell/package/contents/images/canvas}/greenprint.jpg (100%) rename {containment/package/contents/icons => shell/package/contents/images/canvas}/lightskyblueprint.jpg (100%) rename {containment/package/contents/icons => shell/package/contents/images/canvas}/orangeprint.jpg (100%) rename {containment/package/contents/icons => shell/package/contents/images/canvas}/pinkprint.jpg (100%) rename {containment/package/contents/icons => shell/package/contents/images/canvas}/purpleprint.jpg (100%) rename {containment/package/contents/icons => shell/package/contents/images/canvas}/redprint.jpg (100%) rename {containment/package/contents/icons => shell/package/contents/images/canvas}/wheatprint.jpg (100%) diff --git a/app/package/lattepackage.cpp b/app/package/lattepackage.cpp index 76a92c1e3..318f7df8b 100644 --- a/app/package/lattepackage.cpp +++ b/app/package/lattepackage.cpp @@ -48,7 +48,7 @@ void Package::initPackage(KPackage::Package *package) //Configuration package->addFileDefinition("lattedockconfigurationui", QStringLiteral("configuration/LatteDockConfiguration.qml"), i18n("Dock configuration UI")); package->addFileDefinition("lattedocksecondaryconfigurationui", QStringLiteral("configuration/LatteDockSecondaryConfiguration.qml"), i18n("Dock secondary configuration UI")); - package->addFileDefinition("canvasconfigurationui", QStringLiteral("configuration/Canvas.qml"), i18n("Dock canvas configuration UI")); + package->addFileDefinition("canvasconfigurationui", QStringLiteral("configuration/CanvasConfiguration.qml"), i18n("Dock canvas configuration UI")); package->addFileDefinition("configmodel", QStringLiteral("configuration/config.qml"), i18n("Config model")); package->addFileDefinition("splitter", QStringLiteral("images/splitter.svgz"), i18n("Splitter")); package->addFileDefinition("trademark", QStringLiteral("images/trademark.svgz"), i18n("Latte Trademark")); diff --git a/app/view/settings/primaryconfigview.cpp b/app/view/settings/primaryconfigview.cpp index 738579f33..326d7026b 100644 --- a/app/view/settings/primaryconfigview.cpp +++ b/app/view/settings/primaryconfigview.cpp @@ -87,6 +87,10 @@ PrimaryConfigView::PrimaryConfigView(Latte::View *view) PrimaryConfigView::~PrimaryConfigView() { + if (m_canvasConfigView) { + delete m_canvasConfigView; + } + if (m_secConfigView) { delete m_secConfigView; } diff --git a/app/view/settings/subconfigview.cpp b/app/view/settings/subconfigview.cpp index 1e8a1b290..64c232c51 100644 --- a/app/view/settings/subconfigview.cpp +++ b/app/view/settings/subconfigview.cpp @@ -24,6 +24,7 @@ #include "../view.h" #include "../../lattecorona.h" #include "../../layouts/manager.h" +#include "../../plasma/extended/theme.h" #include "../../settings/universalsettings.h" #include "../../shortcuts/globalshortcuts.h" #include "../../shortcuts/shortcutstracker.h" @@ -122,6 +123,7 @@ void SubConfigView::init() if (m_corona) { rootContext()->setContextProperty(QStringLiteral("universalSettings"), m_corona->universalSettings()); rootContext()->setContextProperty(QStringLiteral("layoutsManager"), m_corona->layoutsManager()); + rootContext()->setContextProperty(QStringLiteral("themeExtended"), m_corona->themeExtended()); } KDeclarative::KDeclarative kdeclarative; diff --git a/shell/package/contents/configuration/Canvas.qml b/shell/package/contents/configuration/Canvas.qml deleted file mode 100644 index e9bc7dcf1..000000000 --- a/shell/package/contents/configuration/Canvas.qml +++ /dev/null @@ -1,25 +0,0 @@ -/* -* Copyright 2020 Michail Vourlakos -* -* This file is part of Latte-Dock -* -* Latte-Dock is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License as -* published by the Free Software Foundation; either version 2 of -* the License, or (at your option) any later version. -* -* Latte-Dock is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ - -import QtQuick 2.7 - -Rectangle { - color: "red" - opacity: 0.5 -} diff --git a/shell/package/contents/configuration/CanvasConfiguration.qml b/shell/package/contents/configuration/CanvasConfiguration.qml new file mode 100644 index 000000000..e523c3f24 --- /dev/null +++ b/shell/package/contents/configuration/CanvasConfiguration.qml @@ -0,0 +1,168 @@ +/* +* Copyright 2020 Michail Vourlakos +* +* This file is part of Latte-Dock +* +* Latte-Dock is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation; either version 2 of +* the License, or (at your option) any later version. +* +* Latte-Dock is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see . +*/ + +import QtQuick 2.8 +import QtGraphicalEffects 1.0 + +import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.plasma.components 2.0 as PlasmaComponents + +import org.kde.latte.core 0.2 as LatteCore +import org.kde.latte.private.containment 0.1 as LatteContainment + +import "canvas" as CanvasComponent + +Item{ + id: root + + readonly property bool isVertical: plasmoid.formFactor === PlasmaCore.Types.Vertical + readonly property bool isHorizontal: !isVertical + + property int offset: { + if (latteView.behaveAsPlasmaPanel) { + return 0; + } + + if (root.isHorizontal) { + return width * (plasmoid.configuration.offset/100); + } else { + height * (plasmoid.configuration.offset/100) + } + } + + property int animationSpeed: LatteCore.WindowSystem.compositingActive ? 500 : 0 + + property int panelAlignment: plasmoid.configuration.alignment + + readonly property real appliedOpacity: imageTiler.opacity + readonly property real maxOpacity: plasmoid.configuration.inConfigureAppletsMode || !LatteCore.WindowSystem.compositingActive ? + 1 : plasmoid.configuration.editBackgroundOpacity + + + property string appChosenShadowColor: { + if (plasmoid.configuration.shadowColorType === LatteContainment.Types.ThemeColorShadow) { + var strC = String(theme.textColor); + return strC.indexOf("#") === 0 ? strC.substr(1) : strC; + } else if (plasmoid.configuration.shadowColorType === LatteContainment.Types.UserColorShadow) { + return plasmoid.configuration.shadowColor; + } + + // default shadow color + return "080808"; + } + + property string appShadowColorSolid: "#" + appChosenShadowColor + + //// BEGIN OF Behaviors + Behavior on offset { + NumberAnimation { + id: offsetAnimation + duration: animationSpeed + easing.type: Easing.OutCubic + } + } + //// END OF Behaviors + + Item { + id: graphicsSystem + readonly property bool isAccelerated: (GraphicsInfo.api !== GraphicsInfo.Software) + && (GraphicsInfo.api !== GraphicsInfo.Unknown) + } + + Image{ + id: imageTiler + anchors.fill: parent + opacity: root.maxOpacity + fillMode: Image.Tile + + source: { + if (hasBackground) { + return latteView.layout.background; + } + + return latteView.layout ? "../images/canvas/"+latteView.layout.background+"print.jpg" : "../images/canvas/blueprint.jpg" + } + + readonly property bool hasBackground: (latteView.layout && latteView.layout.background.startsWith("/")) ? true : false + + Behavior on opacity { + NumberAnimation { + duration: 0.8 * root.animationSpeed + easing.type: Easing.OutCubic + } + } + } + + MouseArea { + id: editBackMouseArea + anchors.fill: imageTiler + visible: !plasmoid.configuration.inConfigureAppletsMode + hoverEnabled: true + + property bool wheelIsBlocked: false; + readonly property double opacityStep: 0.1 + readonly property string tooltip: i18nc("opacity for background under edit mode, %0% is opacity percentage", + "You can use mouse wheel to change background opacity of %0%").arg(Math.round(plasmoid.configuration.editBackgroundOpacity * 100)) + + onWheel: { + processWheel(wheel); + } + + + function processWheel(wheel) { + if (wheelIsBlocked) { + return; + } + + wheelIsBlocked = true; + scrollDelayer.start(); + + var angle = wheel.angleDelta.y / 8; + + if (angle > 10) { + plasmoid.configuration.editBackgroundOpacity = Math.min(100, plasmoid.configuration.editBackgroundOpacity + opacityStep) + } else if (angle < -10) { + plasmoid.configuration.editBackgroundOpacity = Math.max(0, plasmoid.configuration.editBackgroundOpacity - opacityStep) + } + } + + //! A timer is needed in order to handle also touchpads that probably + //! send too many signals very fast. This way the signals per sec are limited. + //! The user needs to have a steady normal scroll in order to not + //! notice a annoying delay + Timer{ + id: scrollDelayer + + interval: 80 + onTriggered: editBackMouseArea.wheelIsBlocked = false; + } + } + + PlasmaComponents.Button { + anchors.fill: editBackMouseArea + opacity: 0 + tooltip: editBackMouseArea.tooltip + } + + //! Settings Overlay + CanvasComponent.SettingsOverlay { + id: settingsOverlay + anchors.fill: parent + } +} diff --git a/containment/package/contents/ui/editmode/HeaderSettings.qml b/shell/package/contents/configuration/canvas/HeaderSettings.qml similarity index 96% rename from containment/package/contents/ui/editmode/HeaderSettings.qml rename to shell/package/contents/configuration/canvas/HeaderSettings.qml index 5461d84d2..047ab378a 100644 --- a/containment/package/contents/ui/editmode/HeaderSettings.qml +++ b/shell/package/contents/configuration/canvas/HeaderSettings.qml @@ -20,7 +20,6 @@ import QtQuick 2.7 import QtQuick.Layouts 1.1 -import org.kde.plasma.plasmoid 2.0 import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.components 2.0 as PlasmaComponents @@ -58,7 +57,7 @@ Item { } if (plasmoid.location === PlasmaCore.Types.LeftEdge) { - return visibilityManager.thicknessNormalOriginalValue + ruler.thickness + headMargin * 2 - width/2 + height/2; + return latteView.normalHighestThickness + ruler.thickness + headMargin * 2 - width/2 + height/2; } else if (plasmoid.location === PlasmaCore.Types.RightEdge) { return headMargin - width/2 + height/2; } @@ -123,7 +122,7 @@ Item { text: i18n("Rearrange and configure your widgets") tooltip: i18n("Feel free to move around your widgets and configure them from their tooltips") - checked: root.inConfigureAppletsMode + checked: plasmoid.configuration.inConfigureAppletsMode iconPositionReversed: plasmoid.location === PlasmaCore.Types.RightEdge icon: SettingsControls.RearrangeIcon{} diff --git a/containment/package/contents/ui/editmode/SettingsOverlay.qml b/shell/package/contents/configuration/canvas/SettingsOverlay.qml similarity index 87% rename from containment/package/contents/ui/editmode/SettingsOverlay.qml rename to shell/package/contents/configuration/canvas/SettingsOverlay.qml index 1d670c650..71287e085 100644 --- a/containment/package/contents/ui/editmode/SettingsOverlay.qml +++ b/shell/package/contents/configuration/canvas/SettingsOverlay.qml @@ -21,14 +21,13 @@ import QtQuick 2.7 import QtGraphicalEffects 1.0 import QtQuick.Layouts 1.1 -import org.kde.plasma.plasmoid 2.0 import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.components 2.0 as PlasmaComponents import "controls" as SettingsControls import "maxlength" as MaximumLength -import "../../code/ColorizerTools.js" as ColorizerTools +//import "../../code/ColorizerTools.js" as ColorizerTools Item{ id: settingsRoot @@ -47,12 +46,12 @@ Item{ property string tooltip: "" - readonly property real textColorBrightness: ColorizerTools.colorBrightness(textColor) + readonly property real textColorBrightness: 150// ColorizerTools.colorBrightness(textColor) readonly property bool textColorIsDark: textColorBrightness < 127.5 readonly property color bestContrastedTextColor: { - if (imageTiler.opacity <= 0.4 && !root.inConfigureAppletsMode && themeExtended) { - return colorizerManager.currentBackgroundBrightness > 127.5 ? + if (imageTiler.opacity <= 0.4 && !plasmoid.configuration.inConfigureAppletsMode && themeExtended) { + return latteView.colorizer.currentBackgroundBrightness > 127.5 ? themeExtended.lightTheme.textColor : themeExtended.darkTheme.textColor; } diff --git a/containment/package/contents/ui/editmode/controls/Button.qml b/shell/package/contents/configuration/canvas/controls/Button.qml similarity index 78% rename from containment/package/contents/ui/editmode/controls/Button.qml rename to shell/package/contents/configuration/canvas/controls/Button.qml index 757341985..ae86a8b16 100644 --- a/containment/package/contents/ui/editmode/controls/Button.qml +++ b/shell/package/contents/configuration/canvas/controls/Button.qml @@ -20,7 +20,6 @@ import QtQuick 2.7 import QtQuick.Layouts 1.1 -import org.kde.plasma.plasmoid 2.0 import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.components 2.0 as PlasmaComponents @@ -43,19 +42,19 @@ Item{ readonly property color appliedTextColor: checked ? checkedTextColor : textColor readonly property color appliedBackgroundColor: checked ? checkedBackgroundColor : backgroundColor - readonly property color textColor: containsMouse ? colorizerManager.buttonTextColor : settingsRoot.textColor + readonly property color textColor: containsMouse ? latteView.colorizer.buttonTextColor : settingsRoot.textColor readonly property color backgroundColor: containsMouse ? hoveredBackground : normalBackground// "transparent" - readonly property color checkedTextColor: colorizerManager.buttonTextColor - readonly property color checkedBackgroundColor: colorizerManager.buttonFocusColor + readonly property color checkedTextColor: latteView.colorizer.buttonTextColor + readonly property color checkedBackgroundColor: latteView.colorizer.buttonFocusColor - readonly property color normalBackground: Qt.rgba(colorizerManager.buttonHoverColor.r, - colorizerManager.buttonHoverColor.g, - colorizerManager.buttonHoverColor.b, + readonly property color normalBackground: Qt.rgba(latteView.colorizer.buttonHoverColor.r, + latteView.colorizer.buttonHoverColor.g, + latteView.colorizer.buttonHoverColor.b, 0.3) - readonly property color hoveredBackground: Qt.rgba(colorizerManager.buttonHoverColor.r, - colorizerManager.buttonHoverColor.g, - colorizerManager.buttonHoverColor.b, + readonly property color hoveredBackground: Qt.rgba(latteView.colorizer.buttonHoverColor.r, + latteView.colorizer.buttonHoverColor.g, + latteView.colorizer.buttonHoverColor.b, 0.7) property Component icon diff --git a/containment/package/contents/ui/editmode/controls/GraphicIcon.qml b/shell/package/contents/configuration/canvas/controls/GraphicIcon.qml similarity index 100% rename from containment/package/contents/ui/editmode/controls/GraphicIcon.qml rename to shell/package/contents/configuration/canvas/controls/GraphicIcon.qml diff --git a/containment/package/contents/ui/editmode/controls/RearrangeIcon.qml b/shell/package/contents/configuration/canvas/controls/RearrangeIcon.qml similarity index 100% rename from containment/package/contents/ui/editmode/controls/RearrangeIcon.qml rename to shell/package/contents/configuration/canvas/controls/RearrangeIcon.qml diff --git a/containment/package/contents/ui/editmode/controls/StickIcon.qml b/shell/package/contents/configuration/canvas/controls/StickIcon.qml similarity index 97% rename from containment/package/contents/ui/editmode/controls/StickIcon.qml rename to shell/package/contents/configuration/canvas/controls/StickIcon.qml index 4a1c315b2..39799398a 100644 --- a/containment/package/contents/ui/editmode/controls/StickIcon.qml +++ b/shell/package/contents/configuration/canvas/controls/StickIcon.qml @@ -19,7 +19,6 @@ import QtQuick 2.7 -import org.kde.plasma.plasmoid 2.0 import org.kde.plasma.core 2.0 as PlasmaCore GraphicIcon{ diff --git a/containment/package/contents/ui/editmode/maxlength/Ruler.qml b/shell/package/contents/configuration/canvas/maxlength/Ruler.qml similarity index 98% rename from containment/package/contents/ui/editmode/maxlength/Ruler.qml rename to shell/package/contents/configuration/canvas/maxlength/Ruler.qml index e5df0bbfe..a84645a41 100644 --- a/containment/package/contents/ui/editmode/maxlength/Ruler.qml +++ b/shell/package/contents/configuration/canvas/maxlength/Ruler.qml @@ -21,7 +21,6 @@ import QtQuick 2.7 import QtQuick.Layouts 1.0 -import org.kde.plasma.plasmoid 2.0 import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.components 2.0 as PlasmaComponents @@ -33,9 +32,7 @@ Item{ width: root.isHorizontal ? userMaxLength : thickness height: root.isVertical ? userMaxLength : thickness - opacity: root.editMode ? 1 : 0 - - property int rulerAnimationTime: 0.8 * animations.duration.proposed + property int rulerAnimationTime: root.animationSpeed property int thicknessMargin: 0 readonly property bool containsMouse: rulerMouseArea.containsMouse diff --git a/containment/package/contents/ui/editmode/maxlength/RulerMouseArea.qml b/shell/package/contents/configuration/canvas/maxlength/RulerMouseArea.qml similarity index 98% rename from containment/package/contents/ui/editmode/maxlength/RulerMouseArea.qml rename to shell/package/contents/configuration/canvas/maxlength/RulerMouseArea.qml index 6616e0bc9..6a2cba33e 100644 --- a/containment/package/contents/ui/editmode/maxlength/RulerMouseArea.qml +++ b/shell/package/contents/configuration/canvas/maxlength/RulerMouseArea.qml @@ -27,8 +27,7 @@ import org.kde.latte.core 0.2 as LatteCore MouseArea{ id: rulerMouseArea - visible: root.editMode - hoverEnabled: root.editMode + hoverEnabled: true cursorShape: root.isHorizontal ? Qt.SizeHorCursor : Qt.SizeVerCursor onVisibleChanged: { diff --git a/containment/package/contents/icons/AUTHORS b/shell/package/contents/images/canvas/AUTHORS similarity index 100% rename from containment/package/contents/icons/AUTHORS rename to shell/package/contents/images/canvas/AUTHORS diff --git a/containment/package/contents/icons/COPYING b/shell/package/contents/images/canvas/COPYING similarity index 100% rename from containment/package/contents/icons/COPYING rename to shell/package/contents/images/canvas/COPYING diff --git a/containment/package/contents/icons/blueprint.jpg b/shell/package/contents/images/canvas/blueprint.jpg similarity index 100% rename from containment/package/contents/icons/blueprint.jpg rename to shell/package/contents/images/canvas/blueprint.jpg diff --git a/containment/package/contents/icons/brownprint.jpg b/shell/package/contents/images/canvas/brownprint.jpg similarity index 100% rename from containment/package/contents/icons/brownprint.jpg rename to shell/package/contents/images/canvas/brownprint.jpg diff --git a/containment/package/contents/icons/darkgreyprint.jpg b/shell/package/contents/images/canvas/darkgreyprint.jpg similarity index 100% rename from containment/package/contents/icons/darkgreyprint.jpg rename to shell/package/contents/images/canvas/darkgreyprint.jpg diff --git a/containment/package/contents/icons/goldprint.jpg b/shell/package/contents/images/canvas/goldprint.jpg similarity index 100% rename from containment/package/contents/icons/goldprint.jpg rename to shell/package/contents/images/canvas/goldprint.jpg diff --git a/containment/package/contents/icons/greenprint.jpg b/shell/package/contents/images/canvas/greenprint.jpg similarity index 100% rename from containment/package/contents/icons/greenprint.jpg rename to shell/package/contents/images/canvas/greenprint.jpg diff --git a/containment/package/contents/icons/lightskyblueprint.jpg b/shell/package/contents/images/canvas/lightskyblueprint.jpg similarity index 100% rename from containment/package/contents/icons/lightskyblueprint.jpg rename to shell/package/contents/images/canvas/lightskyblueprint.jpg diff --git a/containment/package/contents/icons/orangeprint.jpg b/shell/package/contents/images/canvas/orangeprint.jpg similarity index 100% rename from containment/package/contents/icons/orangeprint.jpg rename to shell/package/contents/images/canvas/orangeprint.jpg diff --git a/containment/package/contents/icons/pinkprint.jpg b/shell/package/contents/images/canvas/pinkprint.jpg similarity index 100% rename from containment/package/contents/icons/pinkprint.jpg rename to shell/package/contents/images/canvas/pinkprint.jpg diff --git a/containment/package/contents/icons/purpleprint.jpg b/shell/package/contents/images/canvas/purpleprint.jpg similarity index 100% rename from containment/package/contents/icons/purpleprint.jpg rename to shell/package/contents/images/canvas/purpleprint.jpg diff --git a/containment/package/contents/icons/redprint.jpg b/shell/package/contents/images/canvas/redprint.jpg similarity index 100% rename from containment/package/contents/icons/redprint.jpg rename to shell/package/contents/images/canvas/redprint.jpg diff --git a/containment/package/contents/icons/wheatprint.jpg b/shell/package/contents/images/canvas/wheatprint.jpg similarity index 100% rename from containment/package/contents/icons/wheatprint.jpg rename to shell/package/contents/images/canvas/wheatprint.jpg