From f6591574ee263c1c2f15ddf8bb8e64a825fc0ec3 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 8 Dec 2021 13:50:07 +0100 Subject: [PATCH] Revert "New WelcomePage qds-2.3 branch" This reverts commit 679696650ef113a1e120b6ec9d89dd15c356e4bb. The new welcome page is not fully ready, yet. Change-Id: I194ab9c6a6d18a81c7a7fe08a9631c2bc4f2f8a7 Reviewed-by: Thomas Hartmann --- .../qml/welcomepage/AccountImage.qml | 55 +++++ .../qml/welcomepage/CustomScrollBar.qml | 54 +++++ .../qml/welcomepage/CustomScrollView.qml | 37 +++ .../qml/welcomepage/ExamplesModel.qml | 148 ++++++++++++ .../qml/welcomepage/HoverOverDesaturate.qml | 215 ++++++++++++++++++ .../qml/welcomepage/MyButton.qml | 59 +++++ .../qml/welcomepage/MyTabButton.qml | 33 +++ .../qml/welcomepage/ProjectsGrid.qml | 67 ++++++ .../qml/welcomepage/SaturationEffect.qml | 41 ++++ .../qml/welcomepage/TutorialsModel.qml | 130 +++++++++++ .../images/Qt_QT_animatedImage.png | Bin .../welcomepage/images/Qt_QT_bindings.png | Bin .../images/Qt_QT_interactive3d.png | Bin .../qml}/welcomepage/images/Qt_QT_nav.png | Bin .../images/Qt_QT_sliderControl.png | Bin .../welcomepage/images/Qt_QT_textElement.png | Bin .../welcomepage/images/bridging_the_gap.png | Bin .../images/coffeemachinedemo_thumbnail.png | Bin .../welcomepage/images/cppdemo_thumbnail.png | Bin .../images/designer_and_developers.png | Bin .../images/digital_cluster_thumbnail.png | Bin .../qml/welcomepage/images/downloadCloud.svg | 29 +++ .../images/ebike_demo_thumbnail.png | Bin .../images/effectdemo_thumbnail.png | Bin .../images/gettingStarted_3dComponents.png | Bin .../images/gettingStarted_newProject.png | Bin .../images/gettingStarted_shaders.png | Bin .../images/highendivi_thumbnail.png | Bin .../qml/welcomepage/images/icon_default.png | Bin 0 -> 289 bytes .../qml/welcomepage/images/icon_hover.png | Bin 0 -> 289 bytes .../images/particles_thumbnail.png | Bin .../welcomepage/images/progressbar_demo.png | Bin .../images/qtws_video_thumbnail.png | Bin .../qml}/welcomepage/images/sidemenu_demo.png | Bin .../welcomepage/images/sketchTutorial_1.png | Bin .../welcomepage/images/sketchTutorial_2.png | Bin .../welcomepage/images/thermo_thumbnail.png | Bin .../welcomepage/images/thumbnail_test.png | Bin .../images/tutorialclusterdemo_thumbnail.png | Bin .../images/virtualkeyboard_thumbnail.png | Bin .../images/washingmachinedemo_thumbnail.png | Bin .../qml}/welcomepage/images/webinar1.png | Bin .../qml}/welcomepage/images/webinar2.png | Bin .../images/webinardemo_thumbnail.png | Bin .../welcomepage/images/what_is_new_15.png | Bin .../welcomepage/imports/welcome/Constants.qml | 37 +++ .../qml/welcomepage/imports/welcome/qmldir | 1 + .../studiowelcome/qml/welcomepage/main.qml | 204 +++++++++++++++++ .../mockData/projectmodel/ProjectModel.qml | 138 +++++++++++ .../welcomepage/mockData/projectmodel/qmldir | 1 + .../usagestatistics/UsageStatisticModel.qml | 30 +++ .../mockData/usagestatistics/qmldir | 1 + .../qml/welcomepage/welcomepage.qmlproject | 47 ++++ .../studiowelcome/studiowelcomeplugin.cpp | 28 +-- 54 files changed, 1336 insertions(+), 19 deletions(-) create mode 100644 src/plugins/studiowelcome/qml/welcomepage/AccountImage.qml create mode 100644 src/plugins/studiowelcome/qml/welcomepage/CustomScrollBar.qml create mode 100644 src/plugins/studiowelcome/qml/welcomepage/CustomScrollView.qml create mode 100644 src/plugins/studiowelcome/qml/welcomepage/ExamplesModel.qml create mode 100644 src/plugins/studiowelcome/qml/welcomepage/HoverOverDesaturate.qml create mode 100644 src/plugins/studiowelcome/qml/welcomepage/MyButton.qml create mode 100644 src/plugins/studiowelcome/qml/welcomepage/MyTabButton.qml create mode 100644 src/plugins/studiowelcome/qml/welcomepage/ProjectsGrid.qml create mode 100644 src/plugins/studiowelcome/qml/welcomepage/SaturationEffect.qml create mode 100644 src/plugins/studiowelcome/qml/welcomepage/TutorialsModel.qml rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/Qt_QT_animatedImage.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/Qt_QT_bindings.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/Qt_QT_interactive3d.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/Qt_QT_nav.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/Qt_QT_sliderControl.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/Qt_QT_textElement.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/bridging_the_gap.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/coffeemachinedemo_thumbnail.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/cppdemo_thumbnail.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/designer_and_developers.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/digital_cluster_thumbnail.png (100%) create mode 100644 src/plugins/studiowelcome/qml/welcomepage/images/downloadCloud.svg rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/ebike_demo_thumbnail.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/effectdemo_thumbnail.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/gettingStarted_3dComponents.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/gettingStarted_newProject.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/gettingStarted_shaders.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/highendivi_thumbnail.png (100%) create mode 100644 src/plugins/studiowelcome/qml/welcomepage/images/icon_default.png create mode 100644 src/plugins/studiowelcome/qml/welcomepage/images/icon_hover.png rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/particles_thumbnail.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/progressbar_demo.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/qtws_video_thumbnail.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/sidemenu_demo.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/sketchTutorial_1.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/sketchTutorial_2.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/thermo_thumbnail.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/thumbnail_test.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/tutorialclusterdemo_thumbnail.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/virtualkeyboard_thumbnail.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/washingmachinedemo_thumbnail.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/webinar1.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/webinar2.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/webinardemo_thumbnail.png (100%) rename {share/qtcreator/qmldesigner => src/plugins/studiowelcome/qml}/welcomepage/images/what_is_new_15.png (100%) create mode 100644 src/plugins/studiowelcome/qml/welcomepage/imports/welcome/Constants.qml create mode 100644 src/plugins/studiowelcome/qml/welcomepage/imports/welcome/qmldir create mode 100644 src/plugins/studiowelcome/qml/welcomepage/main.qml create mode 100644 src/plugins/studiowelcome/qml/welcomepage/mockData/projectmodel/ProjectModel.qml create mode 100644 src/plugins/studiowelcome/qml/welcomepage/mockData/projectmodel/qmldir create mode 100644 src/plugins/studiowelcome/qml/welcomepage/mockData/usagestatistics/UsageStatisticModel.qml create mode 100644 src/plugins/studiowelcome/qml/welcomepage/mockData/usagestatistics/qmldir create mode 100644 src/plugins/studiowelcome/qml/welcomepage/welcomepage.qmlproject diff --git a/src/plugins/studiowelcome/qml/welcomepage/AccountImage.qml b/src/plugins/studiowelcome/qml/welcomepage/AccountImage.qml new file mode 100644 index 00000000000..719ff05546d --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/AccountImage.qml @@ -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/") + } +} diff --git a/src/plugins/studiowelcome/qml/welcomepage/CustomScrollBar.qml b/src/plugins/studiowelcome/qml/welcomepage/CustomScrollBar.qml new file mode 100644 index 00000000000..a6042e24ccf --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/CustomScrollBar.qml @@ -0,0 +1,54 @@ +/**************************************************************************** +** +** Copyright (C) 2020 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.15 +import QtQuick.Templates 2.15 as Controls +import welcome 1.0 + +Controls.ScrollBar { + id: scrollBar + + implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, + implicitContentWidth + leftPadding + rightPadding) + implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, + implicitContentHeight + topPadding + bottomPadding) + + padding: active ? 1 : 2 + visible: orientation === Qt.Horizontal ? contentWidth > width : contentHeight > height + minimumSize: orientation === Qt.Horizontal ? height / width : width / height + + contentItem: Rectangle { + implicitWidth: 13 + implicitHeight: 13 + color: active ? Constants.textHoverColor : Constants.textDefaultColor + } + + background: Rectangle { + implicitWidth: 16 + implicitHeight: 16 + color: "#3b3c3d" + visible: active + } +} diff --git a/src/plugins/studiowelcome/qml/welcomepage/CustomScrollView.qml b/src/plugins/studiowelcome/qml/welcomepage/CustomScrollView.qml new file mode 100644 index 00000000000..0fbdfa9f00f --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/CustomScrollView.qml @@ -0,0 +1,37 @@ +/**************************************************************************** +** +** Copyright (C) 2020 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.Templates 2.15 as Controls + +Controls.ScrollView { + id: control + + Controls.ScrollBar.vertical: CustomScrollBar { + parent: control + x: control.mirrored ? 0 : control.width - width + y: control.topPadding + height: control.availableHeight + } +} diff --git a/src/plugins/studiowelcome/qml/welcomepage/ExamplesModel.qml b/src/plugins/studiowelcome/qml/welcomepage/ExamplesModel.qml new file mode 100644 index 00000000000..c13ef5b1b31 --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/ExamplesModel.qml @@ -0,0 +1,148 @@ +/**************************************************************************** +** +** Copyright (C) 2021 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: "content/Cluster_Art.ui.qml" + thumbnail: "images/tutorialclusterdemo_thumbnail.png" + displayName: "Cluster Tutorial" + showDownload: false + } + + ListElement { + projectName: "CoffeeMachine" + qmlFileName: "content/ApplicationFlowForm.ui.qml" + thumbnail: "images/coffeemachinedemo_thumbnail.png" + displayName: "Coffee Machine" + showDownload: false + } + + ListElement { + projectName: "SideMenu" + qmlFileName: "content/MainForm.ui.qml" + thumbnail: "images/sidemenu_demo.png" + displayName: "Side Menu" + showDownload: false + } + + ListElement { + projectName: "WebinarDemo" + qmlFileName: "content/MainApp.ui.qml" + thumbnail: "images/webinardemo_thumbnail.png" + displayName: "Webinar Demo" + showDownload: false + } + + ListElement { + projectName: "EBikeDesign" + qmlFileName: "content/Screen01.ui.qml" + thumbnail: "images/ebike_demo_thumbnail.png" + displayName: "E-Bike Design" + showDownload: false + } + + ListElement { + projectName: "ProgressBar" + qmlFileName: "content/ProgressBar.ui.qml" + thumbnail: "images/progressbar_demo.png" + displayName: "Progress Bar" + showDownload: false + } + + ListElement { + projectName: "washingMachineUI" + qmlFileName: "washingMachineUI.qml" + thumbnail: "images/washingmachinedemo_thumbnail.png" + displayName: "Washing Machine" + showDownload: false + } + + ListElement { + projectName: "SimpleKeyboard" + qmlFileName: "SimpleKeyboard.qml" + thumbnail: "images/virtualkeyboard_thumbnail.png" + displayName: "Virtual Keyboard" + showDownload: false + } + + ListElement { + projectName: "highendivisystem" + qmlFileName: "Screen01.ui.qml" + thumbnail: "images/highendivi_thumbnail.png" + displayName: "IVI System" + url: "https://download.qt.io/learning/examples/qtdesignstudio/highendivisystem.zip" + showDownload: true + } + + ListElement { + projectName: "digitalcluster" + qmlFileName: "Screen01.ui.qml" + thumbnail: "images/digital_cluster_thumbnail.png" + displayName: "Digital Cluster" + url: "https://download.qt.io/learning/examples/qtdesignstudio/digitalcluster.zip" + showDownload: true + } + + ListElement { + projectName: "effectdemo" + qmlFileName: "Screen01.ui.qml" + thumbnail: "images/effectdemo_thumbnail.png" + displayName: "Effect Demo" + url: "https://download.qt.io/learning/examples/qtdesignstudio/effectdemo.zip" + showDownload: true + } + + + ListElement { + projectName: "cppdemoproject" + explicitQmlproject: "qml/qdsproject.qmlproject" + qmlFileName: "WashingMachineHome/MainFile.ui.qml" + thumbnail: "images/cppdemo_thumbnail.png" + displayName: "C++ Demo Project" + url: "https://download.qt.io/learning/examples/qtdesignstudio/cppdemoproject.zip" + showDownload: true + } + + ListElement { + projectName: "particles" + qmlFileName: "Screen01.ui.qml" + thumbnail: "images/particles_thumbnail.png" + displayName: "Particle Demo" + url: "https://download.qt.io/learning/examples/qtdesignstudio/particles.zip" + showDownload: true + } + + ListElement { + projectName: "thermo" + qmlFileName: "thermo.ui.qml" + thumbnail: "images/thermo_thumbnail.png" + displayName: "Thermostat Demo" + url: "https://download.qt.io/learning/examples/qtdesignstudio/thermo.zip" + showDownload: true + } +} diff --git a/src/plugins/studiowelcome/qml/welcomepage/HoverOverDesaturate.qml b/src/plugins/studiowelcome/qml/welcomepage/HoverOverDesaturate.qml new file mode 100644 index 00000000000..18e645c3240 --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/HoverOverDesaturate.qml @@ -0,0 +1,215 @@ +/**************************************************************************** +** +** 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 { + id: root + visible: true + width: 270 + height: 175 + property alias imageSource: image.source + property alias labelText: label.text + + property alias downloadIcon: downloadCloud.visible + + signal clicked() + + 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.bottomMargin: -label.height + 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" + } + + onClicked: root.clicked() + } + } + + 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 + } + + Image { + id: downloadCloud + x: 210 + y: 118 + width: 60 + height: 60 + source: "images/downloadCloud.svg" + sourceSize.height: 60 + sourceSize.width: 60 + fillMode: Image.PreserveAspectFit + visible: false + } +} + +/*##^## +Designer { + D{i:0;formeditorZoom:1.3300000429153442}D{i:8} +} +##^##*/ diff --git a/src/plugins/studiowelcome/qml/welcomepage/MyButton.qml b/src/plugins/studiowelcome/qml/welcomepage/MyButton.qml new file mode 100644 index 00000000000..a73191350e4 --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/MyButton.qml @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** 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.Templates 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 + + text: "test" + + implicitWidth: background.width + implicitHeight: background.height + + 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 { + width: textButton.implicitWidth + height: textButton.implicitHeight + } +} diff --git a/src/plugins/studiowelcome/qml/welcomepage/MyTabButton.qml b/src/plugins/studiowelcome/qml/welcomepage/MyTabButton.qml new file mode 100644 index 00000000000..420b3a2b67e --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/MyTabButton.qml @@ -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" +} diff --git a/src/plugins/studiowelcome/qml/welcomepage/ProjectsGrid.qml b/src/plugins/studiowelcome/qml/welcomepage/ProjectsGrid.qml new file mode 100644 index 00000000000..099c123ecfe --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/ProjectsGrid.qml @@ -0,0 +1,67 @@ +/**************************************************************************** +** +** 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 + downloadIcon: typeof(showDownload) === "undefined" ? false : showDownload; + onClicked: root.itemSelected(index, root.model.get(index)) + + 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 + } + } + } +} diff --git a/src/plugins/studiowelcome/qml/welcomepage/SaturationEffect.qml b/src/plugins/studiowelcome/qml/welcomepage/SaturationEffect.qml new file mode 100644 index 00000000000..32d2448d6ee --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/SaturationEffect.qml @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** 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 + + property real desaturation: 1.0 + + Rectangle { + z: 10 + anchors.fill: parent + color: "#2d2e30" + anchors.margins: -16 + + opacity: root.desaturation * 0.6 + } +} diff --git a/src/plugins/studiowelcome/qml/welcomepage/TutorialsModel.qml b/src/plugins/studiowelcome/qml/welcomepage/TutorialsModel.qml new file mode 100644 index 00000000000..efb59e5a0ae --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/TutorialsModel.qml @@ -0,0 +1,130 @@ +/**************************************************************************** +** +** 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: "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: "QTWS - Designer and Developer Workflow" + thumbnail: "images/qtws_video_thumbnail.png" + url: "https://www.youtube.com/watch?v=4ug0EUdS2RM" + } + + ListElement { + displayName: "QTWS - Turn UI designs into working prototypes" + thumbnail: "images/bridging_the_gap.png" + url: "https://www.youtube.com/watch?v=qQM2oEWRBOw&feature=emb_logo" + } + + ListElement { + displayName: "What's New in Design Studio 1.5" + thumbnail: "images/what_is_new_15.png" + url: "https://www.youtube.com/watch?v=e-HAZrisi5o" + } + + ListElement { + displayName: "Qt Design Studio QuickTip: UI Navigation" + thumbnail: "images/Qt_QT_nav.png" + url: "https://youtu.be/RfEYO-5Mw6s" + } + + ListElement { + displayName: "Qt Design Studio QuickTip: Text Element" + thumbnail: "images/Qt_QT_textElement.png" + url: "https://youtu.be/yOUdg1o2KJM" + } + + ListElement { + displayName: "Qt Design Studio QuickTip: Animated Image" + thumbnail: "images/Qt_QT_animatedImage.png" + url: "https://youtu.be/DVWd_xMMgvg" + } + + ListElement { + displayName: "Qt Design Studio QuickTip: Slider Control" + thumbnail: "images/Qt_QT_sliderControl.png" + url: "https://youtu.be/Ed8WS03C-Vk" + } + + ListElement { + displayName: "Qt Design Studio QuickTip: Bindings" + thumbnail: "images/Qt_QT_bindings.png" + url: "https://youtu.be/UfvA04CIXv0" + } + + ListElement { + displayName: "Qt Design Studio QuickTip: Interactive 3D" + thumbnail: "images/Qt_QT_interactive3d.png" + url: "https://youtu.be/w1yhDl93YI0" + } + + ListElement { + displayName: "Sketch Bridge Tutorial - Part 1" + thumbnail: "images/sketchTutorial_1.png" + url: "https://www.qt.io/blog/qt-design-studio-sketch-bridge-tutorial-part-1" + } + + ListElement { + displayName: "Sketch Bridge Tutorial - Part 2" + thumbnail: "images/sketchTutorial_2.png" + url: "https://www.qt.io/blog/qt-design-studio-sketch-bridge-tutorial-part-2" + } + + ListElement { + displayName: "Create New Project" + thumbnail: "images/gettingStarted_newProject.png" + url: "https://youtu.be/9ihYeC0YJ0M" + } + + ListElement { + displayName: "Using Qt Quick 3D Components" + thumbnail: "images/gettingStarted_3dComponents.png" + url: "https://youtu.be/u3kZJjlk3CY" + } + + ListElement { + displayName: "Using Custom Shaders, Materials, and Effects" + thumbnail: "images/gettingStarted_shaders.png" + url: "https://youtu.be/bMXeeQw6BYs" + } +} diff --git a/share/qtcreator/qmldesigner/welcomepage/images/Qt_QT_animatedImage.png b/src/plugins/studiowelcome/qml/welcomepage/images/Qt_QT_animatedImage.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/Qt_QT_animatedImage.png rename to src/plugins/studiowelcome/qml/welcomepage/images/Qt_QT_animatedImage.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/Qt_QT_bindings.png b/src/plugins/studiowelcome/qml/welcomepage/images/Qt_QT_bindings.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/Qt_QT_bindings.png rename to src/plugins/studiowelcome/qml/welcomepage/images/Qt_QT_bindings.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/Qt_QT_interactive3d.png b/src/plugins/studiowelcome/qml/welcomepage/images/Qt_QT_interactive3d.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/Qt_QT_interactive3d.png rename to src/plugins/studiowelcome/qml/welcomepage/images/Qt_QT_interactive3d.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/Qt_QT_nav.png b/src/plugins/studiowelcome/qml/welcomepage/images/Qt_QT_nav.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/Qt_QT_nav.png rename to src/plugins/studiowelcome/qml/welcomepage/images/Qt_QT_nav.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/Qt_QT_sliderControl.png b/src/plugins/studiowelcome/qml/welcomepage/images/Qt_QT_sliderControl.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/Qt_QT_sliderControl.png rename to src/plugins/studiowelcome/qml/welcomepage/images/Qt_QT_sliderControl.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/Qt_QT_textElement.png b/src/plugins/studiowelcome/qml/welcomepage/images/Qt_QT_textElement.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/Qt_QT_textElement.png rename to src/plugins/studiowelcome/qml/welcomepage/images/Qt_QT_textElement.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/bridging_the_gap.png b/src/plugins/studiowelcome/qml/welcomepage/images/bridging_the_gap.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/bridging_the_gap.png rename to src/plugins/studiowelcome/qml/welcomepage/images/bridging_the_gap.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/coffeemachinedemo_thumbnail.png b/src/plugins/studiowelcome/qml/welcomepage/images/coffeemachinedemo_thumbnail.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/coffeemachinedemo_thumbnail.png rename to src/plugins/studiowelcome/qml/welcomepage/images/coffeemachinedemo_thumbnail.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/cppdemo_thumbnail.png b/src/plugins/studiowelcome/qml/welcomepage/images/cppdemo_thumbnail.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/cppdemo_thumbnail.png rename to src/plugins/studiowelcome/qml/welcomepage/images/cppdemo_thumbnail.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/designer_and_developers.png b/src/plugins/studiowelcome/qml/welcomepage/images/designer_and_developers.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/designer_and_developers.png rename to src/plugins/studiowelcome/qml/welcomepage/images/designer_and_developers.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/digital_cluster_thumbnail.png b/src/plugins/studiowelcome/qml/welcomepage/images/digital_cluster_thumbnail.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/digital_cluster_thumbnail.png rename to src/plugins/studiowelcome/qml/welcomepage/images/digital_cluster_thumbnail.png diff --git a/src/plugins/studiowelcome/qml/welcomepage/images/downloadCloud.svg b/src/plugins/studiowelcome/qml/welcomepage/images/downloadCloud.svg new file mode 100644 index 00000000000..3a527c3e54f --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/images/downloadCloud.svg @@ -0,0 +1,29 @@ + + + + + + + diff --git a/share/qtcreator/qmldesigner/welcomepage/images/ebike_demo_thumbnail.png b/src/plugins/studiowelcome/qml/welcomepage/images/ebike_demo_thumbnail.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/ebike_demo_thumbnail.png rename to src/plugins/studiowelcome/qml/welcomepage/images/ebike_demo_thumbnail.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/effectdemo_thumbnail.png b/src/plugins/studiowelcome/qml/welcomepage/images/effectdemo_thumbnail.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/effectdemo_thumbnail.png rename to src/plugins/studiowelcome/qml/welcomepage/images/effectdemo_thumbnail.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/gettingStarted_3dComponents.png b/src/plugins/studiowelcome/qml/welcomepage/images/gettingStarted_3dComponents.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/gettingStarted_3dComponents.png rename to src/plugins/studiowelcome/qml/welcomepage/images/gettingStarted_3dComponents.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/gettingStarted_newProject.png b/src/plugins/studiowelcome/qml/welcomepage/images/gettingStarted_newProject.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/gettingStarted_newProject.png rename to src/plugins/studiowelcome/qml/welcomepage/images/gettingStarted_newProject.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/gettingStarted_shaders.png b/src/plugins/studiowelcome/qml/welcomepage/images/gettingStarted_shaders.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/gettingStarted_shaders.png rename to src/plugins/studiowelcome/qml/welcomepage/images/gettingStarted_shaders.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/highendivi_thumbnail.png b/src/plugins/studiowelcome/qml/welcomepage/images/highendivi_thumbnail.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/highendivi_thumbnail.png rename to src/plugins/studiowelcome/qml/welcomepage/images/highendivi_thumbnail.png diff --git a/src/plugins/studiowelcome/qml/welcomepage/images/icon_default.png b/src/plugins/studiowelcome/qml/welcomepage/images/icon_default.png new file mode 100644 index 0000000000000000000000000000000000000000..82b852a408ce689f3b0f9f1cd2cf3def8376eb7c GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0y~yU{GLSU{GdZW?*1oKOmaPz`&pz;1lBd|Ns9Y;=$Ex ze;61T_)3EOf*BMH90C#w8WwCgaN)rRZmF%m85kI*db&7w4 z+^i~%yUHCt$Q*oL!Oq58z-ZrbKzPRi+l~X#67#>xim)t@YBXr!R@=~!!N_B5kaMtr zeVMo6pQeY=XFeR@Fm!Ur;XN{Ka;Lz)C)O4-ILdz5wj79_@c8jP#m414JZIhqG%zxo zuR6ds<9NaYPG|X52e{jcS1{#E+*`<4#4@EfutAU^CsScYmt(_y1_lNOPgg&ebxsLQ E0ODJ2p8x;= literal 0 HcmV?d00001 diff --git a/src/plugins/studiowelcome/qml/welcomepage/images/icon_hover.png b/src/plugins/studiowelcome/qml/welcomepage/images/icon_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..693fdaf7b5a25bc063574146319b75f5cb16e69d GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0y~yU{GLSU{GdZW?*1oKOmaPz`&pz;1lBd|NsAKM1wO` zQmhON416U)e!&b11`YuU1q}-}9Juh{1Gm)H-wX^4Q$1ZALo_BPCp0i5C$ps-xbpqo zU2ayD#$DwOA7l^fNjTtXo>k>WkpyPNHrR?aI0--$YA6#Hpn?x zz`o4e@K4jj=rbP-gQu&X%Q~lo FCIGvKa?=0+ literal 0 HcmV?d00001 diff --git a/share/qtcreator/qmldesigner/welcomepage/images/particles_thumbnail.png b/src/plugins/studiowelcome/qml/welcomepage/images/particles_thumbnail.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/particles_thumbnail.png rename to src/plugins/studiowelcome/qml/welcomepage/images/particles_thumbnail.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/progressbar_demo.png b/src/plugins/studiowelcome/qml/welcomepage/images/progressbar_demo.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/progressbar_demo.png rename to src/plugins/studiowelcome/qml/welcomepage/images/progressbar_demo.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/qtws_video_thumbnail.png b/src/plugins/studiowelcome/qml/welcomepage/images/qtws_video_thumbnail.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/qtws_video_thumbnail.png rename to src/plugins/studiowelcome/qml/welcomepage/images/qtws_video_thumbnail.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/sidemenu_demo.png b/src/plugins/studiowelcome/qml/welcomepage/images/sidemenu_demo.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/sidemenu_demo.png rename to src/plugins/studiowelcome/qml/welcomepage/images/sidemenu_demo.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/sketchTutorial_1.png b/src/plugins/studiowelcome/qml/welcomepage/images/sketchTutorial_1.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/sketchTutorial_1.png rename to src/plugins/studiowelcome/qml/welcomepage/images/sketchTutorial_1.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/sketchTutorial_2.png b/src/plugins/studiowelcome/qml/welcomepage/images/sketchTutorial_2.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/sketchTutorial_2.png rename to src/plugins/studiowelcome/qml/welcomepage/images/sketchTutorial_2.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/thermo_thumbnail.png b/src/plugins/studiowelcome/qml/welcomepage/images/thermo_thumbnail.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/thermo_thumbnail.png rename to src/plugins/studiowelcome/qml/welcomepage/images/thermo_thumbnail.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/thumbnail_test.png b/src/plugins/studiowelcome/qml/welcomepage/images/thumbnail_test.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/thumbnail_test.png rename to src/plugins/studiowelcome/qml/welcomepage/images/thumbnail_test.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/tutorialclusterdemo_thumbnail.png b/src/plugins/studiowelcome/qml/welcomepage/images/tutorialclusterdemo_thumbnail.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/tutorialclusterdemo_thumbnail.png rename to src/plugins/studiowelcome/qml/welcomepage/images/tutorialclusterdemo_thumbnail.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/virtualkeyboard_thumbnail.png b/src/plugins/studiowelcome/qml/welcomepage/images/virtualkeyboard_thumbnail.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/virtualkeyboard_thumbnail.png rename to src/plugins/studiowelcome/qml/welcomepage/images/virtualkeyboard_thumbnail.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/washingmachinedemo_thumbnail.png b/src/plugins/studiowelcome/qml/welcomepage/images/washingmachinedemo_thumbnail.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/washingmachinedemo_thumbnail.png rename to src/plugins/studiowelcome/qml/welcomepage/images/washingmachinedemo_thumbnail.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/webinar1.png b/src/plugins/studiowelcome/qml/welcomepage/images/webinar1.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/webinar1.png rename to src/plugins/studiowelcome/qml/welcomepage/images/webinar1.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/webinar2.png b/src/plugins/studiowelcome/qml/welcomepage/images/webinar2.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/webinar2.png rename to src/plugins/studiowelcome/qml/welcomepage/images/webinar2.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/webinardemo_thumbnail.png b/src/plugins/studiowelcome/qml/welcomepage/images/webinardemo_thumbnail.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/webinardemo_thumbnail.png rename to src/plugins/studiowelcome/qml/welcomepage/images/webinardemo_thumbnail.png diff --git a/share/qtcreator/qmldesigner/welcomepage/images/what_is_new_15.png b/src/plugins/studiowelcome/qml/welcomepage/images/what_is_new_15.png similarity index 100% rename from share/qtcreator/qmldesigner/welcomepage/images/what_is_new_15.png rename to src/plugins/studiowelcome/qml/welcomepage/images/what_is_new_15.png diff --git a/src/plugins/studiowelcome/qml/welcomepage/imports/welcome/Constants.qml b/src/plugins/studiowelcome/qml/welcomepage/imports/welcome/Constants.qml new file mode 100644 index 00000000000..84f8da8d106 --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/imports/welcome/Constants.qml @@ -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" +} diff --git a/src/plugins/studiowelcome/qml/welcomepage/imports/welcome/qmldir b/src/plugins/studiowelcome/qml/welcomepage/imports/welcome/qmldir new file mode 100644 index 00000000000..616ac203530 --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/imports/welcome/qmldir @@ -0,0 +1 @@ +singleton Constants 1.0 Constants.qml diff --git a/src/plugins/studiowelcome/qml/welcomepage/main.qml b/src/plugins/studiowelcome/qml/welcomepage/main.qml new file mode 100644 index 00000000000..ca09aa07a55 --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/main.qml @@ -0,0 +1,204 @@ +/**************************************************************************** +** +** 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 + + CustomScrollView { + ProjectsGrid { + model: ProjectModel { + id: projectModel + } + onItemSelected: function(index, item) { projectModel.openProjectAt(index) } + } + } + + CustomScrollView { + ProjectsGrid { + model: ExamplesModel {} + onItemSelected: function(index, item) { + projectModel.openExample(item.projectName, item.qmlFileName, item.url, item.explicitQmlproject) + } + } + } + + CustomScrollView{ + ProjectsGrid { + model: TutorialsModel {} + onItemSelected: function(index, item) { 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") + 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/") + } + } + + Text { + id: qtDesignStudio1 + x: 891 + y: 171 + color: "#ffffff" + text: qsTr("Community Edition") + anchors.right: parent.right + anchors.rightMargin: 23 + font.weight: Font.Light + font.pixelSize: 14 + font.family: StudioFonts.titilliumWeb_regular + renderType: Text.NativeRendering + visible: projectModel.communityVersion + } + } +} diff --git a/src/plugins/studiowelcome/qml/welcomepage/mockData/projectmodel/ProjectModel.qml b/src/plugins/studiowelcome/qml/welcomepage/mockData/projectmodel/ProjectModel.qml new file mode 100644 index 00000000000..bca1783d422 --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/mockData/projectmodel/ProjectModel.qml @@ -0,0 +1,138 @@ +/**************************************************************************** +** +** 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 { + + property bool communityVersion: true + 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" + } +} diff --git a/src/plugins/studiowelcome/qml/welcomepage/mockData/projectmodel/qmldir b/src/plugins/studiowelcome/qml/welcomepage/mockData/projectmodel/qmldir new file mode 100644 index 00000000000..0d7bc345c2b --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/mockData/projectmodel/qmldir @@ -0,0 +1 @@ +ProjectModel 1.0 ProjectModel.qml diff --git a/src/plugins/studiowelcome/qml/welcomepage/mockData/usagestatistics/UsageStatisticModel.qml b/src/plugins/studiowelcome/qml/welcomepage/mockData/usagestatistics/UsageStatisticModel.qml new file mode 100644 index 00000000000..c19250f2149 --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/mockData/usagestatistics/UsageStatisticModel.qml @@ -0,0 +1,30 @@ +/**************************************************************************** +** +** Copyright (C) 2020 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 + +QtObject { + property bool usageStatisticEnabled: false +} diff --git a/src/plugins/studiowelcome/qml/welcomepage/mockData/usagestatistics/qmldir b/src/plugins/studiowelcome/qml/welcomepage/mockData/usagestatistics/qmldir new file mode 100644 index 00000000000..c83a43a8ae7 --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/mockData/usagestatistics/qmldir @@ -0,0 +1 @@ +UsageStatisticModel 1.0 UsageStatisticModel.qml diff --git a/src/plugins/studiowelcome/qml/welcomepage/welcomepage.qmlproject b/src/plugins/studiowelcome/qml/welcomepage/welcomepage.qmlproject new file mode 100644 index 00000000000..de393d88b07 --- /dev/null +++ b/src/plugins/studiowelcome/qml/welcomepage/welcomepage.qmlproject @@ -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" + } +} diff --git a/src/plugins/studiowelcome/studiowelcomeplugin.cpp b/src/plugins/studiowelcome/studiowelcomeplugin.cpp index 92531da3243..470ca731442 100644 --- a/src/plugins/studiowelcome/studiowelcomeplugin.cpp +++ b/src/plugins/studiowelcome/studiowelcomeplugin.cpp @@ -42,8 +42,6 @@ #include #include -#include - #include #include #include @@ -57,7 +55,6 @@ #include #include #include -#include #include #include #include @@ -380,7 +377,6 @@ void StudioWelcomePlugin::extensionsInitialized() #endif - QTC_ASSERT(s_view->rootObject(), qWarning() << "The StudioWelcomePlugin has a runtime depdendency on " "qt/qtquicktimeline."; @@ -454,22 +450,16 @@ WelcomeMode::WelcomeMode() m_modeWidget = new QQuickWidget; m_modeWidget->setResizeMode(QQuickWidget::SizeRootObjectToView); - QmlDesigner::Theme::setupTheme(m_modeWidget->engine()); m_modeWidget->engine()->addImportPath("qrc:/studiofonts"); - m_modeWidget->engine()->addImportPath(Core::ICore::resourcePath("qmldesigner/propertyEditorQmlSources/imports").toString()); - - const QString welcomePagePath = Core::ICore::resourcePath("qmldesigner/welcomepage").toString(); - m_modeWidget->engine()->addImportPath(welcomePagePath + "/imports"); - m_modeWidget->setSource(QUrl::fromLocalFile(welcomePagePath + "/main.qml")); - - QShortcut *updateShortcut = nullptr; - if (Utils::HostOsInfo::isMacHost()) - updateShortcut = new QShortcut(QKeySequence(Qt::ALT + Qt::Key_F5), m_modeWidget); - else - updateShortcut = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_F5), m_modeWidget); - connect(updateShortcut, &QShortcut::activated, this, [this, welcomePagePath](){ - m_modeWidget->setSource(QUrl::fromLocalFile(welcomePagePath + "/main.qml")); - }); +#ifdef QT_DEBUG + m_modeWidget->engine()->addImportPath(QLatin1String(STUDIO_QML_PATH) + + "welcomepage/imports"); + m_modeWidget->setSource(QUrl::fromLocalFile(QLatin1String(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);