diff --git a/client/fonts/Lato-Black.ttf b/client/fonts/Lato-Black.ttf deleted file mode 100644 index a87109f5..00000000 Binary files a/client/fonts/Lato-Black.ttf and /dev/null differ diff --git a/client/fonts/Lato-BlackItalic.ttf b/client/fonts/Lato-BlackItalic.ttf deleted file mode 100644 index 505e23fa..00000000 Binary files a/client/fonts/Lato-BlackItalic.ttf and /dev/null differ diff --git a/client/fonts/Lato-Bold.ttf b/client/fonts/Lato-Bold.ttf deleted file mode 100644 index 59c48434..00000000 Binary files a/client/fonts/Lato-Bold.ttf and /dev/null differ diff --git a/client/fonts/Lato-BoldItalic.ttf b/client/fonts/Lato-BoldItalic.ttf deleted file mode 100644 index 3371a4bf..00000000 Binary files a/client/fonts/Lato-BoldItalic.ttf and /dev/null differ diff --git a/client/fonts/Lato-Hairline.ttf b/client/fonts/Lato-Hairline.ttf deleted file mode 100644 index bc06473a..00000000 Binary files a/client/fonts/Lato-Hairline.ttf and /dev/null differ diff --git a/client/fonts/Lato-HairlineItalic.ttf b/client/fonts/Lato-HairlineItalic.ttf deleted file mode 100644 index d680800a..00000000 Binary files a/client/fonts/Lato-HairlineItalic.ttf and /dev/null differ diff --git a/client/fonts/Lato-Heavy.ttf b/client/fonts/Lato-Heavy.ttf deleted file mode 100644 index 4a56a97c..00000000 Binary files a/client/fonts/Lato-Heavy.ttf and /dev/null differ diff --git a/client/fonts/Lato-HeavyItalic.ttf b/client/fonts/Lato-HeavyItalic.ttf deleted file mode 100644 index b25f78d1..00000000 Binary files a/client/fonts/Lato-HeavyItalic.ttf and /dev/null differ diff --git a/client/fonts/Lato-Italic.ttf b/client/fonts/Lato-Italic.ttf deleted file mode 100644 index 9babe6a8..00000000 Binary files a/client/fonts/Lato-Italic.ttf and /dev/null differ diff --git a/client/fonts/Lato-Light.ttf b/client/fonts/Lato-Light.ttf deleted file mode 100644 index ccba01a9..00000000 Binary files a/client/fonts/Lato-Light.ttf and /dev/null differ diff --git a/client/fonts/Lato-LightItalic.ttf b/client/fonts/Lato-LightItalic.ttf deleted file mode 100644 index fd58065e..00000000 Binary files a/client/fonts/Lato-LightItalic.ttf and /dev/null differ diff --git a/client/fonts/Lato-Medium.ttf b/client/fonts/Lato-Medium.ttf deleted file mode 100644 index a208b991..00000000 Binary files a/client/fonts/Lato-Medium.ttf and /dev/null differ diff --git a/client/fonts/Lato-MediumItalic.ttf b/client/fonts/Lato-MediumItalic.ttf deleted file mode 100644 index ac0ee4c9..00000000 Binary files a/client/fonts/Lato-MediumItalic.ttf and /dev/null differ diff --git a/client/fonts/Lato-Regular.ttf b/client/fonts/Lato-Regular.ttf deleted file mode 100644 index f01f5589..00000000 Binary files a/client/fonts/Lato-Regular.ttf and /dev/null differ diff --git a/client/fonts/Lato-Semibold.ttf b/client/fonts/Lato-Semibold.ttf deleted file mode 100644 index 0b95c643..00000000 Binary files a/client/fonts/Lato-Semibold.ttf and /dev/null differ diff --git a/client/fonts/Lato-SemiboldItalic.ttf b/client/fonts/Lato-SemiboldItalic.ttf deleted file mode 100644 index ed70b675..00000000 Binary files a/client/fonts/Lato-SemiboldItalic.ttf and /dev/null differ diff --git a/client/fonts/Lato-Thin.ttf b/client/fonts/Lato-Thin.ttf deleted file mode 100644 index ca2cc0de..00000000 Binary files a/client/fonts/Lato-Thin.ttf and /dev/null differ diff --git a/client/fonts/Lato-ThinItalic.ttf b/client/fonts/Lato-ThinItalic.ttf deleted file mode 100644 index 1e319da5..00000000 Binary files a/client/fonts/Lato-ThinItalic.ttf and /dev/null differ diff --git a/client/logger.cpp b/client/logger.cpp index a2c5607b..0dc836c6 100644 --- a/client/logger.cpp +++ b/client/logger.cpp @@ -33,6 +33,10 @@ void debugMessageHandler(QtMsgType type, const QMessageLogContext& context, cons } // Skip annoying messages from Qt + if (msg.contains("OpenType support missing for")) { + return; + } + if (msg.startsWith("Unknown property") || msg.startsWith("Could not create pixmap") || msg.startsWith("Populating font") || msg.startsWith("stale focus object")) { return; } diff --git a/client/resources.qrc b/client/resources.qrc index c227aa64..98f04802 100644 --- a/client/resources.qrc +++ b/client/resources.qrc @@ -11,16 +11,6 @@ images/tray/default.png images/tray/error.png images/arrow_left.png - fonts/Lato-Black.ttf - fonts/Lato-BlackItalic.ttf - fonts/Lato-Bold.ttf - fonts/Lato-BoldItalic.ttf - fonts/Lato-Italic.ttf - fonts/Lato-Light.ttf - fonts/Lato-LightItalic.ttf - fonts/Lato-Regular.ttf - fonts/Lato-Thin.ttf - fonts/Lato-ThinItalic.ttf images/AmneziaVPN.png images/share.png server_scripts/remove_container.sh @@ -95,7 +85,6 @@ server_scripts/check_user_in_sudo.sh ui/qml/Controls2/BasicButtonType.qml ui/qml/Controls2/TextFieldWithHeaderType.qml - fonts/pt-root-ui_vf.ttf ui/qml/Controls2/LabelWithButtonType.qml images/controls/arrow-right.svg images/controls/chevron-right.svg @@ -239,6 +228,7 @@ images/controls/alert-circle.svg images/controls/file-check-2.svg ui/qml/Controls2/WarningType.qml + fonts/pt-root-ui_vf.ttf ui/qml/Modules/Style/qmldir ui/qml/Modules/Style/AmneziaStyle.qml ui/qml/Pages2/PageServiceSocksProxySettings.qml diff --git a/client/ui/models/languageModel.cpp b/client/ui/models/languageModel.cpp index 4bd01b54..f90b47b7 100644 --- a/client/ui/models/languageModel.cpp +++ b/client/ui/models/languageModel.cpp @@ -92,9 +92,9 @@ int LanguageModel::getCurrentLanguageIndex() int LanguageModel::getLineHeightAppend() { - int langIndex = getCurrentLanguageIndex(); - switch (langIndex) { - case 5: return 10; break; // Burmese + auto language = static_cast(getCurrentLanguageIndex()); + switch (language) { + case LanguageSettings::AvailableLanguageEnum::Burmese: return 10; break; default: return 0; break; } } diff --git a/client/ui/qml/Components/HomeSplitTunnelingDrawer.qml b/client/ui/qml/Components/HomeSplitTunnelingDrawer.qml index 29a83334..5a3bf475 100644 --- a/client/ui/qml/Components/HomeSplitTunnelingDrawer.qml +++ b/client/ui/qml/Components/HomeSplitTunnelingDrawer.qml @@ -14,7 +14,7 @@ DrawerType2 { property bool isAppSplitTinnelingEnabled: Qt.platform.os === "windows" || Qt.platform.os === "android" anchors.fill: parent - expandedHeight: parent.height * 0.7 + expandedHeight: parent.height * 0.9 expandedContent: ColumnLayout { id: content diff --git a/client/ui/qml/Components/SettingsContainersListView.qml b/client/ui/qml/Components/SettingsContainersListView.qml index eda29885..769e1abd 100644 --- a/client/ui/qml/Components/SettingsContainersListView.qml +++ b/client/ui/qml/Components/SettingsContainersListView.qml @@ -93,20 +93,11 @@ ListView { PageController.goToPage(PageEnum.PageProtocolRaw) break } - case ContainerEnum.Sftp: { - SftpConfigModel.updateModel(config) - PageController.goToPage(PageEnum.PageServiceSftpSettings) - break - } - case ContainerEnum.TorWebSite: { - PageController.goToPage(PageEnum.PageServiceTorWebsiteSettings) - break - } case ContainerEnum.Dns: { PageController.goToPage(PageEnum.PageServiceDnsSettings) break } - default: { // go to the settings page of the container with multiple protocols + default: { ProtocolsModel.updateModel(config) PageController.goToPage(PageEnum.PageSettingsServerProtocol) } diff --git a/client/ui/qml/Controls2/BasicButtonType.qml b/client/ui/qml/Controls2/BasicButtonType.qml index f00a9673..0b6c4a6f 100644 --- a/client/ui/qml/Controls2/BasicButtonType.qml +++ b/client/ui/qml/Controls2/BasicButtonType.qml @@ -32,6 +32,8 @@ Button { property var clickedFunc + property alias buttonTextLabel: buttonText + implicitHeight: 56 hoverEnabled: true @@ -140,6 +142,8 @@ Button { } ButtonTextType { + id: buttonText + color: textColor text: root.text visible: root.text === "" ? false : true diff --git a/client/ui/qml/Controls2/SwitcherType.qml b/client/ui/qml/Controls2/SwitcherType.qml index a1ec3fc6..6bf430de 100644 --- a/client/ui/qml/Controls2/SwitcherType.qml +++ b/client/ui/qml/Controls2/SwitcherType.qml @@ -102,7 +102,8 @@ Switch { contentItem: ColumnLayout { id: content - anchors.verticalCenter: parent.verticalCenter + anchors.top: parent.top + anchors.bottom: parent.bottom anchors.left: parent.left ListItemTitleType { diff --git a/client/ui/qml/Controls2/TextTypes/Header1TextType.qml b/client/ui/qml/Controls2/TextTypes/Header1TextType.qml index bec5f4ab..fa4aaa4e 100644 --- a/client/ui/qml/Controls2/TextTypes/Header1TextType.qml +++ b/client/ui/qml/Controls2/TextTypes/Header1TextType.qml @@ -7,10 +7,10 @@ Text { lineHeightMode: Text.FixedHeight color: AmneziaStyle.color.white - font.pixelSize: 36 + font.pixelSize: 32 font.weight: 700 font.family: "PT Root UI VF" - font.letterSpacing: -1.08 + font.letterSpacing: -1.0 wrapMode: Text.WordWrap } diff --git a/client/ui/qml/Pages2/PageHome.qml b/client/ui/qml/Pages2/PageHome.qml index 337d69d3..da52d535 100644 --- a/client/ui/qml/Pages2/PageHome.qml +++ b/client/ui/qml/Pages2/PageHome.qml @@ -85,6 +85,7 @@ PageType { BasicButtonType { id: splitTunnelingButton + Layout.alignment: Qt.AlignHCenter | Qt.AlignBottom Layout.bottomMargin: 34 leftPadding: 16 @@ -100,6 +101,10 @@ PageType { leftImageColor: AmneziaStyle.color.transparent borderWidth: 0 + buttonTextLabel.lineHeight: 20 + buttonTextLabel.font.pixelSize: 14 + buttonTextLabel.font.weight: 500 + property bool isSplitTunnelingEnabled: SitesModel.isTunnelingEnabled || AppSplitTunnelingModel.isTunnelingEnabled || (ServersModel.isDefaultServerDefaultContainerHasSplitTunneling && ServersModel.getDefaultServerData("isServerFromApi")) diff --git a/client/ui/qml/Pages2/PageServiceDnsSettings.qml b/client/ui/qml/Pages2/PageServiceDnsSettings.qml index 8528ba8f..171a49f0 100644 --- a/client/ui/qml/Pages2/PageServiceDnsSettings.qml +++ b/client/ui/qml/Pages2/PageServiceDnsSettings.qml @@ -104,8 +104,6 @@ PageType { enabled: false } } - - DividerType {} } } } diff --git a/client/ui/qml/Pages2/PageServiceSftpSettings.qml b/client/ui/qml/Pages2/PageServiceSftpSettings.qml index 08c298b4..9b5425db 100644 --- a/client/ui/qml/Pages2/PageServiceSftpSettings.qml +++ b/client/ui/qml/Pages2/PageServiceSftpSettings.qml @@ -74,7 +74,7 @@ PageType { onFocusChanged: { if (focus) { - listview.currentItem.focusItem.forceActiveFocus() + listview.currentItem.listViewFocusItem.forceActiveFocus() } } @@ -82,7 +82,7 @@ PageType { implicitWidth: listview.width implicitHeight: col.implicitHeight - property alias focusItem: hostLabel.rightButton + property alias listViewFocusItem: hostLabel.rightButton ColumnLayout { id: col @@ -233,7 +233,7 @@ PageType { PageController.showBusyIndicator(true) InstallController.mountSftpDrive(port, password, username) PageController.showBusyIndicator(false) - } + } } ParagraphTextType { @@ -290,48 +290,12 @@ PageType { text: qsTr("Detailed instructions") parentFlickable: fl - KeyNavigation.tab: removeButton + Keys.onTabPressed: lastItemTabClicked(focusItem) clickedFunc: function() { // Qt.openUrlExternally("https://github.com/amnezia-vpn/desktop-client/releases/latest") } } - - BasicButtonType { - id: removeButton - Layout.topMargin: 24 - Layout.bottomMargin: 16 - Layout.leftMargin: 8 - implicitHeight: 32 - - defaultColor: AmneziaStyle.color.transparent - hoveredColor: AmneziaStyle.color.blackHovered - pressedColor: AmneziaStyle.color.blackPressed - textColor: AmneziaStyle.color.red - - parentFlickable: fl - Keys.onTabPressed: lastItemTabClicked() - - text: qsTr("Remove SFTP and all data stored there") - - clickedFunc: function() { - var headerText = qsTr("Remove SFTP and all data stored there?") - var yesButtonText = qsTr("Continue") - var noButtonText = qsTr("Cancel") - - var yesButtonFunction = function() { - PageController.goToPage(PageEnum.PageDeinstalling) - InstallController.removeProcessedContainer() - } - var noButtonFunction = function() { - if (!GC.isMobile()) { - removeButton.forceActiveFocus() - } - } - - showQuestionDrawer(headerText, "", yesButtonText, noButtonText, yesButtonFunction, noButtonFunction) - } - } } } } diff --git a/client/ui/qml/Pages2/PageServiceTorWebsiteSettings.qml b/client/ui/qml/Pages2/PageServiceTorWebsiteSettings.qml index 6ec74e56..de1fefb8 100644 --- a/client/ui/qml/Pages2/PageServiceTorWebsiteSettings.qml +++ b/client/ui/qml/Pages2/PageServiceTorWebsiteSettings.qml @@ -88,7 +88,7 @@ PageType { rightImageSource: "qrc:/images/controls/copy.svg" rightImageColor: AmneziaStyle.color.white - KeyNavigation.tab: removeButton + Keys.onTabPressed: lastItemTabClicked(focusItem) clickedFunction: function() { GC.copyToClipBoard(descriptionText) @@ -127,41 +127,6 @@ PageType { text: qsTr("When configuring WordPress set the this onion address as domain.") } - - BasicButtonType { - id: removeButton - Layout.topMargin: 24 - Layout.bottomMargin: 16 - Layout.leftMargin: 8 - implicitHeight: 32 - - defaultColor: AmneziaStyle.color.transparent - hoveredColor: AmneziaStyle.color.blackHovered - pressedColor: AmneziaStyle.color.blackPressed - textColor: AmneziaStyle.color.red - - text: qsTr("Remove website") - - Keys.onTabPressed: lastItemTabClicked(focusItem) - - clickedFunc: function() { - var headerText = qsTr("The site with all data will be removed from the tor network.") - var yesButtonText = qsTr("Continue") - var noButtonText = qsTr("Cancel") - - var yesButtonFunction = function() { - PageController.goToPage(PageEnum.PageDeinstalling) - InstallController.removeProcessedContainer() - } - var noButtonFunction = function() { - if (!GC.isMobile()) { - removeButton.forceActiveFocus() - } - } - - showQuestionDrawer(headerText, "", yesButtonText, noButtonText, yesButtonFunction, noButtonFunction) - } - } } } } diff --git a/client/ui/qml/Pages2/PageSettingsApplication.qml b/client/ui/qml/Pages2/PageSettingsApplication.qml index 9f4adade..1693018c 100644 --- a/client/ui/qml/Pages2/PageSettingsApplication.qml +++ b/client/ui/qml/Pages2/PageSettingsApplication.qml @@ -51,6 +51,8 @@ PageType { anchors.left: parent.left anchors.right: parent.right + spacing: 0 + HeaderType { Layout.fillWidth: true Layout.leftMargin: 16 diff --git a/client/ui/qml/Pages2/PageSettingsServerProtocol.qml b/client/ui/qml/Pages2/PageSettingsServerProtocol.qml index 50fa0511..e06a637e 100644 --- a/client/ui/qml/Pages2/PageSettingsServerProtocol.qml +++ b/client/ui/qml/Pages2/PageSettingsServerProtocol.qml @@ -105,6 +105,7 @@ PageType { case ProtocolEnum.WireGuard: WireGuardConfigModel.updateModel(ProtocolsModel.getConfig()); break; case ProtocolEnum.Awg: AwgConfigModel.updateModel(ProtocolsModel.getConfig()); break; case ProtocolEnum.Xray: XrayConfigModel.updateModel(ProtocolsModel.getConfig()); break; + case ProtocolEnum.Sftp: SftpConfigModel.updateModel(ProtocolsModel.getConfig()); break; case ProtocolEnum.Ipsec: Ikev2ConfigModel.updateModel(ProtocolsModel.getConfig()); break; case ProtocolEnum.Socks5Proxy: Socks5ProxyConfigModel.updateModel(ProtocolsModel.getConfig()); break; } diff --git a/client/ui/qml/Pages2/PageShare.qml b/client/ui/qml/Pages2/PageShare.qml index 3615c4a6..459b985f 100644 --- a/client/ui/qml/Pages2/PageShare.qml +++ b/client/ui/qml/Pages2/PageShare.qml @@ -202,7 +202,7 @@ PageType { parent: root anchors.fill: parent - expandedHeight: root.height * 0.45 + expandedHeight: root.height onClosed: { if (!GC.isMobile()) { clientNameTextField.textField.forceActiveFocus() @@ -210,6 +210,7 @@ PageType { } expandedContent: ColumnLayout { + id: shareFullAccessDrawerContent anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right @@ -217,6 +218,10 @@ PageType { spacing: 0 + onImplicitHeightChanged: { + shareFullAccessDrawer.expandedHeight = shareFullAccessDrawerContent.implicitHeight + 32 + } + Connections { target: shareFullAccessDrawer enabled: !GC.isMobile()