aboutsummaryrefslogtreecommitdiff
path: root/components/effects/ColorTransition.qml
diff options
context:
space:
mode:
Diffstat (limited to 'components/effects/ColorTransition.qml')
-rw-r--r--components/effects/ColorTransition.qml58
1 files changed, 58 insertions, 0 deletions
diff --git a/components/effects/ColorTransition.qml b/components/effects/ColorTransition.qml
new file mode 100644
index 00000000..b73af906
--- /dev/null
+++ b/components/effects/ColorTransition.qml
@@ -0,0 +1,58 @@
+// Copyright (c) 2014-2019, The Monero Project
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification, are
+// permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this list of
+// conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice, this list
+// of conditions and the following disclaimer in the documentation and/or other
+// materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its contributors may be
+// used to endorse or promote products derived from this software without specific
+// prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import QtQuick 2.9
+import QtGraphicalEffects 1.0
+
+import "../" as MoneroComponents
+
+Item {
+ id: root
+ property var targetObj
+ property string blackColor: ""
+ property string whiteColor: ""
+ property int duration: 300
+ property bool themeTransition: true
+
+ states: [
+ State {
+ name: "black";
+ when: MoneroComponents.Style.blackTheme && root.themeTransition
+ PropertyChanges { target: root.targetObj; color: root.blackColor}
+ }, State {
+ name: "white";
+ when: !MoneroComponents.Style.blackTheme && root.themeTransition
+ PropertyChanges { target: root.targetObj; color: root.whiteColor}
+ }
+ ]
+
+ transitions: Transition {
+ enabled: appWindow.themeTransition
+ ColorAnimation { properties: "color"; easing.type: Easing.InOutQuad; duration: root.duration }
+ }
+}