2021-10-05 Fred Gleason <fredg@paravelsystems.com>

* Added 'RDTextValidator::setUpperCaseOnly()' and
	'RDTextValidator::setLowerCaseOnly()' methods.
	* Added the RDGroupListModel::indexOf()' method.
	* Fixed a bug in the 'Rename Group' dialog in rdadmin(1) that
	caused the group being renamed to be deleted when simply attempting
	to change the case of its name.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason
2021-10-05 13:08:49 -04:00
parent c4b1e2f2fc
commit 1d485f3ae3
10 changed files with 282 additions and 156 deletions

View File

@@ -23,6 +23,9 @@
RDTextValidator::RDTextValidator(QObject *parent,bool allow_quote)
: QValidator(parent)
{
d_upper_case_only=false;
d_lower_case_only=false;
if(!allow_quote) {
banned_chars.push_back(34); // Double Quote
}
@@ -34,14 +37,17 @@ RDTextValidator::RDTextValidator(QObject *parent,bool allow_quote)
QValidator::State RDTextValidator::validate(QString &input,int &pos) const
{
if(input.length()==0) {
return QValidator::Acceptable;
}
for(int i=0;i<banned_chars.size();i++) {
if(input.contains(banned_chars.at(i))) {
return QValidator::Invalid;
}
}
if(d_upper_case_only&&(input.toUpper()!=input)) {
return QValidator::Invalid;
}
if(d_lower_case_only&&(input.toLower()!=input)) {
return QValidator::Invalid;
}
return QValidator::Acceptable;
}
@@ -58,6 +64,18 @@ void RDTextValidator::addBannedChar(const QChar &c)
}
void RDTextValidator::setUpperCaseOnly(bool state)
{
d_upper_case_only=state;
}
void RDTextValidator::setLowerCaseOnly(bool state)
{
d_lower_case_only=state;
}
QString RDTextValidator::stripString(QString str)
{
str.replace(34,""); // Double Quote