예제 #1
0
bool ConnectionData::passwordNeeded() const
{
    DriverManager mananager;
    DriverInfo info = mananager.driverInfo(d->driverName);
    const bool fileBased = info.isValid() && info.isFileBased();

    return !d->savePassword && !fileBased; //!< @todo temp.: change this if there are
                                           //!< file-based drivers requiring a password
}
예제 #2
0
QString ConnectionData::serverInfoString(ServerInfoStringOptions options) const
{
    if (!d->driverName.isEmpty()) {
        DriverManager mananager;
        const DriverInfo info = mananager.driverInfo(d->driverName);
        if (info.isValid() && info.isFileBased()) {
            if (d->databaseName.isEmpty()) {
                return QObject::tr("<file>");
            }
            else {
                return QObject::tr("file: %1").arg(d->databaseName);
            }
        }
    }
    return ((d->userName.isEmpty() || !(options & AddUserToServerInfoString)) ? QString() : (d->userName + QLatin1Char('@')))
           + (d->hostName.isEmpty() ? QLatin1String("localhost") : d->hostName)
           + (d->port != 0 ? (QLatin1Char(':') + QString::number(d->port)) : QString());
}
예제 #3
0
QString ConnectionData::serverInfoString(bool addUser) const
{
	const QString& i18nFile = i18n("file");
	
	if (!m_dbFileName.isEmpty())
		return i18nFile+": "+(m_dbPath.isEmpty() ? "" : m_dbPath 
			+ QDir::separator()) + m_dbFileName;
	
	DriverManager man;
	if (!driverName.isEmpty()) {
		Driver::Info info = man.driverInfo(driverName);
		if (!info.name.isEmpty() && info.fileBased)
			return QString("<")+i18nFile+">";
	}
	
	return ( (userName.isEmpty() || !addUser) ? QString("") : (userName+"@"))
		+ (hostName.isEmpty() ? QString("localhost") : hostName)
		+ (port!=0 ? (QString(":")+QString::number(port)) : QString::null);
}