diff --git a/client/ui/pages_logic/ServerListLogic.cpp b/client/ui/pages_logic/ServerListLogic.cpp index fe3f6512..42a629b3 100644 --- a/client/ui/pages_logic/ServerListLogic.cpp +++ b/client/ui/pages_logic/ServerListLogic.cpp @@ -15,6 +15,7 @@ void ServerListLogic::onServerListPushbuttonDefaultClicked(int index) { m_settings->setDefaultServer(index); uiLogic()->onUpdateAllPages(); + emit currServerIdxChanged(); } void ServerListLogic::onServerListPushbuttonSettingsClicked(int index) @@ -23,6 +24,11 @@ void ServerListLogic::onServerListPushbuttonSettingsClicked(int index) uiLogic()->goToPage(Page::ServerSettings); } +int ServerListLogic::currServerIdx() const +{ + return m_settings->defaultServerIndex(); +} + void ServerListLogic::onUpdatePage() { const QJsonArray &servers = m_settings->serversArray(); diff --git a/client/ui/pages_logic/ServerListLogic.h b/client/ui/pages_logic/ServerListLogic.h index 2671b97d..b4f47547 100644 --- a/client/ui/pages_logic/ServerListLogic.h +++ b/client/ui/pages_logic/ServerListLogic.h @@ -10,8 +10,11 @@ class ServerListLogic : public PageLogicBase Q_OBJECT READONLY_PROPERTY(QObject *, serverListModel) + Q_PROPERTY(int currServerIdx READ currServerIdx NOTIFY currServerIdxChanged) public: + int currServerIdx() const; + Q_INVOKABLE void onUpdatePage() override; Q_INVOKABLE void onServerListPushbuttonDefaultClicked(int index); Q_INVOKABLE void onServerListPushbuttonSettingsClicked(int index); @@ -20,5 +23,8 @@ public: explicit ServerListLogic(UiLogic *uiLogic, QObject *parent = nullptr); ~ServerListLogic() = default; +signals: + void currServerIdxChanged(); + }; #endif // SERVER_LIST_LOGIC_H diff --git a/client/ui/qml/Pages/PageQrDecoder.qml b/client/ui/qml/Pages/PageQrDecoder.qml index f432b742..61ce368f 100644 --- a/client/ui/qml/Pages/PageQrDecoder.qml +++ b/client/ui/qml/Pages/PageQrDecoder.qml @@ -26,7 +26,7 @@ PageBase { } Connections { - target: Qt.platform.os != "ios" ? QrDecoderLogic : nil + target: Qt.platform.os != "ios" ? QrDecoderLogic : null function onStartDecode() { console.debug("Starting QR decoder") loader.sourceComponent = component @@ -71,7 +71,7 @@ PageBase { anchors.right: parent.right autoOrientation: true fillMode: VideoOutput.PreserveAspectFit - filters: [ zxingFilter ] +// filters: [ zxingFilter ] Rectangle { diff --git a/client/ui/qml/Pages/PageQrDecoderIos.qml b/client/ui/qml/Pages/PageQrDecoderIos.qml index 0e796312..7e5783e8 100644 --- a/client/ui/qml/Pages/PageQrDecoderIos.qml +++ b/client/ui/qml/Pages/PageQrDecoderIos.qml @@ -25,7 +25,7 @@ PageBase { } Connections { - target: Qt.platform.os == "ios" ? QrDecoderLogic : nil + target: Qt.platform.os == "ios" ? QrDecoderLogic : null function onStartDecode() { console.debug("Starting QR decoder") loader.sourceComponent = component diff --git a/client/ui/qml/Pages/PageServerList.qml b/client/ui/qml/Pages/PageServerList.qml index 583de4b3..de6f90ab 100644 --- a/client/ui/qml/Pages/PageServerList.qml +++ b/client/ui/qml/Pages/PageServerList.qml @@ -42,6 +42,9 @@ PageBase { anchors.bottom: parent.bottom anchors.bottomMargin: 20 model: ServerListLogic.serverListModel + highlightRangeMode: ListView.ApplyRange + highlightMoveVelocity: -1 + currentIndex: ServerListLogic.currServerIdx spacing: 5 clip: true delegate: Item { @@ -55,10 +58,6 @@ PageBase { if (GC.isMobile()) { ServerListLogic.onServerListPushbuttonSettingsClicked(index) } - else { - listWidget_servers.currentIndex = index - } - mouse.accepted = false } onEntered: { diff --git a/client/ui/qml/Pages/Protocols/PageProtoTorWebSite.qml b/client/ui/qml/Pages/Protocols/PageProtoTorWebSite.qml index 1285e8bb..50f4bd4e 100644 --- a/client/ui/qml/Pages/Protocols/PageProtoTorWebSite.qml +++ b/client/ui/qml/Pages/Protocols/PageProtoTorWebSite.qml @@ -27,7 +27,6 @@ PageProtocolBase { anchors.top: caption.bottom anchors.left: root.left anchors.right: root.right - anchors.bottom: pb_save.top anchors.margins: 20 anchors.topMargin: 10