diff --git a/resources/icons/I_Informations_Black_24dp.svg b/resources/icons/I_Informations_Black_24dp.svg new file mode 100644 index 0000000000000000000000000000000000000000..f1c380ba9db0892c12257a327fe395bc42d2d3de --- /dev/null +++ b/resources/icons/I_Informations_Black_24dp.svg @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"> +<g id="noun-about-3359358" transform="translate(-188.36 -188.36)"> + <path id="Path_15" d="M200.4,197.7c-0.5,0-0.9,0.4-0.9,0.9l0,0v7.7c0,0.5,0.4,0.9,0.9,0.9s0.9-0.4,0.9-0.9l0,0v-7.7 + C201.3,198.1,200.9,197.7,200.4,197.7L200.4,197.7z"/> + <path id="Path_16" d="M201.3,195.3c0,0.5-0.4,0.9-0.9,0.9s-0.9-0.4-0.9-0.9s0.4-0.9,0.9-0.9l0,0 + C200.9,194.4,201.3,194.8,201.3,195.3"/> +</g> +</svg> diff --git a/resources/icons/_Black_24dp.svg b/resources/icons/_Black_24dp.svg new file mode 100644 index 0000000000000000000000000000000000000000..42ff96e4b7d33542e943cb599e3cab0e8f2d50d1 --- /dev/null +++ b/resources/icons/_Black_24dp.svg @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"> +<g> + <path d="M11.9,16.8C11.9,16.8,11.9,16.8,11.9,16.8c-0.2,0-0.5,0.1-0.6,0.3c-0.2,0.2-0.3,0.4-0.3,0.6c0,0.2,0.1,0.5,0.3,0.6 + c0.2,0.2,0.4,0.3,0.6,0.3c0.2,0,0.5-0.1,0.6-0.3c0.2-0.2,0.3-0.4,0.3-0.6c0-0.2-0.1-0.5-0.3-0.6S12.1,16.8,11.9,16.8z"/> + <path d="M14.5,6.4c-0.7-0.6-1.5-1-2.5-1c-0.9,0-1.8,0.4-2.5,1c-0.7,0.7-1,1.5-1,2.5c0,0.3,0.2,0.5,0.4,0.6c0.2,0.1,0.5,0.1,0.8,0 + c0.2-0.1,0.4-0.4,0.4-0.7c0-0.6,0.4-1.2,0.9-1.5c0.5-0.3,1.2-0.3,1.8,0c0.5,0.3,0.9,0.9,0.9,1.5c0,0.8-0.6,1.4-1.2,1.7 + c-1.2,0.7-1.6,1.8-1.5,2.5v1.5c0,0.2,0.1,0.4,0.3,0.6c0.2,0.2,0.4,0.2,0.6,0.2c0.2,0,0.5-0.1,0.6-0.2c0.2-0.2,0.2-0.4,0.2-0.6v-1.6 + c0-0.1,0-0.5,0.7-1l0,0c1.3-0.8,2-1.9,2-3.1C15.5,7.9,15.1,7,14.5,6.4z"/> +</g> +</svg> diff --git a/resources/images/jami-motion-logo-loop-8s-60fps.gif b/resources/images/jami-motion-logo-loop-8s-60fps.gif deleted file mode 100644 index ba1037fead1901bdc21d02bd9efcc96dd270b2f1..0000000000000000000000000000000000000000 Binary files a/resources/images/jami-motion-logo-loop-8s-60fps.gif and /dev/null differ diff --git a/resources/images/logo_dark.webm b/resources/images/logo_dark.webm new file mode 100644 index 0000000000000000000000000000000000000000..8ba6cca3a9c497695ea34172ffbe095865c57f2d Binary files /dev/null and b/resources/images/logo_dark.webm differ diff --git a/resources/images/logo_light.webm b/resources/images/logo_light.webm new file mode 100644 index 0000000000000000000000000000000000000000..782ee1a43ed60728e3d32c9818912922e1e308ec Binary files /dev/null and b/resources/images/logo_light.webm differ diff --git a/src/app/commoncomponents/BackButton.qml b/src/app/commoncomponents/BackButton.qml index a7001c744988deea3eae037774ffa56a0aa379e1..6a1cab084176ada2fc64015321f4417678bfffa3 100644 --- a/src/app/commoncomponents/BackButton.qml +++ b/src/app/commoncomponents/BackButton.qml @@ -24,8 +24,14 @@ import net.jami.Constants 1.1 PushButton { id: root - normalColor: JamiTheme.backgroundColor - imageColor: JamiTheme.primaryForegroundColor + normalColor: "transparent" + imageColor: JamiTheme.buttonTintedBlue + radius: 5 + + preferredSize: JamiTheme.wizardViewPageBackButtonSize + preferredWidth: JamiTheme.wizardViewPageBackButtonWidth + preferredHeight: JamiTheme.wizardViewPageBackButtonHeight + hoveredColor: JamiTheme.hoveredButtonColorWizard source: JamiResources.ic_arrow_back_24dp_svg toolTipText: JamiStrings.back diff --git a/src/app/commoncomponents/JamiSwitch.qml b/src/app/commoncomponents/JamiSwitch.qml index a569268f948d9299563544a23497cf70e826d01a..abd69f0af90853badd1f4f20d2ffe57d38e084b1 100644 --- a/src/app/commoncomponents/JamiSwitch.qml +++ b/src/app/commoncomponents/JamiSwitch.qml @@ -62,8 +62,7 @@ Switch { color: root.checked ? JamiTheme.switchHandleCheckedColor : JamiTheme.switchHandleColor - border.color: root.checked ? JamiTheme.switchHandleCheckedBorderColor : - JamiTheme.switchHandleBorderColor + border.color: JamiTheme.switchHandleBorderColor } } diff --git a/src/app/commoncomponents/MaterialButton.qml b/src/app/commoncomponents/MaterialButton.qml index 4cc09a7c711095f3b73d0b21b6aa6837ec5e858f..d58c3fc670f0c3cd85de4e363772172c420d8d5c 100644 --- a/src/app/commoncomponents/MaterialButton.qml +++ b/src/app/commoncomponents/MaterialButton.qml @@ -39,16 +39,17 @@ AbstractButton { property real iconSize: 18 property var color: JamiTheme.buttonTintedBlue property var hoveredColor: JamiTheme.buttonTintedBlueHovered - property var secHoveredColor: JamiTheme.transparentColor + property var secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor property var pressedColor: JamiTheme.buttonTintedBluePressed property var keysNavigationFocusColor: Qt.darker(hoveredColor, 2) property bool hasIcon: animatedIconSource.length !== 0 || iconSource.length !== 0 + property bool canBeHovered: true property var preferredWidth property real textLeftPadding property real textRightPadding - property real fontSize: JamiTheme.wizardViewDescriptionFontPixelSize + property real fontSize: JamiTheme.wizardViewButtonFontPixelSize Binding on width { when: root.preferredWidth !== undefined || @@ -62,7 +63,7 @@ AbstractButton { value: width } - property real preferredHeight: JamiTheme.pushButtonMargin*2 + textButton.height + property real preferredHeight: JamiTheme.wizardButtonHeightMargin*2 + textButton.height height: preferredHeight Layout.preferredHeight: height @@ -83,8 +84,8 @@ AbstractButton { property string contentColorProvider: { if (root.primary) - return "white" - if (root.tertiary) + return JamiTheme.primaryTextColor + if (root.tertiary || root.secondary) return JamiTheme.secAndTertiTextColor if (root.down) return root.pressedColor @@ -176,10 +177,10 @@ AbstractButton { Layout.fillWidth: true Layout.alignment: Qt.AlignHCenter - leftPadding: textLeftPadding - rightPadding: textRightPadding + leftPadding: root.primary ? JamiTheme.buttontextWizzardPadding : textLeftPadding + rightPadding: root.primary ? JamiTheme.buttontextWizzardPadding : textRightPadding text: root.text - font.weight: Font.Medium + font.weight: root.hovered || boldFont ? Font.Bold : Font.Medium elide: Text.ElideRight verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter @@ -194,7 +195,7 @@ AbstractButton { color: { var baseColor = root.focus ? root.keysNavigationFocusColor : root.color if(root.primary) { - if (root.hovered) + if (root.hovered && root.canBeHovered) return root.hoveredColor return baseColor } @@ -219,7 +220,10 @@ AbstractButton { return JamiTheme.transparentColor if (root.secondary && root.hovered) - return root.hoveredColor + return JamiTheme.secondaryButtonHoveredBorderColor + + if(root.secondary) + return JamiTheme.secondaryButtonBorderColor if (root.down) return root.pressedColor diff --git a/src/app/commoncomponents/MaterialTextField.qml b/src/app/commoncomponents/MaterialTextField.qml index 4b4096c961fcad305b1e3d5a9bbb78b3c682cebf..5abc93a082bd375f8507215ca938017f6d422f0e 100644 --- a/src/app/commoncomponents/MaterialTextField.qml +++ b/src/app/commoncomponents/MaterialTextField.qml @@ -27,12 +27,15 @@ TextField { // We need to remove focus when another widget takes activeFocus, // except the context menu. property bool isActive: activeFocus || contextMenu.active + property bool isSettings: false onActiveFocusChanged: { if (!activeFocus && !contextMenu.active) { root.focus = false } } + signal keyPressed + property bool inputIsValid: true property string prefixIconSrc @@ -41,6 +44,7 @@ TextField { property alias suffixIconColor: suffixIcon.color property string suffixBisIconSrc property alias suffixBisIconColor: suffixBisIcon.color + property alias icon: container.data property color accent: isActive || hovered ? prefixIconColor @@ -55,7 +59,7 @@ TextField { wrapMode: "NoWrap" - font.pointSize: JamiTheme.materialLineEditPointSize + font.pixelSize: JamiTheme.materialLineEditPixelSize font.kerning: true selectByMouse: true mouseSelectionMode: TextInput.SelectCharacters @@ -84,6 +88,9 @@ TextField { } event.accepted = true } + else { + root.keyPressed() + } } // Context menu. @@ -102,7 +109,7 @@ TextField { // The centered placeholder that appears in the design specs. Label { id: overBaseLineLabel - font.pointSize: root.font.pointSize + font.pixelSize: root.font.pixelSize anchors.baseline: root.baseline anchors.horizontalCenter: root.horizontalCenter text: root.placeholderText @@ -115,7 +122,7 @@ TextField { width: parent.width height: 1 anchors.top: root.baseline - anchors.topMargin: root.font.pointSize + anchors.topMargin: root.font.pixelSize color: root.accent visible: !readOnly } @@ -124,8 +131,6 @@ TextField { property real size: 18 width: visible ? size : 0 height: size - anchors.verticalCenter: parent.verticalCenter - anchors.verticalCenterOffset: -root.bottomPadding / 2 opacity: root.isActive && !readOnly && source.toString() !== '' visible: opacity HoverHandler { cursorShape: Qt.ArrowCursor } @@ -137,36 +142,47 @@ TextField { TextFieldIcon { id: prefixIcon anchors.left: parent.left + anchors.verticalCenter: root.verticalCenter + anchors.verticalCenterOffset: -root.bottomPadding / 2 color: prefixIconColor source: prefixIconSrc } Label { id: underBaseLineLabel - font.pointSize: root.font.pointSize - 3 + font.pixelSize: JamiTheme.materialLineEditSelectedPixelSize anchors.top: baselineLine.bottom anchors.topMargin: 2 text: root.placeholderText color: root.baseColor // Show the alternate placeholder while the user types. - visible: root.isActive && !readOnly && root.text.toString() !== "" + visible: root.isActive && !readOnly && root.text.toString() !== "" && !root.isSettings } - TextFieldIcon { - id: suffixIcon - size: 20 + Item { + id: container + width: suffixIcon.width + height: suffixIcon.height anchors.right: suffixBisIcon.left anchors.rightMargin: suffixBisIconSrc !== '' ? 5 : 0 - color: suffixIconColor - source: suffixIconSrc - - MaterialToolTip { - id: infoTip - textColor: JamiTheme.blackColor - backGroundColor: JamiTheme.whiteColor - visible: parent.hovered && infoTipText.toString() !== '' - delay: Qt.styleHints.mousePressAndHoldInterval + anchors.verticalCenter: root.verticalCenter + anchors.verticalCenterOffset: -root.bottomPadding / 2 + visible: !readOnly + + TextFieldIcon { + id: suffixIcon + size: 20 + color: suffixIconColor + source: suffixIconSrc + + MaterialToolTip { + id: infoTip + textColor: JamiTheme.blackColor + backGroundColor: JamiTheme.whiteColor + visible: parent.hovered && infoTipText.toString() !== '' + delay: Qt.styleHints.mousePressAndHoldInterval + } } } @@ -174,6 +190,8 @@ TextField { id: suffixBisIcon size: 20 anchors.right: parent.right + anchors.verticalCenter: root.verticalCenter + anchors.verticalCenterOffset: -root.bottomPadding / 2 color: suffixBisIconColor source: suffixBisIconSrc diff --git a/src/app/commoncomponents/ModalTextEdit.qml b/src/app/commoncomponents/ModalTextEdit.qml index 76548e4fc512e1b38d985b0281e185e198c59c0c..7a58ee45651d5475881bcbb92adf58e77cab2ebc 100644 --- a/src/app/commoncomponents/ModalTextEdit.qml +++ b/src/app/commoncomponents/ModalTextEdit.qml @@ -36,17 +36,26 @@ Loader { property string infoTipText property bool isPersistent: true - property real fontPointSize: JamiTheme.materialLineEditPointSize + property real fontPixelSize: JamiTheme.materialLineEditPixelSize property bool fontBold: false property int echoMode: TextInput.Normal property QtObject textValidator: RegularExpressionValidator { id: defaultValidator } + property var icon + property bool isSettings + + onStatusChanged: { + if(status == Loader.Ready && icon) + root.item.icon = icon + } + // Always start with the static text component displayed first. property bool editMode: true // Emitted when the editor has been accepted. signal accepted + signal keyPressed signal activeChanged(bool active) @@ -66,7 +75,7 @@ Loader { MaterialTextField { id: displayCompField - font.pointSize: root.fontPointSize + font.pixelSize: root.fontPixelSize readOnly: true text: staticText horizontalAlignment: TextEdit.AlignHCenter @@ -89,23 +98,24 @@ Loader { suffixIconColor: root.suffixIconColor suffixBisIconSrc: root.suffixBisIconSrc suffixBisIconColor: root.suffixBisIconColor - font.pointSize: root.fontPointSize + font.pixelSize: root.fontPixelSize font.bold: root.fontBold echoMode: root.echoMode placeholderText: root.placeholderText onAccepted: root.accepted() + onKeyPressed: root.keyPressed() onTextChanged: dynamicText = text text: staticText inputIsValid: root.inputIsValid onFocusChanged: { if (!focus && root.editMode) { root.editMode = isPersistent - root.accepted() } activeChanged(root.editMode) } onIsActiveChanged: activeChanged(isActive) validator: root.textValidator + isSettings: root.isSettings } } diff --git a/src/app/commoncomponents/PhotoboothView.qml b/src/app/commoncomponents/PhotoboothView.qml index 85105c4ca68c183702097accab9610ee611100d9..2a5981df43597698029ff5dd898ade7315482ed8 100644 --- a/src/app/commoncomponents/PhotoboothView.qml +++ b/src/app/commoncomponents/PhotoboothView.qml @@ -118,11 +118,11 @@ Item { preferredSize: doubleEditAvatar ? avatar.width / 3 : avatar.width / 6 + normalColor: JamiTheme.secondaryBackgroundColor + imageColor: JamiTheme.buttonTintedBlue + hoveredColor: JamiTheme.hoveredButtonColorWizard border.color: JamiTheme.buttonTintedBlue - normalColor: "white" - imageColor: JamiTheme.buttonTintedBlue - hoveredColor: "#e5eef5" - pressedColor: "#e5eef5" + enabled: avatar.visible && !root.readOnly visible: enabled diff --git a/src/app/commoncomponents/SettingParaCombobox.qml b/src/app/commoncomponents/SettingParaCombobox.qml index 918e2a29726c2e8c7529d694736dc2a87f07da46..8f6657de6ccde2869bbfa9c485ac7ab107add78d 100644 --- a/src/app/commoncomponents/SettingParaCombobox.qml +++ b/src/app/commoncomponents/SettingParaCombobox.qml @@ -64,8 +64,7 @@ ComboBox { } background: Rectangle { - color: hovered ? JamiTheme.tintedBlue : JamiTheme.transparentColor - opacity: 0.1 + color: hovered ? JamiTheme.comboboxBackgroundColorHovered : JamiTheme.transparentColor } } @@ -82,6 +81,8 @@ ComboBox { source: popup.visible ? JamiResources.expand_less_24dp_svg : JamiResources.expand_more_24dp_svg + + color: JamiTheme.tintedBlue } contentItem: Text { diff --git a/src/app/commoncomponents/SpinnerButton.qml b/src/app/commoncomponents/SpinnerButton.qml index f034dd9f5723e09eec0edf3d4a99a3e26e1bb751..cfbe26a2eec0881c91be96d5f19b59733117c43b 100644 --- a/src/app/commoncomponents/SpinnerButton.qml +++ b/src/app/commoncomponents/SpinnerButton.qml @@ -30,8 +30,9 @@ MaterialButton { "" text: spinnerTriggered ? spinnerTriggeredtext : normalText color: !enabled ? JamiTheme.buttonTintedGreyInactive : - JamiTheme.wizardBlueButtons + JamiTheme.buttonTintedBlue + canBeHovered: enabled hoveredColor: JamiTheme.buttonTintedBlueHovered pressedColor: JamiTheme.buttonTintedBluePressed } diff --git a/src/app/constant/JamiStrings.qml b/src/app/constant/JamiStrings.qml index 1e091d712a218adf088d2f6cabd11f16e0b33eb7..761ca4a6497d1526bbfbcda2b40c5d4f9cd655ff 100644 --- a/src/app/constant/JamiStrings.qml +++ b/src/app/constant/JamiStrings.qml @@ -603,6 +603,8 @@ Item { property string importFromArchiveBackup: qsTr("Import from archive backup") property string importFromArchiveBackupDescription: qsTr("Import Jami account from local archive file.") property string selectArchiveFile: qsTr("Select archive file") + property string passwordArchive: qsTr("If the account is encrypted with a password, please fill the following field.") + // ImportFromDevicePage property string mainAccountPassword: qsTr("Enter Jami account password") @@ -610,16 +612,17 @@ Item { "Use the \"Link Another Device\" feature to obtain a PIN.") property string connectFromAnotherDevice: qsTr("Link device") property string importButton: qsTr("Import") - property string pin: qsTr("Enter the NIP code") - property string importFromDeviceDescription: qsTr("A PIN is required to use an existing Jami account on this device.") - property string importStep1: qsTr("Step 1") - property string importStep2: qsTr("Step 2") - property string importStep3: qsTr("Step 3") - property string importStep4: qsTr("Step 4") - property string importStep1Desc: qsTr("Go to the Account Settings of a previous device") + property string pin: qsTr("Enter the PIN code") + property string importFromDeviceDescription: qsTr("To use an existing Jami model on this device, you need to obtain a PIN (define PIN) code.") + property string importStep1: qsTr("Step 01") + property string importStep2: qsTr("Step 02") + property string importStep3: qsTr("Step 03") + property string importStep4: qsTr("Step 04") + property string importStep1Desc: qsTr("Go to the account management settings of a previous device") property string importStep2Desc: qsTr("Choose the account to link") property string importStep3Desc: qsTr("Select \"Link another device\"") - property string importStep4Desc: qsTr("The PIN code will be valid for 10 minutes.") + property string importStep4Desc: qsTr("The PIN code will be available for 10 minutes") + property string importPasswordDesc: qsTr("Fill if the account is password-encrypted.") // LinkDevicesDialog diff --git a/src/app/constant/JamiTheme.qml b/src/app/constant/JamiTheme.qml index 17370fec2508aac084050e50ac60aef402c31986..63ccdf68c66b1d2546adfb5ac64d2cb22a7e5b4c 100644 --- a/src/app/constant/JamiTheme.qml +++ b/src/app/constant/JamiTheme.qml @@ -48,6 +48,10 @@ Item { return Math.min(Math.max(5, baseZoom * size), 30) } + function pixelToPoint(size) { + return size * 0.75 + } + property real baseZoom: UtilsAdapter.getAppValue(Settings.BaseZoom) property real fontSizeOffset: (Qt.platform.os.toString() === "osx" ? 3 : 0) property real fontSizeOffsetSmall: (Qt.platform.os.toString() === "osx" ? 1 : 0) @@ -58,7 +62,7 @@ Item { property color whiteColor: "#ffffff" property color darkGreyColor: "#272727" property color darkGreyColorOpacity: "#be272727" // 77% - property color tintedBlue: "#005699" + property color tintedBlue: darkTheme ? "#03B9E9" : "#005699" property color transparentColor: "transparent" property color primaryForegroundColor: darkTheme ? whiteColor : blackColor @@ -95,6 +99,7 @@ Item { // General buttons property color pressedButtonColor: darkTheme ? pressColor : "#a0a0a0" property color hoveredButtonColor: darkTheme ? hoverColor : "#c7c7c7" + property color hoveredButtonColorWizard: darkTheme ? "#123F4A" : "#E5EEF5" property color normalButtonColor: darkTheme ? backgroundColor : "#e0e0e0" property color invertedPressedButtonColor: Qt.rgba(0, 0, 0, 0.5) @@ -102,8 +107,8 @@ Item { property color invertedNormalButtonColor: Qt.rgba(0, 0, 0, 0.75) property color editLineColor: "#03b9e9" - property color buttonTintedBlue: "#005699" - property color buttonTintedBlueHovered: "#0071c9" + property color buttonTintedBlue: tintedBlue + property color buttonTintedBlueHovered: darkTheme ? "#039CC4" : "#0071c9" property color buttonTintedBlueInternalHover: Qt.rgba(0, 86, 153, 0.2) property color buttonTintedBluePressed: "#0071c9" property color buttonTintedGrey: darkTheme ? "#555" : "#999" @@ -124,29 +129,32 @@ Item { property color whiteColorTransparent: rgba256(255, 255, 255, 50) property color raiseHandColor: rgba256(0, 184, 255, 77) - property color secAndTertiTextColor: darkTheme ? buttonTintedBlueHovered : buttonTintedBlue - property color secondaryButtonBorderColor: Qt.rgba(0,0.34,0.6,0.36) - property color secAndTertiHoveredBackgroundColor: Qt.rgba(0,0.34,0.6,0.1) - + property color primaryTextColor: darkTheme ? "black" : "white" + property color secAndTertiTextColor: buttonTintedBlue + property color secondaryButtonBorderColor: darkTheme ? "#03B9E9" : "#E5EEF5" + property color secondaryButtonHoveredBorderColor: tintedBlue + property color secAndTertiHoveredBackgroundColor: darkTheme ? "#123F4A" : "#E5EEF5" property color closeButtonLighterBlack: "#4c4c4c" // Jami switch property color switchBackgroundCheckedColor: "#8dbaea" - property color switchBackgroundColor: darkTheme ? "#373737" : Qt.rgba(0, 0.34, 0.6, 0.16) - property color switchHandleColor: darkTheme ? Qt.darker(lightGrey_, 2) : whiteColor - property color switchHandleCheckedColor: "#005699" - property color switchHandleBorderColor: darkTheme ? whiteColor : "#005699" + property color switchBackgroundColor: darkTheme ? "#626262" : "#E5EEF5" + property color switchHandleColor: darkTheme ? "#2B2B2B" : whiteColor + property color switchHandleCheckedColor: tintedBlue + property color switchHandleBorderColor: tintedBlue property color switchHandleCheckedBorderColor: darkTheme ? "#0071c9" : "#005699" //Combobox property color comboBoxBackgroundColor: darkTheme ? editBackgroundColor : selectedColor - property color comboboxBorderColorActive: darkTheme? "#03B9E9" : tintedBlue - property color comboboxBorderColor: darkTheme ? tintedBlue : Qt.rgba(0, 0.34, 0.6, 0.36) - property color comboboxTextColorHovered: darkTheme ? "#03B9E9" : tintedBlue + property color comboboxBorderColorActive: tintedBlue + property color comboboxBorderColor: darkTheme ? "#1D5F70" : "#A3C2DA" + property color comboboxTextColorHovered: tintedBlue + property color comboboxBackgroundColorHovered: darkTheme ? "#123F4A" : "#E5EEF5" + //Spinbox property color spinboxBackgroundColor: darkTheme ? editBackgroundColor : selectedColor - property color spinboxBorderColor: darkTheme ? tintedBlue : Qt.rgba(0, 0.34, 0.6, 0.36) + property color spinboxBorderColor: darkTheme ? "#1D5F70" : "#A3C2DA" //Toast property color toastColor: darkTheme ? "#f0f0f0" : "#000000" @@ -271,7 +279,7 @@ Item { property color green_: rgba256(127, 255, 0, 100) property color presenceGreen_: rgba256(76, 217, 100, 100) property color bgSideBarDarkMode_: rgba256(24, 24, 24, 100) - property color bgDarkMode_: rgba256(32, 32, 32, 100) + property color bgDarkMode_: "#201f21" property int shortFadeDuration: 150 property int longFadeDuration: 400 @@ -293,7 +301,7 @@ Item { property real materialButtonPreferredHeight: calcSize(36) property real participantFontSize: calcSize(10 + fontSizeOffset) property real menuFontSize: calcSize(12 + fontSizeOffset) - property real headerFontSize: calcSize(13 + fontSizeOffset) + property real headerFontSize: calcSize(14.25 + fontSizeOffset) property real titleFontSize: calcSize(16 + fontSizeOffset) property real title2FontSize: calcSize(15 + fontSizeOffset) property real tinyCreditsTextSize: calcSize(13 + fontSizeOffset) @@ -392,9 +400,9 @@ Item { // Jami switch property real switchIndicatorRadius: 30 - property real switchPreferredHeight: 25 - property real switchPreferredWidth: 48 - property real switchIndicatorPreferredWidth: 26 + property real switchPreferredHeight: 20 + property real switchPreferredWidth: 40 + property real switchIndicatorPreferredWidth: 20 // Jami Identifier property color mainColor: "#005699" @@ -465,12 +473,13 @@ Item { property real jamiIdMargins: 36 property real jamiIdLogoWidth: 70 property real jamiIdLogoHeight: 24 + property real jamiIdFontSize: calcSize(13) // MainView property color welcomeViewBackgroundColor: darkTheme ? lightGrey_ : secondaryBackgroundColor property real welcomeRectSideMargins: 45 property real welcomeRectTopMargin: 90 - property color rectColor: Qt.rgba(0,0.34,0.6,0.16) + property color rectColor: darkTheme ? blackColor : "#e5eef5" property color welcomeText: darkTheme ? "#0071c9" : "#002B4A" property real illustrationWidth: 212 property real illustrationHeight: 244 @@ -478,19 +487,28 @@ Item { // WizardView property real wizardViewPageLayoutSpacing: 12 property real wizardViewPageBackButtonMargins: 20 - property real wizardViewPageBackButtonSize: 35 + property real wizardViewPageBackButtonSize: 30 + property real wizardViewPageBackButtonWidth: 51 + property real wizardViewPageBackButtonHeight: 30 property real wizardViewTitleFontPixelSize: calcSize(26) property real wizardViewDescriptionFontPixelSize: calcSize(15) + property real wizardViewButtonFontPixelSize: calcSize(15) + property real wizardViewAboutJamiFontPixelSize: calcSize(12) property real wizardViewLayoutTopMargin: 38 + property real wizardViewTextLineHeight: 1.4 + property real wizardViewMarginSize: pixelToPoint(10) + property real wizardViewBlocMarginSize: pixelToPoint(40) + property real wizardViewDescriptionMarginSize: pixelToPoint(20) // WizardView Welcome Page property real welcomeLabelPointSize: 30 - property real welcomeLogoWidth: 75 - property real welcomeLogoHeight: 70 + property real welcomeLogoWidth: 100 + property real welcomeLogoHeight: 100 property real wizardButtonWidth: 400 + property real wizardButtonHeightMargin: 13 // WizardView Advanced Account Settings - property color lightBlue_: "#e5eef5" + property color lightBlue_: darkTheme ? "#03B9E9" : "#e5eef5" property color shadowColorBlue: Qt.rgba(0, 0.34,0.6,0.16) property real passwordEditOpenedBoxWidth: 425 property real passwordEditClosedBoxWidth: 330 @@ -500,6 +518,7 @@ Item { property real customNicknameClosedBoxWidth: 230 property real customNicknameOpenedBoxHeight: 320 property real customNicknameClosedBoxHeight: 65 + property real advancedAccountSettingsHeightMargin: 16.5 property real cornerIconSize: 40 @@ -512,6 +531,8 @@ Item { property real tipBoxTitleFontSize: calcSize(13) property real tipBoxContentFontSize: calcSize(12) + property color tipBoxBackgroundColor: darkTheme ? blackColor : whiteColor + property color tipBoxBorderColor: darkTheme ? "#123F4A" : "#A3C2DA" //sharePosition property real timerButtonsFontSize: calcSize(11) @@ -522,10 +543,14 @@ Item { // MaterialLineEdit property real materialLineEditPointSize: calcSize(10 + fontSizeOffset) + property real materialLineEditPixelSize: calcSize(15) + property real materialLineEditSelectedPixelSize: calcSize(12) property real materialLineEditPadding: 16 + property real textEditError: calcSize(15) //MaterialButton property real buttontextPadding: 10 + property real buttontextWizzardPadding: 30 // UsernameTextEdit property real usernameTextEditPointSize:calcSize(9 + fontSizeOffset) @@ -549,6 +574,8 @@ Item { property real mainViewPreferredWidth: 730 property real mainViewPreferredHeight: 600 + property real mainViewMargin: 30 + // Details page property real detailsPageMinWidth: 300 property int aboutBtnSize: 24 diff --git a/src/app/mainview/components/BackupTipBox.qml b/src/app/mainview/components/BackupTipBox.qml index 1dbe2b7ad0777b608e256cb413bb5499b076d401..d58ef9c88df9c026cabc30bce892f394f3f8e0b5 100644 --- a/src/app/mainview/components/BackupTipBox.qml +++ b/src/app/mainview/components/BackupTipBox.qml @@ -58,7 +58,7 @@ Item { containerWidth: Layout.preferredWidth source: JamiResources.noun_paint_svg - color: "#005699" + color: JamiTheme.buttonTintedBlue } Label { diff --git a/src/app/mainview/components/CustomizeTipBox.qml b/src/app/mainview/components/CustomizeTipBox.qml index bbbc48fe1b9851cb29b562be06f49b388dc1f1fc..3f4991dd9eb8816d9d2a2451ed00a6615c7719e7 100644 --- a/src/app/mainview/components/CustomizeTipBox.qml +++ b/src/app/mainview/components/CustomizeTipBox.qml @@ -49,7 +49,7 @@ ColumnLayout { containerWidth: Layout.preferredWidth source: JamiResources.noun_paint_svg - color: "#005699" + color: JamiTheme.buttonTintedBlue } Label { @@ -121,4 +121,4 @@ ColumnLayout { text: JamiStrings.customizationDescription2 color: JamiTheme.textColor } -} \ No newline at end of file +} diff --git a/src/app/mainview/components/InformativeTipBox.qml b/src/app/mainview/components/InformativeTipBox.qml index afc5aecf1dcaf835e46ac7eac1ce0d000a399cb8..ca7fd846b61f59e3da37b33c42dd8b5b4087f394 100644 --- a/src/app/mainview/components/InformativeTipBox.qml +++ b/src/app/mainview/components/InformativeTipBox.qml @@ -50,7 +50,7 @@ ColumnLayout { containerWidth: Layout.preferredWidth source: JamiResources.glasses_tips_svg - color: "#005699" + color: JamiTheme.buttonTintedBlue } Label { @@ -87,4 +87,4 @@ ColumnLayout { text: root.description color: JamiTheme.textColor } -} \ No newline at end of file +} diff --git a/src/app/mainview/components/JamiIdentifier.qml b/src/app/mainview/components/JamiIdentifier.qml index 0929a4da8bde48f1ad10913332823531038a4fb0..0137973617bb57377da597d5be0454a1c21f27bd 100644 --- a/src/app/mainview/components/JamiIdentifier.qml +++ b/src/app/mainview/components/JamiIdentifier.qml @@ -148,7 +148,7 @@ Item { Layout.alignment: Qt.AlignHCenter | Qt.AlignBottom Layout.leftMargin: JamiTheme.preferredMarginSize Layout.rightMargin: JamiTheme.preferredMarginSize - fontPointSize: JamiTheme.textFontSize + 1 + fontPixelSize: JamiTheme.jamiIdFontSize editMode: false isPersistent: false diff --git a/src/app/mainview/components/NewSwarmPage.qml b/src/app/mainview/components/NewSwarmPage.qml index a529cf1d580d09fbcdede5585cad99166b1a3539..3f6aa80e08fddb7ca757832515be7841a4a0f53e 100644 --- a/src/app/mainview/components/NewSwarmPage.qml +++ b/src/app/mainview/components/NewSwarmPage.qml @@ -204,16 +204,21 @@ BaseView { MaterialButton { id: btnCreateSwarm + TextMetrics{ + id: textSize + font.weight: Font.Bold + font.pixelSize: JamiTheme.wizardViewButtonFontPixelSize + font.capitalization: Font.AllUppercase + text: btnCreateSwarm.text + } + Layout.alignment: Qt.AlignCenter Layout.topMargin: JamiTheme.preferredMarginSize autoAccelerator: true - preferredWidth: JamiTheme.aboutButtonPreferredWidth - - color: JamiTheme.buttonTintedBlue - hoveredColor: JamiTheme.buttonTintedBlueHovered - pressedColor: JamiTheme.buttonTintedBluePressed + preferredWidth: textSize.width + 2*JamiTheme.buttontextWizzardPadding + primary: true text: JamiStrings.createTheSwarm onClicked: createSwarmClicked(title.text, diff --git a/src/app/mainview/components/TipBox.qml b/src/app/mainview/components/TipBox.qml index 747ec0d9edec27ecde858c26706d973a1b552c62..f09dcae0f883d119a1e6ab6ae99e0eb691c3fa9d 100644 --- a/src/app/mainview/components/TipBox.qml +++ b/src/app/mainview/components/TipBox.qml @@ -59,8 +59,8 @@ Item { id: rect anchors.fill: parent - color: JamiTheme.secondaryBackgroundColor - border.color: opened || hovered ? "transparent" : Qt.rgba(0, 0.34,0.6,0.16) + color: opened || hovered ? JamiTheme.tipBoxBackgroundColor : "transparent" + border.color: JamiTheme.tipBoxBorderColor radius: 20 Column { diff --git a/src/app/mainview/components/WelcomePage.qml b/src/app/mainview/components/WelcomePage.qml index 5edf09544c6986e69c417ad4cb8cecd20fc4d898..b445cf27f03eef6852e1b1e16c38b13416c61f8d 100644 --- a/src/app/mainview/components/WelcomePage.qml +++ b/src/app/mainview/components/WelcomePage.qml @@ -61,9 +61,8 @@ BaseView { color: JamiTheme.rectColor anchors.topMargin: 25 anchors.horizontalCenter: parent.horizontalCenter - width: identifier.width + 2 * JamiTheme.preferredMarginSize - + (welcomeLogo.visible ? welcomeLogo.width : 0) - height: childrenRect.height + width: identifier.width + 2 * JamiTheme.mainViewMargin + (welcomeLogo.visible ? welcomeLogo.width : 0) + height: childrenRect.height + 10 opacity:1 Behavior on width { @@ -76,8 +75,8 @@ BaseView { anchors.top: parent.top anchors.left: parent.left - anchors.topMargin: JamiTheme.preferredMarginSize - anchors.leftMargin: JamiTheme.preferredMarginSize + anchors.topMargin: JamiTheme.mainViewMargin + anchors.leftMargin: JamiTheme.mainViewMargin width: 300 font.pixelSize: JamiTheme.bigFontSize @@ -97,7 +96,7 @@ BaseView { anchors.top: welcome.bottom anchors.left: parent.left anchors.topMargin: JamiTheme.preferredMarginSize * 2 - anchors.leftMargin: JamiTheme.preferredMarginSize + anchors.leftMargin: JamiTheme.mainViewMargin width: 300 font.pixelSize: JamiTheme.headerFontSize @@ -115,14 +114,15 @@ BaseView { anchors.top: welcome.bottom anchors.left: parent.left anchors.topMargin: JamiTheme.preferredMarginSize - anchors.leftMargin: JamiTheme.preferredMarginSize - width: 300 + anchors.leftMargin: JamiTheme.mainViewMargin + width: 330 font.pixelSize: JamiTheme.headerFontSize wrapMode: Text.WordWrap text: JamiStrings.hereIsIdentifier + lineHeight: 1.25 color: JamiTheme.textColor } @@ -132,7 +132,9 @@ BaseView { visible: CurrentAccount.type !== Profile.Type.SIP anchors.top: identifierDescription.bottom anchors.left: parent.left - anchors.margins: JamiTheme.preferredMarginSize + anchors.topMargin: JamiTheme.preferredMarginSize + anchors.rightMargin: JamiTheme.preferredMarginSize + anchors.leftMargin: JamiTheme.mainViewMargin } Image { @@ -142,7 +144,7 @@ BaseView { width: 212 height: 244 anchors.top: parent.top - anchors.left: identifier.right + anchors.right: parent.right anchors.margins: JamiTheme.preferredMarginSize anchors.topMargin: -20 opacity: visible @@ -161,7 +163,7 @@ BaseView { anchors.top: welcomeInfo.bottom anchors.topMargin: JamiTheme.preferredMarginSize * 2 anchors.horizontalCenter: parent.horizontalCenter - width: welcomeInfo.width + JamiTheme.preferredMarginSize * 2 + width: welcomeInfo.width height: flow.height + JamiTheme.preferredMarginSize * 2 clip: true @@ -211,7 +213,7 @@ BaseView { tertiary: true anchors.horizontalCenter: parent.horizontalCenter - preferredWidth: JamiTheme.aboutButtonPreferredWidthth + preferredWidth: JamiTheme.aboutButtonPreferredWidth text: JamiStrings.aboutJami onClicked: viewCoordinator.presentDialog( diff --git a/src/app/settingsview/components/JamiUserIdentity.qml b/src/app/settingsview/components/JamiUserIdentity.qml index 94878ccd57a98be0d74bab58d5954671c2ec6f8f..76f60f2c6171101834690aec54127ff42592e316 100644 --- a/src/app/settingsview/components/JamiUserIdentity.qml +++ b/src/app/settingsview/components/JamiUserIdentity.qml @@ -117,7 +117,7 @@ ColumnLayout { anchors.margins: 8 - fontPointSize: JamiTheme.textFontSize + 1 + fontPixelSize: JamiTheme.jamiIdFontSize staticText: CurrentAccount.registeredName placeholderText: JamiStrings.chooseUsername editMode: !CurrentAccount.registeredName diff --git a/src/app/settingsview/components/SettingSpinBox.qml b/src/app/settingsview/components/SettingSpinBox.qml index fbf6f2772224b1648d5187cc944c7b300cca81e2..99d17da01d6e058357ed95a4ff87c8be5d2c68df 100644 --- a/src/app/settingsview/components/SettingSpinBox.qml +++ b/src/app/settingsview/components/SettingSpinBox.qml @@ -118,7 +118,7 @@ RowLayout { margins: 1 } - color: spinbox.up.pressed || spinbox.up.hovered ? JamiTheme.spinboxBorderColor : JamiTheme.transparentColor + color: JamiTheme.transparentColor ResponsiveImage { @@ -126,7 +126,7 @@ RowLayout { containerWidth: 10 width: 20 height: 20 - color: JamiTheme.primaryForegroundColor + color: JamiTheme.tintedBlue anchors.verticalCenter: parent.verticalCenter anchors.horizontalCenter: parent.horizontalCenter source: JamiResources.chevron_right_black_24dp_svg @@ -144,7 +144,7 @@ RowLayout { margins: 1 } - color: spinbox.down.pressed || spinbox.down.hovered ? JamiTheme.spinboxBorderColor : JamiTheme.transparentColor + color: JamiTheme.transparentColor ResponsiveImage { @@ -152,7 +152,7 @@ RowLayout { containerWidth: 10 width: 20 height: 20 - color: JamiTheme.primaryForegroundColor + color: JamiTheme.tintedBlue anchors.verticalCenter: parent.verticalCenter anchors.horizontalCenter: parent.horizontalCenter source: JamiResources.chevron_left_black_24dp_svg diff --git a/src/app/settingsview/components/SettingsMaterialTextEdit.qml b/src/app/settingsview/components/SettingsMaterialTextEdit.qml index 77e68e6208569dc79ab5aaf1a8c40be63c2afc7e..a1d5f982614fcac3364ef3242a15b05876ea033c 100644 --- a/src/app/settingsview/components/SettingsMaterialTextEdit.qml +++ b/src/app/settingsview/components/SettingsMaterialTextEdit.qml @@ -38,6 +38,7 @@ RowLayout { property int itemWidth signal editFinished + signal accepted Text { id: title @@ -59,6 +60,7 @@ RowLayout { id: modalTextEdit visible: !root.isPassword + isSettings: true Layout.alignment: Qt.AlignCenter Layout.preferredWidth: itemWidth @@ -71,6 +73,18 @@ RowLayout { editFinished() } + Timer { + id: debounceTimer + interval: 500 + onTriggered: { + root.dynamicText = modalTextEdit.dynamicText + editFinished() + } + } + + onKeyPressed: { + debounceTimer.restart() + } } PasswordTextEdit { diff --git a/src/app/wizardview/components/AdvancedAccountSettings.qml b/src/app/wizardview/components/AdvancedAccountSettings.qml index 5a700fbc642f3a71b496d23cec332c8da6f7a9b0..4b69c027346f77c3c3fa56851cfe9b821bd69e5b 100644 --- a/src/app/wizardview/components/AdvancedAccountSettings.qml +++ b/src/app/wizardview/components/AdvancedAccountSettings.qml @@ -36,6 +36,8 @@ Rectangle { property bool openedNickname: false property string validatedPassword: "" property string alias: "" + property bool icon1Hovered: false + property bool icon2Hovered: false color: JamiTheme.secondaryBackgroundColor opacity: 0.93 @@ -58,23 +60,24 @@ Rectangle { onClicked: { openedPassword = false openedNickname = false + adviceBox.checked = false } } property ScrollBar vScrollBar: ScrollBar.vertical anchors.fill: parent - - contentHeight: settings.implicitHeight + 2 * JamiTheme.preferredMarginSize + anchors.topMargin: -100 ColumnLayout { id: settings width: Math.min(500, root.width - 2 * JamiTheme.preferredMarginSize) anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter Label { Layout.alignment: Qt.AlignTop | Qt.AlignHCenter - Layout.margins: 50 + Layout.margins: JamiTheme.wizardViewBlocMarginSize text: JamiStrings.advancedAccountSettings color: JamiTheme.textColor font.pixelSize: JamiTheme.bigFontSize @@ -101,7 +104,7 @@ Rectangle { Layout.preferredHeight: { if (root.openedPassword) return passwordColumnLayout.implicitHeight - return Math.max(cornerIcon1.height, labelEncrypt.height) + return Math.max(cornerIcon1.height, labelEncrypt.height + 2*JamiTheme.advancedAccountSettingsHeightMargin) } @@ -112,25 +115,12 @@ Rectangle { NumberAnimation { duration: 100 } } - DropShadow { - z: -1 - visible: openedPassword - width: parent.width - height: parent.height - horizontalOffset: 3.0 - verticalOffset: 3.0 - radius: 16 - color: Qt.rgba(0, 0.34,0.6,0.16) - source: bg - transparentBorder: true - } - Rectangle { id: bg radius: JamiTheme.formsRadius border.color: openedPassword? JamiTheme.transparentColor : JamiTheme.lightBlue_ layer.enabled: true - color: JamiTheme.secondaryBackgroundColor + color: root.icon1Hovered ? JamiTheme.buttonTintedBlue : JamiTheme.secAndTertiHoveredBackgroundColor anchors.fill: parent Rectangle { @@ -141,17 +131,16 @@ Rectangle { anchors.bottom: parent.bottom anchors.left: parent.left border.color: openedPassword? JamiTheme.transparentColor : JamiTheme.lightBlue_ - color: JamiTheme.secondaryBackgroundColor + color: root.icon1Hovered ? JamiTheme.buttonTintedBlue : JamiTheme.secAndTertiHoveredBackgroundColor Rectangle { - height: parent.height +1 - width: parent.width +1 + height: parent.height + width: parent.width anchors.bottom: parent.bottom anchors.left: parent.left anchors.margins: 1 - border.color: openedPassword? JamiTheme.transparentColor : JamiTheme.secondaryBackgroundColor - color: JamiTheme.secondaryBackgroundColor + color: root.icon1Hovered ? JamiTheme.buttonTintedBlue : JamiTheme.secAndTertiHoveredBackgroundColor } } @@ -162,31 +151,34 @@ Rectangle { Text { visible: openedPassword - elide: Text.ElideRight - text: JamiStrings.encryptAccount - font.pixelSize: JamiTheme.creditsTextSize - font.weight: Font.Medium Layout.fillWidth: true - Layout.leftMargin: 35 + Layout.leftMargin: JamiTheme.cornerIconSize + Layout.rightMargin: JamiTheme.cornerIconSize Layout.topMargin: 25 - color: JamiTheme.textColor + color: JamiTheme.textColor + wrapMode: Text.WordWrap + text: JamiStrings.encryptAccount + font.pixelSize: JamiTheme.creditsTextSize + font.weight: Font.Medium } Text { visible: openedPassword - Layout.topMargin: 12 - Layout.leftMargin: 35 - Layout.preferredWidth: 360 + Layout.topMargin: 12 + Layout.leftMargin: JamiTheme.cornerIconSize + Layout.rightMargin: JamiTheme.cornerIconSize + Layout.fillWidth: true Layout.alignment: Qt.AlignLeft + color: JamiTheme.textColor wrapMode: Text.WordWrap - text: JamiStrings.encryptDescription font.pixelSize: JamiTheme.headerFontSize + lineHeight: JamiTheme.wizardViewTextLineHeight } PasswordTextEdit { @@ -197,9 +189,12 @@ Rectangle { focus: openedPassword firstEntry: true placeholderText: JamiStrings.password + Layout.topMargin: 10 - Layout.alignment: Qt.AlignCenter - Layout.preferredWidth: 325 + Layout.leftMargin: JamiTheme.cornerIconSize + Layout.rightMargin: JamiTheme.cornerIconSize + Layout.alignment: Qt.AlignLeft + Layout.fillWidth: true KeyNavigation.tab: passwordConfirmEdit KeyNavigation.down: passwordConfirmEdit @@ -210,14 +205,35 @@ Rectangle { id: passwordConfirmEdit visible: openedPassword placeholderText: JamiStrings.confirmPassword - Layout.alignment: Qt.AlignCenter - Layout.preferredWidth: 325 + + Layout.topMargin: 10 + Layout.leftMargin: JamiTheme.cornerIconSize + Layout.rightMargin: JamiTheme.cornerIconSize + Layout.alignment: Qt.AlignLeft + Layout.fillWidth: true KeyNavigation.tab: passwordEdit KeyNavigation.up: passwordEdit KeyNavigation.down: setButton } + Text { + + visible: openedPassword + + Layout.topMargin: 15 + Layout.leftMargin: JamiTheme.cornerIconSize + Layout.rightMargin: JamiTheme.cornerIconSize + Layout.fillWidth: true + Layout.alignment: Qt.AlignLeft + + color: JamiTheme.textColor + wrapMode: Text.WordWrap + text: JamiStrings.encryptWarning + font.pixelSize: JamiTheme.headerFontSize + lineHeight: JamiTheme.wizardViewTextLineHeight + } + MaterialButton { id: setButton @@ -248,23 +264,6 @@ Rectangle { root.validatedPassword = passwordConfirmEdit.dynamicText text = JamiStrings.setPasswordSuccess } - - } - - Text { - - visible: openedPassword - - Layout.topMargin: 15 - Layout.leftMargin: 35 - - Layout.preferredWidth: 360 - Layout.alignment: Qt.AlignCenter - color: JamiTheme.textColor - wrapMode: Text.WordWrap - - text: JamiStrings.encryptWarning - font.pixelSize: JamiTheme.headerFontSize } RowLayout { @@ -278,11 +277,13 @@ Rectangle { layer.enabled: true radius: JamiTheme.formsRadius + height: JamiTheme.cornerIconSize width: JamiTheme.cornerIconSize - color: openedPassword ? JamiTheme.lightBlue_ : JamiTheme.transparentColor - Layout.alignment: Qt.AlignBottom | Qt.AlignLeft + + color: openedPassword ? JamiTheme.buttonTintedBlue : JamiTheme.transparentColor + Layout.alignment: Qt.AlignVCenter | Qt.AlignLeft Layout.leftMargin: openedPassword ? 2 : openedNickname ? 0 : 20 Layout.bottomMargin: openedPassword ? 2 : 0 @@ -294,7 +295,7 @@ Rectangle { width: cornerIcon1.width/2 anchors.left: cornerIcon1.left anchors.bottom: cornerIcon1.bottom - color: JamiTheme.lightBlue_ + color: JamiTheme.buttonTintedBlue } @@ -303,7 +304,8 @@ Rectangle { width: 18 height: 18 source: JamiResources.lock_svg - color: JamiTheme.tintedBlue + color: root.icon1Hovered ? JamiTheme.primaryTextColor + : openedPassword ? JamiTheme.primaryTextColor : JamiTheme.buttonTintedBlue anchors.centerIn: cornerIcon1 } } @@ -314,8 +316,8 @@ Rectangle { Layout.fillWidth: true text: JamiStrings.encryptAccount - elide: Text.ElideRight - color: JamiTheme.textColor + wrapMode: Text.WordWrap + color: root.icon1Hovered ? JamiTheme.primaryTextColor : JamiTheme.textColor font.pixelSize: JamiTheme.creditsTextSize } @@ -329,9 +331,19 @@ Rectangle { openedPassword = true } } + + HoverHandler { + target: passwordColumnLayout + enabled: !openedPassword + onHoveredChanged: { + root.icon1Hovered = hovered + } + } } } + + Item { Layout.alignment: Qt.AlignRight | Qt.AlignTop @@ -354,20 +366,7 @@ Rectangle { Layout.preferredHeight: { if (openedNickname) return customColumnLayout.implicitHeight - return Math.max(cornerIcon2.height, labelCustomize.height) - } - - DropShadow { - z: -1 - visible: openedNickname - width: parent.width - height: parent.height - horizontalOffset: 3.0 - verticalOffset: 3.0 - radius: 16 - color: Qt.rgba(0, 0.34,0.6,0.16) - source: bg2 - transparentBorder: true + return Math.max(cornerIcon2.height, labelCustomize.height + 2*JamiTheme.advancedAccountSettingsHeightMargin) } Rectangle { @@ -376,7 +375,7 @@ Rectangle { radius: JamiTheme.formsRadius border.color: openedNickname ? JamiTheme.transparentColor : JamiTheme.lightBlue_ layer.enabled: true - color: JamiTheme.secondaryBackgroundColor + color: root.icon2Hovered ? JamiTheme.buttonTintedBlue : JamiTheme.secAndTertiHoveredBackgroundColor anchors.fill: parent Rectangle { @@ -386,19 +385,18 @@ Rectangle { anchors.bottom: parent.bottom anchors.right: parent.right border.color: openedNickname ? JamiTheme.transparentColor : JamiTheme.lightBlue_ - color: JamiTheme.secondaryBackgroundColor + color: root.icon2Hovered ? JamiTheme.buttonTintedBlue : JamiTheme.secAndTertiHoveredBackgroundColor layer.enabled: true Rectangle { - height: parent.height +1 - width: parent.width +1 + height: parent.height + width: parent.width opacity: 1 anchors.bottom: parent.bottom anchors.right: parent.right anchors.margins: 1 - border.color: openedNickname ? JamiTheme.transparentColor : JamiTheme.secondaryBackgroundColor - color: JamiTheme.secondaryBackgroundColor + color: root.icon2Hovered ? JamiTheme.buttonTintedBlue : JamiTheme.secAndTertiHoveredBackgroundColor } @@ -409,70 +407,82 @@ Rectangle { id: customColumnLayout anchors.fill: parent + Text { visible: openedNickname text: JamiStrings.customizeProfile - elide: Text.ElideRight + wrapMode: Text.WordWrap font.weight: Font.Medium Layout.topMargin: 25 - Layout.leftMargin: 35 + Layout.leftMargin: JamiTheme.cornerIconSize + Layout.fillWidth: true + font.pixelSize: JamiTheme.creditsTextSize color: JamiTheme.textColor - Layout.fillWidth: true } - PhotoboothView { - - id: currentAccountAvatar - width: avatarSize - height: avatarSize - darkTheme: UtilsAdapter.luma(JamiTheme.primaryBackgroundColor) + RowLayout { visible: openedNickname - Layout.alignment: Qt.AlignCenter - Layout.topMargin: 10 + PhotoboothView { + id: currentAccountAvatar - newItem: true - imageId: visible? "temp" : "" - avatarSize: 80 - buttonSize: JamiTheme.smartListAvatarSize + width: avatarSize + height: avatarSize + darkTheme: UtilsAdapter.luma(JamiTheme.primaryBackgroundColor) - } - ModalTextEdit { + Layout.alignment: Qt.AlignLeft + Layout.topMargin: 10 + Layout.preferredWidth: avatarSize + Layout.leftMargin: JamiTheme.cornerIconSize - id: displayNameLineEdit - visible: openedNickname - focus: openedNickname - Layout.alignment: Qt.AlignCenter - Layout.preferredWidth: 280 + newItem: true + imageId: visible? "temp" : "" + avatarSize: 80 + buttonSize: JamiTheme.smartListAvatarSize + } + + ModalTextEdit { + id: displayNameLineEdit - placeholderText: JamiStrings.enterNickname + focus: openedNickname - onAccepted: root.alias = displayNameLineEdit.dynamicText + Layout.alignment: Qt.AlignLeft | Qt.AlignBottom + Layout.fillWidth: true + Layout.rightMargin: JamiTheme.cornerIconSize + Layout.leftMargin: 10 + placeholderText: JamiStrings.enterNickname + onAccepted: root.alias = displayNameLineEdit.dynamicText + } } + + Text { visible: openedNickname Layout.topMargin: 20 + Layout.leftMargin: JamiTheme.cornerIconSize + Layout.rightMargin: JamiTheme.cornerIconSize + Layout.fillWidth: true + Layout.alignment: Qt.AlignLeft - Layout.preferredWidth: 360 - Layout.alignment: Qt.AlignCenter wrapMode: Text.WordWrap color: JamiTheme.textColor - text: JamiStrings.customizeProfileDescription font.pixelSize: JamiTheme.headerFontSize + lineHeight: JamiTheme.wizardViewTextLineHeight } RowLayout{ Layout.alignment: openedNickname ? Qt.AlignRight : Qt.AlignLeft - Layout.fillWidth: true + Layout.preferredWidth: parent.width + Rectangle { @@ -480,13 +490,14 @@ Rectangle { layer.enabled: true radius: JamiTheme.formsRadius + height: JamiTheme.cornerIconSize width: JamiTheme.cornerIconSize - color: openedNickname ? JamiTheme.lightBlue_ : JamiTheme.transparentColor - Layout.alignment: Qt.AlignBottom | Qt.AlignRight + color: openedNickname ? JamiTheme.buttonTintedBlue : JamiTheme.transparentColor + Layout.alignment: Qt.AlignVCenter | Qt.AlignRight Layout.leftMargin: openedPassword ? 0 : 20 - Layout.rightMargin: openedNickname? 2 : 0 + Layout.rightMargin: openedNickname ? 2 : 0 Layout.bottomMargin: openedNickname ? 2 : 0 Rectangle { @@ -496,15 +507,15 @@ Rectangle { width: cornerIcon2.width/2 anchors.right: cornerIcon2.right anchors.bottom: cornerIcon2.bottom - color: JamiTheme.lightBlue_ + color: JamiTheme.buttonTintedBlue } ResponsiveImage { - width: 18 height: 18 source: JamiResources.noun_paint_svg - color: JamiTheme.tintedBlue + color: root.icon2Hovered ? JamiTheme.primaryTextColor + : openedNickname ? JamiTheme.primaryTextColor : JamiTheme.buttonTintedBlue anchors.centerIn: cornerIcon2 } } @@ -513,12 +524,11 @@ Rectangle { id: labelCustomize visible: !openedNickname && !openedPassword - color: JamiTheme.textColor + color: root.icon2Hovered ? JamiTheme.primaryTextColor : JamiTheme.textColor text: JamiStrings.customizeProfile font.pixelSize: JamiTheme.creditsTextSize Layout.fillWidth: true - elide: Text.ElideRight - + wrapMode: Text.WordWrap } } } @@ -530,19 +540,33 @@ Rectangle { openedPassword = false } } + + HoverHandler { + target: customColumnLayout + enabled: !openedNickname + onHoveredChanged: { + root.icon2Hovered = hovered + } + } } } MaterialButton { id: showAdvancedButton - tertiary: true - secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor + TextMetrics{ + id: textSize + font.weight: Font.Bold + font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize + text: showAdvancedButton.text + } + primary: true Layout.alignment: Qt.AlignHCenter | Qt.AlignBottom Layout.bottomMargin: JamiTheme.wizardViewPageBackButtonMargins + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize - preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2) + preferredWidth: textSize.width + 2*JamiTheme.buttontextWizzardPadding + 1 text: JamiStrings.optionSave onClicked: { diff --git a/src/app/wizardview/components/ConnectToAccountManagerPage.qml b/src/app/wizardview/components/ConnectToAccountManagerPage.qml index 3eeff076b3698f1cfc1efbfbcdb155f07cf5ddff..a833ad91cf8f5c8ec0be29543584ab9227dd397a 100644 --- a/src/app/wizardview/components/ConnectToAccountManagerPage.qml +++ b/src/app/wizardview/components/ConnectToAccountManagerPage.qml @@ -63,18 +63,15 @@ Rectangle { id: connectToAccountManagerPageColumnLayout spacing: JamiTheme.wizardViewPageLayoutSpacing - anchors.horizontalCenter: parent.horizontalCenter - anchors.top: parent.top - anchors.topMargin: JamiTheme.wizardViewLayoutTopMargin - + anchors.verticalCenter: parent.verticalCenter width: Math.max(508, root.width - 100) Text { text: JamiStrings.connectJAMSServer Layout.alignment: Qt.AlignCenter - Layout.topMargin: 15 + Layout.topMargin: JamiTheme.preferredMarginSize Layout.preferredWidth: Math.min(360, root.width - JamiTheme.preferredMarginSize * 2) horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter @@ -89,7 +86,7 @@ Rectangle { text: JamiStrings.enterJAMSURL Layout.alignment: Qt.AlignCenter - Layout.topMargin: 30 + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize font.weight: Font.Medium Layout.preferredWidth: Math.min(400, root.width - JamiTheme.preferredMarginSize * 2) @@ -109,7 +106,7 @@ Rectangle { Layout.alignment: Qt.AlignCenter Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2) - Layout.topMargin: 5 + Layout.topMargin: JamiTheme.wizardViewMarginSize focus: visible placeholderText: JamiStrings.jamiManagementServerURL @@ -130,16 +127,13 @@ Rectangle { horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter Layout.preferredWidth: Math.min(450, root.width - JamiTheme.preferredMarginSize * 2) - Layout.topMargin: 35 + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize font.weight: Font.Medium font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize color: JamiTheme.textColor wrapMode: Text.Wrap - onTextChanged: Layout.preferredHeight = - JamiQmlUtils.getTextBoundingRect( - credentialsLabel.font, credentialsLabel.text).height } ModalTextEdit { @@ -149,6 +143,7 @@ Rectangle { objectName: "usernameManagerEdit" Layout.alignment: Qt.AlignCenter + Layout.topMargin: JamiTheme.wizardViewMarginSize Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2) placeholderText: JamiStrings.username @@ -168,10 +163,9 @@ Rectangle { Layout.alignment: Qt.AlignCenter Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2) + Layout.topMargin: JamiTheme.wizardViewMarginSize placeholderText: JamiStrings.password - Layout.topMargin: 10 - KeyNavigation.up: usernameManagerEdit KeyNavigation.down: connectBtn.enabled ? connectBtn : backButton @@ -184,13 +178,20 @@ Rectangle { SpinnerButton { id: connectBtn + TextMetrics{ + id: textSize + font.weight: Font.Bold + font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize + text: connectBtn.normalText + } + objectName: "connectToAccountManagerPageConnectBtn" Layout.alignment: Qt.AlignCenter - Layout.topMargin: 40 + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize Layout.bottomMargin: errorLabel.visible ? 0 : JamiTheme.wizardViewPageBackButtonMargins - preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2) + preferredWidth: textSize.width + 2*JamiTheme.buttontextWizzardPadding spinnerTriggeredtext: JamiStrings.creatingAccount normalText: JamiStrings.connect @@ -200,7 +201,7 @@ Rectangle { && passwordManagerEdit.dynamicText.length !== 0 && !spinnerTriggered - color: JamiTheme.tintedBlue + primary: true KeyNavigation.up: passwordManagerEdit KeyNavigation.down: backButton @@ -230,7 +231,7 @@ Rectangle { visible: errorText.length !== 0 text: errorText - font.pointSize: JamiTheme.textFontSize + font.pixelSize: JamiTheme.textEditError color: JamiTheme.redColor } } diff --git a/src/app/wizardview/components/CreateAccountPage.qml b/src/app/wizardview/components/CreateAccountPage.qml index 0c8178cc176143dae39cf670435ae0bc04560a4b..3b11cbf58f6d1ba6a575b0480ca65dc5c2f25bdc 100644 --- a/src/app/wizardview/components/CreateAccountPage.qml +++ b/src/app/wizardview/components/CreateAccountPage.qml @@ -69,6 +69,15 @@ Rectangle { } } + MouseArea { + anchors.fill: parent + + onClicked: { + infoBox.checked = false + adviceBox.checked = false + } + } + StackLayout { id: createAccountStack @@ -93,17 +102,15 @@ Rectangle { spacing: JamiTheme.wizardViewPageLayoutSpacing anchors.horizontalCenter: parent.horizontalCenter - anchors.top: parent.top - anchors.topMargin: JamiTheme.wizardViewLayoutTopMargin - + anchors.verticalCenter: parent.verticalCenter width: Math.max(508, root.width - 100) Text { id: joinJami - text: JamiStrings.joinJami + text: root.isRendezVous ? JamiStrings.createNewRV : JamiStrings.joinJami Layout.alignment: Qt.AlignCenter - Layout.topMargin: 15 + Layout.topMargin: JamiTheme.preferredMarginSize Layout.preferredWidth: Math.min(360, root.width - JamiTheme.preferredMarginSize * 2) horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter @@ -118,7 +125,7 @@ Rectangle { text: root.isRendezVous ? JamiStrings.chooseUsernameForRV : JamiStrings.chooseUsernameForAccount Layout.alignment: Qt.AlignCenter - Layout.topMargin: 15 + Layout.topMargin: JamiTheme.wizardViewDescriptionMarginSize Layout.preferredWidth: Math.min(360, root.width - JamiTheme.preferredMarginSize * 2) horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter @@ -126,14 +133,100 @@ Rectangle { font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize wrapMode: Text.WordWrap + lineHeight: JamiTheme.wizardViewTextLineHeight } UsernameTextEdit { id: usernameEdit + icon: PushButton { + + id: infoBox + z:1 + + normalColor: "transparent" + imageColor: infoBox.checked ? JamiTheme.inviteHoverColor : JamiTheme.buttonTintedBlue + source: JamiResources.i_informations_black_24dp_svg + pressedColor: JamiTheme.tintedBlue + hoveredColor: JamiTheme.hoveredButtonColorWizard + border.color: { + if(infoBox.checked){ + return "transparent" + } + return JamiTheme.buttonTintedBlue + } + checkable: true + onCheckedChanged: { + textBoxinfo.visible = !textBoxinfo.visible + } + preferredSize: 20 + + Item { + id: textBoxinfo + anchors.top: parent.bottom + anchors.right: parent.right + anchors.topMargin: 5 + anchors.rightMargin: -40 + + width: textInfo.width + 2 * JamiTheme.preferredMarginSize + height: textInfo.height + 2 * JamiTheme.preferredMarginSize + + visible: false + + Behavior on width { + NumberAnimation { duration: JamiTheme.shortFadeDuration } + } + + Behavior on height { + NumberAnimation { duration: JamiTheme.shortFadeDuration} + } + + DropShadow { + z: -1 + anchors.fill: boxInfo + horizontalOffset: 1.0 + verticalOffset: 1.0 + radius: boxInfo.radius + color: JamiTheme.shadowColor + source: boxInfo + transparentBorder: true + } + + Rectangle { + + id: boxInfo + + z: 1 + anchors.fill: parent + radius: 30 + color: JamiTheme.secondaryBackgroundColor + + Text { + id: textInfo + + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + anchors.margins: JamiTheme.preferredMarginSize + + text: JamiStrings.usernameToolTip + color: JamiTheme.textColor + + font.kerning: true + font.pixelSize: JamiTheme.infoBoxDescFontSize + lineHeight: JamiTheme.wizardViewTextLineHeight + } + + } + } + + KeyNavigation.tab: chooseUsernameButton + KeyNavigation.up: usernameEdit + KeyNavigation.down: chooseUsernameButton + } + objectName: "usernameEdit" - Layout.topMargin: 15 + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize Layout.alignment: Qt.AlignHCenter Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2) placeholderText: root.isRendezVous ? JamiStrings.chooseAName : @@ -141,26 +234,29 @@ Rectangle { staticText: "" editMode: true - KeyNavigation.tab: chooseUsernameButton + KeyNavigation.tab: infoBox KeyNavigation.up: backButton - KeyNavigation.down: chooseUsernameButton + KeyNavigation.down: infoBox + + } Label { + id: invalidLabel Layout.alignment: Qt.AlignHCenter | Qt.AlignTop - visible: text.length !==0 || usernameEdit.selected + visible: text.length !==0 Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2) text: { switch(usernameEdit.nameRegistrationState){ case UsernameTextEdit.NameRegistrationState.BLANK: - return " " + return "" case UsernameTextEdit.NameRegistrationState.SEARCHING: - return " " + return "" case UsernameTextEdit.NameRegistrationState.FREE: - return " " + return "" case UsernameTextEdit.NameRegistrationState.INVALID: return root.isRendezVous ? JamiStrings.invalidName : JamiStrings.invalidUsername @@ -169,19 +265,28 @@ Rectangle { JamiStrings.usernameAlreadyTaken } } - font.pointSize: JamiTheme.textFontSize + font.pixelSize: JamiTheme.textEditError color: "#CC0022" } MaterialButton { id: chooseUsernameButton + z:-1 + + TextMetrics{ + id: textSize + font.weight: Font.Bold + font.pixelSize: JamiTheme.wizardViewButtonFontPixelSize + font.capitalization: Font.AllUppercase + text: chooseUsernameButton.text + } objectName: "chooseUsernameButton" Layout.alignment: Qt.AlignCenter + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize primary: true - - preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2) + preferredWidth: textSize.width + 2*JamiTheme.buttontextWizzardPadding font.capitalization: Font.AllUppercase color: enabled? JamiTheme.buttonTintedBlue : JamiTheme.buttonTintedGrey @@ -224,6 +329,7 @@ Rectangle { secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor Layout.alignment: Qt.AlignCenter + Layout.topMargin: 2 * JamiTheme.wizardViewBlocMarginSize preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2) text: JamiStrings.advancedAccountSettings @@ -233,7 +339,11 @@ Rectangle { KeyNavigation.up: chooseUsernameButton KeyNavigation.down: backButton - onClicked: createAccountStack.currentIndex++ + onClicked: { + adviceBox.checked = false + infoBox.checked = false + createAccountStack.currentIndex++ + } } NoUsernamePopup { @@ -253,7 +363,6 @@ Rectangle { AdvancedAccountSettings { id: advancedAccountSettingsPage - objectName: "advancedAccountSettingsPage" Layout.fillHeight: true @@ -282,9 +391,11 @@ Rectangle { KeyNavigation.down: usernameEdit onClicked: { - + adviceBox.checked = false + infoBox.checked = false if (createAccountStack.currentIndex > 0) { createAccountStack.currentIndex-- + } else { WizardViewStepModel.previousStep() goodToKnow.visible = false @@ -295,37 +406,44 @@ Rectangle { PushButton { - id: infoBox + id: adviceBox z:1 preferredSize: JamiTheme.wizardViewPageBackButtonSize - anchors.right: parent.right anchors.top: parent.top anchors.margins: JamiTheme.wizardViewPageBackButtonMargins - normalColor: JamiTheme.backgroundColor - imageColor: JamiTheme.primaryForegroundColor - - source: JamiResources.outline_info_24dp_svg - - onHoveredChanged: { + normalColor: "transparent" + imageColor: adviceBox.checked ? JamiTheme.inviteHoverColor : JamiTheme.buttonTintedBlue + source: JamiResources._black_24dp_svg + pressedColor: JamiTheme.tintedBlue + hoveredColor: JamiTheme.hoveredButtonColorWizard + border.color: { + if(adviceBox.checked){ + return "transparent" + } + return JamiTheme.buttonTintedBlue + } + checkable: true + onCheckedChanged: { goodToKnow.visible = !goodToKnow.visible helpOpened = !helpOpened advancedAccountSettingsPage.openedPassword = false advancedAccountSettingsPage.openedNickname = false - } } + + Item { id: goodToKnow anchors.top: parent.top anchors.right: parent.right - anchors.margins: JamiTheme.wizardViewPageBackButtonMargins + infoBox.preferredSize*2/5 + anchors.margins: JamiTheme.wizardViewPageBackButtonMargins + adviceBox.preferredWidth*2/5 width: helpOpened ? Math.min(root.width - 2 * JamiTheme.preferredMarginSize, 452) : 0 height: { @@ -348,18 +466,18 @@ Rectangle { DropShadow { z: -1 - anchors.fill: boxInfo - horizontalOffset: 3.0 - verticalOffset: 3.0 - radius: boxInfo.radius * 4 + anchors.fill: boxAdvice + horizontalOffset: 2.0 + verticalOffset: 2.0 + radius: boxAdvice.radius color: JamiTheme.shadowColor - source: boxInfo + source: boxAdvice transparentBorder: true } Rectangle { - id: boxInfo + id: boxAdvice z: 0 anchors.fill: parent @@ -368,7 +486,7 @@ Rectangle { ColumnLayout { - id: infoContainer + id: adviceContainer anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter @@ -388,7 +506,7 @@ Rectangle { text: JamiStrings.goodToKnow color: JamiTheme.textColor font.weight: Font.Medium - Layout.topMargin: 15 + Layout.topMargin: JamiTheme.preferredMarginSize Layout.alignment: Qt.AlignCenter | Qt.AlignTop font.pixelSize: JamiTheme.title2FontSize @@ -399,7 +517,8 @@ Rectangle { id: flow spacing: 25 Layout.alignment: Qt.AlignTop - Layout.leftMargin: JamiTheme.preferredMarginSize * 2 + Layout.leftMargin: JamiTheme.preferredMarginSize * 4 + Layout.topMargin: JamiTheme.preferredMarginSize Layout.preferredWidth: helpOpened ? Math.min(root.width - 2 * JamiTheme.preferredMarginSize, 452) : 0 Layout.fillWidth: true @@ -408,24 +527,28 @@ Rectangle { icoSource: JamiResources.laptop_black_24dp_svg title: JamiStrings.local description: JamiStrings.localAccount + icoColor: JamiTheme.buttonTintedBlue } InfoBox { icoSource: JamiResources.person_24dp_svg title: JamiStrings.username description: JamiStrings.usernameRecommened + icoColor: JamiTheme.buttonTintedBlue } InfoBox { icoSource: JamiResources.lock_svg title: JamiStrings.encrypt description: JamiStrings.passwordOptional + icoColor: JamiTheme.buttonTintedBlue } InfoBox { icoSource: JamiResources.noun_paint_svg title: JamiStrings.customize description: JamiStrings.customizeOptional + icoColor: JamiTheme.buttonTintedBlue } } } diff --git a/src/app/wizardview/components/CreateSIPAccountPage.qml b/src/app/wizardview/components/CreateSIPAccountPage.qml index 6c97b9254c827592f1b5d4646eb5eff38d71c0b5..91862a79a8d44129e23b96245c5885289f31cbf4 100644 --- a/src/app/wizardview/components/CreateSIPAccountPage.qml +++ b/src/app/wizardview/components/CreateSIPAccountPage.qml @@ -70,11 +70,8 @@ Rectangle { id: createSIPAccountPageColumnLayout spacing: JamiTheme.wizardViewPageLayoutSpacing - anchors.horizontalCenter: parent.horizontalCenter - anchors.top: parent.top - anchors.topMargin: JamiTheme.wizardViewLayoutTopMargin - + anchors.verticalCenter: parent.verticalCenter width: Math.max(508, root.width - 100) Label { @@ -82,7 +79,7 @@ Rectangle { text: JamiStrings.sipAccount Layout.alignment: Qt.AlignCenter Layout.preferredWidth: Math.min(450, root.width - JamiTheme.preferredMarginSize * 2) - Layout.topMargin: 15 + Layout.topMargin: JamiTheme.preferredMarginSize font.pixelSize: JamiTheme.wizardViewTitleFontPixelSize horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter @@ -92,7 +89,7 @@ Rectangle { Label { text: JamiStrings.configureExistingSIP Layout.preferredWidth: Math.min(360, root.width - JamiTheme.preferredMarginSize * 2) - Layout.topMargin: 15 + Layout.topMargin: JamiTheme.wizardViewDescriptionMarginSize Layout.alignment: Qt.AlignCenter font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize font.weight: Font.Medium @@ -109,6 +106,7 @@ Rectangle { Layout.alignment: Qt.AlignCenter Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2) + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize placeholderText: JamiStrings.server @@ -126,6 +124,7 @@ Rectangle { Layout.alignment: Qt.AlignCenter Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2) + Layout.topMargin: JamiTheme.wizardViewMarginSize placeholderText: JamiStrings.username @@ -143,6 +142,7 @@ Rectangle { Layout.alignment: Qt.AlignCenter Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2) + Layout.topMargin: JamiTheme.wizardViewMarginSize placeholderText: JamiStrings.password @@ -159,6 +159,7 @@ Rectangle { Layout.alignment: Qt.AlignHCenter Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2) + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize MaterialRadioButton { id: tlsRadioButton @@ -190,12 +191,20 @@ Rectangle { MaterialButton { id: createAccountButton + TextMetrics{ + id: textSize + font.weight: Font.Bold + font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize + text: createAccountButton.text + } + objectName: "createSIPAccountButton" Layout.alignment: Qt.AlignCenter - Layout.bottomMargin: JamiTheme.wizardViewPageBackButtonMargins + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize - preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2) + preferredWidth: textSize.width + 2*JamiTheme.buttontextWizzardPadding + primary: true text: JamiStrings.addSip @@ -219,13 +228,23 @@ Rectangle { MaterialButton { id: personalizeAccount + + TextMetrics{ + id: personalizeAccountTextSize + font.weight: Font.Bold + font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize + text: personalizeAccount.text + } + + text: JamiStrings.personalizeAccount tertiary: true secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor - preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2) + preferredWidth: personalizeAccountTextSize.width + 2*JamiTheme.buttontextWizzardPadding + 1 Layout.alignment: Qt.AlignCenter Layout.bottomMargin: JamiTheme.wizardViewPageBackButtonMargins*2 + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize KeyNavigation.up: createAccountButton KeyNavigation.down: backButton @@ -256,7 +275,7 @@ Rectangle { text: JamiStrings.personalizeAccount Layout.alignment: Qt.AlignCenter Layout.preferredWidth: Math.min(450, root.width - JamiTheme.preferredMarginSize * 2) - Layout.topMargin: 15 + Layout.topMargin: JamiTheme.preferredMarginSize font.pixelSize: 26 horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter @@ -289,7 +308,7 @@ Rectangle { Text { - Layout.topMargin: 15 + Layout.topMargin: JamiTheme.preferredMarginSize Layout.alignment: Qt.AlignCenter Layout.preferredWidth: Math.min(320, root.width - JamiTheme.preferredMarginSize * 2) horizontalAlignment: Text.AlignHCenter @@ -297,6 +316,7 @@ Rectangle { wrapMode: Text.WordWrap text: JamiStrings.customizeProfileDescription + lineHeight: JamiTheme.wizardViewTextLineHeight font.pixelSize: JamiTheme.headerFontSize color: JamiTheme.textColor } diff --git a/src/app/wizardview/components/ImportFromBackupPage.qml b/src/app/wizardview/components/ImportFromBackupPage.qml index 7af087b59727501783772e9b944767ba997b2a60..aa7c723b669246c49508ea82b7a43b831d485c8f 100644 --- a/src/app/wizardview/components/ImportFromBackupPage.qml +++ b/src/app/wizardview/components/ImportFromBackupPage.qml @@ -72,8 +72,7 @@ Rectangle { spacing: JamiTheme.wizardViewPageLayoutSpacing anchors.horizontalCenter: parent.horizontalCenter - anchors.top: parent.top - anchors.topMargin: JamiTheme.wizardViewLayoutTopMargin + anchors.verticalCenter: parent.verticalCenter width: Math.max(508, root.width - 100) @@ -81,7 +80,7 @@ Rectangle { text: JamiStrings.importFromArchiveBackup Layout.alignment: Qt.AlignCenter - Layout.topMargin: 15 + Layout.topMargin: JamiTheme.preferredMarginSize Layout.preferredWidth: Math.min(360, root.width - JamiTheme.preferredMarginSize * 2) horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter @@ -95,29 +94,37 @@ Rectangle { text: JamiStrings.importFromArchiveBackupDescription Layout.alignment: Qt.AlignCenter - Layout.topMargin: 15 - Layout.preferredWidth: Math.min(450, root.width - JamiTheme.preferredMarginSize * 2) + Layout.topMargin: JamiTheme.wizardViewDescriptionMarginSize + Layout.preferredWidth: Math.min(400, root.width - JamiTheme.preferredMarginSize * 2) horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter color: JamiTheme.textColor font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize wrapMode : Text.WordWrap + lineHeight: JamiTheme.wizardViewTextLineHeight } MaterialButton { id: fileImportBtn + TextMetrics{ + id: textSizeFileImportBtn + font.weight: Font.Bold + font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize + text: fileImportBtn.text + } + + objectName: "fileImportBtn" secondary: true - color: JamiTheme.secAndTertiTextColor - secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor + focus: visible Layout.alignment: Qt.AlignCenter - Layout.topMargin: 35 + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize - preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2) + preferredWidth: textSizeFileImportBtn.width + 2*JamiTheme.buttontextWizzardPadding text: fileImportBtnText toolTipText: JamiStrings.importAccountArchive @@ -154,13 +161,27 @@ Rectangle { } } + Text { + text: JamiStrings.passwordArchive + Layout.alignment: Qt.AlignCenter + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize + Layout.preferredWidth: Math.min(350, root.width - JamiTheme.preferredMarginSize * 2) + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + color: JamiTheme.textColor + + font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize + wrapMode : Text.WordWrap + lineHeight: JamiTheme.wizardViewTextLineHeight + } + PasswordTextEdit { id: passwordFromBackupEdit objectName: "passwordFromBackupEdit" Layout.alignment: Qt.AlignCenter - Layout.topMargin: 20 + Layout.topMargin: JamiTheme.wizardViewMarginSize Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2) placeholderText: JamiStrings.enterPassword @@ -175,18 +196,24 @@ Rectangle { SpinnerButton { id: connectBtn + TextMetrics{ + id: textSizeConnectBtn + font.weight: Font.Bold + font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize + text: connectBtn.normalText + } + objectName: "importFromBackupPageConnectBtn" Layout.alignment: Qt.AlignCenter Layout.bottomMargin: errorLabel.visible ? 0 : JamiTheme.wizardViewPageBackButtonMargins - Layout.topMargin: 30 + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize - preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2) + preferredWidth: textSizeConnectBtn.width + 2*JamiTheme.buttontextWizzardPadding + 1 + primary: true spinnerTriggeredtext: JamiStrings.generatingAccount - normalText: JamiStrings.connectFromBackup - - color: JamiTheme.tintedBlue + normalText: JamiStrings.importButton enabled: { if (spinnerTriggered) @@ -224,7 +251,7 @@ Rectangle { visible: errorText.length !== 0 text: errorText - font.pointSize: JamiTheme.textFontSize + font.pixelSize: JamiTheme.textEditError color: JamiTheme.redColor } } diff --git a/src/app/wizardview/components/ImportFromDevicePage.qml b/src/app/wizardview/components/ImportFromDevicePage.qml index af24ae66c018d7bc4cbeea3288c19285064cee0e..22a1492460438eacc2404a25382bd26b1c9dcfb8 100644 --- a/src/app/wizardview/components/ImportFromDevicePage.qml +++ b/src/app/wizardview/components/ImportFromDevicePage.qml @@ -65,12 +65,9 @@ Rectangle { ColumnLayout { id: importFromDevicePageColumnLayout - spacing: JamiTheme.wizardViewPageLayoutSpacing - anchors.horizontalCenter: parent.horizontalCenter - anchors.top: parent.top - anchors.topMargin: JamiTheme.wizardViewLayoutTopMargin + anchors.verticalCenter: parent.verticalCenter width: Math.max(508, root.width - 100) @@ -78,7 +75,7 @@ Rectangle { text: JamiStrings.importAccountFromAnotherDevice Layout.alignment: Qt.AlignCenter - Layout.topMargin: 15 + Layout.topMargin: JamiTheme.preferredMarginSize Layout.preferredWidth: Math.min(360, root.width - JamiTheme.preferredMarginSize * 2) horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter @@ -92,26 +89,31 @@ Rectangle { text: JamiStrings.importFromDeviceDescription Layout.preferredWidth: Math.min(360, root.width - JamiTheme.preferredMarginSize * 2) - Layout.topMargin: 15 + Layout.topMargin: JamiTheme.wizardViewDescriptionMarginSize Layout.alignment: Qt.AlignCenter font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize + font.weight: Font.Medium color: JamiTheme.textColor wrapMode: Text.WordWrap horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter + lineHeight: JamiTheme.wizardViewTextLineHeight } + + Flow { spacing: 30 Layout.alignment: Qt.AlignHCenter - Layout.topMargin: 40 - Layout.preferredWidth: Math.min(step1.width * 2 + 2 * spacing, root.width - JamiTheme.preferredMarginSize * 2) + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize + Layout.preferredWidth: Math.min(step1.width * 2 + spacing, root.width - JamiTheme.preferredMarginSize * 2) InfoBox { id: step1 icoSource: JamiResources.settings_24dp_svg title: JamiStrings.importStep1 description: JamiStrings.importStep1Desc + icoColor: JamiTheme.buttonTintedBlue } InfoBox { @@ -119,6 +121,7 @@ Rectangle { icoSource: JamiResources.person_24dp_svg title: JamiStrings.importStep2 description: JamiStrings.importStep2Desc + icoColor: JamiTheme.buttonTintedBlue } InfoBox { @@ -126,6 +129,7 @@ Rectangle { icoSource: JamiResources.finger_select_svg title: JamiStrings.importStep3 description: JamiStrings.importStep3Desc + icoColor: JamiTheme.buttonTintedBlue } InfoBox { @@ -133,6 +137,7 @@ Rectangle { icoSource: JamiResources.time_clock_svg title: JamiStrings.importStep4 description: JamiStrings.importStep4Desc + icoColor: JamiTheme.buttonTintedBlue } } @@ -143,8 +148,8 @@ Rectangle { objectName: "pinFromDevice" Layout.alignment: Qt.AlignCenter - Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2) - Layout.topMargin: 22 + Layout.preferredWidth: Math.min(410, root.width - JamiTheme.preferredMarginSize * 2) + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize focus: visible @@ -159,12 +164,28 @@ Rectangle { } + Text { + + + Layout.alignment: Qt.AlignCenter + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize + + color: JamiTheme.textColor + wrapMode: Text.WordWrap + text: JamiStrings.importPasswordDesc + font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize + font.weight: Font.Medium + } + + + PasswordTextEdit { id: passwordFromDevice objectName: "passwordFromDevice" Layout.alignment: Qt.AlignCenter - Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2) + Layout.preferredWidth: Math.min(410, root.width - JamiTheme.preferredMarginSize * 2) + Layout.topMargin: JamiTheme.wizardViewMarginSize placeholderText: JamiStrings.enterPassword @@ -184,18 +205,25 @@ Rectangle { SpinnerButton { id: connectBtn - color: JamiTheme.tintedBlue + + TextMetrics{ + id: textSize + font.weight: Font.Bold + font.pixelSize: JamiTheme.wizardViewButtonFontPixelSize + text: connectBtn.normalText + } objectName: "importFromDevicePageConnectBtn" Layout.alignment: Qt.AlignCenter - Layout.topMargin: 22 + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize Layout.bottomMargin: errorLabel.visible ? 0 : JamiTheme.wizardViewPageBackButtonMargins - preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2) + preferredWidth: textSize.width + 2*JamiTheme.buttontextWizzardPadding +1 + primary: true spinnerTriggeredtext: JamiStrings.generatingAccount - normalText: JamiStrings.connectFromAnotherDevice + normalText: JamiStrings.importButton enabled: pinFromDevice.dynamicText.length !== 0 && !spinnerTriggered @@ -224,7 +252,7 @@ Rectangle { text: errorText - font.pointSize: JamiTheme.textFontSize + font.pixelSize: JamiTheme.textEditError color: JamiTheme.redColor } } @@ -236,7 +264,7 @@ Rectangle { anchors.left: parent.left anchors.top: parent.top - anchors.margins: 10 + anchors.margins: JamiTheme.wizardViewPageBackButtonMargins visible: !connectBtn.spinnerTriggered @@ -244,8 +272,6 @@ Rectangle { KeyNavigation.up: connectBtn.enabled ? connectBtn : passwordFromDevice KeyNavigation.down: pinFromDevice - preferredSize: JamiTheme.wizardViewPageBackButtonSize - onClicked: WizardViewStepModel.previousStep() } } diff --git a/src/app/wizardview/components/NoUsernamePopup.qml b/src/app/wizardview/components/NoUsernamePopup.qml index 1b24a36ea686711557c2d29a52f22f71158c4a76..888ea976168670bfcfc588bed8ae3b5d2e1a599e 100644 --- a/src/app/wizardview/components/NoUsernamePopup.qml +++ b/src/app/wizardview/components/NoUsernamePopup.qml @@ -84,24 +84,34 @@ Popup { horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter font.pixelSize: JamiTheme.popuptextSize - font.weight: Font.Medium + lineHeight: JamiTheme.wizardViewTextLineHeight wrapMode: Text.WordWrap color: JamiTheme.textColor text: JamiStrings.joinJamiNoPassword } RowLayout{ - Layout.margins: JamiTheme.popupButtonsMargin + Layout.topMargin: JamiTheme.popupButtonsMargin + Layout.bottomMargin: JamiTheme.popupButtonsMargin + Layout.alignment: Qt.AlignCenter + spacing: JamiTheme.popupButtonsMargin MaterialButton { + + TextMetrics{ + id: joinJamiSize + font.weight: Font.Bold + font.pixelSize: JamiTheme.wizardViewButtonFontPixelSize + text: JamiStrings.joinJami + } + + Layout.leftMargin: JamiTheme.popupButtonsMargin objectName: "joinButton" - preferredWidth: text.contentWidth - textLeftPadding: JamiTheme.buttontextPadding - textRightPadding: JamiTheme.buttontextPadding + preferredWidth: joinJamiSize.width + 2*(JamiTheme.buttontextWizzardPadding + 1) + textLeftPadding: JamiTheme.buttontextWizzardPadding + textRightPadding: JamiTheme.buttontextWizzardPadding secondary: true - color: JamiTheme.secAndTertiTextColor - secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor text: JamiStrings.joinJami onClicked: { root.joinClicked() @@ -111,12 +121,18 @@ Popup { } MaterialButton { - preferredWidth: text.contentWidth - textLeftPadding: JamiTheme.buttontextPadding - textRightPadding: JamiTheme.buttontextPadding - Layout.leftMargin: 20 - primary:true - text: JamiStrings.chooseAUsername + + TextMetrics{ + id: chooseAUsernameSize + font.weight: Font.Bold + font.pixelSize: JamiTheme.wizardViewButtonFontPixelSize + text: JamiStrings.chooseAUsername + } + + Layout.rightMargin: JamiTheme.popupButtonsMargin + preferredWidth: chooseAUsernameSize.width + 2*JamiTheme.buttontextWizzardPadding + primary: true + text: JamiStrings.chooseAUsername onClicked: root.close() } } diff --git a/src/app/wizardview/components/WelcomePage.qml b/src/app/wizardview/components/WelcomePage.qml index ee914f42dbbfc03e399820be8fd5711ce6e5d368..8da3a49ed88f4991984d3e62e4186c355c8d1194 100644 --- a/src/app/wizardview/components/WelcomePage.qml +++ b/src/app/wizardview/components/WelcomePage.qml @@ -20,6 +20,9 @@ import QtQuick import QtQuick.Layouts +import QtMultimedia +import Qt5Compat.GraphicalEffects + import net.jami.Models 1.1 import net.jami.Adapters 1.1 @@ -40,7 +43,6 @@ Rectangle { signal showThisPage color: JamiTheme.secondaryBackgroundColor - opacity: 0.93 Connections { target: WizardViewStepModel @@ -67,21 +69,41 @@ Rectangle { spacing: JamiTheme.wizardViewPageLayoutSpacing anchors.horizontalCenter: parent.horizontalCenter - anchors.top: parent.top - anchors.topMargin: JamiTheme.wizardViewLayoutTopMargin + anchors.verticalCenter: parent.verticalCenter width: Math.max(508, root.width - 100) - ResponsiveImage { - id: welcomeLogo + Rectangle { Layout.alignment: Qt.AlignCenter | Qt.AlignTop - Layout.preferredWidth: JamiTheme.welcomeLogoWidth Layout.preferredHeight: JamiTheme.welcomeLogoHeight - source: JamiResources.jami_svg + MediaPlayer { + id: mediaPlayer + source: JamiTheme.darkTheme ? JamiResources.logo_dark_webm : JamiResources.logo_light_webm + videoOutput: videoOutput + loops: MediaPlayer.Infinite + } + + VideoOutput { + id: videoOutput + anchors.fill: parent + } + + Component.onCompleted: { + mediaPlayer.play() + } + + Behavior on opacity { NumberAnimation { duration: 150 } } + + layer.enabled: opacity + layer.effect: FastBlur { + source: videoOutput + radius: (1. - opacity) * 100 + } } + Text { id: introduction @@ -94,6 +116,7 @@ Rectangle { horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter wrapMode : Text.WordWrap + lineHeight: JamiTheme.wizardViewTextLineHeight font.pixelSize: JamiTheme.wizardViewTitleFontPixelSize font.kerning: true @@ -103,7 +126,7 @@ Rectangle { id: description Layout.alignment: Qt.AlignCenter - Layout.topMargin: JamiTheme.wizardViewPageBackButtonMargins + Layout.topMargin: JamiTheme.wizardViewDescriptionMarginSize Layout.preferredWidth: Math.min(440, root.width - JamiTheme.preferredMarginSize * 2) text: JamiStrings.description @@ -111,7 +134,7 @@ Rectangle { horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter wrapMode : Text.WordWrap - lineHeight: 1.4 + lineHeight: JamiTheme.wizardViewTextLineHeight font.pixelSize: JamiTheme.wizardViewDescriptionFontPixelSize font.kerning: true @@ -124,7 +147,7 @@ Rectangle { primary: true Layout.alignment: Qt.AlignCenter - Layout.topMargin: 21 + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize preferredWidth: Math.min(JamiTheme.wizardButtonWidth, root.width - JamiTheme.preferredMarginSize * 2) text: JamiStrings.joinJami @@ -333,12 +356,15 @@ Rectangle { Layout.alignment: Qt.AlignBottom | Qt.AlignHCenter Layout.bottomMargin: JamiTheme.preferredMarginSize + Layout.topMargin: JamiTheme.wizardViewBlocMarginSize preferredWidth: JamiTheme.aboutButtonPreferredWidth secHoveredColor: JamiTheme.secAndTertiHoveredBackgroundColor tertiary: true + fontSize: JamiTheme.wizardViewAboutJamiFontPixelSize + KeyNavigation.tab: backButton.visible ? backButton : newAccountButton KeyNavigation.up: connectAccountManagerButton KeyNavigation.down: KeyNavigation.tab @@ -368,8 +394,6 @@ Rectangle { } } - preferredSize: JamiTheme.wizardViewPageBackButtonSize - visible: UtilsAdapter.getAccountListSize() KeyNavigation.tab: newAccountButton