Commit e909625c authored by Jarosław Staniek's avatar Jarosław Staniek

Remove the calligradb lib, kexidb plugins; will be replaced by Predicate

(also add the proper name Predicate to linking commands)

Still, we do keep the FindPqxx.cmake and alike for migration
drivers that are part of Kexi.
parent 8b125b02
......@@ -271,26 +271,6 @@ endif ()
############################
###########################
##
## Test for sqlite
##
set(SQLITE_MIN_VERSION 3.6.16)
set(SQLITE_RECOMMENDED_VERSION 3.8.7)
set(SQLITE_LOAD_EXTENSION_REQUIRED ON)
macro_optional_find_package(CalligraSqlite ${SQLITE_MIN_VERSION})
macro_bool_to_01(SQLITE_FOUND HAVE_SQLITE)
macro_log_feature(SQLITE_FOUND "SQLite" "Embedded SQL database engine with enabled extensions loading"
"http://www.sqlite.org" FALSE "${SQLITE_MIN_VERSION}"
"Required by Calligra's default database handler for Kexi and bibliography in Words.")
##
## Test for ICU
##
macro_optional_find_package(ICU)
macro_bool_to_01(ICU_FOUND HAVE_ICU)
macro_log_feature(ICU_FOUND "ICU" "International Components for Unicode (ICU) Library"
"http://icu-project.org" FALSE ""
"Required by Calligra's default database handler for Kexi and Words.")
##
## Check for OpenEXR
......@@ -800,11 +780,6 @@ set(KOPAGEAPP_INCLUDES ${TEXTLAYOUT_INCLUDES}
${CMAKE_SOURCE_DIR}/libs/widgets
${CMAKE_SOURCE_DIR}/libs/kopageapp ${CMAKE_SOURCE_DIR}/libs/kopageapp/commands ${CMAKE_BINARY_DIR}/libs/kopageapp )
# calligradb
set(CALLIGRADB_LIBS calligradb) # TODO remove when Predicate lib arrives
set(CALLIGRADB_INCLUDES ${CMAKE_SOURCE_DIR}/libs # TODO remove when Predicate lib arrives
${CMAKE_BINARY_DIR}/libs/db)
#############################################
#### filter libraries ####
#############################################
......@@ -859,12 +834,6 @@ calligra_drop_product_on_bad_condition( APP_ACTIVE
KDECLARATIVE_FOUND "KDeclarative not found"
)
# TODO: remove when Predicate lib arrives
calligra_drop_product_on_bad_condition( LIB_CALLIGRADB
HAVE_ICU "ICU devel not found"
HAVE_SQLITE "sqlite devel not found"
)
calligra_drop_product_on_bad_condition( OKULAR_GENERATOR_ODP
OKULAR_FOUND "Okular devel not found"
)
......
......@@ -64,7 +64,6 @@ calligra_define_product(BUILDTOOL_RNG2CPP "rng2cpp")
# Calligra-independent utility libs
calligra_define_product(LIB_KOVECTORIMAGE "libkovectorimage")
calligra_define_product(LIB_CALLIGRADB "libcalligradb" UNPORTED)
# calligra libs
calligra_define_product(LIB_CALLIGRA "Calligra core libs" REQUIRES BUILDTOOL_RNG2CPP)
......@@ -94,7 +93,7 @@ calligra_define_product(APP_SHEETS "Sheets app (for Desktop)" UNPORTED REQUIRES
calligra_define_product(APP_AUTHOR "Author app (for Desktop)" UNPORTED REQUIRES PART_WORDS)
calligra_define_product(APP_KARBON "Karbon app (for Desktop)" UNPORTED REQUIRES LIB_CALLIGRA)
calligra_define_product(APP_KRITA "Krita app (for Desktop)" UNPORTED REQUIRES LIB_CALLIGRA)
calligra_define_product(APP_KEXI "Kexi app (for Desktop)" UNPORTED REQUIRES LIB_CALLIGRA LIB_CALLIGRADB)
calligra_define_product(APP_KEXI "Kexi app (for Desktop)" UNPORTED REQUIRES LIB_CALLIGRA)
calligra_define_product(APP_FLOW "Flow app (for Desktop)" UNPORTED REQUIRES LIB_CALLIGRA LIB_KOPAGEAPP)
calligra_define_product(APP_PLAN "Plan app (for Desktop)" UNPORTED REQUIRES LIB_CALLIGRA)
calligra_define_product(APP_BRAINDUMP "Braindump app (for Desktop)" UNPORTED REQUIRES LIB_CALLIGRA)
......
......@@ -25,10 +25,6 @@ if (SHOULD_BUILD_LIB_KOPAGEAPP)
add_subdirectory( kopageapp )
endif ()
if (SHOULD_BUILD_LIB_CALLIGRADB)
add_subdirectory( db ) # used by Kexi and Word's Biblio; TODO: remove when Predicate lib arrives
endif ()
if (SHOULD_BUILD_FEATURE_RDF)
add_subdirectory( rdf )
endif ()
add_definitions(-DKDE_DEFAULT_DEBUG_AREA=44000)
# To hide all the warnings from embedded 3rd party software like icu
if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_GNUC)
add_definitions(-Wno-unused-local-typedefs)
add_definitions(-Wno-sign-compare)
add_definitions(-Wno-unused-function)
add_definitions(-Wno-unused-parameter)
endif ()
option(CALLIGRADB_DEBUG_GUI "Debugging GUI for CalligraDB" OFF)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-calligradb.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-calligradb.h )
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/libs
${CMAKE_CURRENT_SOURCE_DIR}/parser
${KOPLUGIN_INCLUDES}
${ICU_INCLUDE_DIRS}
)
add_subdirectory( drivers )
add_definitions(
-D__KEXIDB__=
-DYYERROR_VERBOSE=1
)
########### generate parser/lexer files ###############
# as described at http://public.kitware.com/pipermail/cmake/2002-September/003028.html
# Create target for the parser
add_custom_target(parser echo "Creating parser/lexer files")
# Create custom command for flex/lex (note the outputs)
add_custom_command(
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/parser/generate_parser_code.sh
TARGET parser
OUTPUTS ${CMAKE_CURRENT_SOURCE_DIR}/parser/sqlparser.h
${CMAKE_CURRENT_SOURCE_DIR}/sqlparser.cpp
${CMAKE_CURRENT_SOURCE_DIR}/parser/sqlscanner.h
${CMAKE_CURRENT_SOURCE_DIR}/parser/sqlscanner.cpp)
# mark files as generated
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/parser/sqlparser.h GENERATED)
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/parser/sqlparser.cpp GENERATED)
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/parser/sqlscanner.h GENERATED)
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/parser/sqlscanner.cpp GENERATED)
set(calligradbparser_STAT_SRCS
parser/sqlscanner.cpp
parser/sqlparser.cpp
parser/parser.cpp
parser/parser_p.cpp )
set(calligradb_LIB_SRCS
${calligradbparser_STAT_SRCS}
pluginloader.cpp
drivermanager.cpp
driver.cpp
driver_p.cpp
connection.cpp
keywords.cpp
object.cpp
field.cpp
utils.cpp
expression.cpp
connectiondata.cpp
RecordData.cpp
fieldlist.cpp
tableschema.cpp
cursor.cpp
transaction.cpp
indexschema.cpp
queryschema.cpp
queryschemaparameter.cpp
schemadata.cpp
global.cpp
relationship.cpp
roweditbuffer.cpp
msghandler.cpp
preparedstatement.cpp
dbproperties.cpp
admin.cpp
lookupfieldschema.cpp
simplecommandlineapp.cpp
tableviewdata.cpp
tableviewcolumn.cpp
validator.cpp
)
add_library(calligradb SHARED ${calligradb_LIB_SRCS})
target_link_libraries(calligradb koplugin Qt5::Core Qt5::Gui
KF5::KIOWidgets ${ICU_I18N_LIBRARY})
target_link_libraries(calligradb LINK_INTERFACE_LIBRARIES koplugin Qt5::Core Qt5::Gui
KF5::KIOWidgets)
set_target_properties(calligradb PROPERTIES VERSION ${GENERIC_CALLIGRA_LIB_VERSION} SOVERSION ${GENERIC_CALLIGRA_LIB_SOVERSION} )
if(MSVC)
# avoid LNK1169 errors
set_target_properties(calligradb PROPERTIES LINK_FLAGS /FORCE:MULTIPLE)
endif()
install(TARGETS calligradb ${INSTALL_TARGETS_DEFAULT_ARGS})
install(FILES calligradb_driver.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
if(FALSE) # TODO: install when we move to independent place
install( FILES connection.h connectiondata.h cursor.h
driver.h drivermanager.h error.h expression.h field.h fieldlist.h global.h object.h
schemadata.h tableschema.h queryschema.h queryschemaparameter.h indexschema.h
relationship.h parser/parser.h parser/sqlparser.h transaction.h preparedstatement.h
RecordData.h utils.h
calligradb_export.h calligradb_global.h DESTINATION ${INCLUDE_INSTALL_DIR}/calligradb COMPONENT Devel)
endif()
add_subdirectory( tests )
/**
\mainpage CalligraDB
%CalligraDB is a database connectivity and creation library. Its origins are in Kexi so it is
internally called KexiDB.
- Development wiki: https://community.kde.org/Kexi/KexiDB
*/
// DOXYGEN_SET_PROJECT_NAME = CalligraDB
EXCLUDE=tests parser/sqlscanner.cpp parser/sqlparser.h parser/sqlparser.cpp drivers/sqlite/icu
/* This file is part of the KDE project
Copyright (C) 2002 Lucijan Busch <lucijan@gmx.at>
Copyright (C) 2003 Daniel Molkentin <molkentin@kde.org>
Copyright (C) 2003-2007 Jarosław Staniek <staniek@kde.org>
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.
Original Author: Till Busch <till@bux.at>
Original Project: buX (www.bux.at)
*/
#include "RecordData.h"
#include "global.h"
#include <kdebug.h>
using namespace KexiDB;
QString RecordData::debugString() const
{
QString s(QString("RECORD DATA (%1 columns)").arg(size()));
int i = 0;
foreach(const QVariant& value, *this) {
i++;
s.append(QString::number(i) + ":[" + value.typeName() + ']' + value.toString() + ' ');
}
return s;
}
void RecordData::debug() const
{
KexiDBDbg << debugString();
}
/* This file is part of the KDE project
Copyright (C) 2002 Lucijan Busch <lucijan@gmx.at>
Copyright (C) 2003 Daniel Molkentin <molkentin@kde.org>
Copyright (C) 2003-2007 Jarosław Staniek <staniek@kde.org>
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.
Original Author: Till Busch <till@bux.at>
Original Project: buX (www.bux.at)
*/
#ifndef KEXIDB_RECORDDATA_H
#define KEXIDB_RECORDDATA_H
#include <QVector>
#include <QVariant>
#include "calligradb_export.h"
namespace KexiDB
{
//! @short Structure for storing single record with type information.
//! @todo consider using something like QVector<QVariant*> ?
class CALLIGRADB_EXPORT RecordData : public QVector<QVariant>
{
public:
/*! Creates a new record data with no columns. */
inline RecordData() : QVector<QVariant>() {}
/*! Creates a new record data with \a numCols columns. */
inline RecordData(int numCols) : QVector<QVariant>(numCols) {}
/*! Clears existing column values and inits new \a numCols
columns with empty values. The vector is resized to \a numCols. */
inline void init(int numCols) {
clear();
resize(numCols);
}
/*! Clears existing column values, current number of columns is preserved. */
inline void clearValues() {
init(count());
}
/*! @return debug string for this record. */
QString debugString() const;
/*! Prints debug string for this record. */
void debug() const;
};
}
#endif
/* This file is part of the KDE project
Copyright (C) 2006 Jarosław Staniek <staniek@kde.org>
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 "admin.h"
#include "driver_p.h"
using namespace KexiDB;
AdminTools::AdminTools()
: Object()
, d(new Private())
{
}
AdminTools::~AdminTools()
{
delete d;
}
bool AdminTools::vacuum(const ConnectionData& data, const QString& databaseName)
{
Q_UNUSED(data);
Q_UNUSED(databaseName);
clearError();
return false;
}
/* This file is part of the KDE project
Copyright (C) 2006 Jarosław Staniek <staniek@kde.org>
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.
*/
#ifndef KEXIDB_ADMIN_H
#define KEXIDB_ADMIN_H
#include "object.h"
namespace KexiDB
{
class Connection;
class ConnectionData;
//! @short An interface containing a set of tools for database administration
/*! Can be implemented in database drivers. @see Driver::adminTools
*/
class CALLIGRADB_EXPORT AdminTools : public Object
{
public:
AdminTools();
virtual ~AdminTools();
/*! Performs vacuum (compacting) for connection \a data.
Can be implemented for your driver.
Note: in most cases the database should not be opened.
Currently it is implemented for SQLite drivers.
\return true on success, false on failure
(then you can get error status from the AdminTools object). */
virtual bool vacuum(const ConnectionData& data, const QString& databaseName);
//virtual bool vacuum(Connection& conn);
protected:
class Private;
Private * const d;
};
}
#endif
/* This file is part of the KDE project
Copyright (C) 2003-2012 Jarosław Staniek <staniek@kde.org>
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.
*/
#ifndef KEXIDB_AUTODELETEDHASH_H
#define KEXIDB_AUTODELETEDHASH_H
namespace KexiDB
{
//! @short Autodeleted hash
template <class Key, class T>
class AutodeletedHash : public QHash<Key, T>
{
public:
AutodeletedHash(const AutodeletedHash& other) : QHash<Key, T>(other), m_autoDelete(false) {}
AutodeletedHash(bool autoDelete = true) : QHash<Key, T>(), m_autoDelete(autoDelete) {}
void setAutoDelete(bool set) {
m_autoDelete = set;
}
bool autoDelete() const {
return m_autoDelete;
}
~AutodeletedHash() {
if (m_autoDelete) qDeleteAll(*this);
}
private:
bool m_autoDelete;
};
}
#endif // KEXIDB_AUTODELETEDHASH_H
/* This file is part of the KDE project
Copyright (C) 2003-2012 Jarosław Staniek <staniek@kde.org>
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.
*/
#ifndef KEXIDB_AUTODELETEDLIST_H
#define KEXIDB_AUTODELETEDLIST_H
namespace KexiDB
{
//! @short Autodeleted list
template <typename T>
class AutodeletedList : public QList<T>
{
public:
AutodeletedList(const AutodeletedList& other)
: QList<T>(other), m_autoDelete(false) {}
AutodeletedList(bool autoDelete = true) : QList<T>(), m_autoDelete(autoDelete) {}
~AutodeletedList() {
if (m_autoDelete) qDeleteAll(*this);
}
void setAutoDelete(bool set) {
m_autoDelete = set;
}
bool autoDelete() const {
return m_autoDelete;
}
void removeAt(int i) {
T item = QList<T>::takeAt(i); if (m_autoDelete) delete item;
}
void removeFirst() {
T item = QList<T>::takeFirst(); if (m_autoDelete) delete item;
}
void removeLast() {
T item = QList<T>::takeLast(); if (m_autoDelete) delete item;
}
void replace(int i, const T& value) {
T item = QList<T>::takeAt(i); insert(i, value); if (m_autoDelete) delete item;
}
void insert(int i, const T& value) {
QList<T>::insert(i, value);
}
typename QList<T>::iterator erase(typename QList<T>::iterator pos) {
T item = *pos;
typename QList<T>::iterator res = QList<T>::erase(pos);
if (m_autoDelete)
delete item;
return res;
}
typename QList<T>::iterator erase(
typename QList<T>::iterator afirst,
typename QList<T>::iterator alast) {
if (!m_autoDelete)
return QList<T>::erase(afirst, alast);
while (afirst != alast) {
T item = *afirst;
afirst = QList<T>::erase(afirst);
delete item;
}
return alast;
}
void pop_back() {
removeLast();
}
void pop_front() {
removeFirst();
}
int removeAll(const T& value) {
if (!m_autoDelete)
return QList<T>::removeAll(value);
typename QList<T>::iterator it(QList<T>::begin());
int removedCount = 0;
while (it != QList<T>::end()) {
if (*it == value) {
T item = *it;
it = QList<T>::erase(it);
delete item;
removedCount++;
} else
++it;
}
return removedCount;
}
void clear() {
if (!m_autoDelete)
return QList<T>::clear();
while (!QList<T>::isEmpty()) {
T item = QList<T>::takeFirst();
delete item;
}
}
private:
bool m_autoDelete;
};
}
#endif // KEXIDB_AUTODELETEDLIST_H
[Desktop Entry]
Type=ServiceType
X-KDE-ServiceType=Kexi/DBDriver
Comment=Kexi SQL-Driver plugin
Comment[br]=Lugent SQL-Driver evit Kexi
Comment[bs]=Kexi SQL-Driver plugin
Comment[ca]=Connector del controlador SQL del Kexi
Comment[ca@valencia]=Connector del controlador SQL del Kexi
Comment[cs]=Modul ovladače SQL pro Kexi
Comment[cy]=Ategyn Gyrrydd-SQL Kexi
Comment[da]=Kexi SQL-driver-plugin
Comment[de]=Kexi-SQL-Treibermodul
Comment[el]=Πρόσθετο οδηγού SQL του Kexi
Comment[en_GB]=Kexi SQL-Driver plugin
Comment[eo]=Kexi SQL-pelila kromaĵo
Comment[es]=Complemento de controlador de SQL para Kexi
Comment[et]=Kexi SQL-draiveri plugin
Comment[eu]=Kexi-ren SQL-kontrolatzailearen plugina
Comment[fa]=وصله گرداننده Kexi SQL
Comment[fi]=Kexi SQL-laajennus
Comment[fr]=Module de pilotage SQL de Kexi
Comment[fy]=Kexi SQL-stjoerprogramma plugin
Comment[ga]=Breiseán Tiománaí-SQL Kexi
Comment[gl]=Complemento de Kexi para controladores SQL.
Comment[he]=תוסף מנהל התקן SQL ל־Kexi
Comment[hi]=केएक्जाई एसक्यूएल ड्राइवर प्लगइन
Comment[hne]=केएक्जाई एसक्यूएल ड्राइवर प्लगइन
Comment[hr]=Dodatak za Kexi SQL upravljački program
Comment[hu]=Kexi SQL-elérési bővítőmodul
Comment[is]=Kexi SQL-rekil íforrit
Comment[it]=Driver SQL per Kexi
Comment[ja]=Kexi SQL ドライバ プラグイン
Comment[kk]=Kexi SQL-драйвер плагині
Comment[ko]=Kexi SQL 드라이버 플러그인
Comment[lt]=Kexi SQL-Driver įskiepis
Comment[lv]=Kexi SQL draivera spraudnis
Comment[mr]=केक्सी एसक्युएल ड्राइव्हर प्लगइन
Comment[ms]=Plugin Pemacu SQL Kexi
Comment[nb]=SQL-drivermodul for Kexi
Comment[nds]=SQL-Drievermoduul för Kexi
Comment[ne]=केक्सी SQL-ड्राइभर प्लगइन
Comment[nl]=Kexi SQL-stuurprogramma-plug-in
Comment[pl]=Wtyczka sterownika SQL dla programu Kexi
Comment[pt]='Plugin' do Controlador de SQL do Kexi
Comment[pt_BR]=Plugin do controlador SQL do Kexi
Comment[ru]=Модуль драйвера SQL Kexi
Comment[se]=Kexi SQL-stivrran lassemoduvla
Comment[sk]=Modul ovládača SQL pre Kexi
Comment[sl]=Vstavek Kexi SQL-Driver
Comment[sv]=Kexi SQL-insticksdrivrutin
Comment[ta]=கெக்ஸி எஸ்கியூஎல் இயக்கி சொருகு
Comment[tr]=Kexi SQl-Sürücüsü eki
Comment[ug]=Kexi SQL - قوزغاتقۇ قىستۇرمىسى
Comment[uk]=Додаток драйвера SQL Kexi
Comment[uz]=Kexi SQL-drayver plagini
Comment[uz@cyrillic]=Kexi SQL-драйвер плагини
Comment[wa]=Tchôke-divins mineu di SQL di Kexi
Comment[x-test]=xxKexi SQL-Driver pluginxx
Comment[zh_CN]=Kexi SQL 驱动插件
Comment[zh_TW]=Kexi SQL-驅動外掛程式
[PropertyDef::X-Kexi-FileDBDriverMime]
Type=QString
[PropertyDef::X-Kexi-FileDBDriverMimeList]
Type=QStringList
[PropertyDef::X-Kexi-DriverName]
Type=QString
[PropertyDef::X-Kexi-DriverType]
Type=QString
[PropertyDef::X-Kexi-KexiDBVersion]
Type=QString
[PropertyDef::X-Kexi-DoNotAllowProjectImportingTo]
Type=bool
/* This file is part of the KDE project
Copyright (C) 2003-2004 Jarosław Staniek <staniek@kde.org>
Copyright (C) 2005 Martin Ellis <martin.ellis@kdemail.net>
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.
*/
#ifndef CALLIGRADB_EXPORT_H
#define CALLIGRADB_EXPORT_H
#include <kdemacros.h>
#ifndef CALLIGRADB_EXPORT
# ifdef MAKE_CALLIGRADB_LIB
# define CALLIGRADB_EXPORT KDE_EXPORT
# else
# define CALLIGRADB_EXPORT KDE_IMPORT
# endif
#endif
#endif // CALLIGRADB_EXPORT_H
/* This file is part of the KDE project
Copyright (C) 2007 Jarosław Staniek <staniek@kde.org>
This program is free software; you can redistribute it and/or