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

@@ -161,6 +161,7 @@ void ListGroups::editData()
void ListGroups::renameData()
{
QModelIndexList rows=list_groups_view->selectionModel()->selectedRows();
QModelIndex index;
if(rows.size()!=1) {
return;
@@ -169,11 +170,24 @@ void ListGroups::renameData()
QString grpname=list_groups_model->groupName(rows.first());
QString newgrpname;
RenameGroup *rename_group=new RenameGroup(grpname,this);
if(rename_group->exec(&newgrpname)) {
QModelIndex index=list_groups_model->renameGroup(grpname,newgrpname);
switch((RenameGroup::Result)rename_group->exec(&newgrpname)) {
case RenameGroup::Renamed:
index=list_groups_model->renameGroup(grpname,newgrpname);
if(index.isValid()) {
list_groups_view->selectRow(index.row());
}
break;
case RenameGroup::Merged:
list_groups_model->removeGroup(grpname);
index=list_groups_model->indexOf(newgrpname);
if(index.isValid()) {
list_groups_view->selectRow(index.row());
}
break;
case RenameGroup::Cancelled:
break;
}
delete rename_group;
rename_group=NULL;