summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mobile-widgets/qmlmanager.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp
index 3961cc5cf..6292f95fe 100644
--- a/mobile-widgets/qmlmanager.cpp
+++ b/mobile-widgets/qmlmanager.cpp
@@ -320,15 +320,18 @@ void QMLManager::saveCloudCredentials()
QRegularExpression regExp("^[a-zA-Z0-9@.+_-]+$");
QString cloudPwd = cloudPassword();
QString cloudUser = cloudUserName();
- if (cloudPwd.isEmpty() || !regExp.match(cloudPwd).hasMatch() || !regExp.match(cloudUser).hasMatch()) {
- setStartPageText(RED_FONT + tr("Cloud storage email and password can only consist of letters, numbers, and '.', '-', '_', and '+'.") + END_FONT);
- return;
- }
- // use the same simplistic regex as the backend to check email addresses
- regExp = QRegularExpression("^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.+_-]+\\.[a-zA-Z0-9]+");
- if (!regExp.match(cloudUser).hasMatch()) {
- setStartPageText(RED_FONT + tr("Invalid format for email address") + END_FONT);
- return;
+ if (credentialStatus() != CS_NOCLOUD) {
+ // in case of NO_CLOUD, the email address + passwd do not care, so do not check it.
+ if (cloudPwd.isEmpty() || !regExp.match(cloudPwd).hasMatch() || !regExp.match(cloudUser).hasMatch()) {
+ setStartPageText(RED_FONT + tr("Cloud storage email and password can only consist of letters, numbers, and '.', '-', '_', and '+'.") + END_FONT);
+ return;
+ }
+ // use the same simplistic regex as the backend to check email addresses
+ regExp = QRegularExpression("^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.+_-]+\\.[a-zA-Z0-9]+");
+ if (!regExp.match(cloudUser).hasMatch()) {
+ setStartPageText(RED_FONT + tr("Invalid format for email address") + END_FONT);
+ return;
+ }
}
setOldStatus(credentialStatus());
s.beginGroup("CloudStorage");