diff --git a/libreoffice/git_05_11_2012/patches/libreoffice-trinity.diff b/libreoffice/git_05_11_2012/patches/libreoffice-trinity.diff new file mode 100644 index 0000000..d9f3c95 --- /dev/null +++ b/libreoffice/git_05_11_2012/patches/libreoffice-trinity.diff @@ -0,0 +1,3172 @@ +diff --git a/Repository.mk b/Repository.mk +index 900b538..0ab52c9 100644 +--- a/Repository.mk ++++ b/Repository.mk +@@ -82,6 +82,9 @@ $(eval $(call gb_Helper_register_executables,OOO, \ + HelpLinker \ + HelpIndexer \ + spadmin.bin \ ++ $(if $(filter $(GUIBASE)$(ENABLE_TDE),unxTRUE), \ ++ tdefilepicker \ ++ ) \ + $(if $(filter $(GUIBASE)$(ENABLE_KDE),unxTRUE), \ + kdefilepicker \ + ) \ +@@ -346,6 +349,7 @@ $(eval $(call gb_Helper_register_libraries,OOOLIBS, \ + vclplug_gen \ + vclplug_gtk \ + vclplug_gtk3 \ ++ vclplug_tde \ + vclplug_kde \ + vclplug_kde4 \ + vclplug_svp \ +diff --git a/bin/distro-install-file-lists b/bin/distro-install-file-lists +index c36b67c..de3b859 100755 +--- a/bin/distro-install-file-lists ++++ b/bin/distro-install-file-lists +@@ -217,6 +217,14 @@ if test "z$OOO_VENDOR" != "zDebian" ; then + + cd $FILELISTSDIR + ++ # tde subpackage ++ test -f $DESTDIR/gid_Module_Optional_Tde && cp $DESTDIR/gid_Module_Optional_Tde tde_list.txt || : ++ mv_file_between_flists tde_list.txt common_list.txt $INSTALLDIR/program/tdefilepicker ++ mv_file_between_flists tde_list.txt common_list.txt $INSTALLDIR/program/fps_tde.uno.so ++ mv_file_between_flists tde_list.txt common_list.txt $INSTALLDIR/program/libvclplug_tdel..so ++ mv_file_between_flists tde_list.txt common_list.txt $INSTALLDIR/program/libtdeabdrv1.so ++ add_used_directories tde_list.txt common_list.txt ++ + # kde subpackage + test -f $DESTDIR/gid_Module_Optional_Kde && cp $DESTDIR/gid_Module_Optional_Kde kde_list.txt || : + mv_file_between_flists kde_list.txt common_list.txt $INSTALLDIR/program/kdefilepicker +@@ -419,6 +427,7 @@ else + create_package_directory gid_Module_Brand_Prg_Base pkg/libreoffice-base + create_package_directory gid_Module_Optional_Pyuno pkg/python-uno + create_package_directory gid_Module_Optional_Gnome pkg/libreoffice-gnome ++ create_package_directory gid_Module_Optional_Tde pkg/libreoffice-tde + create_package_directory gid_Module_Optional_Kde pkg/libreoffice-kde + + create_package_directory gid_Module_Root_Files_2 pkg/libreoffice-common +@@ -497,7 +506,7 @@ else + fi && + ( cd pkg/libreoffice-common/$d + find -maxdepth 1 \ +- -regex '\./\(.*\.so.*\|.*\.bin\|pagein\|nsplugin\|kdefilepicker\|msfontextract\|.*\.rdb\|javaldx\|uri-encode\)' \ ++ -regex '\./\(.*\.so.*\|.*\.bin\|pagein\|nsplugin\|tdefilepicker\|kdefilepicker\|msfontextract\|.*\.rdb\|javaldx\|uri-encode\)' \ + -exec mv {} $DESTDIR/pkg/libreoffice-core/$d \; + ); \ + done +diff --git a/config_host.mk.in b/config_host.mk.in +index 0adc5fe..dcd276a 100644 +--- a/config_host.mk.in ++++ b/config_host.mk.in +@@ -112,6 +112,8 @@ export ENABLE_GTK3=@ENABLE_GTK3@ + export ENABLE_GTK=@ENABLE_GTK@ + export ENABLE_GTK_PRINT=@ENABLE_GTK_PRINT@ + export ENABLE_HEADLESS=@ENABLE_HEADLESS@ ++export ENABLE_TDEAB=@ENABLE_TDEAB@ ++export ENABLE_TDE=@ENABLE_TDE@ + export ENABLE_KAB=@ENABLE_KAB@ + export ENABLE_KDE4=@ENABLE_KDE4@ + export ENABLE_KDE=@ENABLE_KDE@ +@@ -243,6 +245,11 @@ export JDK=@JDK@ + export JITC_PROCESSOR_TYPE=@JITC_PROCESSOR_TYPE@ + export JFREEREPORT_JAR=@JFREEREPORT_JAR@ + export JVM_ONE_PATH_CHECK=@JVM_ONE_PATH_CHECK@ ++export TDE_CFLAGS=@TDE_CFLAGS@ ++export TDE_GLIB_CFLAGS=@TDE_GLIB_CFLAGS@ ++export TDE_GLIB_LIBS=@TDE_GLIB_LIBS@ ++export TDE_HAVE_GLIB=@TDE_HAVE_GLIB@ ++export TDE_LIBS=@TDE_LIBS@ + export KDE4_CFLAGS=@KDE4_CFLAGS@ + export KDE4_LIBS=@KDE4_LIBS@ + export KDE_CFLAGS=@KDE_CFLAGS@ +diff --git a/configure.in b/configure.in +index e3943eb..093bfca 100644 +--- a/configure.in ++++ b/configure.in +@@ -157,6 +157,7 @@ case "$host_os" in + solaris*) + test_gtk=yes + build_gstreamer=yes ++ test_tde=yes + test_kde=yes + test_freetype=yes + test_gstreamer=yes +@@ -185,6 +186,7 @@ solaris*) + linux-gnu*|k*bsd*-gnu*) + test_gtk=yes + build_gstreamer=yes ++ test_tde=yes + test_kde=yes + test_kde4=yes + test_freetype=yes +@@ -271,6 +273,7 @@ darwin*) # Mac OS X or iOS + freebsd*) + test_gtk=yes + build_gstreamer=yes ++ test_tde=yes + test_kde=yes + test_kde4=yes + test_freetype=yes +@@ -299,6 +302,7 @@ freebsd*) + *netbsd*) + test_gtk=yes + build_gstreamer=yes ++ test_tde=no + test_kde=no + test_kde4=yes + test_freetype=yes +@@ -315,6 +319,7 @@ aix*) + + openbsd*) + test_gtk=yes ++ test_tde=yes + test_kde=yes + test_freetype=yes + PTHREAD_CFLAGS="-D_THREAD_SAFE" +@@ -325,6 +330,7 @@ openbsd*) + dragonfly*) + test_gtk=yes + build_gstreamer=yes ++ test_tde=yes + test_kde=yes + test_kde4=yes + test_freetype=yes +@@ -338,6 +344,7 @@ linux-androideabi*) + test_fontconfig=no + test_freetype=no + test_gtk=no ++ test_tde=no + test_kde=no + test_kde4=no + test_randr=no +@@ -765,6 +772,21 @@ AC_ARG_ENABLE(xmlsec, + [Whether to enable XMLsec for open document signing.]), + ) + ++AC_ARG_ENABLE(tde, ++ AS_HELP_STRING([--enable-tde], ++ [Determines whether to use TQt/TDE vclplug on platforms where TQt and ++ TDE are available.]), ++,) ++ ++AC_ARG_ENABLE(tdeab, ++ AS_HELP_STRING([--disable-tdeab], ++ [Disable the TDE address book support.]), ++, ++ if test "$enable_tde" = "yes"; then ++ enable_tdeab=yes; ++ fi ++) ++ + AC_ARG_ENABLE(kde, + AS_HELP_STRING([--enable-kde], + [Determines whether to use Qt3/KDE3 vclplug on platforms where Qt3 and +@@ -3624,6 +3646,7 @@ if test "$enable_headless" = "yes"; then + test_fontconfig=yes + test_gtk=no + build_gstreamer=no ++ test_tde=no + test_kde=no + test_kde4=no + test_unix_quickstarter=no +@@ -8611,6 +8634,13 @@ if test "x$enable_gtk" = "xyes"; then + fi + AC_SUBST(ENABLE_GTK) + ++ENABLE_TDE="" ++if test "x$enable_tde" = "xyes"; then ++ ENABLE_TDE="TRUE" ++ R="$R tde" ++fi ++AC_SUBST(ENABLE_TDE) ++ + ENABLE_KDE="" + if test "x$enable_kde" = "xyes"; then + ENABLE_KDE="TRUE" +@@ -9315,6 +9345,135 @@ x86_64 | powerpc64 | s390x) + esac + + dnl =================================================================== ++dnl Check whether the TQt and TDE libraries are available. ++dnl =================================================================== ++ ++TDE_CFLAGS="" ++TDE_LIBS="" ++if test "$_os" != "OpenBSD"; then ++ MOC="moc" ++fi ++if test "$test_tde" = "yes" -a "$ENABLE_TDE" = "TRUE"; then ++ dnl Search paths for TQt and TDE ++ if test -z "$supports_multilib"; then ++ tqt_incdirs="$QTINC /usr/local/tqt3/include /usr/include/tqt3 /usr/include /usr/X11R6/include/X11/tqt3 /usr/X11R6/include/tqt3 /usr/lib/tqt3/include /usr/lib/tqt3/include /usr/share/tqt3/include /usr/local/include/X11/tqt3 $x_includes" ++ tqt_libdirs="$QTLIB /usr/local/tqt3/lib /usr/lib/tqt3 /usr/lib /usr/X11R6/lib/X11/tqt3 /usr/X11R6/lib/tqt3 /usr/lib/tqt3/lib /usr/lib/tqt3/lib /usr/share/tqt3/lib /usr/local/lib/tqt3 $x_libraries" ++ else ++ tqt_incdirs="$QTINC /usr/local/tqt3/include /usr/include/tqt3 /usr/include /usr/X11R6/include/X11/tqt3 /usr/X11R6/include/tqt3 /usr/lib64/tqt3/include /usr/lib64/tqt3/include /usr/share/tqt3/include /usr/lib/tqt3/include /usr/lib/tqt3/include /usr/local/include/X11/tqt3 $x_includes" ++ tqt_libdirs="$QTLIB /usr/local/tqt3/lib64 /usr/lib64/tqt3 /usr/lib64 /usr/X11R6/lib64/X11/tqt3 /usr/X11R6/lib64/tqt3 /usr/lib64/tqt3/lib64 /usr/lib64/tqt3/lib64 /usr/share/tqt3/lib64 /usr/local/tqt3/lib /usr/lib/tqt3 /usr/lib /usr/X11R6/lib/X11/tqt3 /usr/X11R6/lib/tqt3 /usr/lib/tqt3/lib /usr/lib/tqt3/lib /usr/share/tqt3/lib /usr/local/lib/tqt3 $x_libraries" ++ fi ++ if test -n "$TQTDIR"; then ++ tqt_incdirs="$TQTDIR/include $tqt_incdirs" ++ if test -z "$supports_multilib"; then ++ tqt_libdirs="$TQTDIR/lib $tqt_libdirs" ++ else ++ tqt_libdirs="$TQTDIR/lib64 $TQTDIR/lib $tqt_libdirs" ++ fi ++ fi ++ if test -z "$supports_multilib"; then ++ tde_incdirs="/usr/lib/trinity/include /usr/local/trinity/include /usr/local/include /usr/trinity/include /usr/include/trinity /opt/trinity/include /opt/trinity/include $x_includes" ++ tde_libdirs="/usr/lib/trinity/lib /usr/local/trinity/lib /usr/trinity/lib /usr/lib/trinity /usr/lib/trinity /usr/X11R6/lib /usr/local/lib /opt/trinity/lib /opt/trinity/lib /usr/X11R6/trinity/lib /usr/lib $x_libraries" ++ else ++ tde_incdirs="/usr/lib64/trinity/include /usr/lib/trinity/include /usr/local/trinity/include /usr/local/include /usr/trinity/include /usr/include/trinity /opt/trinity/include /opt/trinity/include $x_includes" ++ tde_libdirs="/usr/lib64/trinity/lib64 /usr/local/trinity/lib64 /usr/trinity/lib64 /usr/lib64/trinity /usr/lib64/trinity /usr/X11R6/lib64 /usr/local/lib64 /opt/trinity/lib64 /opt/trinity/lib64 /usr/X11R6/trinity/lib64 /usr/lib/trinity/lib /usr/local/trinity/lib /usr/trinity/lib /usr/lib/trinity /usr/lib/trinity /usr/lib /usr/X11R6/lib /usr/local/lib /opt/trinity/lib /opt/trinity/lib /usr/X11R6/trinity/lib /usr/lib64 $x_libraries" ++ fi ++ if test -n "$TDEDIR"; then ++ tde_incdirs="$TDEDIR/include $tde_incdirs" ++ if test -z "$supports_multilib"; then ++ tde_libdirs="$TDEDIR/lib $tde_libdirs" ++ else ++ tde_libdirs="$TDEDIR/lib64 $TDEDIR/lib $tde_libdirs" ++ fi ++ fi ++ ++ dnl What to test ++ tqt_test_include="ntqstyle.h" ++ tde_test_include="kapp.h" ++ ++ if test "$_os" != "OpenBSD"; then ++ tqt_test_library="libtqt-mt.so" ++ tde_test_library="libDCOP.so" ++ else ++ tqt_test_library="libtqt-mt.so*" ++ tde_test_library="libDCOP.so*" ++ fi ++ ++ dnl Check for TQt headers ++ AC_MSG_CHECKING([for TQt headers]) ++ tqt_incdir="no" ++ for tde_check in $tqt_incdirs; do ++ if test -r "$tde_check/$tqt_test_include"; then ++ tqt_incdir="$tde_check" ++ break ++ fi ++ done ++ AC_MSG_RESULT([$tqt_incdir]) ++ if test "x$tqt_incdir" = "xno"; then ++ AC_MSG_ERROR([TQt headers not found. Please specify the root of ++your TQt installation by exporting TQTDIR before running "configure".]) ++ fi ++ ++ dnl Check for TQt libraries ++ AC_MSG_CHECKING([for TQt libraries]) ++ tqt_libdir="no" ++ for tqt_check in $tqt_libdirs; do ++ if test -r "`ls $tqt_check/$tqt_test_library 2>/dev/null | head -1`"; then ++ tqt_libdir="$tqt_check" ++ break ++ fi ++ done ++ AC_MSG_RESULT([$tqt_libdir]) ++ if test "x$tqt_libdir" = "xno"; then ++ AC_MSG_ERROR([TQt libraries not found. Please specify the root of ++your TQt installation by exporting TQTDIR before running "configure".]) ++ fi ++ ++ dnl Check for Meta Object Compiler ++ AC_PATH_PROG( MOC, moc, no, [`dirname $tqt_libdir`/bin:$TQTDIR/bin:$PATH] ) ++ if test "$MOC" = "no"; then ++ AC_MSG_ERROR([TQt Meta Object Compiler not found. Please specify ++the root of your TQt installation by exporting TQTDIR before running "configure".]) ++ fi ++ ++ dnl Check for TDE headers ++ AC_MSG_CHECKING([for TDE headers]) ++ tde_incdir="no" ++ for tde_check in $tde_incdirs; do ++ if test -r "$tde_check/$tde_test_include"; then ++ tde_incdir="$tde_check" ++ break ++ fi ++ done ++ AC_MSG_RESULT([$tde_incdir]) ++ if test "x$tde_incdir" = "xno"; then ++ AC_MSG_ERROR([TDE headers not found. Please specify the root of ++your TDE installation by exporting TDEDIR before running "configure".]) ++ fi ++ ++ dnl Check for TDE libraries ++ AC_MSG_CHECKING([for TDE libraries]) ++ tde_libdir="no" ++ for tde_check in $tde_libdirs; do ++ if test -r "`ls $tde_check/$tde_test_library 2>/dev/null | head -1`"; then ++ tde_libdir="$tde_check" ++ break ++ fi ++ done ++ AC_MSG_RESULT([$tde_libdir]) ++ if test "x$tde_libdir" = "xno"; then ++ AC_MSG_ERROR([TDE libraries not found. Please specify the root of ++your TDE installation by exporting TDEDIR before running "configure".]) ++ fi ++ ++ dnl Set the variables ++ TDE_CFLAGS="-I$tqt_incdir -I$tde_incdir -I/usr/include/tqt -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT" ++ TDE_LIBS="-L$tde_libdir -L$tqt_libdir -ltdeui -ltdecore -ltqt -ltqt-mt" ++fi ++AC_SUBST(TDE_CFLAGS) ++AC_SUBST(TDE_LIBS) ++AC_SUBST(MOC) ++ ++dnl =================================================================== + dnl Check whether the Qt3 and KDE3 libraries are available. + dnl =================================================================== + +@@ -9648,6 +9807,33 @@ AC_SUBST(GOBJECT_CFLAGS) + AC_SUBST(GOBJECT_LIBS) + + dnl =================================================================== ++dnl Test whether to include TDE AB support ++dnl =================================================================== ++AC_MSG_CHECKING([whether to enable TDE address book support]) ++if test "$enable_tdeab" = "yes" -a "$enable_tde" = "yes"; then ++ AC_MSG_RESULT([yes]) ++ AC_LANG_PUSH([C++]) ++ save_CXXFLAGS=$CXXFLAGS ++ CXXFLAGS="$CXXFLAGS $TDE_CFLAGS" ++ AC_MSG_CHECKING([whether TDE is at least R14.0]) ++ AC_RUN_IFELSE([AC_LANG_SOURCE([[ ++#include ++ ++int main(int argc, char **argv) { ++ if (TDE_VERSION_MAJOR >= 14) return 0; ++ else return 1; ++} ++ ]])],[AC_MSG_RESULT([yes])],[AC_MSG_ERROR([TDE version too old or too recent, please use another version of TDE or disable TDE address book support])],[]) ++ CXXFLAGS=$save_CXXFLAGS ++ AC_LANG_POP([C++]) ++ ENABLE_TDEAB=TRUE ++else ++ AC_MSG_RESULT([no]) ++ ENABLE_TDEAB= ++fi ++AC_SUBST(ENABLE_TDEAB) ++ ++dnl =================================================================== + dnl Test whether to include KDE AB support + dnl =================================================================== + AC_MSG_CHECKING([whether to enable KDE address book support]) +diff --git a/connectivity/inc/tde_defines.h b/connectivity/inc/tde_defines.h +new file mode 100644 +index 0000000..fe2d89e +--- /dev/null ++++ b/connectivity/inc/tde_defines.h +@@ -0,0 +1,96 @@ ++/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ ++/************************************************************************* ++ * ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * Copyright 2012 Timothy Pearson ++ * ++ * OpenOffice.org - a multi-platform office productivity suite ++ * ++ * This file is part of OpenOffice.org. ++ * ++ * OpenOffice.org is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU Lesser General Public License version 3 ++ * only, as published by the Free Software Foundation. ++ * ++ * OpenOffice.org 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 Lesser General Public License version 3 for more details ++ * (a copy is included in the LICENSE file that accompanied this code). ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * version 3 along with OpenOffice.org. If not, see ++ * ++ * for a copy of the LGPLv3 License. ++ * ++ ************************************************************************/ ++ ++#ifndef INCLUDED_VCL_TDE_DEFINE_HEADERS_H ++#define INCLUDED_VCL_TDE_DEFINE_HEADERS_H ++ ++#define QObject TQObject ++#define QWidget TQWidget ++#define QVBox TQVBox ++#define QHBox TQHBox ++#define QGrid TQGrid ++#define QString TQString ++#define QStringList TQStringList ++#define QCustomEvent TQCustomEvent ++#define QMutex TQMutex ++#define QEvent TQEvent ++#define QFont TQFont ++#define QDateTime TQDateTime ++#define QThread TQThread ++#define QStyle TQStyle ++#define QApplication TQApplication ++#define QRect TQRect ++#define QProgressBar TQProgressBar ++#define QPopupMenu TQPopupMenu ++#define QMenuBar TQMenuBar ++#define QToolButton TQToolButton ++#define QToolBar TQToolBar ++#define QScrollBar TQScrollBar ++#define QListView TQListView ++#define QSpinWidget TQSpinWidget ++#define QScrollBar TQScrollBar ++#define QLineEdit TQLineEdit ++#define QComboBox TQComboBox ++#define QCheckBox TQCheckBox ++#define QRadioButton TQRadioButton ++#define QPushButton TQPushButton ++#define QPainter TQPainter ++#define QResizeEvent TQResizeEvent ++#define QShowEvent TQShowEvent ++#define QPoint TQPoint ++#define QDialog TQDialog ++#define QFile TQFile ++#define QLabel TQLabel ++#define QObjectList TQObjectList ++#define QCString TQCString ++#define QRegExp TQRegExp ++#define QSessionManager TQSessionManager ++#define QPaintDevice TQPaintDevice ++#define QTextIStream TQTextIStream ++#define QTextStream TQTextStream ++#define QMutexLocker TQMutexLocker ++#define QValueList TQValueList ++#define QTab TQTab ++#define QTabBar TQTabBar ++#define QTabWidget TQTabWidget ++#define QMainWindow TQMainWindow ++#define QPixmap TQPixmap ++#define QColorGroup TQColorGroup ++#define QStyleOption TQStyleOption ++#define QSize TQSize ++#define QMenuItem TQMenuItem ++#define QFontInfo TQFontInfo ++ ++#define qSwap tqSwap ++#define qt_cast tqt_cast ++#define qt_xdisplay tqt_xdisplay ++#define qVersion tqVersion ++ ++#endif ++ ++/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +diff --git a/connectivity/inc/tde_headers.h b/connectivity/inc/tde_headers.h +new file mode 100644 +index 0000000..389ecbe +--- /dev/null ++++ b/connectivity/inc/tde_headers.h +@@ -0,0 +1,98 @@ ++/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ ++/************************************************************************* ++ * ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * Copyright 2000, 2010 Oracle and/or its affiliates. ++ * Copyright 2012 Timothy Pearson ++ * ++ * OpenOffice.org - a multi-platform office productivity suite ++ * ++ * This file is part of OpenOffice.org. ++ * ++ * OpenOffice.org is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU Lesser General Public License version 3 ++ * only, as published by the Free Software Foundation. ++ * ++ * OpenOffice.org 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 Lesser General Public License version 3 for more details ++ * (a copy is included in the LICENSE file that accompanied this code). ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * version 3 along with OpenOffice.org. If not, see ++ * ++ * for a copy of the LGPLv3 License. ++ * ++ ************************************************************************/ ++ ++#ifndef INCLUDED_VCL_TDE_HEADERS_H ++#define INCLUDED_VCL_TDE_HEADERS_H ++ ++/* ********* Suppress warnings if needed */ ++#include "sal/config.h" ++ ++#if defined __GNUC__ ++#pragma GCC system_header ++#endif ++ ++ ++/* ********* Hack, but needed because of conflicting types... */ ++#define Region TQtXRegion ++ ++ ++/* ********* TQt headers */ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* ********* See hack on top of this file */ ++#undef Region ++ ++ ++/* ********* TDE base headers */ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++ ++/* ********* TDE address book connectivity headers */ ++#include ++#include ++#include ++#include ++ ++ ++#endif ++ ++/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +diff --git a/connectivity/prj/d.lst b/connectivity/prj/d.lst +index b80de85..1801ad8 100644 +--- a/connectivity/prj/d.lst ++++ b/connectivity/prj/d.lst +@@ -11,6 +11,7 @@ + ..\source\cpool\*.xml %_DEST%\xml\*.xml + ..\source\drivers\adabas\*.xml %_DEST%\xml\*.xml + ..\source\drivers\ado\*.xml %_DEST%\xml\*.xml ++..\source\drivers\tdeab\*.xml %_DEST%\xml\*.xml + ..\source\drivers\kab\*.xml %_DEST%\xml\*.xml + ..\source\drivers\macab\*.xml %_DEST%\xml\*.xml + ..\source\drivers\file\*.xml %_DEST%\xml\*.xml +@@ -45,6 +46,7 @@ mkdir: %_DEST%\xml\registry\spool\DataAccess + ..\%__SRC%\misc\flat.component %_DEST%\xml\flat.component + ..\%__SRC%\misc\hsqldb.component %_DEST%\xml\hsqldb.component + ..\%__SRC%\misc\jdbc.component %_DEST%\xml\jdbc.component ++..\%__SRC%\misc\tdeab1.component %_DEST%\xml\tdeab1.component + ..\%__SRC%\misc\kab1.component %_DEST%\xml\kab1.component + ..\%__SRC%\misc\macab1.component %_DEST%\xml\macab1.component + ..\%__SRC%\misc\mozab.component %_DEST%\xml\mozab.component +diff --git a/connectivity/source/drivers/kab/KConnection.cxx b/connectivity/source/drivers/kab/KConnection.cxx +index 70b51c8..6fd4f42 100644 +--- a/connectivity/source/drivers/kab/KConnection.cxx ++++ b/connectivity/source/drivers/kab/KConnection.cxx +@@ -35,7 +35,16 @@ + #include "KCatalog.hxx" + #include + #include ++ ++#ifdef ENABLE_TDE ++#include "tde_defines.h" ++#endif // ENABLE_TDE ++ ++#ifdef ENABLE_TDE ++#include "tde_headers.h" ++#else // ENABLE_TDE + #include ++#endif // ENABLE_TDE + + using namespace connectivity::kab; + using namespace com::sun::star::uno; +diff --git a/connectivity/source/drivers/kab/KDEInit.cxx b/connectivity/source/drivers/kab/KDEInit.cxx +index 13a3216..f746581 100644 +--- a/connectivity/source/drivers/kab/KDEInit.cxx ++++ b/connectivity/source/drivers/kab/KDEInit.cxx +@@ -29,7 +29,16 @@ + #include "KDEInit.h" + #include + #include ++ ++#ifdef ENABLE_TDE ++#include "tde_defines.h" ++#endif // ENABLE_TDE ++ ++#ifdef ENABLE_TDE ++#include "tde_headers.h" ++#else // ENABLE_TDE + #include ++#endif // ENABLE_TDE + + namespace connectivity + { +diff --git a/connectivity/source/drivers/kab/KDEInit.h b/connectivity/source/drivers/kab/KDEInit.h +index 9a5ea70..b70df86 100644 +--- a/connectivity/source/drivers/kab/KDEInit.h ++++ b/connectivity/source/drivers/kab/KDEInit.h +@@ -34,6 +34,17 @@ + #define KAB_DRIVER_VERSION_MAJOR 0 + #define KAB_DRIVER_VERSION_MINOR 2 + ++#ifdef ENABLE_TDE ++ ++// the minimum TDE version which is required at runtime ++#define MIN_KDE_VERSION_MAJOR 14 ++#define MIN_KDE_VERSION_MINOR 0 ++ ++#define MAX_KDE_VERSION_MAJOR 255 ++#define MAX_KDE_VERSION_MINOR 255 ++ ++#else // ENABLE_TDE ++ + // the minimum KDE version which is required at runtime + #define MIN_KDE_VERSION_MAJOR 3 + #define MIN_KDE_VERSION_MINOR 2 +@@ -41,6 +52,8 @@ + #define MAX_KDE_VERSION_MAJOR 3 + #define MAX_KDE_VERSION_MINOR 6 + ++#endif // ENABLE_TDE ++ + + #endif // CONNECTIVITY_KAB_KDEINIT_H + +diff --git a/connectivity/source/drivers/kab/KDatabaseMetaData.cxx b/connectivity/source/drivers/kab/KDatabaseMetaData.cxx +index 8077ce6..02ef44c9 100644 +--- a/connectivity/source/drivers/kab/KDatabaseMetaData.cxx ++++ b/connectivity/source/drivers/kab/KDatabaseMetaData.cxx +@@ -30,7 +30,17 @@ + #include "KDatabaseMetaData.hxx" + #include "kfields.hxx" + #include "KDEInit.h" ++ ++#ifdef ENABLE_TDE ++#include "tde_defines.h" ++#endif // ENABLE_TDE ++ ++#ifdef ENABLE_TDE ++#include "tde_headers.h" ++#else // ENABLE_TDE + #include ++#endif // ENABLE_TDE ++ + #include "FDatabaseMetaDataResultSet.hxx" + #include "OTypeInfo.hxx" + #include +diff --git a/connectivity/source/drivers/kab/KResultSet.hxx b/connectivity/source/drivers/kab/KResultSet.hxx +index fc7e5f4..406edc4 100644 +--- a/connectivity/source/drivers/kab/KResultSet.hxx ++++ b/connectivity/source/drivers/kab/KResultSet.hxx +@@ -31,7 +31,17 @@ + + #include "KStatement.hxx" + #include "KResultSetMetaData.hxx" ++ ++#ifdef ENABLE_TDE ++#include "tde_defines.h" ++#endif // ENABLE_TDE ++ ++#ifdef ENABLE_TDE ++#include "tde_headers.h" ++#else // ENABLE_TDE + #include ++#endif // ENABLE_TDE ++ + #include + #include + #include +diff --git a/connectivity/source/drivers/kab/kcondition.hxx b/connectivity/source/drivers/kab/kcondition.hxx +index 34e014c..9a83488 100644 +--- a/connectivity/source/drivers/kab/kcondition.hxx ++++ b/connectivity/source/drivers/kab/kcondition.hxx +@@ -30,7 +30,17 @@ + #define _CONNECTIVITY_KAB_CONDITION_HXX_ + + #include ++ ++#ifdef ENABLE_TDE ++#include "tde_defines.h" ++#endif // ENABLE_TDE ++ ++#ifdef ENABLE_TDE ++#include "tde_headers.h" ++#else // ENABLE_TDE + #include ++#endif // ENABLE_TDE ++ + #include + + namespace connectivity +diff --git a/connectivity/source/drivers/kab/kfields.hxx b/connectivity/source/drivers/kab/kfields.hxx +index 6a79455..9cee583 100644 +--- a/connectivity/source/drivers/kab/kfields.hxx ++++ b/connectivity/source/drivers/kab/kfields.hxx +@@ -29,7 +29,16 @@ + #ifndef _CONNECTIVITY_KAB_FIELDS_HXX_ + #define _CONNECTIVITY_KAB_FIELDS_HXX_ + ++#ifdef ENABLE_TDE ++#include "tde_defines.h" ++#endif // ENABLE_TDE ++ ++#ifdef ENABLE_TDE ++#include "tde_headers.h" ++#else // ENABLE_TDE + #include ++#endif // ENABLE_TDE ++ + #include + #include + +diff --git a/connectivity/source/drivers/kab/korder.hxx b/connectivity/source/drivers/kab/korder.hxx +index 29fa963..cf4ad67 100644 +--- a/connectivity/source/drivers/kab/korder.hxx ++++ b/connectivity/source/drivers/kab/korder.hxx +@@ -30,7 +30,16 @@ + #define _CONNECTIVITY_KAB_ORDER_HXX_ + + #include "rtl/ustring.hxx" ++ ++#ifdef ENABLE_TDE ++#include "tde_defines.h" ++#endif // ENABLE_TDE ++ ++#ifdef ENABLE_TDE ++#include "tde_headers.h" ++#else // ENABLE_TDE + #include ++#endif // ENABLE_TDE + + #include + +diff --git a/connectivity/source/drivers/kab/makefile.mk b/connectivity/source/drivers/kab/makefile.mk +index 9494037..b2856aa 100644 +--- a/connectivity/source/drivers/kab/makefile.mk ++++ b/connectivity/source/drivers/kab/makefile.mk +@@ -28,8 +28,6 @@ + PRJ=..$/..$/.. + PRJINC=..$/.. + PRJNAME=connectivity +-TARGET=kab +-TARGET2=$(TARGET)drv + + ENABLE_EXCEPTIONS=TRUE + VISIBILITY_HIDDEN=TRUE +@@ -42,6 +40,9 @@ VISIBILITY_HIDDEN=TRUE + .IF "$(GUI)" == "UNX" + .IF "$(ENABLE_KAB)" == "TRUE" + ++TARGET=kab ++TARGET2=$(TARGET)drv ++ + CFLAGS+=$(KDE_CFLAGS) + + .IF "$(KDE_ROOT)"!="" +@@ -130,12 +131,113 @@ DEF2NAME= $(SHL2TARGET) + # --- Targets ----------------------------------- + .ELSE # "$(ENABLE_KAB)" == "TRUE" + +-dummy: +-# nothing ++ .IF "$(ENABLE_TDEAB)" == "TRUE" ++ ++ TARGET=tdeab ++ TARGET2=$(TARGET)drv ++ ++ CFLAGS+=$(TDE_CFLAGS) ++ CFLAGS+=-DENABLE_TDE ++ CFLAGSCXX+=-DENABLE_TDE ++ ++ .IF "$(TDE_ROOT)"!="" ++ EXTRALIBPATHS+=-L$(TDE_ROOT)$/lib ++ .IF "$(OS)$(CPU)" == "LINUXX" ++ EXTRALIBPATHS+=-L$(TDE_ROOT)$/lib64 ++ .ENDIF ++ .ENDIF ++ ++ # === TDEAB base library ========================== ++ ++ # --- Files ------------------------------------- ++ ++ SLOFILES= \ ++ $(SLO)$/KDriver.obj \ ++ $(SLO)$/KServices.obj ++ ++ DEPOBJFILES= \ ++ $(SLO2FILES) ++ ++ # --- Library ----------------------------------- ++ ++ SHL1VERSIONMAP=$(SOLARENV)/src/component.map ++ ++ SHL1TARGET= $(TARGET)$(TDEAB_MAJOR) ++ SHL1OBJS=$(SLOFILES) ++ SHL1STDLIBS=\ ++ $(COMPHELPERLIB) \ ++ $(CPPULIB) \ ++ $(CPPUHELPERLIB) \ ++ $(DBTOOLSLIB) \ ++ $(SALLIB) \ ++ $(SALHELPERLIB) ++ ++ SHL1DEPN= ++ SHL1IMPLIB= i$(TARGET) ++ ++ SHL1DEF= $(MISC)$/$(SHL1TARGET).def ++ ++ DEF1NAME= $(SHL1TARGET) ++ ++ # === TDEAB impl library ========================== ++ ++ # --- Files ------------------------------------- ++ ++ SLO2FILES=\ ++ $(SLO)$/KColumns.obj \ ++ $(SLO)$/KTable.obj \ ++ $(SLO)$/KTables.obj \ ++ $(SLO)$/KCatalog.obj \ ++ $(SLO)$/KResultSet.obj \ ++ $(SLO)$/KStatement.obj \ ++ $(SLO)$/KPreparedStatement.obj \ ++ $(SLO)$/KDatabaseMetaData.obj \ ++ $(SLO)$/KConnection.obj \ ++ $(SLO)$/KResultSetMetaData.obj \ ++ $(SLO)$/kcondition.obj \ ++ $(SLO)$/korder.obj \ ++ $(SLO)$/kfields.obj \ ++ $(SLO)$/KDEInit.obj ++ ++ TDEAB_LIB=$(TDE_LIBS) -lkabc ++ ++ # --- Library ----------------------------------- ++ ++ SHL2VERSIONMAP=$(TARGET2).map ++ ++ SHL2TARGET= $(TARGET2)$(TDEAB_MAJOR) ++ SHL2OBJS=$(SLO2FILES) ++ SHL2STDLIBS=\ ++ $(CPPULIB) \ ++ $(CPPUHELPERLIB) \ ++ $(SALLIB) \ ++ $(SALHELPERLIB) \ ++ $(DBTOOLSLIB) \ ++ $(COMPHELPERLIB) \ ++ $(TDEAB_LIB) ++ ++ SHL2DEPN= ++ SHL2IMPLIB= i$(TARGET2) ++ ++ SHL2DEF= $(MISC)$/$(SHL2TARGET).def ++ ++ DEF2NAME= $(SHL2TARGET) ++ ++ # --- Targets ----------------------------------- ++ .ELSE # "$(ENABLE_TDEAB)" == "TRUE" ++ TARGET=kab ++ TARGET2=$(TARGET)drv ++ ++ dummy: ++ # nothing ++ ++ .ENDIF + + .ENDIF + + .ELSE # "$(GUI)" == "UNX" ++TARGET=kab ++TARGET2=$(TARGET)drv + + dummy: + # nothing +@@ -145,10 +247,10 @@ dummy: + .INCLUDE : $(PRJ)$/target.pmk + + +-ALLTAR : $(MISC)/kab1.component ++ALLTAR : $(MISC)/$(TARGET)1.component + +-$(MISC)/kab1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ +- kab1.component ++$(MISC)/$(TARGET)1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ ++ $(TARGET)1.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ +- $(SOLARENV)/bin/createcomponent.xslt kab1.component ++ $(SOLARENV)/bin/createcomponent.xslt $(TARGET)1.component +diff --git a/connectivity/source/drivers/kab/tdeab.xcu b/connectivity/source/drivers/kab/tdeab.xcu +new file mode 100644 +index 0000000..7615b55 +--- /dev/null ++++ b/connectivity/source/drivers/kab/tdeab.xcu +@@ -0,0 +1,46 @@ ++ ++ ++ ++ ++ ++ ++ com.sun.star.comp.sdbc.tdeab.Driver ++ ++ ++ TDE Address Book ++ ++ ++ ++ ++ true ++ ++ ++ ++ ++ ++ +diff --git a/connectivity/source/drivers/kab/tdeab.xml b/connectivity/source/drivers/kab/tdeab.xml +new file mode 100644 +index 0000000..ef3d7bf +--- /dev/null ++++ b/connectivity/source/drivers/kab/tdeab.xml +@@ -0,0 +1,77 @@ ++ ++ ++ ++ tdeab1 ++ ++ Eric Bischoff ++ com.sun.star.comp.sdbc.tdeab.Driver ++ This library implements the database driver for TDE address book formats. ++ com.sun.star.loader.SharedLibrary ++ c++ ++ ++ com.sun.star.sdbc.Driver ++ ... ++ ++ cppuhelper ++ cppu ++ sal ++ ++ cppuhelper ++ cppu1 ++ sal1 ++ ++ com.sun.star.registry.XRegistryKey ++ com.sun.star.util.XCancellable ++ com.sun.star.util.XNumberFormatter ++ com.sun.star.uno.TypeClass ++ com.sun.star.uno.XWeak ++ com.sun.star.uno.XAggregation ++ com.sun.star.uno.XComponentContext ++ com.sun.star.beans.PropertyAttribute ++ com.sun.star.beans.XPropertyState ++ com.sun.star.beans.XPropertySet ++ com.sun.star.beans.PropertyValue ++ com.sun.star.beans.XMultiPropertySet ++ com.sun.star.beans.XFastPropertySet ++ com.sun.star.lang.XSingleServiceFactory ++ com.sun.star.lang.XTypeProvider ++ com.sun.star.lang.XSingleComponentFactory ++ com.sun.star.lang.EventObject ++ com.sun.star.lang.XComponent ++ com.sun.star.lang.IllegalArgumentException ++ com.sun.star.lang.DisposedException ++ com.sun.star.lang.XMultiServiceFactory ++ com.sun.star.lang.XServiceInfo ++ com.sun.star.lang.XUnoTunnel ++ com.sun.star.java.XJavaThreadRegister_11 ++ com.sun.star.java.XJavaVM ++ com.sun.star.sdbc.FetchDirection ++ com.sun.star.sdbc.XConnection ++ com.sun.star.sdbc.XStatement ++ com.sun.star.sdbc.XResultSet ++ com.sun.star.sdbc.XResultSetMetaDataSupplier ++ com.sun.star.sdbc.XColumnLocate ++ com.sun.star.sdbc.XResultSetUpdate ++ com.sun.star.sdbc.XWarningsSupplier ++ com.sun.star.sdbc.XRowUpdate ++ com.sun.star.sdbc.XMultipleResults ++ com.sun.star.sdbc.XBatchExecution ++ com.sun.star.sdbc.XPreparedBatchExecution ++ com.sun.star.sdbc.XParameters ++ com.sun.star.sdbc.XOutParameters ++ com.sun.star.sdbc.DriverPropertyInfo ++ com.sun.star.sdbc.SQLWarning ++ com.sun.star.sdbc.XRow ++ com.sun.star.sdbc.ColumnSearch ++ com.sun.star.sdbc.ColumnValue ++ com.sun.star.sdbc.DataType ++ com.sun.star.sdbc.XDriver ++ com.sun.star.sdbc.TransactionIsolation ++ com.sun.star.sdbc.ResultSetType ++ com.sun.star.sdbc.ResultSetConcurrency ++ com.sun.star.sdbcx.XRowLocate ++ com.sun.star.sdbcx.XDeleteRows ++ com.sun.star.sdbcx.CompareBookmark ++ com.sun.star.sdb.XColumnUpdate ++ com.sun.star.sdb.XColumn ++ +diff --git a/connectivity/source/drivers/kab/tdeab1.component b/connectivity/source/drivers/kab/tdeab1.component +new file mode 100644 +index 0000000..4072771 +--- /dev/null ++++ b/connectivity/source/drivers/kab/tdeab1.component +@@ -0,0 +1,34 @@ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/connectivity/source/drivers/kab/tdeabdrv.map b/connectivity/source/drivers/kab/tdeabdrv.map +new file mode 100644 +index 0000000..5de866f +--- /dev/null ++++ b/connectivity/source/drivers/kab/tdeabdrv.map +@@ -0,0 +1,9 @@ ++UDK_3_0_0 { ++ global: ++ createKabConnection; ++ initKApplication; ++ shutdownKApplication; ++ matchKDEVersion; ++ local: ++ *; ++}; +diff --git a/connectivity/version.mk b/connectivity/version.mk +index fd2235c..07af09f 100755 +--- a/connectivity/version.mk ++++ b/connectivity/version.mk +@@ -90,6 +90,17 @@ MYSQL_TARGET=mysql + # target + EVOAB_TARGET=evoab + ++# ----------------------------TDEab settings-------------------------------------# ++# target ++TDEAB_TARGET=tdeab ++ ++# the major ++TDEAB_MAJOR=1 ++# the minor ++TDEAB_MINOR=0 ++# the micro ++TDEAB_MICRO=0 ++ + # ----------------------------Kab settings-------------------------------------# + # target + KAB_TARGET=kab +diff --git a/cui/Library_cui.mk b/cui/Library_cui.mk +index 089014e..4da2f8f 100644 +--- a/cui/Library_cui.mk ++++ b/cui/Library_cui.mk +@@ -36,6 +36,7 @@ $(eval $(call gb_Library_set_include,cui,\ + + $(eval $(call gb_Library_add_defs,cui,\ + $(if $(filter TRUE,$(ENABLE_GTK)),-DENABLE_GTK) \ ++ $(if $(filter TRUE,$(ENABLE_TDE)),-DENABLE_TDE) \ + $(if $(filter TRUE,$(ENABLE_KDE)),-DENABLE_KDE) \ + $(if $(filter TRUE,$(ENABLE_KDE4)),-DENABLE_KDE4) \ + )) +diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx +index 418455e..460f08a 100644 +--- a/cui/source/options/optgdlg.cxx ++++ b/cui/source/options/optgdlg.cxx +@@ -140,6 +140,14 @@ namespace + return rtl::OUString(); + #endif + } ++ else if ( rDesktopEnvironment.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("tde")) ) ++ { ++ #ifdef ENABLE_TDE ++ return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.ui.dialogs.TDEFilePicker") ); ++ #else ++ return rtl::OUString(); ++ #endif ++ } + #if defined WNT + return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.ui.dialogs.SystemFilePicker") ); + #elif (defined MACOSX && defined QUARTZ) +diff --git a/desktop/Pagein_common.mk b/desktop/Pagein_common.mk +index 258ba19..65a2e94 100644 +--- a/desktop/Pagein_common.mk ++++ b/desktop/Pagein_common.mk +@@ -47,6 +47,7 @@ $(eval $(call gb_Pagein_add_objects,common,\ + configmgr \ + vclplug_gen \ + $(if $(findstring TRUE,$(ENABLE_GTK)),vclplug_gtk) \ ++ $(if $(findstring TRUE,$(ENABLE_TDE)),vclplug_tde) \ + $(if $(findstring TRUE,$(ENABLE_KDE)),vclplug_kde) \ + basegfx \ + sot \ +diff --git a/postprocess/packcomponents/makefile.mk b/postprocess/packcomponents/makefile.mk +index b921281..f4be7f2 100644 +--- a/postprocess/packcomponents/makefile.mk ++++ b/postprocess/packcomponents/makefile.mk +@@ -245,6 +245,14 @@ my_components += component/ucb/source/ucp/gio/ucpgio + my_components += component/ucb/source/ucp/gvfs/ucpgvfs + .END + ++.IF "$(ENABLE_TDEAB)" != "" ++my_components += tdeab1 ++.END ++ ++.IF "$(ENABLE_TDE)" != "" ++my_components += tdebe1 ++.END ++ + .IF "$(ENABLE_KAB)" != "" + my_components += kab1 + .END +diff --git a/postprocess/packregistry/makefile.mk b/postprocess/packregistry/makefile.mk +index 290b3c5..c8a6920 100644 +--- a/postprocess/packregistry/makefile.mk ++++ b/postprocess/packregistry/makefile.mk +@@ -332,6 +332,9 @@ MY_FILES_main += \ + $(MY_MOD)/DataAccess/hsqldb.xcu \ + $(MY_MOD)/DataAccess/jdbc.xcu + .END ++.IF "$(ENABLE_TDEAB)" == "TRUE" ++MY_FILES_main += $(MY_MOD)/DataAccess/tdeab.xcu ++.END + .IF "$(ENABLE_KAB)" == "TRUE" + MY_FILES_main += $(MY_MOD)/DataAccess/kab.xcu + .END +diff --git a/scp2/prj/build.lst b/scp2/prj/build.lst +index 9b82432..59ebece 100644 +--- a/scp2/prj/build.lst ++++ b/scp2/prj/build.lst +@@ -13,6 +13,7 @@ cp scp2\source\gnome nmake - all cp_gnome cp_langmacros cp + cp scp2\source\graphicfilter nmake - all cp_graphicfilter cp_langmacros cp_langtemplates NULL + cp scp2\source\impress nmake - all cp_impress cp_langmacros cp_langtemplates NULL + cp scp2\source\javafilter nmake - all cp_javafilter cp_langmacros cp_langtemplates NULL ++cp scp2\source\tde nmake - all cp_tde cp_langmacros cp_langtemplates NULL + cp scp2\source\kde nmake - all cp_kde cp_langmacros cp_langtemplates NULL + cp scp2\source\math nmake - all cp_math cp_langmacros cp_langtemplates NULL + cp scp2\source\ooo nmake - all cp_ooo cp_langmacros cp_langtemplates NULL +@@ -27,4 +28,4 @@ cp scp2\source\xsltfilter nmake - all cp_xsltfilter cp_langmacr + cp scp2\source\winexplorerext nmake - all cp_winexplorerext cp_langmacros cp_langtemplates NULL + cp scp2\source\onlineupdate nmake - all cp_update cp_langmacros cp_langtemplates NULL + cp scp2\source\accessories nmake - all cp_accessories cp_langmacros NULL +-cp scp2\util nmake - all cp_util cp_activex cp_binfilter cp_calc cp_canvas cp_crashrep cp_draw cp_extensions cp_gnome cp_graphicfilter cp_impress cp_javafilter cp_kde cp_math cp_ooo cp_python cp_quickstart cp_smoketest cp_stdlibs cp_writer cp_base cp_xsltfilter cp_winexplorerext cp_sdkoo cp_update cp_accessories NULL ++cp scp2\util nmake - all cp_util cp_activex cp_binfilter cp_calc cp_canvas cp_crashrep cp_draw cp_extensions cp_gnome cp_graphicfilter cp_impress cp_javafilter cp_tde cp_kde cp_math cp_ooo cp_python cp_quickstart cp_smoketest cp_stdlibs cp_writer cp_base cp_xsltfilter cp_winexplorerext cp_sdkoo cp_update cp_accessories NULL +diff --git a/scp2/source/ooo/file_library_ooo.scp b/scp2/source/ooo/file_library_ooo.scp +index e3ae239..e46f50f 100644 +--- a/scp2/source/ooo/file_library_ooo.scp ++++ b/scp2/source/ooo/file_library_ooo.scp +@@ -432,6 +432,22 @@ End + + #ifdef UNX + ++#ifdef ENABLE_TDEAB ++File gid_File_Lib_Tdeab_1 ++ LIB_FILE_BODY; ++ Styles = (PACKED); ++ Dir = SCP2_OOO_BIN_DIR; ++ Name = STRING(CONCAT2(libtdeab1,UNXSUFFIX)); ++End ++ ++File gid_File_Lib_Tdeab_Drv_1 ++ LIB_FILE_BODY; ++ Styles = (PACKED); ++ Dir = SCP2_OOO_BIN_DIR; ++ Name = STRING(CONCAT2(libtdeabdrv1,UNXSUFFIX)); ++End ++#endif ++ + #ifdef ENABLE_KAB + File gid_File_Lib_Kab_1 + LIB_FILE_BODY; +@@ -446,7 +462,6 @@ File gid_File_Lib_Kab_Drv_1 + Dir = SCP2_OOO_BIN_DIR; + Name = STRING(CONCAT2(libkabdrv1,UNXSUFFIX)); + End +- + #endif + + #ifdef MACOSX +@@ -463,8 +478,7 @@ File gid_File_Lib_Macab_Drv_1 + Dir = SCP2_OOO_BIN_DIR; + Name = STRING(CONCAT2(libmacabdrv1,UNXSUFFIX)); + End +- +-#endif // #ifdef ENABLE_KAB ++#endif // #ifdef MACOSX + + #ifdef ENABLE_EVOAB2 + +@@ -502,6 +516,17 @@ File gid_File_Lib_Desktopbe + Name = STRING(CONCAT2(desktopbe1.uno,UNXSUFFIX)); + End + ++#ifdef ENABLE_TDE ++#ifndef MACOSX ++File gid_File_Bin_TdeFilePicker ++ BIN_FILE_BODY; ++ Styles = (PACKED); ++ Dir = gid_Brand_Dir_Program; ++ Name = "tdefilepicker"; ++End ++#endif ++#endif ++ + #ifdef ENABLE_KDE + #ifndef MACOSX + File gid_File_Bin_KdeFilePicker +@@ -991,6 +1016,16 @@ File gid_File_Lib_Vclplug_Gtk3 + Dir = SCP2_OOO_BIN_DIR; + End + #endif ++#ifdef ENABLE_TDE ++#ifndef MACOSX ++File gid_File_Lib_Vclplug_Tde ++ Name = LIBNAME(vclplug_tde); ++ LIB_FILE_BODY; ++ Styles = (PACKED); ++ Dir = SCP2_OOO_BIN_DIR; ++End ++#endif ++#endif + #ifdef ENABLE_KDE + #ifndef MACOSX + File gid_File_Lib_Vclplug_Kde +diff --git a/scp2/source/ooo/file_ooo.scp b/scp2/source/ooo/file_ooo.scp +index 62361e6..7278f4d 100644 +--- a/scp2/source/ooo/file_ooo.scp ++++ b/scp2/source/ooo/file_ooo.scp +@@ -184,6 +184,13 @@ File gid_File_Bin_Gnome_Open_Url_Bin + Styles = (PACKED); + End + ++File gid_File_Bin_Tde_Open_Url ++ BIN_FILE_BODY; ++ Dir = gid_Brand_Dir_Program; ++ Name = "tde-open-url"; ++ Styles = (PACKED); ++End ++ + File gid_File_Bin_Kde_Open_Url + BIN_FILE_BODY; + Dir = gid_Brand_Dir_Program; +diff --git a/scp2/source/ooo/makefile.mk b/scp2/source/ooo/makefile.mk +index 0702c7e..6751ae3 100644 +--- a/scp2/source/ooo/makefile.mk ++++ b/scp2/source/ooo/makefile.mk +@@ -70,6 +70,10 @@ SCPDEFS+=-DENABLE_NSPLUGIN + SCPDEFS+=-DMERGELIBS + .ENDIF + ++.IF "$(ENABLE_TDE)" != "" ++SCPDEFS+=-DENABLE_TDE ++.ENDIF ++ + .IF "$(ENABLE_KDE)" != "" + SCPDEFS+=-DENABLE_KDE + .ENDIF +@@ -78,6 +82,10 @@ SCPDEFS+=-DENABLE_KDE + SCPDEFS+=-DENABLE_KDE4 + .ENDIF + ++.IF "$(ENABLE_TDEAB)" != "" ++SCPDEFS+=-DENABLE_TDEAB ++.ENDIF ++ + .IF "$(ENABLE_KAB)" != "" + SCPDEFS+=-DENABLE_KAB + .ENDIF +diff --git a/scp2/source/ooo/module_hidden_ooo.scp b/scp2/source/ooo/module_hidden_ooo.scp +index cdcd157..3308e20 100644 +--- a/scp2/source/ooo/module_hidden_ooo.scp ++++ b/scp2/source/ooo/module_hidden_ooo.scp +@@ -83,6 +83,7 @@ Module gid_Module_Root_Files_2 + Default = YES; + Styles = (HIDDEN_ROOT); + Files = (gid_File_Bin_Cde_Open_Url, ++ gid_File_Bin_Tde_Open_Url, + gid_File_Bin_Kde_Open_Url, + gid_File_Bin_Open_Url, + gid_File_Bin_Pagein, +@@ -273,6 +274,7 @@ Module gid_Module_Root_Files_4 + gid_File_Lib_Odfflatxml, + gid_File_Lib_Zip, + gid_File_Lib_Vclplug_Gen, ++ gid_File_Lib_Vclplug_Tde, + gid_File_Lib_Vclplug_Kde, + gid_File_Lib_Vclplug_Kde4, + gid_File_Lib_Vclplug_Svp, +@@ -347,6 +349,8 @@ Module gid_Module_Root_Files_5 + gid_File_Lib_Dbpool, + gid_File_Lib_Embobj, + gid_File_Lib_Emboleobj, ++ gid_File_Lib_Tdeab_1, ++ gid_File_Lib_Tdeab_Drv_1, + gid_File_Lib_Kab_1, + gid_File_Lib_Kab_Drv_1, + gid_File_Lib_Macab_1, +diff --git a/scp2/source/tde/file_tde.scp b/scp2/source/tde/file_tde.scp +new file mode 100644 +index 0000000..6387a57 +--- /dev/null ++++ b/scp2/source/tde/file_tde.scp +@@ -0,0 +1,37 @@ ++/************************************************************************* ++ * ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * Copyright 2000, 2010 Oracle and/or its affiliates. ++ * Copyright 2011 Timothy Pearson ++ * ++ * OpenOffice.org - a multi-platform office productivity suite ++ * ++ * This file is part of OpenOffice.org. ++ * ++ * OpenOffice.org is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU Lesser General Public License version 3 ++ * only, as published by the Free Software Foundation. ++ * ++ * OpenOffice.org 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 Lesser General Public License version 3 for more details ++ * (a copy is included in the LICENSE file that accompanied this code). ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * version 3 along with OpenOffice.org. If not, see ++ * ++ * for a copy of the LGPLv3 License. ++ * ++ ************************************************************************/ ++#include "macros.inc" ++ ++#ifdef ENABLE_TDE ++File gid_File_Lib_Tdebe ++ TXT_FILE_BODY; ++ Styles = (PACKED); ++ Dir = SCP2_OOO_BIN_DIR; ++ Name = STRING(CONCAT2(tdebe1.uno,UNXSUFFIX)); ++End ++#endif +diff --git a/scp2/source/tde/makefile.mk b/scp2/source/tde/makefile.mk +new file mode 100644 +index 0000000..78d5728 +--- /dev/null ++++ b/scp2/source/tde/makefile.mk +@@ -0,0 +1,59 @@ ++#************************************************************************* ++# ++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++# ++# Copyright 2000, 2010 Oracle and/or its affiliates. ++# Copyright 2011 Timothy Pearson ++# ++# OpenOffice.org - a multi-platform office productivity suite ++# ++# This file is part of OpenOffice.org. ++# ++# OpenOffice.org is free software: you can redistribute it and/or modify ++# it under the terms of the GNU Lesser General Public License version 3 ++# only, as published by the Free Software Foundation. ++# ++# OpenOffice.org 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 Lesser General Public License version 3 for more details ++# (a copy is included in the LICENSE file that accompanied this code). ++# ++# You should have received a copy of the GNU Lesser General Public License ++# version 3 along with OpenOffice.org. If not, see ++# ++# for a copy of the LGPLv3 License. ++# ++#************************************************************************* ++ ++PRJ=..$/.. ++ ++PRJPCH= ++ ++PRJNAME=scp2 ++TARGET=tde ++TARGETTYPE=CUI ++ ++# --- Settings ----------------------------------------------------- ++ ++.INCLUDE : settings.mk ++ ++SCP_PRODUCT_TYPE=osl ++ ++.IF "$(ENABLE_TDE)" == "TRUE" ++ ++.IF "$(ENABLE_TDE)" != "" ++SCPDEFS+=-DENABLE_TDE ++.ENDIF ++ ++PARFILES = \ ++ module_tde.par \ ++ file_tde.par ++ ++ULFFILES= \ ++ module_tde.ulf ++.ENDIF ++ ++# --- File --------------------------------------------------------- ++ ++.INCLUDE : target.mk +diff --git a/scp2/source/tde/module_tde.scp b/scp2/source/tde/module_tde.scp +new file mode 100644 +index 0000000..9fdfecd +--- /dev/null ++++ b/scp2/source/tde/module_tde.scp +@@ -0,0 +1,45 @@ ++/************************************************************************* ++ * ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * Copyright 2000, 2010 Oracle and/or its affiliates. ++ * ++ * OpenOffice.org - a multi-platform office productivity suite ++ * Copyright 2011 Timothy Pearson ++ * ++ * This file is part of OpenOffice.org. ++ * ++ * OpenOffice.org is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU Lesser General Public License version 3 ++ * only, as published by the Free Software Foundation. ++ * ++ * OpenOffice.org 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 Lesser General Public License version 3 for more details ++ * (a copy is included in the LICENSE file that accompanied this code). ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * version 3 along with OpenOffice.org. If not, see ++ * ++ * for a copy of the LGPLv3 License. ++ * ++ ************************************************************************/ ++ ++#include "macros.inc" ++ ++#if defined( ENABLE_TDE ) ++Module gid_Module_Optional_Tde ++ ParentID = gid_Module_Optional; ++ Default = YES; ++ PackageInfo = "packinfo_office.txt"; ++ MOD_NAME_DESC(MODULE_OPTIONAL_TDE); ++ Styles = (DONTSHOWINUSERINSTALL); ++ Files = ( ++#ifdef ENABLE_TDE ++ gid_File_Lib_Tdebe ++#endif // ENABLE_TDE ++ ); ++End ++#endif ++ +diff --git a/scp2/source/tde/module_tde.ulf b/scp2/source/tde/module_tde.ulf +new file mode 100644 +index 0000000..e55735f +--- /dev/null ++++ b/scp2/source/tde/module_tde.ulf +@@ -0,0 +1,34 @@ ++/************************************************************************* ++ * ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * Copyright 2000, 2010 Oracle and/or its affiliates. ++ * Copyright 2011 Timothy Pearson ++ * ++ * OpenOffice.org - a multi-platform office productivity suite ++ * ++ * This file is part of OpenOffice.org. ++ * ++ * OpenOffice.org is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU Lesser General Public License version 3 ++ * only, as published by the Free Software Foundation. ++ * ++ * OpenOffice.org 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 Lesser General Public License version 3 for more details ++ * (a copy is included in the LICENSE file that accompanied this code). ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * version 3 along with OpenOffice.org. If not, see ++ * ++ * for a copy of the LGPLv3 License. ++ * ++ ************************************************************************/ ++ ++[STR_NAME_MODULE_OPTIONAL_TDE] ++en-US = "TDE Integration" ++ ++[STR_DESC_MODULE_OPTIONAL_TDE] ++en-US = "System integration of %PRODUCTNAME %PRODUCTVERSION into TDE." ++ +diff --git a/scp2/util/makefile.mk b/scp2/util/makefile.mk +index 4cd31f5..daafb58 100644 +--- a/scp2/util/makefile.mk ++++ b/scp2/util/makefile.mk +@@ -203,6 +203,12 @@ SCP1FILES += \ + module_kde.par \ + file_kde.par + .ENDIF ++ ++.IF "$(ENABLE_TDE)" == "TRUE" ++SCP1FILES += \ ++ module_tde.par \ ++ file_tde.par ++.ENDIF + .ENDIF + + .IF "$(ENABLE_CRASHDUMP)" != "" +diff --git a/setup_native/source/packinfo/packinfo_office.txt b/setup_native/source/packinfo/packinfo_office.txt +index 97127ef..0e4a704 100644 +--- a/setup_native/source/packinfo/packinfo_office.txt ++++ b/setup_native/source/packinfo/packinfo_office.txt +@@ -33,6 +33,21 @@ packageversion = "%ABOUTBOXPRODUCTVERSION" + End + + Start ++module = "gid_Module_Optional_Tde" ++solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTPRODUCTVERSION-tde-integration" ++solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTPRODUCTVERSION-core01" ++packagename = "%BASISPACKAGEPREFIX%PRODUCTVERSION-tde-integration" ++freebsdrequires = "%BASISPACKAGEPREFIX%PRODUCTVERSION-core01" ++requires = "%BASISPACKAGEPREFIX%PRODUCTVERSION-core01" ++copyright = "1999-2012 by OpenOffice.org" ++solariscopyright = "solariscopyrightfile" ++vendor = "The Document Foundation" ++description = "TDE integration module for %PRODUCTNAME %PRODUCTVERSION" ++destpath = "/opt" ++packageversion = "%ABOUTBOXPRODUCTVERSION" ++End ++ ++Start + module = "gid_Module_Optional_Kde" + solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTPRODUCTVERSION-kde-integration" + solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTPRODUCTVERSION-core01" +diff --git a/shell/inc/tde_defines.h b/shell/inc/tde_defines.h +new file mode 100644 +index 0000000..fe2d89e +--- /dev/null ++++ b/shell/inc/tde_defines.h +@@ -0,0 +1,96 @@ ++/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ ++/************************************************************************* ++ * ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * Copyright 2012 Timothy Pearson ++ * ++ * OpenOffice.org - a multi-platform office productivity suite ++ * ++ * This file is part of OpenOffice.org. ++ * ++ * OpenOffice.org is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU Lesser General Public License version 3 ++ * only, as published by the Free Software Foundation. ++ * ++ * OpenOffice.org 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 Lesser General Public License version 3 for more details ++ * (a copy is included in the LICENSE file that accompanied this code). ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * version 3 along with OpenOffice.org. If not, see ++ * ++ * for a copy of the LGPLv3 License. ++ * ++ ************************************************************************/ ++ ++#ifndef INCLUDED_VCL_TDE_DEFINE_HEADERS_H ++#define INCLUDED_VCL_TDE_DEFINE_HEADERS_H ++ ++#define QObject TQObject ++#define QWidget TQWidget ++#define QVBox TQVBox ++#define QHBox TQHBox ++#define QGrid TQGrid ++#define QString TQString ++#define QStringList TQStringList ++#define QCustomEvent TQCustomEvent ++#define QMutex TQMutex ++#define QEvent TQEvent ++#define QFont TQFont ++#define QDateTime TQDateTime ++#define QThread TQThread ++#define QStyle TQStyle ++#define QApplication TQApplication ++#define QRect TQRect ++#define QProgressBar TQProgressBar ++#define QPopupMenu TQPopupMenu ++#define QMenuBar TQMenuBar ++#define QToolButton TQToolButton ++#define QToolBar TQToolBar ++#define QScrollBar TQScrollBar ++#define QListView TQListView ++#define QSpinWidget TQSpinWidget ++#define QScrollBar TQScrollBar ++#define QLineEdit TQLineEdit ++#define QComboBox TQComboBox ++#define QCheckBox TQCheckBox ++#define QRadioButton TQRadioButton ++#define QPushButton TQPushButton ++#define QPainter TQPainter ++#define QResizeEvent TQResizeEvent ++#define QShowEvent TQShowEvent ++#define QPoint TQPoint ++#define QDialog TQDialog ++#define QFile TQFile ++#define QLabel TQLabel ++#define QObjectList TQObjectList ++#define QCString TQCString ++#define QRegExp TQRegExp ++#define QSessionManager TQSessionManager ++#define QPaintDevice TQPaintDevice ++#define QTextIStream TQTextIStream ++#define QTextStream TQTextStream ++#define QMutexLocker TQMutexLocker ++#define QValueList TQValueList ++#define QTab TQTab ++#define QTabBar TQTabBar ++#define QTabWidget TQTabWidget ++#define QMainWindow TQMainWindow ++#define QPixmap TQPixmap ++#define QColorGroup TQColorGroup ++#define QStyleOption TQStyleOption ++#define QSize TQSize ++#define QMenuItem TQMenuItem ++#define QFontInfo TQFontInfo ++ ++#define qSwap tqSwap ++#define qt_cast tqt_cast ++#define qt_xdisplay tqt_xdisplay ++#define qVersion tqVersion ++ ++#endif ++ ++/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +diff --git a/shell/inc/tde_headers.h b/shell/inc/tde_headers.h +new file mode 100644 +index 0000000..389ecbe +--- /dev/null ++++ b/shell/inc/tde_headers.h +@@ -0,0 +1,98 @@ ++/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ ++/************************************************************************* ++ * ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * Copyright 2000, 2010 Oracle and/or its affiliates. ++ * Copyright 2012 Timothy Pearson ++ * ++ * OpenOffice.org - a multi-platform office productivity suite ++ * ++ * This file is part of OpenOffice.org. ++ * ++ * OpenOffice.org is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU Lesser General Public License version 3 ++ * only, as published by the Free Software Foundation. ++ * ++ * OpenOffice.org 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 Lesser General Public License version 3 for more details ++ * (a copy is included in the LICENSE file that accompanied this code). ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * version 3 along with OpenOffice.org. If not, see ++ * ++ * for a copy of the LGPLv3 License. ++ * ++ ************************************************************************/ ++ ++#ifndef INCLUDED_VCL_TDE_HEADERS_H ++#define INCLUDED_VCL_TDE_HEADERS_H ++ ++/* ********* Suppress warnings if needed */ ++#include "sal/config.h" ++ ++#if defined __GNUC__ ++#pragma GCC system_header ++#endif ++ ++ ++/* ********* Hack, but needed because of conflicting types... */ ++#define Region TQtXRegion ++ ++ ++/* ********* TQt headers */ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* ********* See hack on top of this file */ ++#undef Region ++ ++ ++/* ********* TDE base headers */ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++ ++/* ********* TDE address book connectivity headers */ ++#include ++#include ++#include ++#include ++ ++ ++#endif ++ ++/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +diff --git a/shell/prj/d.lst b/shell/prj/d.lst +index 62dfa80..a0e2a9a 100644 +--- a/shell/prj/d.lst ++++ b/shell/prj/d.lst +@@ -14,6 +14,7 @@ + + ..\%__SRC%\bin\open-url %_DEST%\bin\open-url + ..\%__SRC%\bin\cde-open-url %_DEST%\bin\cde-open-url ++..\%__SRC%\bin\tde-open-url %_DEST%\bin\tde-open-url + ..\%__SRC%\bin\kde-open-url %_DEST%\bin\kde-open-url + ..\%__SRC%\bin\gnome-open-url %_DEST%\bin\gnome-open-url + ..\%__SRC%\bin\gnome-open-url.bin %_DEST%\bin\gnome-open-url.bin +@@ -25,8 +26,10 @@ + + ..\%__SRC%\misc\desktopbe1.component %_DEST%\xml\desktopbe1.component + ..\%__SRC%\misc\gconfbe1.component %_DEST%\xml\gconfbe1.component ++..\%__SRC%\misc\tdebe1.component %_DEST%\xml\tdebe1.component + ..\%__SRC%\misc\kde4be1.component %_DEST%\xml\kde4be1.component + ..\%__SRC%\misc\kdebe1.component %_DEST%\xml\kdebe1.component ++..\inc\tde_headers.h %_DEST%\inc\shell\tde_headers.h + ..\inc\kde_headers.h %_DEST%\inc\shell\kde_headers.h + ..\%__SRC%\misc\localebe1.component %_DEST%\xml\localebe1.component + ..\%__SRC%\misc\macbe1.component %_DEST%\xml\macbe1.component +diff --git a/shell/source/backends/kdebe/kdeaccess.cxx b/shell/source/backends/kdebe/kdeaccess.cxx +index 0d7ad8dd..d83bd32 100644 +--- a/shell/source/backends/kdebe/kdeaccess.cxx ++++ b/shell/source/backends/kdebe/kdeaccess.cxx +@@ -35,7 +35,15 @@ + #include "rtl/string.h" + #include "rtl/ustring.hxx" + ++#ifdef ENABLE_TDE ++#include "tde_defines.h" ++#endif // ENABLE_TDE ++ ++#ifdef ENABLE_TDE ++#include "tde_headers.h" ++#else // ENABLE_TDE + #include "kde_headers.h" ++#endif // ENABLE_TDE + + #include "kdeaccess.hxx" + +diff --git a/shell/source/backends/kdebe/kdebackend.cxx b/shell/source/backends/kdebe/kdebackend.cxx +index 6432154..2e70cc4 100644 +--- a/shell/source/backends/kdebe/kdebackend.cxx ++++ b/shell/source/backends/kdebe/kdebackend.cxx +@@ -58,7 +58,15 @@ + #include "uno/current_context.hxx" + #include "uno/lbnames.h" + ++#ifdef ENABLE_TDE ++#include "tde_defines.h" ++#endif // ENABLE_TDE ++ ++#ifdef ENABLE_TDE ++#include "tde_headers.h" ++#else // ENABLE_TDE + #include "kde_headers.h" ++#endif // ENABLE_TDE + + #include "kdeaccess.hxx" + +diff --git a/shell/source/backends/kdebe/makefile.mk b/shell/source/backends/kdebe/makefile.mk +index 265a3b6..69329fa 100644 +--- a/shell/source/backends/kdebe/makefile.mk ++++ b/shell/source/backends/kdebe/makefile.mk +@@ -27,7 +27,6 @@ + PRJ=..$/..$/.. + + PRJNAME=shell +-TARGET=kdebe + + LIBTARGET=NO + ENABLE_EXCEPTIONS=TRUE +@@ -47,7 +46,39 @@ CFLAGSCXX+=-Wno-shadow + # no "lib" prefix + DLLPRE = + ++.IF "$(ENABLE_TDE)" == "TRUE" ++TARGET=tdebe ++ ++CFLAGS+=$(TDE_CFLAGS) ++CFLAGS+=-DENABLE_TDE ++CFLAGSCXX+=-DENABLE_TDE ++ ++# --- Files --- ++ ++SLOFILES=\ ++ $(SLO)$/kdeaccess.obj \ ++ $(SLO)$/kdebackend.obj ++ ++SHL1NOCHECK=TRUE ++SHL1TARGET=$(TARGET)1.uno ++SHL1OBJS=$(SLOFILES) ++SHL1DEF=$(MISC)$/$(SHL1TARGET).def ++ ++SHL1IMPLIB=i$(SHL1TARGET) ++SHL1STDLIBS= \ ++ $(CPPUHELPERLIB) \ ++ $(CPPULIB) \ ++ $(SALLIB) \ ++ $(TDE_LIBS) \ ++ -lkio ++ ++SHL1DEF=$(MISC)$/$(SHL1TARGET).def ++DEF1NAME=$(SHL1TARGET) ++ ++.ENDIF # "$(ENABLE_TDE)" == "TRUE" ++ + .IF "$(ENABLE_KDE)" == "TRUE" ++TARGET=kdebe + + CFLAGS+=$(KDE_CFLAGS) + +@@ -79,10 +110,10 @@ DEF1NAME=$(SHL1TARGET) + + .INCLUDE : target.mk + +-ALLTAR : $(MISC)/kdebe1.component ++ALLTAR : $(MISC)/$(TARGET)1.component + +-$(MISC)/kdebe1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ +- kdebe1.component ++$(MISC)/$(TARGET)1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ ++ $(TARGET)1.component + $(XSLTPROC) --nonet --stringparam uri \ + '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ +- $(SOLARENV)/bin/createcomponent.xslt kdebe1.component ++ $(SOLARENV)/bin/createcomponent.xslt $(TARGET)1.component +diff --git a/shell/source/backends/kdebe/tdebe1.component b/shell/source/backends/kdebe/tdebe1.component +new file mode 100644 +index 0000000..55a3776 +--- /dev/null ++++ b/shell/source/backends/kdebe/tdebe1.component +@@ -0,0 +1,34 @@ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/shell/source/unix/misc/makefile.mk b/shell/source/unix/misc/makefile.mk +index 6805ad4..39752bd 100644 +--- a/shell/source/unix/misc/makefile.mk ++++ b/shell/source/unix/misc/makefile.mk +@@ -52,6 +52,7 @@ SCRIPTFILES = \ + $(BIN)$/open-url \ + $(BIN)$/cde-open-url \ + $(BIN)$/gnome-open-url \ ++ $(BIN)$/tde-open-url \ + $(BIN)$/kde-open-url + + APP1TARGET = gnome-open-url.bin +diff --git a/shell/source/unix/misc/tde-open-url.sh b/shell/source/unix/misc/tde-open-url.sh +new file mode 100644 +index 0000000..fa05bde +--- /dev/null ++++ b/shell/source/unix/misc/tde-open-url.sh +@@ -0,0 +1,10 @@ ++#!/bin/sh ++ ++# special handling for mailto: uris ++if echo $1 | grep '^mailto:' > /dev/null; then ++ kmailservice "$1" & ++else ++ kfmclient openURL "$1" & ++fi ++ ++exit 0 +diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk +index f21dfed..8d35ab3 100644 +--- a/solenv/gbuild/gbuild.mk ++++ b/solenv/gbuild/gbuild.mk +@@ -228,6 +228,10 @@ ifneq ($(strip $(ENABLE_GTK)),) + gb_GLOBALDEFS += -DENABLE_GTK + endif + ++ifneq ($(strip $(ENABLE_TDE)),) ++gb_GLOBALDEFS += -DENABLE_TDE ++endif ++ + ifneq ($(strip $(ENABLE_KDE)),) + gb_GLOBALDEFS += -DENABLE_KDE + endif +diff --git a/solenv/inc/unx.mk b/solenv/inc/unx.mk +index 3093d58..fa304d9 100644 +--- a/solenv/inc/unx.mk ++++ b/solenv/inc/unx.mk +@@ -167,6 +167,18 @@ DLLPOST!:=$(DLLPOST).$($(UNIXVERSIONNAMES)_MAJOR) + .ENDIF + .ENDIF # "$(UNIXVERSIONNAMES)"!="" + ++# enable building/linking TDE-dependent code in both OOo and SO build environment ++.IF "$(ENABLE_TDE)" != "" ++.IF "$(TDE_ROOT)"!="" ++TDE_CFLAGS:=-I$(TDE_ROOT)/include -I/usr/include/tqt -DQT_CLEAN_NAMESPACE ++TDE_LIBS:=-ltdeui -ltdecore -ltqt -ltqt-mt ++SOLARLIB+=-L$(TDE_ROOT)/lib ++.IF "$(OS)$(CPU)" == "LINUXX" ++SOLARLIB+=-L$(TDE_ROOT)/lib64 ++.ENDIF # "$(OS)$(CPU)" == "LINUXX" ++.ENDIF # "$(TDE_ROOT)"!="" ++.ENDIF # "$(ENABLE_TDE)" != "" ++ + # enable building/linking KDE-dependent code in both OOo and SO build environment + .IF "$(ENABLE_KDE)" != "" + .IF "$(KDE_ROOT)"!="" +diff --git a/vcl/CustomTarget_tde_moc.mk b/vcl/CustomTarget_tde_moc.mk +new file mode 100644 +index 0000000..d0c26e2 +--- /dev/null ++++ b/vcl/CustomTarget_tde_moc.mk +@@ -0,0 +1,39 @@ ++# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- ++# Version: MPL 1.1 / GPLv3+ / LGPLv3+ ++# ++# The contents of this file are subject to the Mozilla Public License Version ++# 1.1 (the "License"); you may not use this file except in compliance with ++# the License or as specified alternatively below. You may obtain a copy of ++# the License at http://www.mozilla.org/MPL/ ++# ++# Software distributed under the License is distributed on an "AS IS" basis, ++# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++# for the specific language governing rights and limitations under the ++# License. ++# ++# Major Contributor(s): ++# Copyright (C) 2010 Red Hat, Inc., David Tardon ++# (initial developer) ++# ++# All Rights Reserved. ++# ++# For minor contributions see the git repository. ++# ++# Alternatively, the contents of this file may be used under the terms of ++# either the GNU General Public License Version 3 or later (the "GPLv3+"), or ++# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), ++# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable ++# instead of those above. ++ ++$(eval $(call gb_CustomTarget_CustomTarget,vcl/unx/kde/fpicker)) ++ ++$(call gb_CustomTarget_get_target,vcl/unx/kde/fpicker) : \ ++ $(call gb_CustomTarget_get_workdir,vcl/unx/kde/fpicker)/kdefilepicker.moc.cxx ++ ++$(call gb_CustomTarget_get_workdir,vcl/unx/kde/fpicker)/kdefilepicker.moc.cxx :\ ++ $(SRCDIR)/vcl/unx/kde/fpicker/kdefilepicker.hxx \ ++ | $(call gb_CustomTarget_get_workdir,vcl/unx/kde/fpicker)/.dir ++ $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),MOC,1) ++ $(MOC) -o $@ $< ++ ++# vim:set shiftwidth=4 tabstop=4 noexpandtab: +diff --git a/vcl/Executable_tdefilepicker.mk b/vcl/Executable_tdefilepicker.mk +new file mode 100644 +index 0000000..8003f27 +--- /dev/null ++++ b/vcl/Executable_tdefilepicker.mk +@@ -0,0 +1,70 @@ ++# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*- ++# ++# Version: MPL 1.1 / GPLv3+ / LGPLv3+ ++# ++# The contents of this file are subject to the Mozilla Public License Version ++# 1.1 (the "License"); you may not use this file except in compliance with ++# the License or as specified alternatively below. You may obtain a copy of ++# the License at http://www.mozilla.org/MPL/ ++# ++# Software distributed under the License is distributed on an "AS IS" basis, ++# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++# for the specific language governing rights and limitations under the ++# License. ++# ++# Major Contributor(s): ++# Copyright (C) 2011 Matúš Kukan (initial developer) ++# Copyright (C) 2012 Timothy Pearson (TDE) ++# ++# All Rights Reserved. ++# ++# For minor contributions see the git repository. ++# ++# Alternatively, the contents of this file may be used under the terms of ++# either the GNU General Public License Version 3 or later (the "GPLv3+"), or ++# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), ++# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable ++# instead of those above. ++ ++$(eval $(call gb_Executable_Executable,tdefilepicker)) ++ ++$(eval $(call gb_Executable_add_defs,tdefilepicker,\ ++ $(TDE_CFLAGS) \ ++ -DENABLE_TDE \ ++)) ++ ++$(eval $(call gb_Executable_set_include,tdefilepicker,\ ++ $$(INCLUDE) \ ++ -I$(SRCDIR)/vcl/inc \ ++ -I$(SRCDIR)/solenv/inc \ ++)) ++ ++$(eval $(call gb_Executable_use_libraries,tdefilepicker,\ ++ sal \ ++ $(gb_STDLIBS) \ ++)) ++ ++$(eval $(call gb_Executable_add_libs,tdefilepicker,\ ++ $(TDE_LIBS) \ ++ -lkio -lX11 \ ++)) ++ ++$(eval $(call gb_Executable_add_exception_objects,tdefilepicker,\ ++ vcl/unx/kde/fpicker/kdecommandthread \ ++ vcl/unx/kde/fpicker/kdefilepicker \ ++ vcl/unx/kde/fpicker/kdefpmain \ ++ vcl/unx/kde/fpicker/kdemodalityfilter \ ++)) ++ ++$(eval $(call gb_Executable_add_generated_cxxobjects,tdefilepicker,\ ++ CustomTarget/vcl/unx/kde/fpicker/kdefilepicker.moc \ ++)) ++ ++$(eval $(call gb_Executable_set_warnings_not_errors,tdefilepicker)) ++ ++# TDE/TQt consider -Wshadow more trouble than benefit ++$(eval $(call gb_Executable_add_cxxflags,kdefilepicker,\ ++ -Wno-shadow \ ++)) ++ ++# vim: set noet sw=4 ts=4: +diff --git a/vcl/Library_vclplug_tde.mk b/vcl/Library_vclplug_tde.mk +new file mode 100644 +index 0000000..3f757db +--- /dev/null ++++ b/vcl/Library_vclplug_tde.mk +@@ -0,0 +1,109 @@ ++# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- ++#************************************************************************* ++# ++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++# ++# Copyright 2000, 2010 Oracle and/or its affiliates. ++# Copyright 2012 Timothy Pearson ++# ++# OpenOffice.org - a multi-platform office productivity suite ++# ++# This file is part of OpenOffice.org. ++# ++# OpenOffice.org is free software: you can redistribute it and/or modify ++# it under the terms of the GNU Lesser General Public License version 3 ++# only, as published by the Free Software Foundation. ++# ++# OpenOffice.org 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 Lesser General Public License version 3 for more details ++# (a copy is included in the LICENSE file that accompanied this code). ++# ++# You should have received a copy of the GNU Lesser General Public License ++# version 3 along with OpenOffice.org. If not, see ++# ++# for a copy of the LGPLv3 License. ++# ++#************************************************************************* ++ ++$(eval $(call gb_Library_Library,vclplug_tde)) ++ ++$(eval $(call gb_Library_use_packages,vclplug_tde,\ ++ fpicker_inc \ ++)) ++ ++$(eval $(call gb_Library_set_include,vclplug_tde,\ ++ $$(INCLUDE) \ ++ -I$(SRCDIR)/vcl/inc \ ++ -I$(SRCDIR)/solenv/inc \ ++)) ++ ++$(eval $(call gb_Library_set_include,vclplug_tde,\ ++ $$(INCLUDE) \ ++ $$(TDE_CFLAGS) \ ++)) ++ ++$(eval $(call gb_Library_add_defs,vclplug_tde,\ ++ -DVCLPLUG_TDE_IMPLEMENTATION \ ++)) ++ ++$(eval $(call gb_Library_use_api,vclplug_tde,\ ++ offapi \ ++ udkapi \ ++)) ++ ++$(eval $(call gb_Library_add_libs,vclplug_tde,\ ++ $$(TDE_LIBS) \ ++)) ++ ++$(eval $(call gb_Library_use_libraries,vclplug_tde,\ ++ vclplug_gen \ ++ vcl \ ++ tl \ ++ utl \ ++ sot \ ++ ucbhelper \ ++ basegfx \ ++ comphelper \ ++ cppuhelper \ ++ i18nisolang1 \ ++ i18nutil \ ++ jvmaccess \ ++ cppu \ ++ sal \ ++ X11 \ ++ Xext \ ++ SM \ ++ ICE \ ++ $(gb_STDLIBS) \ ++)) ++ ++$(eval $(call gb_Library_use_externals,vclplug_tde,\ ++ icule \ ++ icuuc \ ++)) ++ ++$(eval $(call gb_Library_add_exception_objects,vclplug_tde,\ ++ vcl/unx/kde/kdedata \ ++ vcl/unx/kde/salnativewidgets-kde \ ++ vcl/unx/kde/UnxCommandThread \ ++ vcl/unx/kde/UnxFilePicker \ ++ vcl/unx/kde/UnxNotifyThread \ ++)) ++ ++# TDE/TQt consider -Wshadow more trouble than benefit ++$(eval $(call gb_Library_add_cxxflags,vclplug_tde,\ ++ -Wno-shadow \ ++)) ++ ++$(eval $(call gb_Library_set_warnings_not_errors,vclplug_tde)) ++ ++ifeq ($(OS),LINUX) ++$(eval $(call gb_Library_use_libraries,vclplug_tde,\ ++ dl \ ++ m \ ++ pthread \ ++)) ++endif ++# vim: set noet sw=4 ts=4: +diff --git a/vcl/Module_vcl.mk b/vcl/Module_vcl.mk +index 2cd2bf5..441ec37 100644 +--- a/vcl/Module_vcl.mk ++++ b/vcl/Module_vcl.mk +@@ -55,6 +55,13 @@ $(eval $(call gb_Module_add_targets,vcl,\ + Library_vclplug_gtk3 \ + )) + endif ++ifneq ($(ENABLE_TDE),) ++$(eval $(call gb_Module_add_targets,vcl,\ ++ CustomTarget_tde_moc \ ++ Executable_tdefilepicker \ ++ Library_vclplug_tde \ ++)) ++endif + ifneq ($(ENABLE_KDE),) + $(eval $(call gb_Module_add_targets,vcl,\ + CustomTarget_kde_moc \ +diff --git a/vcl/inc/generic/gendata.hxx b/vcl/inc/generic/gendata.hxx +index f6e2668..67226b0 100644 +--- a/vcl/inc/generic/gendata.hxx ++++ b/vcl/inc/generic/gendata.hxx +@@ -38,7 +38,7 @@ class SalGenericDisplay; + class SalDisplay; + class GtkSalDisplay; + enum SalGenericDataType { SAL_DATA_GTK, SAL_DATA_GTK3, +- SAL_DATA_KDE3, SAL_DATA_KDE4, ++ SAL_DATA_TDE3, SAL_DATA_KDE3, SAL_DATA_KDE4, + SAL_DATA_UNX, SAL_DATA_SVP, + SAL_DATA_ANDROID, SAL_DATA_IOS, + SAL_DATA_HEADLESS }; +diff --git a/vcl/inc/unx/desktops.hxx b/vcl/inc/unx/desktops.hxx +index de4ebb8..4ec9d7b 100644 +--- a/vcl/inc/unx/desktops.hxx ++++ b/vcl/inc/unx/desktops.hxx +@@ -33,6 +33,7 @@ enum DesktopType { + DESKTOP_NONE, // headless, i.e. no X connection at all + DESKTOP_UNKNOWN, // unknown desktop, simple WM, etc. + DESKTOP_GNOME, ++ DESKTOP_TDE, + DESKTOP_KDE, + DESKTOP_KDE4, + DESKTOP_CDE +diff --git a/vcl/inc/unx/tde/tde_defines.h b/vcl/inc/unx/tde/tde_defines.h +new file mode 100644 +index 0000000..fe2d89e +--- /dev/null ++++ b/vcl/inc/unx/tde/tde_defines.h +@@ -0,0 +1,96 @@ ++/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ ++/************************************************************************* ++ * ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * Copyright 2012 Timothy Pearson ++ * ++ * OpenOffice.org - a multi-platform office productivity suite ++ * ++ * This file is part of OpenOffice.org. ++ * ++ * OpenOffice.org is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU Lesser General Public License version 3 ++ * only, as published by the Free Software Foundation. ++ * ++ * OpenOffice.org 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 Lesser General Public License version 3 for more details ++ * (a copy is included in the LICENSE file that accompanied this code). ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * version 3 along with OpenOffice.org. If not, see ++ * ++ * for a copy of the LGPLv3 License. ++ * ++ ************************************************************************/ ++ ++#ifndef INCLUDED_VCL_TDE_DEFINE_HEADERS_H ++#define INCLUDED_VCL_TDE_DEFINE_HEADERS_H ++ ++#define QObject TQObject ++#define QWidget TQWidget ++#define QVBox TQVBox ++#define QHBox TQHBox ++#define QGrid TQGrid ++#define QString TQString ++#define QStringList TQStringList ++#define QCustomEvent TQCustomEvent ++#define QMutex TQMutex ++#define QEvent TQEvent ++#define QFont TQFont ++#define QDateTime TQDateTime ++#define QThread TQThread ++#define QStyle TQStyle ++#define QApplication TQApplication ++#define QRect TQRect ++#define QProgressBar TQProgressBar ++#define QPopupMenu TQPopupMenu ++#define QMenuBar TQMenuBar ++#define QToolButton TQToolButton ++#define QToolBar TQToolBar ++#define QScrollBar TQScrollBar ++#define QListView TQListView ++#define QSpinWidget TQSpinWidget ++#define QScrollBar TQScrollBar ++#define QLineEdit TQLineEdit ++#define QComboBox TQComboBox ++#define QCheckBox TQCheckBox ++#define QRadioButton TQRadioButton ++#define QPushButton TQPushButton ++#define QPainter TQPainter ++#define QResizeEvent TQResizeEvent ++#define QShowEvent TQShowEvent ++#define QPoint TQPoint ++#define QDialog TQDialog ++#define QFile TQFile ++#define QLabel TQLabel ++#define QObjectList TQObjectList ++#define QCString TQCString ++#define QRegExp TQRegExp ++#define QSessionManager TQSessionManager ++#define QPaintDevice TQPaintDevice ++#define QTextIStream TQTextIStream ++#define QTextStream TQTextStream ++#define QMutexLocker TQMutexLocker ++#define QValueList TQValueList ++#define QTab TQTab ++#define QTabBar TQTabBar ++#define QTabWidget TQTabWidget ++#define QMainWindow TQMainWindow ++#define QPixmap TQPixmap ++#define QColorGroup TQColorGroup ++#define QStyleOption TQStyleOption ++#define QSize TQSize ++#define QMenuItem TQMenuItem ++#define QFontInfo TQFontInfo ++ ++#define qSwap tqSwap ++#define qt_cast tqt_cast ++#define qt_xdisplay tqt_xdisplay ++#define qVersion tqVersion ++ ++#endif ++ ++/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +diff --git a/vcl/inc/unx/tde/tde_headers.h b/vcl/inc/unx/tde/tde_headers.h +new file mode 100644 +index 0000000..a08d166 +--- /dev/null ++++ b/vcl/inc/unx/tde/tde_headers.h +@@ -0,0 +1,99 @@ ++/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ ++/************************************************************************* ++ * ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * Copyright 2000, 2010 Oracle and/or its affiliates. ++ * Copyright 2012 Timothy Pearson ++ * ++ * OpenOffice.org - a multi-platform office productivity suite ++ * ++ * This file is part of OpenOffice.org. ++ * ++ * OpenOffice.org is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU Lesser General Public License version 3 ++ * only, as published by the Free Software Foundation. ++ * ++ * OpenOffice.org 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 Lesser General Public License version 3 for more details ++ * (a copy is included in the LICENSE file that accompanied this code). ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * version 3 along with OpenOffice.org. If not, see ++ * ++ * for a copy of the LGPLv3 License. ++ * ++ ************************************************************************/ ++ ++#ifndef INCLUDED_VCL_TDE_HEADERS_H ++#define INCLUDED_VCL_TDE_HEADERS_H ++ ++/* ********* Suppress warnings if needed */ ++#include "sal/config.h" ++ ++#include ++ ++#if defined __GNUC__ ++#pragma GCC system_header ++#endif ++ ++ ++/* ********* Hack, but needed because of conflicting types... */ ++#define Region TQtXRegion ++ ++ ++/* ********* TQt headers */ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* ********* See hack on top of this file */ ++#undef Region ++ ++ ++/* ********* TDE base headers */ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++ ++/* ********* TDE address book connectivity headers */ ++#include ++#include ++#include ++#include ++ ++#endif ++ ++/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +diff --git a/vcl/inc/unx/tde/tdedata.hxx b/vcl/inc/unx/tde/tdedata.hxx +new file mode 100644 +index 0000000..c6b8dac +--- /dev/null ++++ b/vcl/inc/unx/tde/tdedata.hxx +@@ -0,0 +1,114 @@ ++/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ ++/************************************************************************* ++ * ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * Copyright 2000, 2010 Oracle and/or its affiliates. ++ * Copyright 2012 Timothy Pearson ++ * ++ * OpenOffice.org - a multi-platform office productivity suite ++ * ++ * This file is part of OpenOffice.org. ++ * ++ * OpenOffice.org is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU Lesser General Public License version 3 ++ * only, as published by the Free Software Foundation. ++ * ++ * OpenOffice.org 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 Lesser General Public License version 3 for more details ++ * (a copy is included in the LICENSE file that accompanied this code). ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * version 3 along with OpenOffice.org. If not, see ++ * ++ * for a copy of the LGPLv3 License. ++ * ++ ************************************************************************/ ++ ++#ifndef _VCL_TDEDATA_HXX ++#define _VCL_TDEDATA_HXX ++ ++#include ++#include ++#include ++ ++class TDEData : public X11SalData ++{ ++public: ++ TDEData( SalInstance *pInstance ) : X11SalData( SAL_DATA_TDE, pInstance ) {} ++ virtual ~TDEData(); ++ ++ virtual void Init(); ++ virtual void initNWF(); ++ virtual void deInitNWF(); ++}; ++ ++class SalTDEDisplay : public SalX11Display ++{ ++public: ++ SalTDEDisplay( Display* pDisp ); ++ virtual ~SalTDEDisplay(); ++}; ++ ++class TDESalFrame : public X11SalFrame ++{ ++ static const int nMaxGraphics = 2; ++ ++ struct GraphicsHolder ++ { ++ X11SalGraphics* pGraphics; ++ bool bInUse; ++ GraphicsHolder() ++ : pGraphics( NULL ), ++ bInUse( false ) ++ {} ++ ~GraphicsHolder(); ++ }; ++ GraphicsHolder m_aGraphics[ nMaxGraphics ]; ++ ++public: ++ TDESalFrame( SalFrame* pParent, sal_uLong ); ++ virtual ~TDESalFrame(); ++ ++ virtual SalGraphics* GetGraphics(); ++ virtual void ReleaseGraphics( SalGraphics *pGraphics ); ++ virtual void updateGraphics( bool bClear ); ++ virtual void UpdateSettings( AllSettings& rSettings ); ++ virtual void Show( sal_Bool bVisible, sal_Bool bNoActivate ); ++}; ++ ++class TDESalInstance : public X11SalInstance ++{ ++public: ++ TDESalInstance( SalYieldMutex* pMutex ) ++ : X11SalInstance( pMutex ) {} ++ virtual ~TDESalInstance() {} ++ virtual SalFrame* CreateFrame( SalFrame* pParent, sal_uLong nStyle ); ++}; ++ ++class TDEXLib : public SalXLib ++{ ++ bool m_bStartupDone; ++ void* m_pApplication; ++ char** m_pFreeCmdLineArgs; ++ char** m_pAppCmdLineArgs; ++ int m_nFakeCmdLineArgs; ++public: ++ TDEXLib() : SalXLib(), ++ m_bStartupDone( false ), ++ m_pApplication( NULL ), ++ m_pFreeCmdLineArgs( NULL ), ++ m_pAppCmdLineArgs( NULL ), ++ m_nFakeCmdLineArgs( 0 ) ++ {} ++ virtual ~TDEXLib(); ++ virtual void Init(); ++ ++ void doStartup(); ++}; ++ ++#endif // _VCL_TDEDATA_HXX ++ ++/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +diff --git a/vcl/inc/vclpluginapi.h b/vcl/inc/vclpluginapi.h +index 462943b..ec4a1c2 100644 +--- a/vcl/inc/vclpluginapi.h ++++ b/vcl/inc/vclpluginapi.h +@@ -44,6 +44,12 @@ + #define VCLPLUG_GTK_PUBLIC SAL_DLLPUBLIC_IMPORT + #endif + ++#if defined VCLPLUG_TDE_IMPLEMENTATION ++#define VCLPLUG_TDE_PUBLIC SAL_DLLPUBLIC_EXPORT ++#else ++#define VCLPLUG_TDE_PUBLIC SAL_DLLPUBLIC_IMPORT ++#endif ++ + #if defined VCLPLUG_KDE_IMPLEMENTATION + #define VCLPLUG_KDE_PUBLIC SAL_DLLPUBLIC_EXPORT + #else +diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx +index 35ed7a8..651fbdb 100644 +--- a/vcl/source/app/settings.cxx ++++ b/vcl/source/app/settings.cxx +@@ -616,6 +616,8 @@ sal_uLong StyleSettings::GetAutoSymbolsStyle() const + ( env.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("gnome")) || + env.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("windows")) ) + ? STYLE_SYMBOLS_TANGO ++ : env.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("tde")) ++ ? STYLE_SYMBOLS_CRYSTAL + : env.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("kde")) + ? STYLE_SYMBOLS_CRYSTAL + : env.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("kde4")) +diff --git a/vcl/unx/generic/desktopdetect/desktopdetector.cxx b/vcl/unx/generic/desktopdetect/desktopdetector.cxx +index f69f2de..68b3b71 100644 +--- a/vcl/unx/generic/desktopdetect/desktopdetector.cxx ++++ b/vcl/unx/generic/desktopdetect/desktopdetector.cxx +@@ -145,6 +145,47 @@ extern "C" + typedef int(* XErrorHandler)(Display*,XErrorEvent*); + } + ++static int TDEVersion( Display* pDisplay ) ++{ ++ int nRet = 0; ++ ++ Atom nFullSession = XInternAtom( pDisplay, "TDE_FULL_SESSION", True ); ++ Atom nTDEVersion = XInternAtom( pDisplay, "TDE_SESSION_VERSION", True ); ++ ++ if( nFullSession ) ++ { ++ if( !nTDEVersion ) ++ return 14; ++ ++ Atom aRealType = None; ++ int nFormat = 8; ++ unsigned long nItems = 0; ++ unsigned long nBytesLeft = 0; ++ unsigned char* pProperty = NULL; ++ XGetWindowProperty( pDisplay, ++ DefaultRootWindow( pDisplay ), ++ nTDEVersion, ++ 0, 1, ++ False, ++ AnyPropertyType, ++ &aRealType, ++ &nFormat, ++ &nItems, ++ &nBytesLeft, ++ &pProperty ); ++ if( !WasXError() && nItems != 0 && pProperty ) ++ { ++ nRet = *reinterpret_cast< sal_Int32* >( pProperty ); ++ } ++ if( pProperty ) ++ { ++ XFree( pProperty ); ++ pProperty = NULL; ++ } ++ } ++ return nRet; ++} ++ + static int KDEVersion( Display* pDisplay ) + { + int nRet = 0; +@@ -186,6 +227,19 @@ static int KDEVersion( Display* pDisplay ) + return nRet; + } + ++static bool is_tde_desktop( Display* pDisplay ) ++{ ++ if ( NULL != getenv( "TDE_FULL_SESSION" ) ) ++ { ++ return true; // TDE ++ } ++ ++ if ( TDEVersion( pDisplay ) >= 14 ) ++ return true; ++ ++ return false; ++} ++ + static bool is_kde_desktop( Display* pDisplay ) + { + if ( NULL != getenv( "KDE_FULL_SESSION" ) ) +@@ -237,6 +291,8 @@ DESKTOP_DETECTOR_PUBLIC DesktopType get_desktop_environment() + { + OString aOver( pOverride ); + ++ if ( aOver.equalsIgnoreAsciiCase( "tde" ) ) ++ return DESKTOP_TDE; + if ( aOver.equalsIgnoreAsciiCase( "kde4" ) ) + return DESKTOP_KDE4; + if ( aOver.equalsIgnoreAsciiCase( "gnome" ) ) +@@ -295,7 +351,9 @@ DESKTOP_DETECTOR_PUBLIC DesktopType get_desktop_environment() + + XErrorHandler pOldHdl = XSetErrorHandler( autodect_error_handler ); + +- if ( is_kde4_desktop( pDisplay ) ) ++ if ( is_tde_desktop( pDisplay ) ) ++ ret = DESKTOP_TDE; ++ else if ( is_kde4_desktop( pDisplay ) ) + ret = DESKTOP_KDE4; + else if ( is_gnome_desktop( pDisplay ) ) + ret = DESKTOP_GNOME; +diff --git a/vcl/unx/generic/plugadapt/salplug.cxx b/vcl/unx/generic/plugadapt/salplug.cxx +index d2400d7..ab19d34 100644 +--- a/vcl/unx/generic/plugadapt/salplug.cxx ++++ b/vcl/unx/generic/plugadapt/salplug.cxx +@@ -98,7 +98,7 @@ static SalInstance* tryInstance( const OUString& rModuleBase, bool bForce = fals + * #i109007# KDE3 seems to have the same problem. + * And same applies for KDE4. + */ +- if( rModuleBase == "gtk" || rModuleBase == "gtk3" || rModuleBase == "kde" || rModuleBase == "kde4" ) ++ if( rModuleBase == "gtk" || rModuleBase == "gtk3" || rModuleBase == "tde" || rModuleBase == "kde" || rModuleBase == "kde4" ) + { + pCloseModule = NULL; + } +@@ -159,6 +159,11 @@ static DesktopType get_desktop_environment() + + static SalInstance* autodetect_plugin() + { ++ static const char* pTDEFallbackList[] = ++ { ++ "tde", "kde4", "kde", "gtk3", "gtk", "gen", 0 ++ }; ++ + static const char* pKDEFallbackList[] = + { + "kde4", "kde", "gtk3", "gtk", "gen", 0 +@@ -183,6 +188,11 @@ static SalInstance* autodetect_plugin() + pList = pHeadlessFallbackList; + else if ( desktop == DESKTOP_GNOME ) + pList = pStandardFallbackList; ++ else if( desktop == DESKTOP_TDE ) ++ { ++ pList = pTDEFallbackList; ++ nListEntry = 1; ++ } + else if( desktop == DESKTOP_KDE ) + { + pList = pKDEFallbackList; +@@ -236,7 +246,7 @@ SalInstance *CreateSalInstance() + pInst = autodetect_plugin(); + + // fallback, try everything +- const char* pPlugin[] = { "gtk3", "gtk", "kde4", "kde", "gen", 0 }; ++ const char* pPlugin[] = { "gtk3", "gtk", "tde", "kde4", "kde", "gen", 0 }; + + for ( int i = 0; !pInst && pPlugin[ i ]; ++i ) + pInst = tryInstance( OUString::createFromAscii( pPlugin[ i ] ) ); +@@ -291,7 +301,7 @@ void SalAbort( const rtl::OUString& rErrorText, bool bDumpCore ) + _exit(1); + } + +-static const char * desktop_strings[] = { "none", "unknown", "GNOME", "KDE", "KDE4" }; ++static const char * desktop_strings[] = { "none", "unknown", "GNOME", "TDE", "KDE", "KDE4" }; + + const OUString& SalGetDesktopEnvironment() + { +diff --git a/vcl/unx/kde/FPServiceInfo.hxx b/vcl/unx/kde/FPServiceInfo.hxx +index 9e4cbf1..17d2dd6 100644 +--- a/vcl/unx/kde/FPServiceInfo.hxx ++++ b/vcl/unx/kde/FPServiceInfo.hxx +@@ -30,11 +30,21 @@ + #ifndef _FPSERVICEINFO_HXX_ + #define _FPSERVICEINFO_HXX_ + ++#ifdef ENABLE_TDE ++ + // the service names +-#define FILE_PICKER_SERVICE_NAME "com.sun.star.ui.dialogs.KDEFilePicker" ++#define FILE_PICKER_SERVICE_NAME "com.sun.star.ui.dialogs.TDEFilePicker" + +-// the implementation names +-#define FILE_PICKER_IMPL_NAME "com.sun.star.ui.dialogs.UnxFilePicker" ++// the registry key names ++// a key under which this service will be registered, ++// Format: -> "/ImplName/UNO/SERVICES/ServiceName" ++// ++#define FILE_PICKER_REGKEY_NAME "/com.sun.star.ui.dialogs.UnxFilePicker/UNO/SERVICES/com.sun.star.ui.dialogs.TDEFilePicker" ++ ++#else // ENABLE_TDE ++ ++// the service names ++#define FILE_PICKER_SERVICE_NAME "com.sun.star.ui.dialogs.KDEFilePicker" + + // the registry key names + // a key under which this service will be registered, +@@ -42,6 +52,11 @@ + // + #define FILE_PICKER_REGKEY_NAME "/com.sun.star.ui.dialogs.UnxFilePicker/UNO/SERVICES/com.sun.star.ui.dialogs.KDEFilePicker" + ++#endif // ENABLE_TDE ++ ++// the implementation names ++#define FILE_PICKER_IMPL_NAME "com.sun.star.ui.dialogs.UnxFilePicker" ++ + #endif + + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +diff --git a/vcl/unx/kde/fpicker/kdecommandthread.cxx b/vcl/unx/kde/fpicker/kdecommandthread.cxx +index b68ddb0..e63b2d7 100644 +--- a/vcl/unx/kde/fpicker/kdecommandthread.cxx ++++ b/vcl/unx/kde/fpicker/kdecommandthread.cxx +@@ -26,11 +26,19 @@ + * + ************************************************************************/ + ++#ifdef ENABLE_TDE ++#include ++#endif // ENABLE_TDE ++ + #include + + #include + ++#ifdef ENABLE_TDE ++#include ++#else // ENABLE_TDE + #include ++#endif // ENABLE_TDE + + #include + +diff --git a/vcl/unx/kde/fpicker/kdecommandthread.hxx b/vcl/unx/kde/fpicker/kdecommandthread.hxx +index 7486bf9..294b04d 100644 +--- a/vcl/unx/kde/fpicker/kdecommandthread.hxx ++++ b/vcl/unx/kde/fpicker/kdecommandthread.hxx +@@ -29,9 +29,19 @@ + #ifndef _KDECOMMANDTHREAD_HXX_ + #define _KDECOMMANDTHREAD_HXX_ + ++#ifdef ENABLE_TDE ++#include ++#endif // ENABLE_TDE ++ ++#ifdef ENABLE_TDE ++#include ++#include ++#include ++#else // ENABLE_TDE + #include + #include + #include ++#endif // ENABLE_TDE + + class KDECommandEvent : public QCustomEvent + { +diff --git a/vcl/unx/kde/fpicker/kdefilepicker.cxx b/vcl/unx/kde/fpicker/kdefilepicker.cxx +index 779a34d..180aca0 100644 +--- a/vcl/unx/kde/fpicker/kdefilepicker.cxx ++++ b/vcl/unx/kde/fpicker/kdefilepicker.cxx +@@ -28,9 +28,41 @@ + + #include + ++#ifdef ENABLE_TDE ++#include ++#endif // ENABLE_TDE ++ + #include + #include + ++#ifdef ENABLE_TDE ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#ifdef TQT_NO_EMIT ++#define emit ++#endif ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#else // ENABLE_TDE ++ + #include + #include + #include +@@ -55,6 +87,8 @@ + #include + #include + ++#endif // ENABLE_TDE ++ + #include + #include + +diff --git a/vcl/unx/kde/fpicker/kdefilepicker.hxx b/vcl/unx/kde/fpicker/kdefilepicker.hxx +index 4d545eb..b0482d8 100644 +--- a/vcl/unx/kde/fpicker/kdefilepicker.hxx ++++ b/vcl/unx/kde/fpicker/kdefilepicker.hxx +@@ -29,6 +29,10 @@ + #ifndef _KDEFILEPICKER_HXX_ + #define _KDEFILEPICKER_HXX_ + ++#ifdef ENABLE_TDE ++#include ++#endif // ENABLE_TDE ++ + #include + + #include +@@ -40,7 +44,11 @@ class QVBox; + + class KDEFileDialog : public KFileDialog + { ++#ifdef ENABLE_TDE ++ TQ_OBJECT ++#else // ENABLE_TDE + Q_OBJECT ++#endif // ENABLE_TDE + + protected: + typedef QPair< QString, QString > FilterEntry; +diff --git a/vcl/unx/kde/fpicker/kdefpmain.cxx b/vcl/unx/kde/fpicker/kdefpmain.cxx +index be40226..b06968a 100644 +--- a/vcl/unx/kde/fpicker/kdefpmain.cxx ++++ b/vcl/unx/kde/fpicker/kdefpmain.cxx +@@ -26,6 +26,10 @@ + * + ************************************************************************/ + ++#ifdef ENABLE_TDE ++#include ++#endif // ENABLE_TDE ++ + #include + + #include +@@ -39,6 +43,14 @@ + #include + #include + ++#ifdef ENABLE_TDE ++#define THIS_DESKENV_NAME_CAP "TDE" ++#define THIS_DESKENV_NAME_LOW "tde" ++#else // ENABLE_TDE ++#define THIS_DESKENV_NAME_CAP "KDE" ++#define THIS_DESKENV_NAME_LOW "kde" ++#endif // ENABLE_TDE ++ + ////////////////////////////////////////////////////////////////////////// + // Main + ////////////////////////////////////////////////////////////////////////// +@@ -54,13 +66,13 @@ int main( int argc, char* argv[] ) + // we fake the name of the application to have "LibreOffice" in the + // title + KAboutData qAboutData( "kdefilepicker", I18N_NOOP( "LibreOffice" ), +- "0.1", I18N_NOOP( "kdefilepicker is an implementation of the KDE file dialog for LibreOffice." ), ++ "0.1", I18N_NOOP( "kdefilepicker is an implementation of the " THIS_DESKENV_NAME_CAP " file dialog for LibreOffice." ), + KAboutData::License_LGPL, + "(c) 2004, Jan Holesovsky" ); + qAboutData.addAuthor( "Jan Holesovsky", I18N_NOOP("Original author and current maintainer"), "kendy@openoffice.org" ); + + // Let the user see that this does something... +- ::std::cerr << "kdefilepicker, an implementation of KDE file dialog for OOo." << ::std::endl ++ ::std::cerr << "kdefilepicker, an implementation of a " THIS_DESKENV_NAME_CAP " file dialog for OOo." << ::std::endl + << "Type 'exit' and press Enter to finish." << ::std::endl; + + KCmdLineArgs::addCmdLineOptions( sOptions ); +@@ -77,7 +89,7 @@ int main( int argc, char* argv[] ) + + KDEModalityFilter qModalityFilter( nWinId ); + +- KDEFileDialog aFileDialog( NULL, QString(), NULL, "kdefiledialog" ); ++ KDEFileDialog aFileDialog( NULL, QString(), NULL, THIS_DESKENV_NAME_LOW "filedialog" ); + + KDECommandThread qCommandThread( &aFileDialog ); + qCommandThread.start(); +diff --git a/vcl/unx/kde/fpicker/kdemodalityfilter.cxx b/vcl/unx/kde/fpicker/kdemodalityfilter.cxx +index 5aeddb0..2b4ebf3 100644 +--- a/vcl/unx/kde/fpicker/kdemodalityfilter.cxx ++++ b/vcl/unx/kde/fpicker/kdemodalityfilter.cxx +@@ -26,6 +26,10 @@ + * + ************************************************************************/ + ++#ifdef ENABLE_TDE ++#include ++#endif // ENABLE_TDE ++ + #include + + #include +diff --git a/vcl/unx/kde/fpicker/kdemodalityfilter.hxx b/vcl/unx/kde/fpicker/kdemodalityfilter.hxx +index 8635694..9f68e72 100644 +--- a/vcl/unx/kde/fpicker/kdemodalityfilter.hxx ++++ b/vcl/unx/kde/fpicker/kdemodalityfilter.hxx +@@ -29,7 +29,15 @@ + #ifndef _KDEMODALITYFILTER_HXX_ + #define _KDEMODALITYFILTER_HXX_ + ++#ifdef ENABLE_TDE ++#include ++#endif // ENABLE_TDE ++ ++#ifdef ENABLE_TDE ++#include ++#else // ENABLE_TDE + #include ++#endif // ENABLE_TDE + + class KDEModalityFilter : public QObject + { +diff --git a/vcl/unx/kde/kdedata.cxx b/vcl/unx/kde/kdedata.cxx +index d66e227..f2a494b 100644 +--- a/vcl/unx/kde/kdedata.cxx ++++ b/vcl/unx/kde/kdedata.cxx +@@ -28,7 +28,16 @@ + + + #define _SV_SALDATA_CXX ++ ++#ifdef ENABLE_TDE ++#include ++#endif // ENABLE_TDE ++ ++#ifdef ENABLE_TDE ++#include ++#else // ENABLE_TDE + #include ++#endif // ENABLE_TDE + + #include + #include +@@ -56,6 +65,14 @@ + + #include "vclpluginapi.h" + ++#ifdef ENABLE_TDE ++#define THIS_DESKENV_NAME_CAP "TDE" ++#define THIS_DESKENV_NAME_LOW "tde" ++#else // ENABLE_TDE ++#define THIS_DESKENV_NAME_CAP "KDE" ++#define THIS_DESKENV_NAME_LOW "kde" ++#endif // ENABLE_TDE ++ + /* #i59042# override KApplications method for session management + * since it will interfere badly with our own. + */ +@@ -123,7 +140,7 @@ void KDEXLib::Init() + KAboutData *kAboutData = new KAboutData( "LibreOffice", + I18N_NOOP( "LibreOffice" ), + "1.1.0", +- I18N_NOOP( "LibreOffice with KDE Native Widget Support." ), ++ I18N_NOOP( "LibreOffice with " THIS_DESKENV_NAME_CAP " Native Widget Support." ), + KAboutData::License_LGPL, + "(c) 2003, 2004 Novell, Inc", + I18N_NOOP( "LibreOffice is an office suite.\n" ), +diff --git a/vcl/unx/kde/salnativewidgets-kde.cxx b/vcl/unx/kde/salnativewidgets-kde.cxx +index 0376e94a..cd9700e 100644 +--- a/vcl/unx/kde/salnativewidgets-kde.cxx ++++ b/vcl/unx/kde/salnativewidgets-kde.cxx +@@ -28,7 +28,17 @@ + + + #define _SV_SALNATIVEWIDGETS_KDE_CXX ++ ++#ifdef ENABLE_TDE ++#include ++#endif // ENABLE_TDE ++ ++#ifdef ENABLE_TDE ++#include ++#else // ENABLE_TDE + #include ++#endif // ENABLE_TDE ++ + #include "UnxFilePicker.hxx" + + #include