Add Welcome Page of Qt Design Studio
Change-Id: I492d27aa5f899630863eb902bf0acc9d9610b80e Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
@@ -60,7 +60,8 @@ SUBDIRS = \
|
||||
cppcheck \
|
||||
compilationdatabaseprojectmanager \
|
||||
perfprofiler \
|
||||
qmlpreview
|
||||
qmlpreview \
|
||||
studiowelcome
|
||||
|
||||
qtHaveModule(serialport) {
|
||||
SUBDIRS += serialterminal
|
||||
|
21
src/plugins/studiowelcome/StudioWelcome.json.in
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
\"Name\" : \"StudioWelcome\",
|
||||
\"Version\" : \"$$QTCREATOR_VERSION\",
|
||||
\"CompatVersion\" : \"$$QTCREATOR_COMPAT_VERSION\",
|
||||
\"Revision\" : \"$$QTC_PLUGIN_REVISION\",
|
||||
\"DisabledByDefault\" : true,
|
||||
\"Vendor\" : \"The Qt Company Ltd\",
|
||||
\"Copyright\" : \"(C) $$QTCREATOR_COPYRIGHT_YEAR The Qt Company Ltd\",
|
||||
\"License\" : [ \"Commercial Usage\",
|
||||
\"\",
|
||||
\"Licensees holding valid Qt Commercial licenses may use this plugin in accordance with the Qt Commercial License Agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and The Qt Company.\",
|
||||
\"\",
|
||||
\"GNU General Public License Usage\",
|
||||
\"\",
|
||||
\"Alternatively, this plugin may be used under the terms of the GNU General Public License version 3 as published by the Free Software Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT included in the packaging of this plugin. Please review the following information to ensure the GNU General Public License requirements will be met: https://www.gnu.org/licenses/gpl-3.0.html.\"
|
||||
],
|
||||
\"Category\" : \"Qt Quick\",
|
||||
\"Description\" : \"Qt Design Studio Welcome Page.\",
|
||||
\"Url\" : \"http://www.qt.io\",
|
||||
$$dependencyList
|
||||
}
|
BIN
src/plugins/studiowelcome/images/mode_welcome_mask.png
Normal file
After Width: | Height: | Size: 101 B |
BIN
src/plugins/studiowelcome/images/mode_welcome_mask@2x.png
Normal file
After Width: | Height: | Size: 107 B |
97
src/plugins/studiowelcome/qml/splashscreen/Arc.qml
Normal file
@@ -0,0 +1,97 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.9
|
||||
import QtQuick.Shapes 1.0
|
||||
|
||||
Shape {
|
||||
id: root
|
||||
|
||||
//Antialiasing workaround
|
||||
layer.enabled: true
|
||||
layer.textureSize: Qt.size(width * 2, height * 2)
|
||||
layer.smooth: true
|
||||
|
||||
implicitWidth: 100
|
||||
implicitHeight: 100
|
||||
|
||||
property alias fillColor: path.fillColor
|
||||
property alias strokeColor: path.strokeColor
|
||||
property alias strokeWidth: path.strokeWidth
|
||||
property alias capStyle: path.capStyle
|
||||
property alias strokeStyle: path.strokeStyle
|
||||
property alias fillGradient: path.fillGradient
|
||||
|
||||
property real begin: 0
|
||||
property real end: 90
|
||||
|
||||
property real alpha: end - begin
|
||||
|
||||
function polarToCartesianX(centerX, centerY, radius, angleInDegrees) {
|
||||
var angleInRadians = angleInDegrees * Math.PI / 180.0
|
||||
var x = centerX + radius * Math.cos(angleInRadians)
|
||||
return x
|
||||
}
|
||||
|
||||
function polarToCartesianY(centerX, centerY, radius, angleInDegrees) {
|
||||
var angleInRadians = angleInDegrees * Math.PI / 180.0
|
||||
var y = centerY + radius * Math.sin(angleInRadians)
|
||||
return y
|
||||
}
|
||||
|
||||
ShapePath {
|
||||
id: path
|
||||
|
||||
property real __xRadius: width / 2 - strokeWidth / 2
|
||||
property real __yRadius: height / 2 - strokeWidth / 2
|
||||
|
||||
property real __Xcenter: width / 2
|
||||
property real __Ycenter: height / 2
|
||||
strokeColor: "#000000"
|
||||
|
||||
fillColor: "transparent"
|
||||
strokeWidth: 1
|
||||
capStyle: ShapePath.FlatCap
|
||||
|
||||
startX: root.polarToCartesianX(path.__Xcenter, path.__Ycenter,
|
||||
path.__xRadius, root.begin - 180)
|
||||
startY: root.polarToCartesianY(path.__Xcenter, path.__Ycenter,
|
||||
path.__yRadius, root.begin - 180)
|
||||
|
||||
PathArc {
|
||||
id: arc
|
||||
|
||||
x: root.polarToCartesianX(path.__Xcenter, path.__Ycenter,
|
||||
path.__xRadius, root.end - 180)
|
||||
y: root.polarToCartesianY(path.__Xcenter, path.__Ycenter,
|
||||
path.__yRadius, root.end - 180)
|
||||
|
||||
radiusY: path.__yRadius
|
||||
radiusX: path.__xRadius
|
||||
|
||||
useLargeArc: root.alpha > 180
|
||||
}
|
||||
}
|
||||
}
|
148
src/plugins/studiowelcome/qml/splashscreen/ArcAnimation.qml
Normal file
@@ -0,0 +1,148 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Timeline 1.0
|
||||
|
||||
Item {
|
||||
id: arcItem
|
||||
width: 549
|
||||
height: 457
|
||||
Arc {
|
||||
id: arc
|
||||
x: 401
|
||||
y: 191
|
||||
width: 52
|
||||
height: 52
|
||||
strokeColor: "#5d9dea"
|
||||
end: 0
|
||||
scale: 0.8
|
||||
strokeWidth: 7
|
||||
}
|
||||
|
||||
Arc {
|
||||
id: arc1
|
||||
x: 353
|
||||
y: 203
|
||||
width: 52
|
||||
height: 52
|
||||
rotation: -45
|
||||
strokeWidth: 7
|
||||
scale: 0.6
|
||||
strokeColor: "#ea6d60"
|
||||
end: 0
|
||||
}
|
||||
|
||||
Arc {
|
||||
id: arc2
|
||||
x: 390
|
||||
y: 226
|
||||
width: 52
|
||||
height: 52
|
||||
rotation: 90
|
||||
scale: 0.5
|
||||
strokeWidth: 7
|
||||
strokeColor: "#aa97f4"
|
||||
end: 0
|
||||
}
|
||||
|
||||
Timeline {
|
||||
id: timeline
|
||||
startFrame: 0
|
||||
enabled: true
|
||||
endFrame: 1000
|
||||
|
||||
KeyframeGroup {
|
||||
target: arc
|
||||
property: "end"
|
||||
|
||||
Keyframe {
|
||||
value: 0
|
||||
frame: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
value: 280
|
||||
frame: 520
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
value: 0
|
||||
frame: 1000
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: arc1
|
||||
property: "end"
|
||||
|
||||
Keyframe {
|
||||
value: 0
|
||||
frame: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
value: 320
|
||||
frame: 690
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
value: 0
|
||||
frame: 1000
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: arc2
|
||||
property: "end"
|
||||
|
||||
Keyframe {
|
||||
value: 0
|
||||
frame: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
value: 290
|
||||
frame: 320
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
value: 0
|
||||
frame: 1000
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PropertyAnimation {
|
||||
id: propertyAnimation
|
||||
target: timeline
|
||||
property: "currentFrame"
|
||||
running: true
|
||||
loops: -1
|
||||
duration: 2600
|
||||
from: timeline.startFrame
|
||||
to: timeline.endFrame
|
||||
}
|
||||
}
|
93
src/plugins/studiowelcome/qml/splashscreen/Dof_Effect.qml
Normal file
@@ -0,0 +1,93 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
Item {
|
||||
id: root
|
||||
default property alias content: stack.children
|
||||
property alias maskBlurRadius: maskedBlur.radius
|
||||
property alias maskBlurSamples: maskedBlur.samples
|
||||
property alias gradientStopPosition1: stop1.position
|
||||
property alias gradientStopPosition2: stop2.position
|
||||
property alias gradientStopPosition3: stop3.position
|
||||
property alias gradientStopPosition4: stop4.position
|
||||
property alias maskRotation: gradient.rotation
|
||||
|
||||
Row {
|
||||
visible: true
|
||||
id: stack
|
||||
}
|
||||
|
||||
Item {
|
||||
id: mask
|
||||
width: stack.width
|
||||
height: stack.height
|
||||
visible: false
|
||||
|
||||
LinearGradient {
|
||||
id: gradient
|
||||
height: stack.height * 2
|
||||
width: stack.width * 2
|
||||
y: -stack.height / 2
|
||||
x: -stack.width / 2
|
||||
rotation: 0
|
||||
gradient: Gradient {
|
||||
GradientStop {
|
||||
id: stop1
|
||||
position: 0.2
|
||||
color: "#ffffffff"
|
||||
}
|
||||
GradientStop {
|
||||
id: stop2
|
||||
position: 0.5
|
||||
color: "#00ffffff"
|
||||
}
|
||||
GradientStop {
|
||||
id: stop3
|
||||
position: 0.8
|
||||
color: "#00ffffff"
|
||||
}
|
||||
GradientStop {
|
||||
id: stop4
|
||||
position: 1.0
|
||||
color: "#ffffffff"
|
||||
}
|
||||
}
|
||||
start: Qt.point(stack.width / 2, 0)
|
||||
end: Qt.point(stack.width + stack.width / 2, 100)
|
||||
}
|
||||
}
|
||||
|
||||
MaskedBlur {
|
||||
id: maskedBlur
|
||||
anchors.fill: stack
|
||||
source: stack
|
||||
maskSource: mask
|
||||
radius: 32
|
||||
samples: 16
|
||||
}
|
||||
}
|
32
src/plugins/studiowelcome/qml/splashscreen/Image1.qml
Normal file
@@ -0,0 +1,32 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
|
||||
Image {
|
||||
id: slidersOn
|
||||
scale: 0.5
|
||||
source: "welcome_windows/splash_pngs/Slider_on.png"
|
||||
}
|
152
src/plugins/studiowelcome/qml/splashscreen/Image2.qml
Normal file
@@ -0,0 +1,152 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Timeline 1.0
|
||||
|
||||
Item {
|
||||
width: 174
|
||||
height: 200
|
||||
|
||||
Image {
|
||||
id: image2
|
||||
x: 93
|
||||
y: 133
|
||||
source: "welcome_windows/splash_pngs/ring_1_out.png"
|
||||
|
||||
Image {
|
||||
id: image1
|
||||
x: 13
|
||||
y: 13
|
||||
source: "welcome_windows/splash_pngs/ring_1_in.png"
|
||||
}
|
||||
}
|
||||
|
||||
Image {
|
||||
id: image3
|
||||
x: 13
|
||||
y: 72
|
||||
source: "welcome_windows/splash_pngs/ring_2.png"
|
||||
}
|
||||
|
||||
Image {
|
||||
id: image4
|
||||
x: 73
|
||||
y: 44
|
||||
source: "welcome_windows/splash_pngs/ring_line_2.png"
|
||||
}
|
||||
|
||||
Image {
|
||||
id: image5
|
||||
x: 103
|
||||
y: 13
|
||||
source: "welcome_windows/splash_pngs/ring_3.png"
|
||||
}
|
||||
|
||||
Timeline {
|
||||
id: timeline
|
||||
startFrame: 0
|
||||
enabled: true
|
||||
endFrame: 1000
|
||||
|
||||
KeyframeGroup {
|
||||
target: image1
|
||||
property: "scale"
|
||||
|
||||
Keyframe {
|
||||
value: 0.01
|
||||
frame: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
value: 1
|
||||
frame: 200
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: image2
|
||||
property: "scale"
|
||||
|
||||
Keyframe {
|
||||
value: 0.01
|
||||
frame: 70
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
value: 1
|
||||
frame: 300
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: image3
|
||||
property: "scale"
|
||||
|
||||
Keyframe {
|
||||
value: 0.01
|
||||
frame: 300
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
value: 1
|
||||
frame: 555
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: image5
|
||||
property: "scale"
|
||||
|
||||
Keyframe {
|
||||
value: 0.01
|
||||
frame: 555
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
value: 1
|
||||
frame: 820
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PropertyAnimation {
|
||||
id: propertyAnimation
|
||||
target: timeline
|
||||
property: "currentFrame"
|
||||
running: true
|
||||
loops: -1
|
||||
duration: 1000
|
||||
from: timeline.startFrame
|
||||
to: timeline.endFrame
|
||||
}
|
||||
|
||||
Image {
|
||||
id: image
|
||||
x: 46
|
||||
y: 105
|
||||
source: "welcome_windows/splash_pngs/ring_line_1.png"
|
||||
}
|
||||
}
|
86
src/plugins/studiowelcome/qml/splashscreen/RectangleMask.qml
Normal file
@@ -0,0 +1,86 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Timeline 1.0
|
||||
|
||||
Item {
|
||||
width: 174
|
||||
height: 200
|
||||
|
||||
Item {
|
||||
id: rectangleMask
|
||||
width: 0
|
||||
height: 200
|
||||
clip: true
|
||||
|
||||
Image {
|
||||
id: image1
|
||||
x: 0
|
||||
y: 45
|
||||
source: "welcome_windows/splash_pngs/Audio_Waves.png"
|
||||
}
|
||||
|
||||
Timeline {
|
||||
id: timeline
|
||||
startFrame: 0
|
||||
enabled: true
|
||||
endFrame: 2000
|
||||
|
||||
KeyframeGroup {
|
||||
target: rectangleMask
|
||||
property: "width"
|
||||
|
||||
Keyframe {
|
||||
value: 0
|
||||
frame: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.25, 0.10, 0.25, 1.00, 1, 1]
|
||||
value: 175
|
||||
frame: 997
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.00, 0.00, 0.58, 1.00, 1, 1]
|
||||
value: 0
|
||||
frame: 1998
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PropertyAnimation {
|
||||
id: propertyAnimation
|
||||
target: timeline
|
||||
property: "currentFrame"
|
||||
running: true
|
||||
loops: -1
|
||||
duration: 2000
|
||||
from: timeline.startFrame
|
||||
to: timeline.endFrame
|
||||
}
|
||||
}
|
||||
}
|
629
src/plugins/studiowelcome/qml/splashscreen/Sequencer.qml
Normal file
@@ -0,0 +1,629 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Timeline 1.0
|
||||
|
||||
Item {
|
||||
id: blocks
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: 175
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 0
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 77
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 0
|
||||
|
||||
Image {
|
||||
id: sequencer
|
||||
width: 175
|
||||
height: 77
|
||||
clip: false
|
||||
fillMode: Image.PreserveAspectFit
|
||||
source: "welcome_windows/splash_pngs/Step_sequencer.png"
|
||||
|
||||
Image {
|
||||
id: blue_seq_block2
|
||||
x: 3
|
||||
y: 16
|
||||
width: 10
|
||||
height: 5
|
||||
source: "welcome_windows/sequencer_images/blue_seq.png"
|
||||
fillMode: Image.PreserveAspectFit
|
||||
}
|
||||
|
||||
Image {
|
||||
id: peach_seq_block
|
||||
x: 49
|
||||
y: 24
|
||||
width: 10
|
||||
height: 5
|
||||
fillMode: Image.PreserveAspectFit
|
||||
source: "welcome_windows/sequencer_images/peach_seq.png"
|
||||
}
|
||||
|
||||
Image {
|
||||
id: pink_seq_block
|
||||
x: 26
|
||||
y: 23
|
||||
width: 10
|
||||
height: 5
|
||||
fillMode: Image.PreserveAspectFit
|
||||
source: "welcome_windows/sequencer_images/pink_seq.png"
|
||||
}
|
||||
|
||||
Image {
|
||||
id: blue_seq_block
|
||||
x: 83
|
||||
y: 23
|
||||
width: 10
|
||||
height: 5
|
||||
fillMode: Image.PreserveAspectFit
|
||||
source: "welcome_windows/sequencer_images/blue_seq.png"
|
||||
}
|
||||
|
||||
Image {
|
||||
id: pink_seq_block1
|
||||
x: 26
|
||||
y: 16
|
||||
width: 10
|
||||
height: 5
|
||||
source: "welcome_windows/sequencer_images/pink_seq.png"
|
||||
fillMode: Image.PreserveAspectFit
|
||||
}
|
||||
|
||||
Image {
|
||||
id: peach_seq_block1
|
||||
x: 15
|
||||
y: 31
|
||||
width: 10
|
||||
height: 5
|
||||
source: "welcome_windows/sequencer_images/peach_seq.png"
|
||||
fillMode: Image.PreserveAspectFit
|
||||
}
|
||||
|
||||
Image {
|
||||
id: pink_seq_block2
|
||||
x: 49
|
||||
y: 16
|
||||
width: 10
|
||||
height: 5
|
||||
source: "welcome_windows/sequencer_images/pink_seq.png"
|
||||
fillMode: Image.PreserveAspectFit
|
||||
}
|
||||
|
||||
Image {
|
||||
id: blue_seq_block3
|
||||
x: 61
|
||||
y: 29
|
||||
width: 10
|
||||
height: 5
|
||||
source: "welcome_windows/sequencer_images/blue_seq.png"
|
||||
fillMode: Image.PreserveAspectFit
|
||||
}
|
||||
|
||||
Image {
|
||||
id: pink_seq_block3
|
||||
x: 106
|
||||
y: 23
|
||||
width: 10
|
||||
height: 5
|
||||
source: "welcome_windows/sequencer_images/pink_seq.png"
|
||||
fillMode: Image.PreserveAspectFit
|
||||
}
|
||||
|
||||
Image {
|
||||
id: pink_seq_block4
|
||||
x: 129
|
||||
y: 16
|
||||
width: 10
|
||||
height: 5
|
||||
source: "welcome_windows/sequencer_images/pink_seq.png"
|
||||
fillMode: Image.PreserveAspectFit
|
||||
}
|
||||
|
||||
Image {
|
||||
id: blue_seq_block4
|
||||
x: 106
|
||||
y: 16
|
||||
width: 10
|
||||
height: 5
|
||||
source: "welcome_windows/sequencer_images/blue_seq.png"
|
||||
fillMode: Image.PreserveAspectFit
|
||||
}
|
||||
|
||||
Image {
|
||||
id: peach_seq_block2
|
||||
x: 118
|
||||
y: 30
|
||||
width: 10
|
||||
height: 5
|
||||
source: "welcome_windows/sequencer_images/peach_seq.png"
|
||||
fillMode: Image.PreserveAspectFit
|
||||
}
|
||||
|
||||
Image {
|
||||
id: peach_seq_block3
|
||||
x: 141
|
||||
y: 30
|
||||
width: 10
|
||||
height: 5
|
||||
source: "welcome_windows/sequencer_images/peach_seq.png"
|
||||
fillMode: Image.PreserveAspectFit
|
||||
}
|
||||
}
|
||||
|
||||
Image {
|
||||
id: blue_seq_block1
|
||||
x: 3
|
||||
y: 23
|
||||
width: 10
|
||||
height: 5
|
||||
source: "welcome_windows/sequencer_images/blue_seq.png"
|
||||
fillMode: Image.PreserveAspectFit
|
||||
}
|
||||
|
||||
Sequencer_Bars {
|
||||
id: seq_bars
|
||||
x: -7
|
||||
y: 39
|
||||
width: 199
|
||||
height: 69
|
||||
}
|
||||
|
||||
Timeline {
|
||||
id: timeline
|
||||
enabled: true
|
||||
startFrame: 0
|
||||
endFrame: 1000
|
||||
|
||||
KeyframeGroup {
|
||||
target: blue_seq_block2
|
||||
property: "opacity"
|
||||
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 52
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 53
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 300
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 301
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: blue_seq_block1
|
||||
property: "opacity"
|
||||
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 100
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 101
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 340
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 341
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: peach_seq_block1
|
||||
property: "opacity"
|
||||
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 175
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 176
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 432
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 435
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: pink_seq_block1
|
||||
property: "opacity"
|
||||
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 222
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 227
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 508
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 512
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: pink_seq_block
|
||||
property: "opacity"
|
||||
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 247
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 251
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 524
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 529
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: pink_seq_block2
|
||||
property: "opacity"
|
||||
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 286
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 290
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 575
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 580
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: peach_seq_block
|
||||
property: "opacity"
|
||||
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 352
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 357
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 647
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 652
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: blue_seq_block3
|
||||
property: "opacity"
|
||||
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 419
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 424
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 695
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 699
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: blue_seq_block
|
||||
property: "opacity"
|
||||
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 461
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 756
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 761
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: blue_seq_block4
|
||||
property: "opacity"
|
||||
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 502
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 508
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 799
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 804
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: pink_seq_block3
|
||||
property: "opacity"
|
||||
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 525
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 530
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 840
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 848
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: peach_seq_block2
|
||||
property: "opacity"
|
||||
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 661
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 667
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 901
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 906
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: pink_seq_block4
|
||||
property: "opacity"
|
||||
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 756
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 760
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 955
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 961
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: peach_seq_block3
|
||||
property: "opacity"
|
||||
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 831
|
||||
value: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 837
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 989
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PropertyAnimation {
|
||||
id: propertyAnimation
|
||||
target: timeline
|
||||
property: "currentFrame"
|
||||
running: true
|
||||
duration: 1200
|
||||
loops: -1
|
||||
from: timeline.startFrame
|
||||
to: timeline.endFrame
|
||||
}
|
||||
}
|
643
src/plugins/studiowelcome/qml/splashscreen/Sequencer_Bars.qml
Normal file
@@ -0,0 +1,643 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Timeline 1.0
|
||||
|
||||
Item {
|
||||
id: item1
|
||||
width: 200
|
||||
height: 100
|
||||
|
||||
Rectangle {
|
||||
id: mask_1
|
||||
x: 0
|
||||
y: 8
|
||||
width: 7
|
||||
height: 4
|
||||
color: "#00000000"
|
||||
clip: true
|
||||
|
||||
Image {
|
||||
id: bar_1
|
||||
width: 72
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 0
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 0
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 8
|
||||
source: "welcome_windows/sequencer_images/seq_bar_1.png"
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: mask_2
|
||||
x: 0
|
||||
y: 13
|
||||
width: 6
|
||||
height: 6
|
||||
color: "#00000000"
|
||||
clip: true
|
||||
|
||||
Image {
|
||||
id: bar_2
|
||||
width: 55
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 8
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 0
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 0
|
||||
source: "welcome_windows/sequencer_images/seq_bar_2.png"
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: mask_3
|
||||
x: 0
|
||||
y: 21
|
||||
width: 50
|
||||
height: 5
|
||||
color: "#00000000"
|
||||
clip: true
|
||||
|
||||
Image {
|
||||
id: bar_3
|
||||
x: 8
|
||||
y: 0
|
||||
width: 36
|
||||
height: 5
|
||||
source: "welcome_windows/sequencer_images/seq_bar_3.png"
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: mask_4
|
||||
x: 0
|
||||
y: 28
|
||||
width: 99
|
||||
height: 4
|
||||
color: "#00000000"
|
||||
clip: true
|
||||
|
||||
Image {
|
||||
id: bar_4
|
||||
width: 79
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 8
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 0
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 0
|
||||
source: "welcome_windows/sequencer_images/seq_bar_4.png"
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: mask_5
|
||||
x: 115
|
||||
y: 8
|
||||
width: 85
|
||||
height: 4
|
||||
color: "#00000000"
|
||||
clip: true
|
||||
|
||||
Image {
|
||||
id: bar_5
|
||||
width: 72
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 5
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 0
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 0
|
||||
source: "welcome_windows/sequencer_images/seq_bar_5.png"
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: mask_6
|
||||
x: 115
|
||||
y: 13
|
||||
width: 69
|
||||
height: 6
|
||||
color: "#00000000"
|
||||
clip: true
|
||||
|
||||
Image {
|
||||
id: bar_6
|
||||
width: 45
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 5
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 0
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 0
|
||||
source: "welcome_windows/sequencer_images/seq_bar_6.png"
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: mask_7
|
||||
x: 115
|
||||
y: 21
|
||||
width: 4
|
||||
height: 5
|
||||
color: "#00000000"
|
||||
clip: true
|
||||
|
||||
Image {
|
||||
id: bar_7
|
||||
width: 64
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 5
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 0
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 0
|
||||
source: "welcome_windows/sequencer_images/seq_bar_7.png"
|
||||
}
|
||||
}
|
||||
|
||||
Timeline {
|
||||
id: timeline
|
||||
enabled: true
|
||||
startFrame: 0
|
||||
endFrame: 1000
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_1
|
||||
property: "width"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 6
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.25, 0.46, 0.45, 0.94, 1, 1]
|
||||
frame: 499
|
||||
value: 87
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 6
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_1
|
||||
property: "height"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 4
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.25, 0.46, 0.45, 0.94, 1, 1]
|
||||
frame: 499
|
||||
value: 4
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 4
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_2
|
||||
property: "width"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 6
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 151
|
||||
value: 7
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.55, 0.08, 0.68, 0.53, 1, 1]
|
||||
frame: 677
|
||||
value: 64
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 6
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_2
|
||||
property: "height"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 6
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 151
|
||||
value: 6
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.55, 0.08, 0.68, 0.53, 1, 1]
|
||||
frame: 677
|
||||
value: 6
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 6
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_3
|
||||
property: "width"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 6
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.25, 0.25, 0.75, 0.75, 1, 1]
|
||||
frame: 317
|
||||
value: 47
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 6
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.17, 0.84, 0.44, 1.00, 1, 1]
|
||||
frame: 544
|
||||
value: 50
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_3
|
||||
property: "height"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 5
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.25, 0.25, 0.75, 0.75, 1, 1]
|
||||
frame: 317
|
||||
value: 5
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 5
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.17, 0.84, 0.44, 1.00, 1, 1]
|
||||
frame: 544
|
||||
value: 5
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_4
|
||||
property: "width"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 6
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 243
|
||||
value: 6
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.00, 0.00, 0.20, 1.00, 1, 1]
|
||||
frame: 682
|
||||
value: 92
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 755
|
||||
value: 90
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 6
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_4
|
||||
property: "height"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 4
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 243
|
||||
value: 4
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.00, 0.00, 0.20, 1.00, 1, 1]
|
||||
frame: 682
|
||||
value: 4
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 755
|
||||
value: 4
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 4
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_5
|
||||
property: "width"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 3
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 182
|
||||
value: 3
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.77, 0.00, 0.17, 1.00, 1, 1]
|
||||
frame: 462
|
||||
value: 85
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 625
|
||||
value: 85
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 4
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_5
|
||||
property: "height"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 4
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 182
|
||||
value: 4
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.77, 0.00, 0.17, 1.00, 1, 1]
|
||||
frame: 462
|
||||
value: 4
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 625
|
||||
value: 4
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 4
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_6
|
||||
property: "width"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 3
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 364
|
||||
value: 3
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.19, 1.00, 0.22, 1.00, 1, 1]
|
||||
frame: 695
|
||||
value: 54
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 4
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_6
|
||||
property: "height"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 6
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 364
|
||||
value: 6
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.19, 1.00, 0.22, 1.00, 1, 1]
|
||||
frame: 695
|
||||
value: 6
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 6
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_7
|
||||
property: "width"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 3
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 444
|
||||
value: 3
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.00, 0.00, 0.20, 1.00, 1, 1]
|
||||
frame: 759
|
||||
value: 77
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 845
|
||||
value: 77
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 4
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_7
|
||||
property: "height"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 5
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 444
|
||||
value: 5
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.00, 0.00, 0.20, 1.00, 1, 1]
|
||||
frame: 759
|
||||
value: 5
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 845
|
||||
value: 5
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 5
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_8
|
||||
property: "width"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 3
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.55, 0.06, 0.68, 0.19, 1, 1]
|
||||
frame: 303
|
||||
value: 85
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 516
|
||||
value: 85
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 4
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: mask_8
|
||||
property: "height"
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 4
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.55, 0.06, 0.68, 0.19, 1, 1]
|
||||
frame: 303
|
||||
value: 4
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 516
|
||||
value: 4
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 999
|
||||
value: 4
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PropertyAnimation {
|
||||
id: propertyAnimation
|
||||
target: timeline
|
||||
property: "currentFrame"
|
||||
running: true
|
||||
duration: 3400
|
||||
loops: -1
|
||||
from: timeline.startFrame
|
||||
to: timeline.endFrame
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: mask_8
|
||||
x: 115
|
||||
y: 28
|
||||
width: 85
|
||||
height: 4
|
||||
color: "#00000000"
|
||||
clip: true
|
||||
|
||||
Image {
|
||||
id: bar_8
|
||||
x: 5
|
||||
y: 0
|
||||
width: 72
|
||||
height: 4
|
||||
source: "welcome_windows/sequencer_images/seq_bar_8.png"
|
||||
}
|
||||
}
|
||||
}
|
104
src/plugins/studiowelcome/qml/splashscreen/SlidersTogether.qml
Normal file
@@ -0,0 +1,104 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Timeline 1.0
|
||||
|
||||
Item {
|
||||
width: 174
|
||||
height: 200
|
||||
|
||||
Item {
|
||||
id: rectangleMask
|
||||
x: -1
|
||||
y: -2
|
||||
width: 31
|
||||
height: 49
|
||||
clip: true
|
||||
|
||||
Item {
|
||||
id: rectangle
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
clip: true
|
||||
|
||||
Image {
|
||||
id: slidersTogether
|
||||
scale: 0.5
|
||||
source: "welcome_windows/splash_pngs/Sliders_together.png"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Timeline {
|
||||
id: timeline
|
||||
startFrame: 0
|
||||
enabled: true
|
||||
endFrame: 1000
|
||||
|
||||
KeyframeGroup {
|
||||
target: rectangleMask
|
||||
property: "width"
|
||||
|
||||
Keyframe {
|
||||
value: 30
|
||||
frame: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
easing.bezierCurve: [0.55, 0.06, 0.68, 0.19, 1, 1]
|
||||
value: 106
|
||||
frame: 740
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
value: 0
|
||||
frame: 1000
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: rectangleMask
|
||||
property: "height"
|
||||
Keyframe {
|
||||
value: 49
|
||||
frame: 505
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PropertyAnimation {
|
||||
id: propertyAnimation
|
||||
target: timeline
|
||||
property: "currentFrame"
|
||||
running: true
|
||||
loops: -1
|
||||
duration: 1300
|
||||
from: timeline.startFrame
|
||||
to: timeline.endFrame
|
||||
}
|
||||
}
|
@@ -0,0 +1,80 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.3
|
||||
|
||||
Rectangle {
|
||||
id: splashBackground
|
||||
width: 460
|
||||
height: 480
|
||||
color: "#11102d"
|
||||
|
||||
layer.enabled: true
|
||||
layer.textureSize: Qt.size(width * 2, height * 2)
|
||||
layer.smooth: true
|
||||
|
||||
Item {
|
||||
id: composition
|
||||
width: 460
|
||||
height: 480
|
||||
|
||||
layer.enabled: true
|
||||
layer.textureSize: Qt.size(width * 2, height * 2)
|
||||
layer.smooth: true
|
||||
|
||||
Splash_Image2d_png {
|
||||
x: 25
|
||||
y: 15
|
||||
antialiasing: false
|
||||
scale: 1.4
|
||||
transform: Matrix4x4 {
|
||||
matrix: Qt.matrix4x4(1.12606, 0.06371, 0, 0, 0.26038, 0.90592,
|
||||
0, 0, 0.00000, 0.0000, 1.0, 0,
|
||||
0.00121, -0.00009, 0.0, 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Image {
|
||||
id: highlight
|
||||
x: -56
|
||||
y: -19
|
||||
width: 520
|
||||
height: 506
|
||||
fillMode: Image.PreserveAspectFit
|
||||
source: "welcome_windows/highlight.png"
|
||||
}
|
||||
|
||||
Image {
|
||||
id: hand
|
||||
x: 245
|
||||
y: 227
|
||||
width: 224
|
||||
height: 264
|
||||
visible: true
|
||||
fillMode: Image.PreserveAspectFit
|
||||
source: "welcome_windows/hand.png"
|
||||
}
|
||||
}
|
@@ -0,0 +1,96 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
|
||||
Rectangle {
|
||||
id: splashBackground
|
||||
width: 460
|
||||
height: 480
|
||||
color: "#00ffffff"
|
||||
visible: true
|
||||
|
||||
Image {
|
||||
id: image
|
||||
x: -228
|
||||
y: -66
|
||||
scale: 0.5
|
||||
source: "welcome_windows/splash_pngs/UI_Background.png"
|
||||
}
|
||||
|
||||
RectangleMask {
|
||||
id: rectangleMask
|
||||
x: 23
|
||||
y: 156
|
||||
width: 209
|
||||
height: 199
|
||||
scale: 0.5
|
||||
}
|
||||
|
||||
Image1 {
|
||||
id: sliderBackground
|
||||
x: 155
|
||||
y: 267
|
||||
height: 86
|
||||
}
|
||||
|
||||
SlidersTogether {
|
||||
id: slidersTogether
|
||||
x: 185
|
||||
y: 295
|
||||
}
|
||||
|
||||
Image {
|
||||
id: slidersOff
|
||||
x: 191
|
||||
y: 316
|
||||
scale: 0.5
|
||||
source: "welcome_windows/splash_pngs/sliders_off.png"
|
||||
}
|
||||
|
||||
Image2 {
|
||||
id: rings
|
||||
x: 84
|
||||
y: 227
|
||||
scale: 0.5
|
||||
}
|
||||
|
||||
ArcAnimation {
|
||||
id: arcAnimation
|
||||
x: 9
|
||||
y: 13
|
||||
scale: 0.5
|
||||
}
|
||||
|
||||
Sequencer {
|
||||
id: sequencer
|
||||
x: 152
|
||||
y: 119
|
||||
anchors.rightMargin: 119
|
||||
anchors.bottomMargin: 264
|
||||
anchors.leftMargin: 154
|
||||
anchors.topMargin: 108
|
||||
}
|
||||
}
|
252
src/plugins/studiowelcome/qml/splashscreen/Welcome_splash.qml
Normal file
@@ -0,0 +1,252 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.3
|
||||
import StudioFonts 1.0
|
||||
import QtQuick.Layouts 1.0
|
||||
|
||||
Image {
|
||||
id: welcome_splash
|
||||
width: 800
|
||||
height: 480
|
||||
source: "welcome_windows/welcome_1.png"
|
||||
|
||||
signal goNext
|
||||
signal closeClicked
|
||||
|
||||
property alias showSplashScreen: do_not_show_checkBox.checked
|
||||
property bool loadingPlugins: true
|
||||
|
||||
Image {
|
||||
id: logo
|
||||
x: 16
|
||||
y: 18
|
||||
width: 76
|
||||
height: 66
|
||||
fillMode: Image.PreserveAspectFit
|
||||
source: "welcome_windows/logo.png"
|
||||
}
|
||||
|
||||
Text {
|
||||
id: qt_design_studio
|
||||
x: 14
|
||||
y: 93
|
||||
color: "#4cd265"
|
||||
text: qsTr("Qt Design Studio")
|
||||
font.pixelSize: 36
|
||||
font.family: StudioFonts.titilliumWeb_light
|
||||
}
|
||||
|
||||
Text {
|
||||
id: software_for_ui
|
||||
x: 15
|
||||
y: 141
|
||||
width: 250
|
||||
height: 30
|
||||
color: "#ffffff"
|
||||
text: qsTr("Software for UI and UX Designers")
|
||||
renderType: Text.QtRendering
|
||||
font.pixelSize: 18
|
||||
font.family: StudioFonts.titilliumWeb_light
|
||||
}
|
||||
|
||||
Text {
|
||||
id: copyright
|
||||
x: 15
|
||||
y: 183
|
||||
width: 270
|
||||
height: 24
|
||||
color: "#ffffff"
|
||||
text: qsTr("Copyright 2008 - 2018 The Qt Company")
|
||||
font.pixelSize: 16
|
||||
font.family: StudioFonts.titilliumWeb_light
|
||||
}
|
||||
|
||||
Text {
|
||||
id: all_rights_reserved
|
||||
x: 15
|
||||
y: 207
|
||||
width: 250
|
||||
height: 24
|
||||
color: "#ffffff"
|
||||
text: qsTr("All Rights Reserved")
|
||||
font.pixelSize: 16
|
||||
font.family: StudioFonts.titilliumWeb_light
|
||||
}
|
||||
|
||||
Text {
|
||||
id: marketing_1
|
||||
x: 16
|
||||
y: 302
|
||||
width: 355
|
||||
height: 31
|
||||
color: "#ffffff"
|
||||
text: qsTr("Multi-paradigm language for creating highly dynamic applications.")
|
||||
wrapMode: Text.WordWrap
|
||||
font.family: StudioFonts.titilliumWeb_light
|
||||
font.pixelSize: 12
|
||||
font.wordSpacing: 0
|
||||
}
|
||||
|
||||
Text {
|
||||
id: marketing_2
|
||||
x: 16
|
||||
y: 323
|
||||
width: 311
|
||||
height: 31
|
||||
color: "#ffffff"
|
||||
text: qsTr("Run your concepts and prototypes on your final hardware.")
|
||||
wrapMode: Text.WordWrap
|
||||
font.family: StudioFonts.titilliumWeb_light
|
||||
font.pixelSize: 12
|
||||
font.wordSpacing: 0
|
||||
}
|
||||
|
||||
Text {
|
||||
id: marketing_3
|
||||
x: 16
|
||||
y: 344
|
||||
width: 311
|
||||
height: 31
|
||||
color: "#ffffff"
|
||||
text: qsTr("Seamless integration between designer and developer.")
|
||||
wrapMode: Text.WordWrap
|
||||
font.family: StudioFonts.titilliumWeb_light
|
||||
font.pixelSize: 12
|
||||
font.wordSpacing: 0
|
||||
}
|
||||
|
||||
Dof_Effect {
|
||||
id: dof_Effect
|
||||
x: 358
|
||||
width: 442
|
||||
height: 480
|
||||
visible: true
|
||||
maskBlurSamples: 64
|
||||
maskBlurRadius: 32
|
||||
gradientStopPosition4: 1.3
|
||||
gradientStopPosition3: 0.9
|
||||
gradientStopPosition2: 0.6
|
||||
gradientStopPosition1: 0
|
||||
|
||||
Splash_Image25d {
|
||||
id: animated_artwork
|
||||
x: 358
|
||||
y: 0
|
||||
width: 442
|
||||
height: 480
|
||||
clip: true
|
||||
}
|
||||
}
|
||||
|
||||
Image {
|
||||
id: close_window
|
||||
x: 779
|
||||
y: 5
|
||||
width: 13
|
||||
height: 13
|
||||
fillMode: Image.PreserveAspectFit
|
||||
source: "welcome_windows/close.png"
|
||||
opacity: area.containsMouse ? 1 : 0.8
|
||||
MouseArea {
|
||||
id: area
|
||||
hoverEnabled: true
|
||||
anchors.fill: parent
|
||||
anchors.margins: -10
|
||||
onClicked: welcome_splash.closeClicked()
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
id: do_not_show_text
|
||||
x: 42
|
||||
y: 432
|
||||
width: 143
|
||||
height: 31
|
||||
color: "#ffffff"
|
||||
text: qsTr("Don't show this again")
|
||||
font.wordSpacing: 0
|
||||
font.pixelSize: 12
|
||||
font.family: StudioFonts.titilliumWeb_light
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
|
||||
CheckBox {
|
||||
id: do_not_show_checkBox
|
||||
x: 7
|
||||
y: 421
|
||||
width: 34
|
||||
height: 40
|
||||
text: qsTr("")
|
||||
scale: 0.5
|
||||
font.pointSize: 9
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
x: 16
|
||||
y: 254
|
||||
|
||||
visible: welcome_splash.loadingPlugins
|
||||
|
||||
Text {
|
||||
id: text1
|
||||
color: "#ffffff"
|
||||
text: qsTr("%")
|
||||
font.pixelSize: 12
|
||||
RotationAnimator {
|
||||
target: text1
|
||||
from: 0
|
||||
to: 360
|
||||
duration: 1800
|
||||
running: true
|
||||
loops: -1
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
id: loading_progress
|
||||
color: "#ffffff"
|
||||
text: qsTr("Loading Plugins")
|
||||
font.family: StudioFonts.titilliumWeb_light
|
||||
font.pixelSize: 16
|
||||
}
|
||||
|
||||
Text {
|
||||
id: text2
|
||||
color: "#ffffff"
|
||||
text: qsTr("%")
|
||||
font.pixelSize: 12
|
||||
RotationAnimator {
|
||||
target: text2
|
||||
from: 0
|
||||
to: 360
|
||||
duration: 2000
|
||||
running: true
|
||||
loops: -1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
47
src/plugins/studiowelcome/qml/splashscreen/main.qml
Normal file
@@ -0,0 +1,47 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
|
||||
Item {
|
||||
id: root
|
||||
width: 800
|
||||
height: 480
|
||||
|
||||
signal closeClicked
|
||||
signal checkBoxToggled
|
||||
|
||||
property alias showSplashScreen: welcome_splash.showSplashScreen
|
||||
property alias loadingPlugins: welcome_splash.loadingPlugins
|
||||
|
||||
Welcome_splash {
|
||||
onShowSplashScreenChanged: root.checkBoxToggled()
|
||||
id: welcome_splash
|
||||
x: 0
|
||||
y: 0
|
||||
antialiasing: true
|
||||
onCloseClicked: root.closeClicked()
|
||||
}
|
||||
}
|
@@ -0,0 +1,47 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QmlProject 1.1
|
||||
|
||||
Project {
|
||||
mainFile: "main.qml"
|
||||
|
||||
/* Include .qml, .js, and image files from current directory and subdirectories */
|
||||
QmlFiles {
|
||||
directory: "."
|
||||
}
|
||||
JavaScriptFiles {
|
||||
directory: "."
|
||||
}
|
||||
ImageFiles {
|
||||
directory: "."
|
||||
}
|
||||
/* List of plugin directories passed to QML runtime */
|
||||
importPaths: [ "../../../../share/3rdparty/studiofonts" ]
|
||||
|
||||
Environment {
|
||||
QT_AUTO_SCREEN_SCALE_FACTOR: "1"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 273 B |
After Width: | Height: | Size: 120 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 130 B |
After Width: | Height: | Size: 145 B |
After Width: | Height: | Size: 130 B |
After Width: | Height: | Size: 182 B |
After Width: | Height: | Size: 199 B |
After Width: | Height: | Size: 153 B |
After Width: | Height: | Size: 200 B |
After Width: | Height: | Size: 191 B |
After Width: | Height: | Size: 196 B |
After Width: | Height: | Size: 186 B |
After Width: | Height: | Size: 201 B |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 482 B |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 276 B |
After Width: | Height: | Size: 577 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 532 B |
After Width: | Height: | Size: 593 B |
After Width: | Height: | Size: 835 B |
After Width: | Height: | Size: 732 B |
55
src/plugins/studiowelcome/qml/welcomepage/AccountImage.qml
Normal file
@@ -0,0 +1,55 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.9
|
||||
import welcome 1.0
|
||||
import StudioFonts 1.0
|
||||
|
||||
Image {
|
||||
id: account_icon
|
||||
|
||||
source: "images/" + (mouseArea.containsMouse ? "icon_hover.png" : "icon_default.png")
|
||||
|
||||
Text {
|
||||
id: account
|
||||
color: mouseArea.containsMouse ? Constants.textHoverColor
|
||||
: Constants.textDefaultColor
|
||||
text: qsTr("Account")
|
||||
anchors.top: parent.bottom
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
font.family: StudioFonts.titilliumWeb_regular
|
||||
font.pixelSize: 16
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: mouseArea
|
||||
anchors.fill: parent
|
||||
anchors.margins: -25
|
||||
hoverEnabled: true
|
||||
|
||||
onClicked: Qt.openUrlExternally("https://login.qt.io/login/")
|
||||
}
|
||||
}
|
70
src/plugins/studiowelcome/qml/welcomepage/ExamplesModel.qml
Normal file
@@ -0,0 +1,70 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
|
||||
ListModel {
|
||||
ListElement {
|
||||
projectName: "ClusterTutorial"
|
||||
qmlFileName: "Cluster_Art.ui.qml"
|
||||
thumbnail: "images/tutorialclusterdemo_thumbnail.png"
|
||||
displayName: "Cluster Tutorial"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
projectName: "CoffeeMachine"
|
||||
qmlFileName: "ApplicationFlowForm.ui.qml"
|
||||
thumbnail: "images/coffeemachinedemo_thumbnail.png"
|
||||
displayName: "Coffee Machine"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
projectName: "SideMenu"
|
||||
qmlFileName: "MainFile.ui.qml"
|
||||
thumbnail: "images/sidemenu_demo.png"
|
||||
displayName: "Side Menu"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
projectName: "WebinarDemo"
|
||||
qmlFileName: "MainApp.ui.qml"
|
||||
thumbnail: "images/webinardemo_thumbnail.png"
|
||||
displayName: "Webinar Demo"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
projectName: "EBikeDesign"
|
||||
qmlFileName: "Screen01.ui.qml"
|
||||
thumbnail: "images/ebike_demo_thumbnail.png"
|
||||
displayName: "E-Bike Design"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
projectName: "ProgressBar"
|
||||
qmlFileName: "ProgressBar.ui.qml"
|
||||
thumbnail: "images/progressbar_demo.png"
|
||||
displayName: "Progress Bar"
|
||||
}
|
||||
}
|
@@ -0,0 +1,188 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.9
|
||||
import QtQuick.Timeline 1.0
|
||||
import welcome 1.0
|
||||
import StudioFonts 1.0
|
||||
|
||||
Item {
|
||||
visible: true
|
||||
width: 270
|
||||
height: 175
|
||||
property alias imageSource: image.source
|
||||
property alias labelText: label.text
|
||||
|
||||
onVisibleChanged: {
|
||||
animateOpacity.start()
|
||||
animateScale.start()
|
||||
}
|
||||
|
||||
NumberAnimation {
|
||||
id: animateOpacity
|
||||
property: "opacity"
|
||||
from: 0
|
||||
to: 1.0
|
||||
duration: 400
|
||||
}
|
||||
NumberAnimation {
|
||||
id: animateScale
|
||||
property: "scale"
|
||||
from: 0
|
||||
to: 1.0
|
||||
duration: 400
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: rectangle
|
||||
x: 0
|
||||
y: 0
|
||||
width: 270
|
||||
height: 146
|
||||
|
||||
MouseArea {
|
||||
x: 17
|
||||
y: 12
|
||||
height: 125
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onHoveredChanged: {
|
||||
if (saturationEffect.desaturation === 1)
|
||||
saturationEffect.desaturation = 0
|
||||
if (saturationEffect.desaturation === 0)
|
||||
saturationEffect.desaturation = 1
|
||||
if (saturationEffect.desaturation === 0)
|
||||
rectangle.color = "#262728"
|
||||
if (saturationEffect.desaturation === 1)
|
||||
rectangle.color = "#404244"
|
||||
if (saturationEffect.desaturation === 0)
|
||||
label.color = "#686868"
|
||||
if (saturationEffect.desaturation === 1)
|
||||
label.color = Constants.textDefaultColor
|
||||
}
|
||||
|
||||
onExited: {
|
||||
saturationEffect.desaturation = 1
|
||||
rectangle.color = "#262728"
|
||||
label.color = "#686868"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SaturationEffect {
|
||||
id: saturationEffect
|
||||
x: 15
|
||||
y: 10
|
||||
width: 240
|
||||
height: 125
|
||||
desaturation: 0
|
||||
antialiasing: true
|
||||
Behavior on desaturation {
|
||||
PropertyAnimation {
|
||||
}
|
||||
}
|
||||
|
||||
Image {
|
||||
id: image
|
||||
width: 240
|
||||
height: 125
|
||||
fillMode: Image.PreserveAspectFit
|
||||
}
|
||||
}
|
||||
|
||||
Timeline {
|
||||
id: animation
|
||||
startFrame: 0
|
||||
enabled: true
|
||||
endFrame: 1000
|
||||
|
||||
KeyframeGroup {
|
||||
target: saturationEffect
|
||||
property: "desaturation"
|
||||
|
||||
Keyframe {
|
||||
frame: 0
|
||||
value: 1
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
frame: 1000
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: label
|
||||
property: "color"
|
||||
|
||||
Keyframe {
|
||||
value: "#686868"
|
||||
frame: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
value: Constants.textDefaultColor
|
||||
frame: 1000
|
||||
}
|
||||
}
|
||||
|
||||
KeyframeGroup {
|
||||
target: rectangle
|
||||
property: "color"
|
||||
|
||||
Keyframe {
|
||||
value: "#262728"
|
||||
frame: 0
|
||||
}
|
||||
|
||||
Keyframe {
|
||||
value: "#404244"
|
||||
frame: 1000
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PropertyAnimation {
|
||||
id: propertyAnimation
|
||||
target: animation
|
||||
property: "currentFrame"
|
||||
running: false
|
||||
duration: 1000
|
||||
to: animation.endFrame
|
||||
from: animation.startFrame
|
||||
loops: 1
|
||||
}
|
||||
|
||||
Text {
|
||||
id: label
|
||||
x: 1
|
||||
y: 145
|
||||
color: "#686868"
|
||||
|
||||
renderType: Text.NativeRendering
|
||||
font.pixelSize: 14
|
||||
font.family: StudioFonts.titilliumWeb_regular
|
||||
}
|
||||
}
|
51
src/plugins/studiowelcome/qml/welcomepage/MyButton.qml
Normal file
@@ -0,0 +1,51 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.3
|
||||
import welcome 1.0
|
||||
import StudioFonts 1.0
|
||||
|
||||
Button {
|
||||
id: button
|
||||
|
||||
property color hoverColor: Constants.textHoverColor
|
||||
property color defaultColor: Constants.textDefaultColor
|
||||
property color checkedColor: Constants.textDefaultColor
|
||||
|
||||
contentItem: Text {
|
||||
id: textButton
|
||||
text: button.text
|
||||
color: checked ? button.checkedColor :
|
||||
button.hovered ? button.hoverColor :
|
||||
button.defaultColor
|
||||
font.family: StudioFonts.titilliumWeb_regular
|
||||
renderType: Text.NativeRendering
|
||||
font.pixelSize: 18
|
||||
}
|
||||
|
||||
background: Item {
|
||||
}
|
||||
}
|
33
src/plugins/studiowelcome/qml/welcomepage/MyTabButton.qml
Normal file
@@ -0,0 +1,33 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.9
|
||||
|
||||
MyButton {
|
||||
checkable: true
|
||||
autoExclusive: true
|
||||
defaultColor: "#686868"
|
||||
hoverColor: "#79797C"
|
||||
}
|
70
src/plugins/studiowelcome/qml/welcomepage/ProjectsGrid.qml
Normal file
@@ -0,0 +1,70 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.9
|
||||
import welcome 1.0
|
||||
|
||||
GridView {
|
||||
id: root
|
||||
cellHeight: 180
|
||||
cellWidth: 285
|
||||
|
||||
clip: true
|
||||
|
||||
signal itemSelected(int index, variant item)
|
||||
|
||||
delegate: HoverOverDesaturate {
|
||||
id: hoverOverDesaturate
|
||||
imageSource: typeof(thumbnail) === "undefined" ? "images/thumbnail_test.png" : thumbnail;
|
||||
labelText: displayName
|
||||
|
||||
SequentialAnimation {
|
||||
id: animation
|
||||
running: hoverOverDesaturate.visible
|
||||
|
||||
PropertyAction {
|
||||
target: hoverOverDesaturate
|
||||
property: "scale"
|
||||
value: 0.0
|
||||
}
|
||||
PauseAnimation {
|
||||
duration: model.index > 0 ? 100 * model.index : 0
|
||||
}
|
||||
NumberAnimation {
|
||||
target: hoverOverDesaturate
|
||||
property: "scale"
|
||||
from: 0.0
|
||||
to: 1.0
|
||||
duration: 200
|
||||
easing.type: Easing.InOutExpo
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onClicked: root.itemSelected(index, root.model.get(index))
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,37 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
property real desaturation: 1.0
|
||||
layer.enabled: true
|
||||
layer.effect: Desaturate {
|
||||
desaturation: root.desaturation
|
||||
}
|
||||
}
|
88
src/plugins/studiowelcome/qml/welcomepage/TutorialsModel.qml
Normal file
@@ -0,0 +1,88 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
|
||||
ListModel {
|
||||
ListElement {
|
||||
displayName: "Learn to use Qt Design Studio (Part 1)"
|
||||
thumbnail: "images/tutorial1.png"
|
||||
url: "https://www.youtube.com/watch?v=aV6kFxH3Xws"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Learn to use Qt Design Studio (Part 2)"
|
||||
thumbnail: "images/tutorial2.png"
|
||||
url: "https://www.youtube.com/watch?v=Z3uPoe-4UAw"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Learn to use Qt Design Studio (Part 3)"
|
||||
thumbnail: "images/tutorial3.png"
|
||||
url: "https://www.youtube.com/watch?v=9AjvxoeqAKo"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Learn to use Qt Design Studio (Part 4)"
|
||||
thumbnail: "images/tutorial4.png"
|
||||
url: "https://www.youtube.com/watch?v=8pJpdMwLaAg"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Learn to use Qt Design Studio (Part 5)"
|
||||
thumbnail: "images/tutorial5.png"
|
||||
url: "https://www.youtube.com/watch?v=U91nAFReAoU"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "The Designer Tool Developers Love"
|
||||
thumbnail: "images/webinar1.png"
|
||||
url: "https://youtu.be/gU_tDbebAzM"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "From Photoshop to Prototype"
|
||||
thumbnail: "images/webinar2.png"
|
||||
url: "https://youtu.be/ZzbucmQPU44"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Qt for Designers and Developers"
|
||||
thumbnail: "images/designer_and_developers.png"
|
||||
url: "https://www.youtube.com/watch?v=EgjCvZWEPWk"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Qt Design Studio: 1.0 and Ready to Go!"
|
||||
thumbnail: "images/ready_to_go.png"
|
||||
url: "https://www.youtube.com/watch?v=i9ToZ_04kTk"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "QTWS - Designer and Developer Workflow"
|
||||
thumbnail: "images/qtws_video_thumbnail.png"
|
||||
url: "https://www.youtube.com/watch?v=4ug0EUdS2RM"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 289 B |
BIN
src/plugins/studiowelcome/qml/welcomepage/images/icon_hover.png
Normal file
After Width: | Height: | Size: 289 B |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 59 KiB |
BIN
src/plugins/studiowelcome/qml/welcomepage/images/ready_to_go.png
Normal file
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 32 KiB |
BIN
src/plugins/studiowelcome/qml/welcomepage/images/tutorial1.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
src/plugins/studiowelcome/qml/welcomepage/images/tutorial2.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
src/plugins/studiowelcome/qml/welcomepage/images/tutorial3.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
src/plugins/studiowelcome/qml/welcomepage/images/tutorial4.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
src/plugins/studiowelcome/qml/welcomepage/images/tutorial5.png
Normal file
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 49 KiB |
BIN
src/plugins/studiowelcome/qml/welcomepage/images/webinar1.png
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
src/plugins/studiowelcome/qml/welcomepage/images/webinar2.png
Normal file
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 52 KiB |
@@ -0,0 +1,37 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
pragma Singleton
|
||||
|
||||
import QtQuick 2.6
|
||||
import StudioFonts 1.0
|
||||
|
||||
QtObject {
|
||||
readonly property color backgroundColor: "#443224"
|
||||
|
||||
readonly property color textDefaultColor: "#b9b9ba"
|
||||
|
||||
readonly property color textHoverColor: "#ffffff"
|
||||
}
|
@@ -0,0 +1 @@
|
||||
singleton Constants 1.0 Constants.qml
|
189
src/plugins/studiowelcome/qml/welcomepage/main.qml
Normal file
@@ -0,0 +1,189 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.10
|
||||
import QtQuick.Controls 2.4
|
||||
import QtQuick.Layouts 1.3
|
||||
import welcome 1.0
|
||||
import projectmodel 1.0
|
||||
import StudioFonts 1.0
|
||||
|
||||
Item {
|
||||
width: 1024
|
||||
height: 786
|
||||
|
||||
Rectangle {
|
||||
id: rectangle
|
||||
anchors.fill: parent
|
||||
visible: true
|
||||
color: "#2d2e30"
|
||||
|
||||
StackLayout {
|
||||
id: stackLayout
|
||||
anchors.margins: 10
|
||||
anchors.top: topLine.bottom
|
||||
anchors.bottom: bottomLine.top
|
||||
anchors.right: parent.right
|
||||
anchors.left: parent.left
|
||||
|
||||
ScrollView{
|
||||
ProjectsGrid {
|
||||
model: ProjectModel {
|
||||
id: projectModel
|
||||
}
|
||||
onItemSelected: projectModel.openProjectAt(index)
|
||||
}
|
||||
}
|
||||
|
||||
ScrollView {
|
||||
ProjectsGrid {
|
||||
model: ExamplesModel {}
|
||||
onItemSelected: projectModel.openExample(item.projectName, item.qmlFileName)
|
||||
}
|
||||
}
|
||||
|
||||
ScrollView{
|
||||
ProjectsGrid {
|
||||
model: TutorialsModel {}
|
||||
onItemSelected: Qt.openUrlExternally(item.url)
|
||||
}
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
id: topLine
|
||||
height: 1
|
||||
color: "#bababa"
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: 10
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 200
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: bottomLine
|
||||
height: 1
|
||||
color: "#bababa"
|
||||
anchors.left: topLine.left
|
||||
anchors.right: topLine.right
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 60
|
||||
}
|
||||
|
||||
Row {
|
||||
x: 8
|
||||
y: 160
|
||||
spacing: 26
|
||||
|
||||
MyTabButton {
|
||||
text: qsTr("Recent Projects")
|
||||
bottomPadding: 6
|
||||
topPadding: 6.8
|
||||
checked: true
|
||||
onClicked: stackLayout.currentIndex = 0
|
||||
}
|
||||
|
||||
MyTabButton {
|
||||
text: qsTr("Examples")
|
||||
onClicked: stackLayout.currentIndex = 1
|
||||
}
|
||||
|
||||
MyTabButton {
|
||||
text: qsTr("Tutorials")
|
||||
onClicked: stackLayout.currentIndex = 2
|
||||
}
|
||||
}
|
||||
|
||||
AccountImage {
|
||||
id: account
|
||||
x: 946
|
||||
y: 29
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: 40
|
||||
}
|
||||
|
||||
GridLayout {
|
||||
y: 78
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
columnSpacing: 10
|
||||
rows: 2
|
||||
columns: 2
|
||||
|
||||
Text {
|
||||
id: welcomeTo
|
||||
color: Constants.textDefaultColor
|
||||
text: qsTr("Welcome to")
|
||||
renderType: Text.NativeRendering
|
||||
font.pixelSize: 22
|
||||
font.family: StudioFonts.titilliumWeb_regular
|
||||
}
|
||||
|
||||
Text {
|
||||
id: qtDesignStudio
|
||||
color: "#4cd265"
|
||||
text: qsTr("Qt Design Studio")
|
||||
renderType: Text.NativeRendering
|
||||
font.family: StudioFonts.titilliumWeb_regular
|
||||
font.pixelSize: 22
|
||||
}
|
||||
|
||||
MyButton {
|
||||
text: qsTr("Create New")
|
||||
onClicked: projectModel.createProject()
|
||||
}
|
||||
|
||||
MyButton {
|
||||
text: qsTr("Open Project")
|
||||
onClicked: projectModel.openProject()
|
||||
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
||||
}
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
y: 732
|
||||
height: 28
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 26
|
||||
spacing: 50
|
||||
|
||||
MyButton {
|
||||
text: qsTr("Help")
|
||||
onClicked: projectModel.showHelp()
|
||||
}
|
||||
|
||||
MyButton {
|
||||
text: qsTr("Community")
|
||||
onClicked: Qt.openUrlExternally("https://forum.qt.io/")
|
||||
}
|
||||
|
||||
MyButton {
|
||||
text: qsTr("Blog")
|
||||
onClicked: Qt.openUrlExternally("http://blog.qt.io/")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,136 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
|
||||
ListModel {
|
||||
ListElement {
|
||||
displayName: "Project 01"
|
||||
prettyFilePath: "my_file_1"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 02"
|
||||
prettyFilePath: "my_file_2"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 03"
|
||||
prettyFilePath: "my_file_3"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 04"
|
||||
prettyFilePath: "my_file_4"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 05"
|
||||
prettyFilePath: "my_file_5"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 06"
|
||||
prettyFilePath: "my_file_6"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 07"
|
||||
prettyFilePath: "my_file_7"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 08"
|
||||
filename: "my_file_8"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 09"
|
||||
filename: "my_file_9"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 10"
|
||||
prettyFilePath: "my_file_10"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 11"
|
||||
filename: "my_file_11"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 12"
|
||||
prettyFilePath: "my_file_12"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 13"
|
||||
filename: "my_file_13"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 14"
|
||||
prettyFilePath: "my_file_14"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 15"
|
||||
filename: "my_file_15"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 16"
|
||||
filename: "my_file_16"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 17"
|
||||
filename: "my_file_17"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
|
||||
ListElement {
|
||||
displayName: "Project 18"
|
||||
prettyFilePath: "my_file_18"
|
||||
thumbnail: "images/thumbnail_test.png"
|
||||
}
|
||||
}
|
@@ -0,0 +1 @@
|
||||
ProjectModel 1.0 ProjectModel.qml
|
@@ -0,0 +1,47 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QmlProject 1.1
|
||||
|
||||
Project {
|
||||
mainFile: "main.qml"
|
||||
|
||||
/* Include .qml, .js, and image files from current directory and subdirectories */
|
||||
QmlFiles {
|
||||
directory: "."
|
||||
}
|
||||
JavaScriptFiles {
|
||||
directory: "."
|
||||
}
|
||||
ImageFiles {
|
||||
directory: "."
|
||||
}
|
||||
/* List of plugin directories passed to QML runtime */
|
||||
importPaths: [ "imports", "mockData", "../../../../share/3rdparty/studiofonts" ]
|
||||
|
||||
Environment {
|
||||
QT_AUTO_SCREEN_SCALE_FACTOR: "1"
|
||||
}
|
||||
}
|
27
src/plugins/studiowelcome/studiowelcome.pro
Normal file
@@ -0,0 +1,27 @@
|
||||
DEFINES += STUDIOWELCOME_LIBRARY
|
||||
|
||||
QT += quick quickwidgets
|
||||
|
||||
include(../../qtcreatorplugin.pri)
|
||||
|
||||
## magic fix for unix builds
|
||||
RCC_DIR = .
|
||||
|
||||
DEFINES += STUDIO_QML_PATH=\\\"$$PWD/qml/\\\"
|
||||
|
||||
HEADERS += \
|
||||
studiowelcome_global.h \
|
||||
studiowelcomeplugin.h \
|
||||
|
||||
SOURCES += \
|
||||
studiowelcomeplugin.cpp
|
||||
|
||||
OTHER_FILES += \
|
||||
StudioWelcome.json.in
|
||||
|
||||
RESOURCES += \
|
||||
../../share/3rdparty/studiofonts/studiofonts.qrc \
|
||||
studiowelcome.qrc
|
||||
|
||||
RESOURCES += \
|
||||
$$files(qml/*)
|
6
src/plugins/studiowelcome/studiowelcome.qrc
Normal file
@@ -0,0 +1,6 @@
|
||||
<RCC>
|
||||
<qresource prefix="/studiowelcome">
|
||||
<file>images/mode_welcome_mask.png</file>
|
||||
<file>images/mode_welcome_mask@2x.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
11
src/plugins/studiowelcome/studiowelcome_dependencies.pri
Normal file
@@ -0,0 +1,11 @@
|
||||
QTC_PLUGIN_NAME = StudioWelcome
|
||||
QTC_LIB_DEPENDS += \
|
||||
extensionsystem \
|
||||
utils
|
||||
|
||||
QTC_PLUGIN_DEPENDS += \
|
||||
coreplugin \
|
||||
projectexplorer \
|
||||
qtsupport
|
||||
|
||||
CONFIG(licensechecker): QTC_PLUGIN_DEPENDS += licensechecker
|
34
src/plugins/studiowelcome/studiowelcome_global.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QtGlobal>
|
||||
|
||||
#if defined(STUDIOWELCOME_LIBRARY)
|
||||
# define STUDIOWELCOME_EXPORT Q_DECL_EXPORT
|
||||
#else
|
||||
# define STUDIOWELCOME_EXPORT Q_DECL_IMPORT
|
||||
#endif
|
289
src/plugins/studiowelcome/studiowelcomeplugin.cpp
Normal file
@@ -0,0 +1,289 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "studiowelcomeplugin.h"
|
||||
|
||||
#include <coreplugin/coreconstants.h>
|
||||
#include <coreplugin/editormanager/editormanager.h>
|
||||
#include <coreplugin/icore.h>
|
||||
#include <coreplugin/imode.h>
|
||||
#include <coreplugin/modemanager.h>
|
||||
|
||||
#include <projectexplorer/projectexplorer.h>
|
||||
#include <projectexplorer/projectexplorer.h>
|
||||
#include <projectexplorer/projectmanager.h>
|
||||
|
||||
#include <utils/icon.h>
|
||||
#include <utils/stringutils.h>
|
||||
#include <utils/theme/theme.h>
|
||||
|
||||
#include <QAbstractListModel>
|
||||
#include <QApplication>
|
||||
#include <QDesktopServices>
|
||||
#include <QFontDatabase>
|
||||
#include <QPointer>
|
||||
#include <QQmlContext>
|
||||
#include <QQmlEngine>
|
||||
#include <QQuickItem>
|
||||
#include <QQuickView>
|
||||
#include <QQuickWidget>
|
||||
#include <QTimer>
|
||||
|
||||
namespace StudioWelcome {
|
||||
namespace Internal {
|
||||
|
||||
const char SHOW_SPLASHSCREEN[] = "Studiowelcomeplugin/showSplashScreen";
|
||||
|
||||
QPointer<QQuickWidget> s_view = nullptr;
|
||||
|
||||
class ProjectModel : public QAbstractListModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
enum { FilePathRole = Qt::UserRole+1, PrettyFilePathRole };
|
||||
|
||||
explicit ProjectModel(QObject *parent = nullptr);
|
||||
|
||||
int rowCount(const QModelIndex &parent) const override;
|
||||
QVariant data(const QModelIndex &index, int role) const override;
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
|
||||
Q_INVOKABLE void createProject()
|
||||
{
|
||||
ProjectExplorer::ProjectExplorerPlugin::openNewProjectDialog();
|
||||
}
|
||||
|
||||
Q_INVOKABLE void openProject()
|
||||
{
|
||||
ProjectExplorer::ProjectExplorerPlugin::openOpenProjectDialog();
|
||||
}
|
||||
|
||||
Q_INVOKABLE void openProjectAt(int row)
|
||||
{
|
||||
const QString projectFile = data(index(row, 0),
|
||||
ProjectModel::FilePathRole).toString();
|
||||
ProjectExplorer::ProjectExplorerPlugin::openProjectWelcomePage(projectFile);
|
||||
}
|
||||
|
||||
Q_INVOKABLE void showHelp()
|
||||
{
|
||||
QDesktopServices::openUrl(QUrl("qthelp://org.qt-project.qtcreator/doc/index.html"));
|
||||
}
|
||||
|
||||
Q_INVOKABLE void openExample(const QString &example, const QString &formFile)
|
||||
{
|
||||
const QString projectFile = Core::ICore::resourcePath() + "/examples/" + example + "/" + example + ".qmlproject";
|
||||
ProjectExplorer::ProjectExplorerPlugin::openProjectWelcomePage(projectFile);
|
||||
const QString qmlFile = Core::ICore::resourcePath() + "/examples/" + example + "/" + formFile;
|
||||
Core::EditorManager::openEditor(qmlFile);
|
||||
}
|
||||
public slots:
|
||||
void resetProjects();
|
||||
};
|
||||
|
||||
ProjectModel::ProjectModel(QObject *parent)
|
||||
: QAbstractListModel(parent)
|
||||
{
|
||||
connect(ProjectExplorer::ProjectExplorerPlugin::instance(),
|
||||
&ProjectExplorer::ProjectExplorerPlugin::recentProjectsChanged,
|
||||
this,
|
||||
&ProjectModel::resetProjects);
|
||||
}
|
||||
|
||||
int ProjectModel::rowCount(const QModelIndex &) const
|
||||
{
|
||||
return ProjectExplorer::ProjectExplorerPlugin::recentProjects().count();
|
||||
}
|
||||
|
||||
QVariant ProjectModel::data(const QModelIndex &index, int role) const
|
||||
{
|
||||
QPair<QString,QString> data =
|
||||
ProjectExplorer::ProjectExplorerPlugin::recentProjects().at(index.row());
|
||||
switch (role) {
|
||||
case Qt::DisplayRole:
|
||||
return data.second;
|
||||
break;
|
||||
case FilePathRole:
|
||||
return data.first;
|
||||
case PrettyFilePathRole:
|
||||
return Utils::withTildeHomePath(data.first);
|
||||
default:
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> ProjectModel::roleNames() const
|
||||
{
|
||||
QHash<int, QByteArray> roleNames;
|
||||
roleNames[Qt::DisplayRole] = "displayName";
|
||||
roleNames[FilePathRole] = "filePath";
|
||||
roleNames[PrettyFilePathRole] = "prettyFilePath";
|
||||
return roleNames;
|
||||
}
|
||||
|
||||
void ProjectModel::resetProjects()
|
||||
{
|
||||
beginResetModel();
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
class WelcomeMode : public Core::IMode
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
WelcomeMode();
|
||||
~WelcomeMode() override;
|
||||
|
||||
private:
|
||||
|
||||
QQuickWidget *m_modeWidget = nullptr;
|
||||
};
|
||||
|
||||
void StudioWelcomePlugin::closeSplashScreen()
|
||||
{
|
||||
if (!s_view.isNull())
|
||||
s_view->deleteLater();
|
||||
}
|
||||
|
||||
void StudioWelcomePlugin::handleSplashCheckBoxChanged()
|
||||
{
|
||||
if (s_view.isNull())
|
||||
return;
|
||||
|
||||
bool show = s_view->rootObject()->property("showSplashScreen").toBool();
|
||||
Core::ICore::settings()->setValue(SHOW_SPLASHSCREEN, !show);
|
||||
}
|
||||
|
||||
StudioWelcomePlugin::~StudioWelcomePlugin()
|
||||
{
|
||||
delete m_welcomeMode;
|
||||
}
|
||||
|
||||
bool StudioWelcomePlugin::initialize(const QStringList &arguments, QString *errorString)
|
||||
{
|
||||
Q_UNUSED(arguments);
|
||||
Q_UNUSED(errorString);
|
||||
|
||||
qmlRegisterType<ProjectModel>("projectmodel", 1, 0, "ProjectModel");
|
||||
|
||||
m_welcomeMode = new WelcomeMode;
|
||||
return true;
|
||||
}
|
||||
|
||||
void StudioWelcomePlugin::extensionsInitialized()
|
||||
{
|
||||
Core::ModeManager::activateMode(m_welcomeMode->id());
|
||||
if (Core::ICore::settings()->value(SHOW_SPLASHSCREEN, true).toBool()) {
|
||||
connect(Core::ICore::instance(), &Core::ICore::coreOpened, this, [this] (){
|
||||
s_view = new QQuickWidget(Core::ICore::dialogParent());
|
||||
s_view->setResizeMode(QQuickWidget::SizeRootObjectToView);
|
||||
s_view->setWindowFlag(Qt::SplashScreen, true);
|
||||
s_view->setWindowModality(Qt::ApplicationModal);
|
||||
#ifdef QT_DEBUG
|
||||
s_view->engine()->addImportPath(QLatin1Literal(STUDIO_QML_PATH)
|
||||
+ "splashscreen/imports");
|
||||
s_view->setSource(QUrl::fromLocalFile(QLatin1Literal(STUDIO_QML_PATH)
|
||||
+ "splashscreen/main.qml"));
|
||||
#else
|
||||
s_view->engine()->addImportPath("qrc:/qml/splashscreen/imports");
|
||||
s_view->setSource(QUrl("qrc:/qml/splashscreen/main.qml"));
|
||||
#endif
|
||||
|
||||
QTC_ASSERT(s_view->rootObject(),
|
||||
qWarning() << "The StudioWelcomePlugin has a runtime depdendency on qt/qtquicktimeline.";
|
||||
return);
|
||||
|
||||
connect(s_view->rootObject(), SIGNAL(closeClicked()), this, SLOT(closeSplashScreen()));
|
||||
connect(s_view->rootObject(), SIGNAL(checkBoxToggled()), this, SLOT(handleSplashCheckBoxChanged()));
|
||||
|
||||
s_view->show();
|
||||
s_view->raise();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
bool StudioWelcomePlugin::delayedInitialize()
|
||||
{
|
||||
if (s_view.isNull())
|
||||
return true;
|
||||
|
||||
QTC_ASSERT(s_view->rootObject() , return true);
|
||||
|
||||
s_view->rootObject()->setProperty("loadingPlugins", false);
|
||||
|
||||
QPointer<QQuickWidget> view = s_view;
|
||||
|
||||
connect(Core::ICore::mainWindow()->windowHandle(), &QWindow::visibleChanged, this, [view](){
|
||||
if (!view.isNull()) {
|
||||
view->close();
|
||||
view->deleteLater();
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
WelcomeMode::WelcomeMode()
|
||||
{
|
||||
setDisplayName(tr("Studio"));
|
||||
|
||||
const Utils::Icon FLAT({{":/studiowelcome/images/mode_welcome_mask.png",
|
||||
Utils::Theme::IconsBaseColor}});
|
||||
const Utils::Icon FLAT_ACTIVE({{":/studiowelcome/images/mode_welcome_mask.png",
|
||||
Utils::Theme::IconsModeWelcomeActiveColor}});
|
||||
setIcon(Utils::Icon::modeIcon(FLAT, FLAT, FLAT_ACTIVE));
|
||||
|
||||
setPriority(Core::Constants::P_MODE_WELCOME);
|
||||
setId(Core::Constants::MODE_WELCOME);
|
||||
setContextHelp("Qt Creator Manual");
|
||||
setContext(Core::Context(Core::Constants::C_WELCOME_MODE));
|
||||
|
||||
m_modeWidget = new QQuickWidget;
|
||||
m_modeWidget->setResizeMode(QQuickWidget::SizeRootObjectToView);
|
||||
m_modeWidget->engine()->addImportPath("qrc:/studiofonts");
|
||||
#ifdef QT_DEBUG
|
||||
m_modeWidget->engine()->addImportPath(QLatin1Literal(STUDIO_QML_PATH)
|
||||
+ "welcomepage/imports");
|
||||
m_modeWidget->setSource(QUrl::fromLocalFile(QLatin1Literal(STUDIO_QML_PATH)
|
||||
+ "welcomepage/main.qml"));
|
||||
#else
|
||||
m_modeWidget->engine()->addImportPath("qrc:/qml/welcomepage/imports");
|
||||
m_modeWidget->setSource(QUrl("qrc:/qml/welcomepage/main.qml"));
|
||||
#endif
|
||||
|
||||
setWidget(m_modeWidget);
|
||||
}
|
||||
|
||||
WelcomeMode::~WelcomeMode()
|
||||
{
|
||||
delete m_modeWidget;
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
} // namespace StudioWelcome
|
||||
|
||||
#include "studiowelcomeplugin.moc"
|
54
src/plugins/studiowelcome/studiowelcomeplugin.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <extensionsystem/iplugin.h>
|
||||
|
||||
namespace StudioWelcome {
|
||||
namespace Internal {
|
||||
|
||||
class StudioWelcomePlugin : public ExtensionSystem::IPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "StudioWelcome.json")
|
||||
|
||||
public slots:
|
||||
void closeSplashScreen();
|
||||
void handleSplashCheckBoxChanged();
|
||||
|
||||
public:
|
||||
~StudioWelcomePlugin() final;
|
||||
|
||||
bool initialize(const QStringList &arguments, QString *errorString) override;
|
||||
void extensionsInitialized() override;
|
||||
bool delayedInitialize() override;
|
||||
|
||||
private:
|
||||
class WelcomeMode *m_welcomeMode = nullptr;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
} // namespace StudioWelcome
|
44
src/share/3rdparty/studiofonts/StudioFonts/StudioFonts.qml
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Creator.
|
||||
**
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
pragma Singleton
|
||||
|
||||
import QtQuick 2.6
|
||||
|
||||
QtObject {
|
||||
property FontLoader fontLoader_regular: FontLoader {
|
||||
id: fontLoader_regular
|
||||
source: "../TitilliumWeb-Regular.ttf"
|
||||
}
|
||||
|
||||
readonly property alias titilliumWeb_regular: fontLoader_regular.name
|
||||
|
||||
property FontLoader fontLoader_light: FontLoader {
|
||||
id: fontLoader_light
|
||||
source: "../TitilliumWeb-Light.ttf"
|
||||
}
|
||||
|
||||
readonly property alias titilliumWeb_light: fontLoader_light.name
|
||||
}
|
1
src/share/3rdparty/studiofonts/StudioFonts/qmldir
vendored
Normal file
@@ -0,0 +1 @@
|
||||
singleton StudioFonts 1.0 StudioFonts.qml
|
BIN
src/share/3rdparty/studiofonts/TitilliumWeb-Light.ttf
vendored
Normal file
BIN
src/share/3rdparty/studiofonts/TitilliumWeb-Regular.ttf
vendored
Normal file
8
src/share/3rdparty/studiofonts/TitilliumWeb.txt
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
Titillium is a free open source font and it is born inside the Accademia
|
||||
di Belle Arti di Urbino as a didactic project Course Type design of the
|
||||
Master of Visual Design Campi Visivi. It has 11 different weights and is
|
||||
well suited for headlines and body type.
|
||||
|
||||
Titillium is used as the brand font for Qt.
|
||||
|
||||
https://brand.qt.io/fonts/
|
8
src/share/3rdparty/studiofonts/studiofonts.qrc
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
<RCC>
|
||||
<qresource prefix="studiofonts">
|
||||
<file>TitilliumWeb-Light.ttf</file>
|
||||
<file>TitilliumWeb-Regular.ttf</file>
|
||||
<file>StudioFonts/qmldir</file>
|
||||
<file>StudioFonts/StudioFonts.qml</file>
|
||||
</qresource>
|
||||
</RCC>
|