Untitled

mail@pastecode.io avatar
unknown
plain_text
a month ago
11 kB
9
Indexable
Never
import QtQuick 2.0
import QtQuick.Controls 1.0
import QtQuick.Controls.Styles 1.0

import "../style.js" as Style
import "../Util.js" as Util
import "../strings.js" as Locales
import "../components"

Rectangle {
    id: mainPage

    property var strings

    signal openFeedbackRequested()
    color: "#141414"

    QRCHolder {
        id: qrc
        qrcPath:  "../images"
    }

    Keys.onReturnPressed: mainPage.buyNow()
    Keys.onEnterPressed:  mainPage.buyNow()

    Image {
        id: image
        width: 260
        height: 508
        source: qrc.icon("background")
        anchors { top: parent.top; left: parent.left; }
    }

    Item {
        id: body
        anchors.top: parent.top
        anchors.left: image.right
        anchors.right: parent.right
        anchors.bottom: parent.bottom
        anchors.margins: 40

        Title {
            id: title
            anchors.top: parent.top
            anchors.left: parent.left
            anchors.right: parent.right
            color: "#f5f5f5"
            text: strings.CREATE_AWESOME_VIDEOUS_EASILY
            font.pixelSize: 24
            font.bold: true
            font.family: Style.fontAeroportBold
        }

        Title {
            id: subtitle
            anchors.top: title.bottom
            anchors.left: parent.left
            anchors.right: parent.right
            anchors.topMargin: 12
            color: "#b8b8b8"
            text: strings.BUY_THE_FULL_VERSION_OF_MOVAVI_VIDEO_EDITOR_AND_GET_ACCESS_TO_ALL_THE_PROGRAM_FEATURES
            font.pixelSize: 14
            font.family: Style.fontNotoSans
        }

         Rectangle{
             id:freeRect
                     height:260
                     width:250
                     color:"#292929" //svg named colors is awesome for the non graphically talented like me!
                     anchors.top: subtitle.bottom
                     anchors.topMargin: 32
                     anchors.left: parent.left
                     radius: 12


                         Row {
                             id: freeTitle
                             anchors.top: freeRect.top
                             anchors.topMargin: 24
                             anchors.left: freeRect.left
                             anchors.leftMargin: 24
                             spacing: 8

                             Image {
                                 id: imageFree
                                 width: 16
                                 height: 16
                                 source: qrc.icon("free_icon")
                             }

                             Text {
                                 id: textFree

                                 font.pixelSize: 18
                                 font.family: Style.fontAeroportBold
                                 text: strings.FREE_VERSION
                                 anchors.top: imageFree.top
                                 anchors.left: imageFree.right
                                 anchors.horizontalCenter: parent.horizontalCenter
                                 anchors.leftMargin: 8

                                 color: "#F5F5F5"
                             }
                         }
                         Column{
                             anchors.top: freeTitle.bottom
                             anchors.topMargin: 20
                             anchors.left: freeRect.left
                             anchors.leftMargin: 24
                             spacing: 32

                         Feature {
                             anchors.horizontalCenter: freeRect.horizontalCenter
                             text: strings.WATERMARK_ON_SAVED_VIDEOUS
                             iconSource: qrc.icon("dot_icon")
                         }

                         Feature {
                             anchors.horizontalCenter: freeRect.horizontalCenter
                             text: strings.LIMITED_FUNCTIONALITY
                             iconSource: qrc.icon("dot_icon")
                         }}

                         Button {
                             id: stayFreeButton
                             anchors.bottom: freeRect.bottom
                             anchors.bottomMargin: 24
                             anchors.horizontalCenter:freeRect.horizontalCenter
                             height: 52
                             width: 199


                             style: ButtonStyle {
                                 padding.left: 12
                                 padding.right: 12

                                 label: Label {
                                     color: "#f5f5f5"
                                     text: strings.STAY_WITH_FREE
                                     verticalAlignment: Label.AlignVCenter
                                     horizontalAlignment: Label.AlignHCenter
                                     font.pixelSize: 16
                                     font.bold: true
                                     font.family: Style.fontAeroportBold
                                 }
                                 background: Rectangle {
                                     color: Util.stateColor(control, ["#333333", "#3D3D3D", "#292929"])
                                     radius: 12
                                 }
                             }
                             onClicked: mainPage.close()
                         }

         }

         Rectangle{
                 id:fullRect
                 height:260
                 width:250
                 color:"#292929" //svg named colors is awesome for the non graphically talented like me!
                 anchors.top: subtitle.bottom
                 anchors.topMargin: 32
                 anchors.left: parent.horizontalCenter
                 anchors.leftMargin: 12
                 radius: 12
                     Row {
                         id:fullTitle
                         anchors.top: fullRect.top
                         anchors.topMargin: 24
                         anchors.left: fullRect.left
                         anchors.leftMargin: 24
                         spacing: 8

                         Image {
                             id: imageFull
                             width: 16
                             height: 16
                             source: qrc.icon("full_icon")
                         }

                         Text {
                             id: textFull
                             font.pixelSize: 18
                             font.family: Style.fontAeroportBold
                             text: strings.FULL_VERSION
                             anchors.top: imageFull.top
                             anchors.left: imageFull.right
                             anchors.leftMargin: 8
                             anchors.horizontalCenter: imageFull.horizontalCenter
                             color: "#F5F5F5"
                         }
                     }
                     Column{
                         anchors.top: fullTitle.bottom
                         anchors.topMargin: 20
                         anchors.left: fullRect.left
                         anchors.leftMargin: 24
                         spacing: 8

                     Feature {

                         anchors.horizontalCenter: fullRect.horizontalCenter
                         text: strings.NO_WATERMARK
                         iconSource: qrc.icon("check_icon")
                     }

                     Feature {


                         text: strings.NO_LIMITATIONS
                         iconSource: qrc.icon("check_icon")
                     }
                     Feature {



                         text: strings.NO_RESTRICTIONS
                         iconSource: qrc.icon("check_icon")
                     }

                 }

                 Button {
                     id: buyButton
                     anchors.bottom: fullRect.bottom
                     anchors.bottomMargin: 24
                     anchors.horizontalCenter:fullRect.horizontalCenter
                     height: 52
                     width: 199


                     style: ButtonStyle {
                         padding.left: 12
                         padding.right: 12

                         label: Label {
                             color: "#1F1F1F"
                             text: strings.BUY_FULL_VERSION
                             verticalAlignment: Label.AlignVCenter
                             horizontalAlignment: Label.AlignHCenter
                             font.pixelSize: 16
                             font.bold: true
                             font.family: Style.fontAeroportBold
                         }
                         background: Rectangle {
                             color: Util.stateColor(control, ["#FFD700", "#E9BF35", "#FFD700"])
                             radius: 12
                         }
                     }
                     onClicked: mainPage.buyNow()
                 }


             }
         CheckBox {
             anchors.left: parent.left
             anchors.bottom: parent.bottom
             checked: false

                Text{
                   id: checkboxText
                   anchors.left: parent.right
                   anchors.leftMargin: 8
                   color: "#b8b8b8"
                   text: strings.DONT_SHOW_THIS_AGAIN
                   font.pixelSize: 14
                   font.family: Style.fontNotoSans
                    }
                   onCheckedChanged: mainPage.dontShowAgain(checkBox.checked);
            }
         Text{
         id: hyperlinkText
         text: strings.I_ALREADY_HAVE_AN_ACTIVATION_KEY
         color: "#6479E3"
         anchors.right: parent.right
anchors.bottom: parent.bottom
          font.pixelSize: 12
          font.family: Style.fontNotoSans
          MouseArea{
                  id: mouseHyperlinkArea
                  hoverEnabled: true
                  anchors.fill: parent
                  onClicked:  mainPage.activate();
                   }
          }
    }


    function buyNow() {
        callback.BuyNow();
    }

    function close() {
        callback.Reject();
    }

    function dontShowAgain(value) {
        callback.DontShowAgainRequested(value);
    }

    function activate()
    {
        callback.Activate();
        callback.Accept();
    }

    Component.onCompleted: strings = Locales.stringList[callback.GetLocale()]
}
Leave a Comment