File indexing completed on 2024-04-28 03:53:09
0001 /* 0002 SPDX-FileCopyrightText: 2010 Casey Link <unnamedrambler@gmail.com> 0003 SPDX-FileCopyrightText: 2009-2010 Klaralvdalens Datakonsult AB, a KDAB Group company <info@kdab.net> 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "kemailvalidator.h" 0008 0009 #include <KEmailAddress> 0010 0011 KEmailValidator::KEmailValidator(QObject *parent) 0012 : QValidator(parent) 0013 { 0014 } 0015 0016 KEmailValidator::~KEmailValidator() = default; 0017 0018 QValidator::State KEmailValidator::validate(QString &str, int &pos) const 0019 { 0020 Q_UNUSED(pos) 0021 0022 if (KEmailAddress::isValidSimpleAddress(str)) { 0023 return QValidator::Acceptable; 0024 } 0025 const auto containsSpace = std::any_of(str.begin(), str.end(), [](QChar c) { 0026 return c.isSpace(); 0027 }); 0028 if (containsSpace) { 0029 return QValidator::Invalid; 0030 } 0031 return QValidator::Intermediate; 0032 } 0033 0034 void KEmailValidator::fixup(QString &str) const 0035 { 0036 str = str.trimmed(); 0037 } 0038 0039 #include "moc_kemailvalidator.cpp"