diff -r 3331b30e4ef1 -r 88fde28bbda6 QTfrontend/ui/page/pagescheme.cpp --- a/QTfrontend/ui/page/pagescheme.cpp Sun Oct 21 01:28:33 2012 +0400 +++ b/QTfrontend/ui/page/pagescheme.cpp Sat Nov 03 00:34:35 2012 +0400 @@ -516,12 +516,30 @@ void PageScheme::deleteRow() { - QMessageBox reallyDelete(QMessageBox::Question, QMessageBox::tr("Schemes"), QMessageBox::tr("Really delete this game scheme?"), QMessageBox::Ok | QMessageBox::Cancel); + int numberOfDefaultSchemes = ((AmmoSchemeModel*)mapper->model())->numberOfDefaultSchemes; + if (selectScheme->currentIndex() < numberOfDefaultSchemes) + { + QMessageBox deniedMsg(this); + deniedMsg.setIcon(QMessageBox::Warning); + deniedMsg.setWindowTitle(QMessageBox::tr("Schemes - Warning")); + deniedMsg.setText(QMessageBox::tr("Cannot delete default scheme '%1'!").arg(selectScheme->currentText())); + deniedMsg.setWindowModality(Qt::WindowModal); + deniedMsg.exec(); + } + else + { + QMessageBox reallyDeleteMsg(this); + reallyDeleteMsg.setIcon(QMessageBox::Question); + reallyDeleteMsg.setWindowTitle(QMessageBox::tr("Schemes - Are you sure?")); + reallyDeleteMsg.setText(QMessageBox::tr("Do you really want to delete the game scheme '%1'?").arg(selectScheme->currentText())); + reallyDeleteMsg.setWindowModality(Qt::WindowModal); + reallyDeleteMsg.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel); - if (reallyDelete.exec() == QMessageBox::Ok) - { - QAbstractItemModel * model = mapper->model(); - model->removeRow(selectScheme->currentIndex()); + if (reallyDeleteMsg.exec() == QMessageBox::Ok) + { + QAbstractItemModel * model = mapper->model(); + model->removeRow(selectScheme->currentIndex()); + } } }