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>
This commit is contained in:
Thomas Hartmann
2019-02-26 15:29:01 +01:00
committed by Alessandro Portale
parent 7b39db9e8a
commit 940e798a3a
91 changed files with 4014 additions and 1 deletions

View File

@@ -60,7 +60,8 @@ SUBDIRS = \
cppcheck \
compilationdatabaseprojectmanager \
perfprofiler \
qmlpreview
qmlpreview \
studiowelcome
qtHaveModule(serialport) {
SUBDIRS += serialterminal

View 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
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 B

View 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
}
}
}

View 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
}
}

View 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
}
}

View 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"
}

View 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"
}
}

View 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
}
}
}

View 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
}
}

View 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"
}
}
}

View 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
}
}

View File

@@ -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"
}
}

View File

@@ -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
}
}

View 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
}
}
}
}

View 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()
}
}

View 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 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"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 593 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 835 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 732 B

View 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/")
}
}

View 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"
}
}

View File

@@ -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
}
}

View 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 {
}
}

View 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"
}

View 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))
}
}
}

View File

@@ -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
}
}

View 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"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -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"
}

View File

@@ -0,0 +1 @@
singleton Constants 1.0 Constants.qml

View 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/")
}
}
}
}

View File

@@ -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"
}
}

View File

@@ -0,0 +1 @@
ProjectModel 1.0 ProjectModel.qml

View 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 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"
}
}

View 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/*)

View 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>

View 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

View 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

View 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"

View 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

View 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
}

View File

@@ -0,0 +1 @@
singleton StudioFonts 1.0 StudioFonts.qml

Binary file not shown.

Binary file not shown.

View 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/

View 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>