From 8362bf63dea22bbf6736609b0f49c152f975eb63 Mon Sep 17 00:00:00 2001 From: tpearson Date: Wed, 20 Jan 2010 01:29:50 +0000 Subject: Added old abandoned KDE3 version of koffice git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/koffice@1077364 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kexi/kexidb/connectiondata.cpp | 114 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 kexi/kexidb/connectiondata.cpp (limited to 'kexi/kexidb/connectiondata.cpp') diff --git a/kexi/kexidb/connectiondata.cpp b/kexi/kexidb/connectiondata.cpp new file mode 100644 index 00000000..a74237cc --- /dev/null +++ b/kexi/kexidb/connectiondata.cpp @@ -0,0 +1,114 @@ +/* This file is part of the KDE project + Copyright (C) 2003 Jaroslaw Staniek + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this program; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. +*/ + +#include + +#include + +#include +#include + +#include + +using namespace KexiDB; + +namespace KexiDB { +//! @internal +class ConnectionData::Private { +public: + Private() { + dummy=false; + } + ~Private() {} + bool dummy; +}; +} + +/*================================================================*/ + +ConnectionDataBase::ConnectionDataBase() + : id(-1), port(0), useLocalSocketFile(true), savePassword(false) +{ +} + +/*================================================================*/ + +ConnectionData::ConnectionData() +: QObject() +, ConnectionDataBase() +, formatVersion(0) +, priv(new ConnectionData::Private()) +{ +} + +ConnectionData::ConnectionData(const ConnectionData& cd) +: QObject() +, ConnectionDataBase() +, priv(0) +{ + static_cast(*this) = static_cast(cd);//copy data members +} + +ConnectionData::~ConnectionData() +{ + delete priv; + priv = 0; +} + +ConnectionData& ConnectionData::operator=(const ConnectionData& cd) +{ + if (this != &cd) { + delete priv; //this is old + static_cast(*this) = static_cast(cd);//copy data members + priv = new ConnectionData::Private(); + *priv = *cd.priv; + } + return *this; +} + +void ConnectionData::setFileName( const QString& fn ) +{ + QFileInfo file(fn); + if (!fn.isEmpty() && m_fileName != file.absFilePath()) { + m_fileName = QDir::convertSeparators(file.absFilePath()); + m_dbPath = QDir::convertSeparators(file.dirPath(true)); + m_dbFileName = file.fileName(); + } +} + +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); +} + -- cgit v1.2.1