dbobjectnamevalidator.cpp
Go to the documentation of this file.00001 /* This file is part of the KDE project 00002 Copyright (C) 2004-2005 Jaroslaw Staniek <js@iidea.pl> 00003 00004 This program is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this program; see the file COPYING. If not, write to 00016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 * Boston, MA 02110-1301, USA. 00018 */ 00019 00020 #include "dbobjectnamevalidator.h" 00021 00022 #include "driver.h" 00023 00024 using namespace KexiDB; 00025 using namespace KexiUtils; 00026 00027 ObjectNameValidator::ObjectNameValidator( 00028 KexiDB::Driver *drv, QObject * parent, const char * name) 00029 : Validator(parent,name) 00030 { 00031 m_drv = drv; 00032 } 00033 00034 ObjectNameValidator::~ObjectNameValidator() 00035 { 00036 } 00037 00038 Validator::Result ObjectNameValidator::internalCheck( 00039 const QString & /*valueName*/, const QVariant& v, 00040 QString &message, QString &details) 00041 { 00042 00043 if (m_drv.isNull() ? !KexiDB::Driver::isKexiDBSystemObjectName(v.toString()) 00044 : !m_drv->isSystemObjectName(v.toString())) 00045 return Validator::Ok; 00046 message = i18n("You cannot use name \"%1\" for your object.\n" 00047 "It is reserved for internal Kexi objects. Please choose another name.") 00048 .arg(v.toString()); 00049 details = i18n("Names of internal Kexi objects are starting with \"kexi__\"."); 00050 return Validator::Error; 00051 }
