/* This file is part of the KDE project Copyright (C) 2003 Lucijan Busch <lucijan@kde.org> Copyright (C) 2003 Jaroslaw Staniek <js@iidea.pl> This library 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 library 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 library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #include "kexipartinfo_p.h" #include <kexidb/global.h> using namespace KexiPart; Info::Private::Private(const KService::Ptr& aPtr) : ptr(aPtr) , groupName(aPtr->name()) , mimeType(aPtr->property("X-Kexi-TypeMime").toCString()) , itemIcon(aPtr->property("X-Kexi-ItemIcon").toString()) , objectName(aPtr->property("X-Kexi-TypeName").toString()) , broken(false) , idStoredInPartDatabase(false) { TQVariant val = ptr->property("X-Kexi-NoObject"); isVisibleInNavigator = val.isValid() ? (val.toInt() != 1) : true; //! @todo (js)..... now it's hardcoded! if(objectName == "table") projectPartID = KexiDB::TableObjectType; else if(objectName == "query") projectPartID = KexiDB::QueryObjectType; // else if(objectName == "html") // m_projectPartID = KexiDB::WebObjectType; else projectPartID = -1; //TODO!! } Info::Private::Private() : projectPartID(-1) //OK? , broken(false) , isVisibleInNavigator(false) , idStoredInPartDatabase(false) { } //------------------------------ Info::Info(KService::Ptr ptr) : d(new Private(ptr)) { } Info::Info() : d(new Private()) { } Info::~Info() { delete d; } TQString Info::groupName() const { return d->groupName; } TQCString Info::mimeType() const { return d->mimeType; } TQString Info::itemIcon() const { return d->itemIcon; } TQString Info::createItemIcon() const { return d->itemIcon+"_newobj"; } TQString Info::objectName() const { return d->objectName; } KService::Ptr Info::ptr() const { return d->ptr; } bool Info::isBroken() const { return d->broken; } bool Info::isVisibleInNavigator() const { return d->isVisibleInNavigator; } int Info::projectPartID() const { return d->projectPartID; } void Info::setProjectPartID(int id) { d->projectPartID=id; } void Info::setBroken(bool broken, const TQString& errorMessage) { d->broken = broken; d->errorMessage = errorMessage; } TQString Info::errorMessage() const { return d->errorMessage; } void Info::setIdStoredInPartDatabase(bool set) { d->idStoredInPartDatabase = set; } bool Info::isIdStoredInPartDatabase() const { return d->idStoredInPartDatabase; } bool Info::isDataExportSupported() const { TQVariant val = d->ptr ? d->ptr->property("X-Kexi-SupportsDataExport") : TQVariant(); return val.isValid() ? val.toBool() : false; } bool Info::isPrintingSupported() const { TQVariant val = d->ptr ? d->ptr->property("X-Kexi-SupportsPrinting") : TQVariant(); return val.isValid() ? val.toBool() : false; } bool Info::isExecuteSupported() const { TQVariant val = d->ptr ? d->ptr->property("X-Kexi-SupportsExecution") : TQVariant(); return val.isValid() ? val.toBool() : false; } //-------------- TQCString KexiPart::nameForCreateAction(const Info& info) { return (info.objectName()+"part_create").latin1(); }