diff --git a/client/core/sshclient.cpp b/client/core/sshclient.cpp index 795af965..cd58ba79 100644 --- a/client/core/sshclient.cpp +++ b/client/core/sshclient.cpp @@ -257,7 +257,6 @@ namespace libssh { int bytesWritten = sftp_write(file, buffer, bufferSize); std::string chunk(buffer, bufferSize); - qDebug() << "sftp write: " << QString(chunk.c_str()); if (bytesWritten != bufferSize) { fin.close(); @@ -272,7 +271,6 @@ namespace libssh { fin.read(buffer, lastChunkSize); std::string chunk(buffer, lastChunkSize); - qDebug() << "sftp write: " << QString(chunk.c_str()); int bytesWritten = sftp_write(file, buffer, lastChunkSize); diff --git a/client/ui/pages_logic/ServerSettingsLogic.cpp b/client/ui/pages_logic/ServerSettingsLogic.cpp index 92b093a5..a17f0159 100644 --- a/client/ui/pages_logic/ServerSettingsLogic.cpp +++ b/client/ui/pages_logic/ServerSettingsLogic.cpp @@ -100,6 +100,11 @@ void ServerSettingsLogic::onLineEditDescriptionEditingFinished() uiLogic()->onUpdateAllPages(); } +bool ServerSettingsLogic::isCurrentServerHasCredentials() +{ + return m_settings->haveAuthData(uiLogic()->m_selectedServerIndex); +} + #if defined(Q_OS_ANDROID) /* Auth result handler for Android */ void authResultReceiver::handleActivityResult(int receiverRequestCode, int resultCode, const QJniObject &data) diff --git a/client/ui/pages_logic/ServerSettingsLogic.h b/client/ui/pages_logic/ServerSettingsLogic.h index a75dfa47..3ce26164 100644 --- a/client/ui/pages_logic/ServerSettingsLogic.h +++ b/client/ui/pages_logic/ServerSettingsLogic.h @@ -31,6 +31,8 @@ public: Q_INVOKABLE void onPushButtonClearClientCacheClicked(); Q_INVOKABLE void onLineEditDescriptionEditingFinished(); + Q_INVOKABLE bool isCurrentServerHasCredentials(); + public: explicit ServerSettingsLogic(UiLogic *uiLogic, QObject *parent = nullptr); ~ServerSettingsLogic() = default; diff --git a/client/ui/qml/Controls/PopupWithQuestion.qml b/client/ui/qml/Controls/PopupWithQuestion.qml index 4eafd359..b55edf90 100644 --- a/client/ui/qml/Controls/PopupWithQuestion.qml +++ b/client/ui/qml/Controls/PopupWithQuestion.qml @@ -13,12 +13,18 @@ Popup { anchors.centerIn: Overlay.overlay modal: true - closePolicy: Popup.NoAutoClose + closePolicy: Popup.CloseOnEscape width: parent.width - 20 + focus: true + + onAboutToHide: { + parent.forceActiveFocus(true) + } ColumnLayout { width: parent.width + Text { horizontalAlignment: Text.AlignHCenter Layout.fillWidth: true @@ -28,9 +34,9 @@ Popup { } RowLayout { + Layout.fillWidth: true BlueButtonType { id: yesButton - Layout.preferredWidth: parent.width / 2 Layout.fillWidth: true text: yesText onClicked: { @@ -43,7 +49,6 @@ Popup { } BlueButtonType { id: noButton - Layout.preferredWidth: parent.width / 2 Layout.fillWidth: true text: noText onClicked: { diff --git a/client/ui/qml/Pages/PageServerSettings.qml b/client/ui/qml/Pages/PageServerSettings.qml index f1eee906..4ef22ce4 100644 --- a/client/ui/qml/Pages/PageServerSettings.qml +++ b/client/ui/qml/Pages/PageServerSettings.qml @@ -110,13 +110,18 @@ PageBase { Layout.topMargin: 10 text: qsTr("Forget this server") onClicked: { + if (ServerSettingsLogic.isCurrentServerHasCredentials()) { + popupForgetServer.questionText = "Attention! This action will not remove any data from the server, it will just remove server from the list. Continue?" + } + else { + popupForgetServer.questionText = "Remove server from the list?" + } popupForgetServer.open() } } PopupWithQuestion { id: popupForgetServer - questionText: "Attention! This action will not remove the container on the server, it will only remove the container information from the application. Continue?" yesFunc: function() { ServerSettingsLogic.onPushButtonForgetServer() close()