diff options
author | Norbert Thiebaud <nthiebaud@gmail.com> | 2012-05-14 20:09:41 -0500 |
---|---|---|
committer | Norbert Thiebaud <nthiebaud@gmail.com> | 2012-05-14 20:09:41 -0500 |
commit | 07b3d083b49b4cbb248b5ba0aeba2bbdd3cc487d (patch) | |
tree | 5f80a6862e44b938c4e7f62f457d1b48f5a0195b | |
parent | 007f16ef7ad40ae932df884ba04f0de71928b852 (diff) |
TDE integration
Change-Id: I6f468005c8d8d99d9251a9c4fe4629b98bc4aa5e
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> |