summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Thiebaud <nthiebaud@gmail.com>2012-05-14 20:09:41 -0500
committerNorbert Thiebaud <nthiebaud@gmail.com>2012-05-14 20:09:41 -0500
commit07b3d083b49b4cbb248b5ba0aeba2bbdd3cc487d (patch)
tree5f80a6862e44b938c4e7f62f457d1b48f5a0195b
parent007f16ef7ad40ae932df884ba04f0de71928b852 (diff)
TDE integration
Change-Id: I6f468005c8d8d99d9251a9c4fe4629b98bc4aa5e
-rw-r--r--Repository.mk4
-rwxr-xr-xbin/distro-install-file-lists11
-rw-r--r--config_host.mk.in7
-rw-r--r--configure.in186
-rw-r--r--connectivity/prj/d.lst2
-rw-r--r--connectivity/source/drivers/kab/KDEInit.h13
-rw-r--r--connectivity/source/drivers/kab/makefile.mk118
-rw-r--r--connectivity/source/drivers/kab/tdeab.xcu46
-rw-r--r--connectivity/source/drivers/kab/tdeab.xml77
-rw-r--r--connectivity/source/drivers/kab/tdeab1.component34
-rw-r--r--connectivity/source/drivers/kab/tdeabdrv.map9
-rwxr-xr-xconnectivity/version.mk11
-rw-r--r--cui/Library_cui.mk1
-rw-r--r--cui/source/options/optgdlg.cxx8
-rw-r--r--desktop/Pagein_common.mk1
-rw-r--r--postprocess/packcomponents/makefile.mk8
-rw-r--r--postprocess/packregistry/makefile.mk3
-rw-r--r--scp2/prj/build.lst3
-rw-r--r--scp2/source/ooo/file_library_ooo.scp41
-rw-r--r--scp2/source/ooo/file_ooo.scp7
-rw-r--r--scp2/source/ooo/makefile.mk8
-rw-r--r--scp2/source/ooo/module_hidden_ooo.scp4
-rw-r--r--scp2/source/tde/file_tde.scp33
-rw-r--r--scp2/source/tde/makefile.mk56
-rw-r--r--scp2/source/tde/module_tde.scp41
-rw-r--r--scp2/source/tde/module_tde.ulf30
-rw-r--r--scp2/util/makefile.mk6
-rw-r--r--setup_native/source/packinfo/packinfo_office.txt15
-rw-r--r--shell/inc/shell/kde_headers.h (renamed from shell/inc/kde_headers.h)8
-rw-r--r--shell/inc/shell/tde_defines.h93
-rw-r--r--shell/inc/shell/tde_headers.h97
-rw-r--r--shell/prj/d.lst6
-rw-r--r--shell/source/backends/kdebe/kdeaccess.cxx2
-rw-r--r--shell/source/backends/kdebe/kdebackend.cxx2
-rw-r--r--shell/source/backends/kdebe/makefile.mk45
-rw-r--r--shell/source/backends/kdebe/tdebe1.component34
-rw-r--r--shell/source/unix/misc/makefile.mk1
-rw-r--r--shell/source/unix/misc/tde-open-url.sh10
-rw-r--r--solenv/gbuild/gbuild.mk4
-rw-r--r--solenv/inc/unx.mk12
-rw-r--r--vcl/CustomTarget_tde_moc.mk39
-rw-r--r--vcl/Executable_tdefilepicker.mk71
-rw-r--r--vcl/Library_vclplug_tde.mk107
-rw-r--r--vcl/Module_vcl.mk7
-rw-r--r--vcl/inc/generic/gendata.hxx2
-rw-r--r--vcl/inc/unx/desktops.hxx1
-rw-r--r--vcl/inc/unx/kde/kde_headers.h98
-rw-r--r--vcl/inc/unx/tde/tdedata.hxx114
-rw-r--r--vcl/inc/vclpluginapi.h6
-rw-r--r--vcl/prj/build.lst2
-rw-r--r--vcl/source/app/settings.cxx2
-rw-r--r--vcl/unx/generic/desktopdetect/desktopdetector.cxx60
-rw-r--r--vcl/unx/generic/plugadapt/salplug.cxx16
-rw-r--r--vcl/unx/kde/FPServiceInfo.hxx21
-rw-r--r--vcl/unx/kde/fpicker/kdecommandthread.cxx4
-rw-r--r--vcl/unx/kde/fpicker/kdecommandthread.hxx10
-rw-r--r--vcl/unx/kde/fpicker/kdefilepicker.cxx30
-rw-r--r--vcl/unx/kde/fpicker/kdefilepicker.hxx8
-rw-r--r--vcl/unx/kde/fpicker/kdefpmain.cxx14
-rw-r--r--vcl/unx/kde/fpicker/kdemodalityfilter.hxx8
-rw-r--r--vcl/unx/kde/kdedata.cxx13
-rw-r--r--vcl/unx/kde/salnativewidgets-kde.cxx4
62 files changed, 1600 insertions, 134 deletions
diff --git a/Repository.mk b/Repository.mk
index 900b5389ca12..0ab52c955d2b 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 c36b67c08ff8..de3b859a39b3 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 11123316a7ff..0a85bfd5cbb4 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@
@@ -245,6 +247,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 6c71d850ad01..9345e9d73e03 100644
--- a/configure.in
+++ b/configure.in
@@ -166,6 +166,7 @@ case "$host_os" in
solaris*)
test_gtk=yes
build_gstreamer=yes
+ test_tde=yes
test_kde=yes
test_freetype=yes
test_gstreamer=yes
@@ -194,6 +195,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
@@ -280,6 +282,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
@@ -308,6 +311,7 @@ freebsd*)
*netbsd*)
test_gtk=yes
build_gstreamer=yes
+ test_tde=no
test_kde=no
test_kde4=yes
test_freetype=yes
@@ -324,6 +328,7 @@ aix*)
openbsd*)
test_gtk=yes
+ test_tde=yes
test_kde=yes
test_freetype=yes
PTHREAD_CFLAGS="-D_THREAD_SAFE"
@@ -334,6 +339,7 @@ openbsd*)
dragonfly*)
test_gtk=yes
build_gstreamer=yes
+ test_tde=yes
test_kde=yes
test_kde4=yes
test_freetype=yes
@@ -347,6 +353,7 @@ linux-androideabi*)
test_fontconfig=no
test_freetype=no
test_gtk=no
+ test_tde=no
test_kde=no
test_kde4=no
test_randr=no
@@ -774,6 +781,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
@@ -3614,6 +3636,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
@@ -8663,6 +8686,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"
@@ -9367,6 +9397,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 ===================================================================
@@ -9700,6 +9859,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 <tdeversion.h>
+
+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/prj/d.lst b/connectivity/prj/d.lst
index b80de856b5d9..1801ad897627 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/KDEInit.h b/connectivity/source/drivers/kab/KDEInit.h
index 9a5ea70da211..b70df86adfeb 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/makefile.mk b/connectivity/source/drivers/kab/makefile.mk
index 9494037d236b..bce8aa21f4b6 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 -I$(SRCDIR)/shell/inc
+CFLAGSCXX+=-DENABLE_TDE -I$(SRCDIR)/shell/inc
+
+.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 000000000000..7615b5592849
--- /dev/null
+++ b/connectivity/source/drivers/kab/tdeab.xcu
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--***********************************************************************
+ *
+ * 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
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************ -->
+<oor:component-data oor:name="Drivers" oor:package="org.openoffice.Office.DataAccess" xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <node oor:name="Installed">
+ <node oor:name="sdbc:address:tdeab" oor:op="replace">
+ <prop oor:name="Driver">
+ <value>com.sun.star.comp.sdbc.tdeab.Driver</value>
+ </prop>
+ <prop oor:name="DriverTypeDisplayName" oor:type="xs:string">
+ <value xml:lang="en-US">TDE Address Book</value>
+ </prop>
+ <node oor:name="Features">
+ <node oor:name="EscapeDateTime" oor:op="replace">
+ <prop oor:name="Value" oor:type="xs:boolean">
+ <value>true</value>
+ </prop>
+ </node>
+ </node>
+ </node>
+ </node>
+</oor:component-data>
diff --git a/connectivity/source/drivers/kab/tdeab.xml b/connectivity/source/drivers/kab/tdeab.xml
new file mode 100644
index 000000000000..ef3d7bff387b
--- /dev/null
+++ b/connectivity/source/drivers/kab/tdeab.xml
@@ -0,0 +1,77 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<!DOCTYPE COMPONENTDESCRIPTION PUBLIC "-//W3C//DTD HTML 3.2//EN" "module-description.dtd">
+<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
+ <module-name> tdeab1 </module-name>
+ <component-description>
+ <Author>Eric Bischoff</Author>
+ <Name>com.sun.star.comp.sdbc.tdeab.Driver</Name>
+ <description>This library implements the database driver for TDE address book formats.</description>
+ <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
+ <language>c++</language>
+ <status value="final"/>
+ <supported-service>com.sun.star.sdbc.Driver</supported-service>
+ <service-dependency> ... </service-dependency>
+ </component-description>
+ <project-build-dependency> cppuhelper </project-build-dependency>
+ <project-build-dependency> cppu </project-build-dependency>
+ <project-build-dependency> sal </project-build-dependency>
+
+ <runtime-module-dependency> cppuhelper </runtime-module-dependency>
+ <runtime-module-dependency> cppu1 </runtime-module-dependency>
+ <runtime-module-dependency> sal1 </runtime-module-dependency>
+
+ <type> com.sun.star.registry.XRegistryKey </type>
+ <type> com.sun.star.util.XCancellable </type>
+ <type> com.sun.star.util.XNumberFormatter </type>
+ <type> com.sun.star.uno.TypeClass </type>
+ <type> com.sun.star.uno.XWeak </type>
+ <type> com.sun.star.uno.XAggregation </type>
+ <type> com.sun.star.uno.XComponentContext </type>
+ <type> com.sun.star.beans.PropertyAttribute </type>
+ <type> com.sun.star.beans.XPropertyState </type>
+ <type> com.sun.star.beans.XPropertySet </type>
+ <type> com.sun.star.beans.PropertyValue </type>
+ <type> com.sun.star.beans.XMultiPropertySet </type>
+ <type> com.sun.star.beans.XFastPropertySet </type>
+ <type> com.sun.star.lang.XSingleServiceFactory </type>
+ <type> com.sun.star.lang.XTypeProvider </type>
+ <type> com.sun.star.lang.XSingleComponentFactory </type>
+ <type> com.sun.star.lang.EventObject </type>
+ <type> com.sun.star.lang.XComponent </type>
+ <type> com.sun.star.lang.IllegalArgumentException </type>
+ <type> com.sun.star.lang.DisposedException </type>
+ <type> com.sun.star.lang.XMultiServiceFactory </type>
+ <type> com.sun.star.lang.XServiceInfo </type>
+ <type> com.sun.star.lang.XUnoTunnel </type>
+ <type> com.sun.star.java.XJavaThreadRegister_11 </type>
+ <type> com.sun.star.java.XJavaVM </type>
+ <type> com.sun.star.sdbc.FetchDirection </type>
+ <type> com.sun.star.sdbc.XConnection </type>
+ <type> com.sun.star.sdbc.XStatement </type>
+ <type> com.sun.star.sdbc.XResultSet </type>
+ <type> com.sun.star.sdbc.XResultSetMetaDataSupplier</type>
+ <type> com.sun.star.sdbc.XColumnLocate </type>
+ <type> com.sun.star.sdbc.XResultSetUpdate </type>
+ <type> com.sun.star.sdbc.XWarningsSupplier </type>
+ <type> com.sun.star.sdbc.XRowUpdate </type>
+ <type> com.sun.star.sdbc.XMultipleResults </type>
+ <type> com.sun.star.sdbc.XBatchExecution </type>
+ <type> com.sun.star.sdbc.XPreparedBatchExecution </type>
+ <type> com.sun.star.sdbc.XParameters </type>
+ <type> com.sun.star.sdbc.XOutParameters </type>
+ <type> com.sun.star.sdbc.DriverPropertyInfo </type>
+ <type> com.sun.star.sdbc.SQLWarning </type>
+ <type> com.sun.star.sdbc.XRow </type>
+ <type> com.sun.star.sdbc.ColumnSearch </type>
+ <type> com.sun.star.sdbc.ColumnValue </type>
+ <type> com.sun.star.sdbc.DataType </type>
+ <type> com.sun.star.sdbc.XDriver </type>
+ <type> com.sun.star.sdbc.TransactionIsolation </type>
+ <type> com.sun.star.sdbc.ResultSetType </type>
+ <type> com.sun.star.sdbc.ResultSetConcurrency </type>
+ <type> com.sun.star.sdbcx.XRowLocate </type>
+ <type> com.sun.star.sdbcx.XDeleteRows </type>
+ <type> com.sun.star.sdbcx.CompareBookmark </type>
+ <type> com.sun.star.sdb.XColumnUpdate </type>
+ <type> com.sun.star.sdb.XColumn </type>
+</module-description>
diff --git a/connectivity/source/drivers/kab/tdeab1.component b/connectivity/source/drivers/kab/tdeab1.component
new file mode 100644
index 000000000000..407277136cbb
--- /dev/null
+++ b/connectivity/source/drivers/kab/tdeab1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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
+*
+* 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
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbc.tdeab.Driver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/kab/tdeabdrv.map b/connectivity/source/drivers/kab/tdeabdrv.map
new file mode 100644
index 000000000000..5de866f2e52f
--- /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 fd2235cfd182..07af09f30b89 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 089014e99f6c..4da2f8fa6761 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 418455e9d242..460f08af7455 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 258ba1992c2b..65a2e9427f95 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 b921281b5920..f4be7f27ce58 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 290b3c503371..c8a692026f40 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 9b8243240874..59ebecec1ecc 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 e3ae2390fc30..e46f50f11efd 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 459d31e38ecc..450d9e64d5eb 100644
--- a/scp2/source/ooo/file_ooo.scp
+++ b/scp2/source/ooo/file_ooo.scp
@@ -181,6 +181,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 b385f8dd1548..a3bd31b4c918 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 cdcd157ef52e..3308e20da374 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 000000000000..b4a7e1daf157
--- /dev/null
+++ b/scp2/source/tde/file_tde.scp
@@ -0,0 +1,33 @@
+/*************************************************************************
+ * 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. 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.
+ *
+ * The Initial Developer of the Original Code is
+ * Timothy Pearson <kb9vqf@pearsoncomputing.net> (C) 2012, All Rights Reserved.
+ *
+ * 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.
+ *
+ ************************************************************************/
+#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 000000000000..03bd0ba56dbe
--- /dev/null
+++ b/scp2/source/tde/makefile.mk
@@ -0,0 +1,56 @@
+#*************************************************************************
+#
+# 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. 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.
+#
+# The Initial Developer of the Original Code is
+# Timothy Pearson <kb9vqf@pearsoncomputing.net> (C) 2012, All Rights Reserved.
+#
+# 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.
+#
+#*************************************************************************
+
+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 000000000000..dcdd867cf3e8
--- /dev/null
+++ b/scp2/source/tde/module_tde.scp
@@ -0,0 +1,41 @@
+/*************************************************************************
+ * 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. 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.
+ *
+ * The Initial Developer of the Original Code is
+ * Timothy Pearson <kb9vqf@pearsoncomputing.net> (C) 2012, All Rights Reserved.
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#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 000000000000..65b03ba7ec99
--- /dev/null
+++ b/scp2/source/tde/module_tde.ulf
@@ -0,0 +1,30 @@
+/*************************************************************************
+ * 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. 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.
+ *
+ * The Initial Developer of the Original Code is
+ * Timothy Pearson <kb9vqf@pearsoncomputing.net> (C) 2012, All Rights Reserved.
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+[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 4cd31f5872cc..daafb585ec7a 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 97127efc0932..0e4a704d9e3a 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/kde_headers.h b/shell/inc/shell/kde_headers.h
index 7ec45fdc383d..d92fceb34122 100644
--- a/shell/inc/kde_headers.h
+++ b/shell/inc/shell/kde_headers.h
@@ -29,6 +29,12 @@
#ifndef INCLUDED_VCL_KDE_HEADERS_H
#define INCLUDED_VCL_KDE_HEADERS_H
+#ifdef ENABLE_TDE
+
+#include "shell/tde_headers.h"
+
+#else // ENABLE_TDE
+
/* ********* Suppress warnings if needed */
#include "sal/config.h"
@@ -93,6 +99,8 @@
#include <kabc/field.h>
#include <kabc/stdaddressbook.h>
+#endif // ENABLE_TDE
+
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/shell/inc/shell/tde_defines.h b/shell/inc/shell/tde_defines.h
new file mode 100644
index 000000000000..52e610c72020
--- /dev/null
+++ b/shell/inc/shell/tde_defines.h
@@ -0,0 +1,93 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ * 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. 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.
+ *
+ * The Initial Developer of the Original Code is
+ * Timothy Pearson <kb9vqf@pearsoncomputing.net> (C) 2012, All Rights Reserved.
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#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/shell/tde_headers.h b/shell/inc/shell/tde_headers.h
new file mode 100644
index 000000000000..d0f14447dd7b
--- /dev/null
+++ b/shell/inc/shell/tde_headers.h
@@ -0,0 +1,97 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ * 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. 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.
+ *
+ * The Initial Developer of the Original Code is
+ * Timothy Pearson <kb9vqf@pearsoncomputing.net> (C) 2012, All Rights Reserved.
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_VCL_TDE_HEADERS_H
+#define INCLUDED_VCL_TDE_HEADERS_H
+
+/* ********* Suppress warnings if needed */
+#include "sal/config.h"
+
+#include <cstddef>
+
+#if defined __GNUC__
+#pragma GCC system_header
+#endif
+
+
+/* ********* Hack, but needed because of conflicting types... */
+#define Region TQtXRegion
+
+
+/* ********* TQt headers */
+#include <tqaccessible.h>
+#include <tqcheckbox.h>
+#include <tqcombobox.h>
+#include <tqfont.h>
+#include <tqframe.h>
+#include <tqlineedit.h>
+#include <tqlistview.h>
+#include <tqmainwindow.h>
+#include <tqmenudata.h>
+#include <tqpaintdevice.h>
+#include <tqpainter.h>
+#include <tqpushbutton.h>
+#include <tqradiobutton.h>
+#include <tqrangecontrol.h>
+#include <tqstring.h>
+#include <tqtabbar.h>
+#include <tqtabwidget.h>
+#include <tqtoolbar.h>
+#include <tqtoolbutton.h>
+#include <tqwidget.h>
+#include <tqprogressbar.h>
+
+/* ********* See hack on top of this file */
+#undef Region
+
+
+/* ********* TDE base headers */
+#include <kaboutdata.h>
+#include <kapplication.h>
+#include <kcmdlineargs.h>
+#include <kconfig.h>
+#include <tdeversion.h>
+#include <kemailsettings.h>
+#include <kglobal.h>
+#include <kglobalsettings.h>
+#include <klocale.h>
+#include <kmainwindow.h>
+#include <kmenubar.h>
+#include <kprotocolmanager.h>
+#include <kstartupinfo.h>
+#include <kstyle.h>
+
+
+/* ********* TDE address book connectivity headers */
+#include <kabc/addressbook.h>
+#include <kabc/addressee.h>
+#include <kabc/field.h>
+#include <kabc/stdaddressbook.h>
+
+#include "tde_defines.h"
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/shell/prj/d.lst b/shell/prj/d.lst
index 62dfa80d752c..435ed347a4e9 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,9 +26,12 @@
..\%__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\kde_headers.h %_DEST%\inc\shell\kde_headers.h
+..\inc\shell\tde_headers.h %_DEST%\inc\shell\tde_headers.h
+..\inc\shell\tde_defines.h %_DEST%\inc\shell\tde_defines.h
+..\inc\shell\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
..\%__SRC%\misc\smplmail.component %_DEST%\xml\smplmail.component
diff --git a/shell/source/backends/kdebe/kdeaccess.cxx b/shell/source/backends/kdebe/kdeaccess.cxx
index 0d7ad8ddd27a..ed9df8fa417e 100644
--- a/shell/source/backends/kdebe/kdeaccess.cxx
+++ b/shell/source/backends/kdebe/kdeaccess.cxx
@@ -35,7 +35,7 @@
#include "rtl/string.h"
#include "rtl/ustring.hxx"
-#include "kde_headers.h"
+#include "shell/kde_headers.h"
#include "kdeaccess.hxx"
diff --git a/shell/source/backends/kdebe/kdebackend.cxx b/shell/source/backends/kdebe/kdebackend.cxx
index 64321545111b..4faf91106560 100644
--- a/shell/source/backends/kdebe/kdebackend.cxx
+++ b/shell/source/backends/kdebe/kdebackend.cxx
@@ -58,7 +58,7 @@
#include "uno/current_context.hxx"
#include "uno/lbnames.h"
-#include "kde_headers.h"
+#include "shell/kde_headers.h"
#include "kdeaccess.hxx"
diff --git a/shell/source/backends/kdebe/makefile.mk b/shell/source/backends/kdebe/makefile.mk
index 265a3b691267..948d1a590f3e 100644
--- a/shell/source/backends/kdebe/makefile.mk
+++ b/shell/source/backends/kdebe/makefile.mk
@@ -27,8 +27,8 @@
PRJ=..$/..$/..
PRJNAME=shell
-TARGET=kdebe
+TARGET=kdebe
LIBTARGET=NO
ENABLE_EXCEPTIONS=TRUE
VISIBILITY_HIDDEN=TRUE
@@ -47,7 +47,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 +111,13 @@ DEF1NAME=$(SHL1TARGET)
.INCLUDE : target.mk
-ALLTAR : $(MISC)/kdebe1.component
+.IF "$(ENABLE_KDE)" == "TRUE" || "$(ENABLE_TDE)" == "TRUE"
+
+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
+.ENDIF
diff --git a/shell/source/backends/kdebe/tdebe1.component b/shell/source/backends/kdebe/tdebe1.component
new file mode 100644
index 000000000000..55a3776898a4
--- /dev/null
+++ b/shell/source/backends/kdebe/tdebe1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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
+*
+* 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
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.configuration.backend.TDEBackend">
+ <service name="com.sun.star.configuration.backend.TDEBackend"/>
+ </implementation>
+</component>
diff --git a/shell/source/unix/misc/makefile.mk b/shell/source/unix/misc/makefile.mk
index 6805ad41a9f4..39752bdc4644 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 000000000000..fa05bdecbda4
--- /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 f21dfed379dc..8d35ab3d6c86 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 3093d587bd2f..fa304d9690af 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 000000000000..d0c26e2e6858
--- /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 <dtardon@redhat.com>
+# (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 000000000000..a92bb5ede1cb
--- /dev/null
+++ b/vcl/Executable_tdefilepicker.mk
@@ -0,0 +1,71 @@
+# -*- 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 <matus.kukan@gmail.com> (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 \
+ -I$(SRCDIR)/vcl/inc/unx/tde \
+))
+
+$(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 000000000000..2e3a8c659024
--- /dev/null
+++ b/vcl/Library_vclplug_tde.mk
@@ -0,0 +1,107 @@
+# -*- 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. 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.
+#
+# The Initial Developer of the Original Code is
+# Timothy Pearson <kb9vqf@pearsoncomputing.net> (C) 2012, All Rights Reserved.
+#
+# 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_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 \
+ -I$(SRCDIR)/vcl/inc/unx/tde \
+))
+
+$(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 2cd2bf5d667b..441ec37646f1 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 f6e2668a261c..67226b0a5239 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 de4ebb8eab01..4ec9d7bd7a90 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/kde/kde_headers.h b/vcl/inc/unx/kde/kde_headers.h
deleted file mode 100644
index 7ec45fdc383d..000000000000
--- a/vcl/inc/unx/kde/kde_headers.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* -*- 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.
- *
- * 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
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_VCL_KDE_HEADERS_H
-#define INCLUDED_VCL_KDE_HEADERS_H
-
-/* ********* Suppress warnings if needed */
-#include "sal/config.h"
-
-#include <cstddef>
-
-#if defined __GNUC__
-#pragma GCC system_header
-#endif
-
-
-/* ********* Hack, but needed because of conflicting types... */
-#define Region QtXRegion
-
-
-/* ********* Qt headers */
-#include <qaccessible.h>
-#include <qcheckbox.h>
-#include <qcombobox.h>
-#include <qfont.h>
-#include <qframe.h>
-#include <qlineedit.h>
-#include <qlistview.h>
-#include <qmainwindow.h>
-#include <qmenudata.h>
-#include <qpaintdevice.h>
-#include <qpainter.h>
-#include <qpushbutton.h>
-#include <qradiobutton.h>
-#include <qrangecontrol.h>
-#include <qstring.h>
-#include <qtabbar.h>
-#include <qtabwidget.h>
-#include <qtoolbar.h>
-#include <qtoolbutton.h>
-#include <qwidget.h>
-#include <qprogressbar.h>
-
-/* ********* See hack on top of this file */
-#undef Region
-
-
-/* ********* KDE base headers */
-#include <kaboutdata.h>
-#include <kapplication.h>
-#include <kcmdlineargs.h>
-#include <kconfig.h>
-#include <kdeversion.h>
-#include <kemailsettings.h>
-#include <kglobal.h>
-#include <kglobalsettings.h>
-#include <klocale.h>
-#include <kmainwindow.h>
-#include <kmenubar.h>
-#include <kprotocolmanager.h>
-#include <kstartupinfo.h>
-#include <kstyle.h>
-
-
-/* ********* KDE address book connectivity headers */
-#include <kabc/addressbook.h>
-#include <kabc/addressee.h>
-#include <kabc/field.h>
-#include <kabc/stdaddressbook.h>
-
-#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 000000000000..c6b8dac18d4e
--- /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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _VCL_TDEDATA_HXX
+#define _VCL_TDEDATA_HXX
+
+#include <unx/saldisp.hxx>
+#include <unx/saldata.hxx>
+#include <unx/salframe.h>
+
+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 462943b95401..ec4a1c28169f 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/prj/build.lst b/vcl/prj/build.lst
index a44d6df4306b..9b51836f052f 100644
--- a/vcl/prj/build.lst
+++ b/vcl/prj/build.lst
@@ -1,4 +1,4 @@
-vc vcl : TRANSLATIONS:translations apple_remote BOOST:boost officecfg DESKTOP:rsc sot ucbhelper unotools ICU:icu GRAPHITE:graphite i18npool i18nutil unoil ridljar X11_EXTENSIONS:x11_extensions offapi basegfx basebmp tools DESKTOP:l10ntools icc cpputools svl LIBXSLT:libxslt CAIRO:cairo FREETYPE:freetype FONTCONFIG:fontconfig fpicker NULL
+vc vcl : TRANSLATIONS:translations apple_remote BOOST:boost officecfg DESKTOP:rsc sot ucbhelper unotools ICU:icu GRAPHITE:graphite i18npool i18nutil unoil ridljar X11_EXTENSIONS:x11_extensions offapi basegfx basebmp tools DESKTOP:l10ntools icc cpputools svl LIBXSLT:libxslt CAIRO:cairo FREETYPE:freetype FONTCONFIG:fontconfig fpicker shell NULL
vc vcl usr1 - all vc_mkout NULL
vc vcl\prj nmake - all vc_prj NULL
diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx
index 35ed7a818a1b..651fbdb30636 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 f69f2dee6491..68b3b711dd82 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 d2400d7f857b..ab19d345251f 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 9e4cbf1ac44d..17d2dd64cee7 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"
+// <Implementation-Name></UNO/SERVICES/><Service-Name>
+#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 @@
// <Implementation-Name></UNO/SERVICES/><Service-Name>
#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 b68ddb0030c4..6aeea9bfbca6 100644
--- a/vcl/unx/kde/fpicker/kdecommandthread.cxx
+++ b/vcl/unx/kde/fpicker/kdecommandthread.cxx
@@ -30,7 +30,11 @@
#include <kdecommandthread.hxx>
+#ifdef ENABLE_TDE
+#include <tqstringlist.h>
+#else // ENABLE_TDE
#include <qstringlist.h>
+#endif // ENABLE_TDE
#include <kapplication.h>
diff --git a/vcl/unx/kde/fpicker/kdecommandthread.hxx b/vcl/unx/kde/fpicker/kdecommandthread.hxx
index 7486bf9192f6..07b81f8b7835 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 <shell/tde_defines.h>
+#endif // ENABLE_TDE
+
+#ifdef ENABLE_TDE
+#include <tqevent.h>
+#include <tqmutex.h>
+#include <tqthread.h>
+#else // ENABLE_TDE
#include <qevent.h>
#include <qmutex.h>
#include <qthread.h>
+#endif // ENABLE_TDE
class KDECommandEvent : public QCustomEvent
{
diff --git a/vcl/unx/kde/fpicker/kdefilepicker.cxx b/vcl/unx/kde/fpicker/kdefilepicker.cxx
index 779a34d894d0..d52a6a772b0a 100644
--- a/vcl/unx/kde/fpicker/kdefilepicker.cxx
+++ b/vcl/unx/kde/fpicker/kdefilepicker.cxx
@@ -31,6 +31,34 @@
#include <kdecommandthread.hxx>
#include <kdefilepicker.hxx>
+#ifdef ENABLE_TDE
+
+#include <tqcheckbox.h>
+#include <tqcombobox.h>
+#include <tqgrid.h>
+#include <tqhbox.h>
+#include <tqlabel.h>
+#include <tqlayout.h>
+#include <tqobjectlist.h>
+#include <tqpushbutton.h>
+#include <tqregexp.h>
+#include <tqvbox.h>
+
+#ifdef TQT_NO_EMIT
+#define emit
+#endif
+
+#include <tdeversion.h>
+#include <kdiroperator.h>
+#include <kfiledialog.h>
+#include <kfilefiltercombo.h>
+#include <kio/netaccess.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <ktempfile.h>
+
+#else // ENABLE_TDE
+
#include <qcheckbox.h>
#include <qcombobox.h>
#include <qgrid.h>
@@ -55,6 +83,8 @@
#include <kmessagebox.h>
#include <ktempfile.h>
+#endif // ENABLE_TDE
+
#include <algorithm>
#include <iostream>
diff --git a/vcl/unx/kde/fpicker/kdefilepicker.hxx b/vcl/unx/kde/fpicker/kdefilepicker.hxx
index 4d545ebc76ca..058d6f6da34d 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 <shell/tde_defines.h>
+#endif // ENABLE_TDE
+
#include <cstddef>
#include <kfiledialog.h>
@@ -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 be4022664014..558c01ba0e55 100644
--- a/vcl/unx/kde/fpicker/kdefpmain.cxx
+++ b/vcl/unx/kde/fpicker/kdefpmain.cxx
@@ -39,6 +39,14 @@
#include <iostream>
#include <stdlib.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
+
//////////////////////////////////////////////////////////////////////////
// Main
//////////////////////////////////////////////////////////////////////////
@@ -54,13 +62,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 +85,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.hxx b/vcl/unx/kde/fpicker/kdemodalityfilter.hxx
index 8635694a39e1..e2296ab36651 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 <shell/tde_defines.h>
+#endif // ENABLE_TDE
+
+#ifdef ENABLE_TDE
+#include <tqobject.h>
+#else // ENABLE_TDE
#include <qobject.h>
+#endif // ENABLE_TDE
class KDEModalityFilter : public QObject
{
diff --git a/vcl/unx/kde/kdedata.cxx b/vcl/unx/kde/kdedata.cxx
index d66e22719784..195915bc6e39 100644
--- a/vcl/unx/kde/kdedata.cxx
+++ b/vcl/unx/kde/kdedata.cxx
@@ -28,7 +28,8 @@
#define _SV_SALDATA_CXX
-#include <unx/kde/kde_headers.h>
+
+#include <shell/kde_headers.h>
#include <unistd.h>
#include <fcntl.h>
@@ -56,6 +57,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 +132,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 0376e94a8ab4..0a5f79f5282d 100644
--- a/vcl/unx/kde/salnativewidgets-kde.cxx
+++ b/vcl/unx/kde/salnativewidgets-kde.cxx
@@ -28,7 +28,9 @@
#define _SV_SALNATIVEWIDGETS_KDE_CXX
-#include <unx/kde/kde_headers.h>
+
+#include <shell/kde_headers.h>
+
#include "UnxFilePicker.hxx"
#include <unx/salunx.h>