Merge pull request #125 from amnezia-vpn/qt_migration-settings-btn

Added Settings button on Start Page
This commit is contained in:
pokamest 2022-11-05 16:42:24 +03:00 committed by GitHub
commit c8010d4d52
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 32 additions and 4 deletions

View file

@ -13,6 +13,7 @@ GeneralSettingsLogic::GeneralSettingsLogic(UiLogic *logic, QObject *parent):
void GeneralSettingsLogic::onUpdatePage()
{
uiLogic()->selectedServerIndex = m_settings->defaultServerIndex();
set_existsAnyServer(uiLogic()->selectedServerIndex >= 0);
uiLogic()->selectedDockerContainer = m_settings->defaultContainer(m_settings->defaultServerIndex());
set_pushButtonGeneralSettingsShareConnectionEnable(m_settings->haveAuthData(m_settings->defaultServerIndex()));

View file

@ -10,6 +10,7 @@ class GeneralSettingsLogic : public PageLogicBase
Q_OBJECT
AUTO_PROPERTY(bool, pushButtonGeneralSettingsShareConnectionEnable)
AUTO_PROPERTY(bool, existsAnyServer)
public:
Q_INVOKABLE void onUpdatePage() override;

View file

@ -8,11 +8,12 @@ BasicButtonType {
background: Item {}
contentItem: Item {
anchors.fill: parent
// anchors.fill: parent
SvgImageType {
anchors.left: parent.left
anchors.verticalCenter: parent.verticalCenter
svg.source: root.icon.source
enabled: root.enabled
color: "#100A44"
width: 25
height: 25

View file

@ -18,6 +18,6 @@ Item {
ColorOverlay {
anchors.fill: image
source: image
color: root.color
color: root.enabled ? root.color : "grey"
}
}

View file

@ -85,6 +85,7 @@ PageBase {
Layout.preferredHeight: 30
icon.source: "qrc:/images/svg/vpn_key_black_24dp.svg"
text: qsTr("Server Settings")
enabled: GeneralSettingsLogic.existsAnyServer
onClicked: {
GeneralSettingsLogic.onPushButtonGeneralSettingsServerSettingsClicked()
}
@ -101,7 +102,8 @@ PageBase {
Layout.preferredHeight: 30
icon.source: "qrc:/images/svg/share_black_24dp.svg"
text: qsTr("Share connection")
enabled: GeneralSettingsLogic.pushButtonGeneralSettingsShareConnectionEnable
enabled: GeneralSettingsLogic.pushButtonGeneralSettingsShareConnectionEnable &&
GeneralSettingsLogic.existsAnyServer
onClicked: {
GeneralSettingsLogic.onPushButtonGeneralSettingsShareConnectionClicked()
}
@ -118,6 +120,7 @@ PageBase {
Layout.preferredHeight: 30
icon.source: "qrc:/images/svg/format_list_bulleted_black_24dp.svg"
text: qsTr("Servers")
enabled: GeneralSettingsLogic.existsAnyServer
onClicked: {
UiLogic.goToPage(PageEnum.ServersList)
}
@ -135,7 +138,12 @@ PageBase {
icon.source: "qrc:/images/svg/control_point_black_24dp.svg"
text: qsTr("Add server")
onClicked: {
UiLogic.goToPage(PageEnum.Start)
if(GeneralSettingsLogic.existsAnyServer)
// If there is any server set we will go to Start Page
UiLogic.goToPage(PageEnum.Start)
else
// Else just come back to start page
UiLogic.closePage()
}
}

View file

@ -15,6 +15,23 @@ PageBase {
visible: pageLoader.depth > 1
}
ImageButtonType {
anchors {
right: parent.right
top: parent.top
}
width: 41
height: 41
imgMarginHover: 8
imgMargin: 9
icon.source: "qrc:/images/settings_grey.png"
visible: !GeneralSettingsLogic.existsAnyServer
onClicked: {
UiLogic.goToPage(PageEnum.GeneralSettings)
}
}
Caption {
id: caption
text: start_switch_page.checked ?