755 beginInsertRows(parent, schemes.size(), schemes.size()); |
767 beginInsertRows(parent, schemes.size(), schemes.size()); |
756 |
768 |
757 if (row == -1) |
769 if (row == -1) |
758 { |
770 { |
759 QList<QVariant> newScheme = defaultScheme; |
771 QList<QVariant> newScheme = defaultScheme; |
760 newScheme[0] = QVariant(tr("New")); |
772 |
|
773 QString newName = tr("New"); |
|
774 if(hasScheme(newName)) |
|
775 { |
|
776 //name already used -> look for an appropriate name: |
|
777 int i=2; |
|
778 while(hasScheme(newName = tr("New (%1)").arg(i++))) ; |
|
779 } |
|
780 newScheme[0] = QVariant(newName); |
761 schemes.insert(schemes.size(), newScheme); |
781 schemes.insert(schemes.size(), newScheme); |
762 } |
782 } |
763 else |
783 else |
764 { |
784 { |
765 QList<QVariant> newScheme = schemes[row]; |
785 QList<QVariant> newScheme = schemes[row]; |
766 newScheme[0] = QVariant(tr("Copy of %1").arg(newScheme[0].toString())); |
786 QString oldName = newScheme[0].toString(); |
|
787 QString newName = tr("Copy of %1").arg(oldName); |
|
788 if(hasScheme(newName)) |
|
789 { |
|
790 //name already used -> look for an appropriate name: |
|
791 int i=2; |
|
792 while(hasScheme(newName = tr("Copy of %1 (%2)").arg(oldName).arg(i++))); |
|
793 } |
|
794 newScheme[0] = QVariant(newName); |
767 schemes.insert(schemes.size(), newScheme); |
795 schemes.insert(schemes.size(), newScheme); |
768 } |
796 } |
769 |
797 |
770 endInsertRows(); |
798 endInsertRows(); |
771 |
799 |