Repository.mk                   |    1 
 RepositoryExternal.mk           |   24 +++++++++
 config_host.mk.in               |    3 +
 config_host/config_vclplug.h.in |    1 
 configure.ac                    |  101 +++++++++++++++++++++++++++++++++++++++-
 vcl/CustomTarget_kf6_moc.mk     |   29 +++++++++++
 vcl/Library_vclplug_kf6.mk      |   86 ++++++++++++++++++++++++++++++++++
 vcl/Module_vcl.mk               |    8 +++
 vcl/source/app/salplug.cxx      |   28 ++++++++++-
 vcl/unx/kf6/KFFilePicker.cxx    |   12 ++++
 vcl/unx/kf6/KFFilePicker.hxx    |   12 ++++
 vcl/unx/kf6/KFSalInstance.cxx   |   12 ++++
 vcl/unx/kf6/KFSalInstance.hxx   |   12 ++++
 13 files changed, 326 insertions(+), 3 deletions(-)

New commits:
commit 06dbdb0f5b618ce01a79f07dc78e8049c419cc5f
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Thu Jun 22 08:56:36 2023 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Thu Jun 22 22:16:23 2023 +0200

    Use kf6 VCL plugin by default on Plasma 6
    
    If running in a Plasma 6 session, use the kf6
    VCL plugin if available. Otherwise use the same
    fallbacks as on Plasma 5 or LXQt.
    
    Change-Id: I223002d116c896d628f6ab4e3c1246a774b5ebe9
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153439
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/vcl/source/app/salplug.cxx b/vcl/source/app/salplug.cxx
index 7f0ba2e96bb9..026867e99bf2 100644
--- a/vcl/source/app/salplug.cxx
+++ b/vcl/source/app/salplug.cxx
@@ -217,6 +217,26 @@ const char* const* autodetect_plugin_list()
         nullptr
     };
 
+    static const char* const pPlasma6FallbackList[] =
+    {
+#if ENABLE_KF6
+        "kf6",
+#endif
+#if ENABLE_KF5
+        "kf5",
+#endif
+#if ENABLE_GTK3_KDE5
+        "gtk3_kde5",
+#endif
+#if ENABLE_GTK3
+        "gtk3",
+#endif
+#if ENABLE_GEN
+        "gen",
+#endif
+        nullptr
+    };
+
     static const char* const pStandardFallbackList[] =
     {
 #if ENABLE_GTK3
@@ -250,8 +270,10 @@ const char* const* autodetect_plugin_list()
               desktop == DESKTOP_XFCE  ||
               desktop == DESKTOP_MATE )
         pList = pStandardFallbackList;
-    else if (desktop == DESKTOP_PLASMA5 || desktop == DESKTOP_PLASMA6 || 
desktop == DESKTOP_LXQT)
+    else if (desktop == DESKTOP_PLASMA5 || desktop == DESKTOP_LXQT)
         pList = pKDEFallbackList;
+    else if (desktop == DESKTOP_PLASMA6)
+        pList = pPlasma6FallbackList;
 
     return pList;
 }
commit 720bf6ac8612c32942bb059f9086ee86c2963bb5
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Thu Jun 22 08:48:05 2023 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Thu Jun 22 22:16:11 2023 +0200

    kf6: Add a kf6 VCL plugin
    
    Add a "kf6" VCL plugin that uses the KF6 (KDE Frameworks 6)
    libraries to provide a native KDE/Plasma file chooser,
    just like the kf5 VCL plugin does for KF5.
    
    Building the plugin is disabled by default and can be enabled by
    autogen option '--enable-kf6'.
    
    Selecting the VCL plugin can be done by starting LO
    with environment variable 'SAL_USE_VCLPLUGIN=kf6' set.
    
    The kf6 VCL plugin reuses the kf5 VCL plugin code.
    (The kf6 headers and sources for now just `#include`
    the kf5 ones.)
    
    This was quickly tested on KDE Neon unstable,
    which provides a daily snapshot of Plasma 6 and the KF6
    libraries.
    (Regarding a potential release date, [1] mentions:
    "Plasma 6 is built on top of Qt 6 and is
    tentatively planned to be released in late 2023 or early 2024.")
    
    [1] https://community.kde.org/Plasma/Plasma_6
    
    Change-Id: I4c2b7e3be8e60f1d8cf60119f6f3f642b71349f5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153438
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/Repository.mk b/Repository.mk
index 76e91e62c94b..22e1da82d263 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -318,6 +318,7 @@ $(eval $(call 
gb_Helper_register_libraries_for_install,OOOLIBS,kde, \
 
 $(eval $(call 
gb_Helper_register_plugins_for_install,OOOLIBS,$(gb_haiku_or_kde), \
     $(if $(ENABLE_KF5),vclplug_kf5) \
+    $(if $(ENABLE_KF6),vclplug_kf6) \
     $(if $(ENABLE_QT5),vclplug_qt5) \
     $(if $(ENABLE_QT6),vclplug_qt6) \
     $(if $(ENABLE_GTK3_KDE5),vclplug_gtk3_kde5) \
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index b105e1d755d0..0d70c7e966fb 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -3117,7 +3117,31 @@ endef
 
 endif # ENABLE_KF5
 
+ifneq (,$(filter TRUE,$(ENABLE_KF6)))
 
+define gb_LinkTarget__use_kf6
+$(call gb_LinkTarget_set_include,$(1),\
+       $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem 
/,-isystem/,$(KF6_CFLAGS)))) \
+       $$(INCLUDE) \
+)
+
+$(call gb_LinkTarget_add_cxxflags,$(1),\
+       $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(KF6_CFLAGS))) 
\
+)
+
+$(call gb_LinkTarget_add_libs,$(1),\
+       $(KF6_LIBS) \
+)
+
+endef
+
+else # !ENABLE_KF6
+
+define gb_LinkTarget__use_kf6
+
+endef
+
+endif # ENABLE_KF6
 
 ifneq (,$(filter TRUE,$(ENABLE_QT5) $(ENABLE_GTK3_KDE5)))
 
diff --git a/config_host.mk.in b/config_host.mk.in
index 0d857cf6043c..0ab0e2f747c4 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -203,6 +203,7 @@ export ENABLE_POPPLER=@ENABLE_POPPLER@
 export ENABLE_QT5=@ENABLE_QT5@
 export ENABLE_QT6=@ENABLE_QT6@
 export ENABLE_KF5=@ENABLE_KF5@
+export ENABLE_KF6=@ENABLE_KF6@
 export ENABLE_GTK3_KDE5=@ENABLE_GTK3_KDE5@
 export ENABLE_RANDR=@ENABLE_RANDR@
 export ENABLE_RELEASE_BUILD=@ENABLE_RELEASE_BUILD@
@@ -363,6 +364,8 @@ export JQ=@JQ@
 export JVM_ONE_PATH_CHECK=@JVM_ONE_PATH_CHECK@
 export KF5_CFLAGS=$(gb_SPACE)@KF5_CFLAGS@
 export KF5_LIBS=$(gb_SPACE)@KF5_LIBS@
+export KF6_CFLAGS=$(gb_SPACE)@KF6_CFLAGS@
+export KF6_LIBS=$(gb_SPACE)@KF6_LIBS@
 export KRB5_LIBS=@KRB5_LIBS@
 export LCMS2_CFLAGS=$(gb_SPACE)@LCMS2_CFLAGS@
 export LCMS2_LIBS=$(gb_SPACE)@LCMS2_LIBS@
diff --git a/config_host/config_vclplug.h.in b/config_host/config_vclplug.h.in
index eeb43a1a8608..63dacb1bc10e 100644
--- a/config_host/config_vclplug.h.in
+++ b/config_host/config_vclplug.h.in
@@ -20,6 +20,7 @@ Settings about which desktops have support enabled.
 #define ENABLE_GTK3_KDE5 0
 #define ENABLE_HEADLESS 0
 #define ENABLE_KF5 0
+#define ENABLE_KF6 0
 #define ENABLE_QT5 0
 #define ENABLE_QT6 0
 
diff --git a/configure.ac b/configure.ac
index cd5338c42dd2..04dcacc85a66 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1140,6 +1140,7 @@ haiku*)
     test_gtk3=no
     test_gtk3_kde5=no
     test_kf5=yes
+    test_kf6=yes
     enable_odk=no
     enable_coinmp=no
     enable_pdfium=no
@@ -1186,6 +1187,7 @@ test "${test_gstreamer_1_0+set}" = set || 
test_gstreamer_1_0="$using_x11"
 test "${test_gtk3+set}" = set || test_gtk3="$using_x11"
 test "${test_gtk4+set}" = set || test_gtk4="$using_x11"
 test "${test_kf5+set}" = set || test_kf5="$using_x11"
+test "${test_kf6+set}" = set || test_kf6="$using_x11"
 # don't handle test_qt5, so it can disable test_kf5 later
 test "${test_qt6+set}" = set || test_qt6="$using_x11"
 test "${test_randr+set}" = set || test_randr="$using_x11"
@@ -1217,6 +1219,7 @@ disable_x11_tests()
     test_gtk3=no
     test_gtk4=no
     test_kf5=no
+    test_kf6=no
     test_qt5=no
     test_qt6=no
     test_randr=no
@@ -1769,6 +1772,13 @@ AC_ARG_ENABLE(kf5,
          KF5 are available.]),
 ,)
 
+AC_ARG_ENABLE(kf6,
+    AS_HELP_STRING([--enable-kf6],
+        [Determines whether to use KF6 vclplug on platforms where Qt6 and
+         KF6 are available.]),
+,)
+
+
 AC_ARG_ENABLE(gtk3_kde5,
     AS_HELP_STRING([--enable-gtk3-kde5],
         [Determines whether to use Gtk3 vclplug with KF5 file dialogs on
@@ -6034,6 +6044,15 @@ if test "$test_kf5" = "yes" -a "$enable_kf5" = "yes"; 
then
     fi
 fi
 
+if test "$test_kf6" = "yes" -a "$enable_kf6" = "yes"; then
+    if test "$enable_qt6" = "no"; then
+        AC_MSG_ERROR([KF6 support depends on QT6, so it conflicts with 
--disable-qt6])
+    else
+        enable_qt6=yes
+    fi
+fi
+
+
 AC_MSG_CHECKING([whether to build the pagein binaries for oosplash])
 if test "${enable_pagein}" != no -a -z "$DISABLE_DYNLOADING"; then
     AC_MSG_RESULT([yes])
@@ -11650,6 +11669,7 @@ libo_ENABLE_VCLPLUG([gtk3])
 libo_ENABLE_VCLPLUG([gtk3_kde5])
 libo_ENABLE_VCLPLUG([gtk4])
 libo_ENABLE_VCLPLUG([kf5])
+libo_ENABLE_VCLPLUG([kf6])
 libo_ENABLE_VCLPLUG([qt5])
 libo_ENABLE_VCLPLUG([qt6])
 
@@ -12849,7 +12869,7 @@ AC_SUBST(ENABLE_SCRIPTING_JAVASCRIPT)
 AC_SUBST(SYSTEM_RHINO)
 AC_SUBST(RHINO_JAR)
 
-# This is only used in Qt5/Qt6/KF5 checks to determine if /usr/lib64
+# This is only used in Qt5/Qt6/KF5/KF6 checks to determine if /usr/lib64
 # paths should be added to library search path. So lets put all 64-bit
 # platforms there.
 supports_multilib=
@@ -13034,7 +13054,8 @@ QT6_LIBS=""
 QMAKE6="qmake"
 MOC6="moc"
 QT6_PLATFORMS_SRCDIR=""
-if test \( "$test_qt6" = "yes" -a "$ENABLE_QT6" = "TRUE" \)
+if test \( "$test_kf6" = "yes" -a "$ENABLE_KF6" = "TRUE" \) -o \
+        \( "$test_qt6" = "yes" -a "$ENABLE_QT6" = "TRUE" \)
 then
     qt6_incdirs="$QT6INC /usr/include/qt6 /usr/include $x_includes"
     qt6_libdirs="$QT6LIB /usr/lib/qt6 /usr/lib $x_libraries"
@@ -13243,6 +13264,82 @@ fi
 AC_SUBST(KF5_CFLAGS)
 AC_SUBST(KF5_LIBS)
 
+dnl ===================================================================
+dnl KF6 Integration
+dnl ===================================================================
+
+KF6_CFLAGS=""
+KF6_LIBS=""
+if test \( "$test_kf6" = "yes" -a "$ENABLE_KF6" = "TRUE" \)
+then
+    if test "$OS" = "HAIKU"; then
+        haiku_arch="`echo $RTL_ARCH | tr X x`"
+        kf6_haiku_incdirs="`findpaths -c ' ' -a $haiku_arch 
B_FIND_PATH_HEADERS_DIRECTORY`"
+        kf6_haiku_libdirs="`findpaths -c ' ' -a $haiku_arch 
B_FIND_PATH_DEVELOP_LIB_DIRECTORY`"
+    fi
+
+    kf6_incdirs="$KF6INC /usr/include $kf6_haiku_incdirs $x_includes"
+    kf6_libdirs="$KF6LIB /usr/lib /usr/lib/kf6 /usr/lib/kf6/devel 
$kf6_haiku_libdirs $x_libraries"
+    if test -n "$supports_multilib"; then
+        kf6_libdirs="$kf6_libdirs /usr/lib64 /usr/lib64/kf6 
/usr/lib64/kf6/devel"
+    fi
+
+    kf6_test_include="KF6/KIOFileWidgets/KFileWidget"
+    kf6_test_library="libKF6KIOFileWidgets.so"
+    kf6_libdirs="$qt6_libdir $kf6_libdirs"
+
+    dnl Check for KF6 headers
+    AC_MSG_CHECKING([for KF6 headers])
+    kf6_incdir="no"
+    for kf6_check in $kf6_incdirs; do
+        if test -r "$kf6_check/$kf6_test_include"; then
+            kf6_incdir="$kf6_check/KF6"
+            break
+        fi
+    done
+    AC_MSG_RESULT([$kf6_incdir])
+    if test "x$kf6_incdir" = "xno"; then
+        AC_MSG_ERROR([KF6 headers not found.  Please specify the root of your 
KF6 installation by exporting KF6DIR before running "configure".])
+    fi
+
+    dnl Check for KF6 libraries
+    AC_MSG_CHECKING([for KF6 libraries])
+    kf6_libdir="no"
+    for kf6_check in $kf6_libdirs; do
+        if test -r "$kf6_check/$kf6_test_library"; then
+            kf6_libdir="$kf6_check"
+            break
+        fi
+    done
+
+    AC_MSG_RESULT([$kf6_libdir])
+    if test "x$kf6_libdir" = "xno"; then
+        AC_MSG_ERROR([KF6 libraries not found.  Please specify the root of 
your KF6 installation by exporting KF6DIR before running "configure".])
+    fi
+
+    KF6_CFLAGS="-I$kf6_incdir -I$kf6_incdir/KCoreAddons -I$kf6_incdir/KI18n 
-I$kf6_incdir/KConfigCore -I$kf6_incdir/KWindowSystem -I$kf6_incdir/KIO 
-I$kf6_incdir/KIOCore -I$kf6_incdir/KIOWidgets -I$kf6_incdir/KIOFileWidgets 
-I$qt6_incdir -I$qt6_incdir/QtCore -I$qt6_incdir/QtGui -I$qt6_incdir/QtWidgets 
-I$qt6_incdir/QtNetwork -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT 
-DQT_NO_VERSION_TAGGING"
+    KF6_LIBS="-L$kf6_libdir -lKF6CoreAddons -lKF6I18n -lKF6ConfigCore 
-lKF6WindowSystem -lKF6KIOCore -lKF6KIOWidgets -lKF6KIOFileWidgets 
-L$qt6_libdir -lQt6Core -lQt6Gui -lQt6Widgets -lQt6Network"
+    KF6_CFLAGS=$(printf '%s' "$KF6_CFLAGS" | sed -e "s/-I/${ISYSTEM?}/g")
+
+    AC_LANG_PUSH([C++])
+    save_CXXFLAGS=$CXXFLAGS
+    CXXFLAGS="$CXXFLAGS $KF6_CFLAGS"
+    dnl KF6 development version as of 2023-06 uses version number 5.240
+    AC_MSG_CHECKING([whether KDE is >= 5.240])
+       AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <kcoreaddons_version.h>
+
+int main(int argc, char **argv) {
+       if (KCOREADDONS_VERSION_MAJOR == 6 || (KCOREADDONS_VERSION_MAJOR == 5 
&& KCOREADDONS_VERSION_MINOR >= 240)) return 0;
+       else return 1;
+}
+       ]])],[AC_MSG_RESULT([yes])],[AC_MSG_ERROR([KDE version too old])],[])
+    CXXFLAGS=$save_CXXFLAGS
+    AC_LANG_POP([C++])
+fi
+AC_SUBST(KF6_CFLAGS)
+AC_SUBST(KF6_LIBS)
+
 dnl ===================================================================
 dnl Test whether to include Evolution 2 support
 dnl ===================================================================
diff --git a/vcl/CustomTarget_kf6_moc.mk b/vcl/CustomTarget_kf6_moc.mk
new file mode 100644
index 000000000000..ba0f514cd81a
--- /dev/null
+++ b/vcl/CustomTarget_kf6_moc.mk
@@ -0,0 +1,29 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_CustomTarget_CustomTarget,vcl/unx/kf6))
+
+$(call gb_CustomTarget_get_target,vcl/unx/kf6) : \
+       $(call gb_CustomTarget_get_workdir,vcl/unx/kf6)/KFFilePicker.moc
+
+# For now, the headers in vcl/unx/kf6 just '#include' the ones
+# in 'vcl/unx/kf5'.
+# Since moc does not process classes from the included headers,
+# it needs to be run on the headers in the kf5 dir.
+# That will have to be adapted in case the kf6 VCL plugin
+# uses "own" headers
+$(call gb_CustomTarget_get_workdir,vcl/unx/kf6)/%.moc : \
+               $(SRCDIR)/vcl/unx/kf5/%.hxx \
+               | $(call gb_CustomTarget_get_workdir,vcl/unx/kf6)/.dir
+       $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),MOC,1)
+       $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),MOC)
+       $(MOC6) $< -o $@
+       $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),MOC)
+
+# vim: set noet sw=4:
diff --git a/vcl/Library_vclplug_kf6.mk b/vcl/Library_vclplug_kf6.mk
new file mode 100644
index 000000000000..1e7ece07037c
--- /dev/null
+++ b/vcl/Library_vclplug_kf6.mk
@@ -0,0 +1,86 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This file incorporates work covered by the following license notice:
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements. See the NOTICE file distributed
+#   with this work for additional information regarding copyright
+#   ownership. The ASF licenses this file to you under the Apache
+#   License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 .
+#
+
+$(eval $(call gb_Library_Library,vclplug_kf6))
+
+$(eval $(call gb_Library_set_plugin_for,vclplug_kf6,vcl))
+
+$(eval $(call gb_Library_use_custom_headers,vclplug_kf6,vcl/unx/kf6))
+
+$(eval $(call gb_Library_set_include,vclplug_kf6,\
+    $$(INCLUDE) \
+    -I$(SRCDIR)/vcl/inc \
+    -I$(SRCDIR)/vcl/inc/qt5 \
+))
+
+$(eval $(call gb_Library_add_defs,vclplug_kf6,\
+    -DVCLPLUG_KF_IMPLEMENTATION \
+))
+
+$(eval $(call gb_Library_use_sdk_api,vclplug_kf6))
+
+$(eval $(call gb_Library_use_libraries,vclplug_kf6,\
+    vclplug_qt6 \
+    tl \
+    utl \
+    sot \
+    ucbhelper \
+    basegfx \
+    comphelper \
+    cppuhelper \
+    i18nlangtag \
+    i18nutil \
+    $(if $(ENABLE_JAVA), \
+        jvmaccess) \
+    cppu \
+    sal \
+))
+
+$(eval $(call gb_Library_use_externals,vclplug_kf6,\
+       boost_headers \
+       cairo \
+       graphite \
+       harfbuzz \
+       icuuc \
+       kf6 \
+       epoxy \
+))
+
+$(eval $(call gb_Library_add_exception_objects,vclplug_kf6,\
+    vcl/unx/kf6/KFFilePicker \
+    vcl/unx/kf6/KFSalInstance \
+))
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Library_add_libs,vclplug_kf6,\
+       -lm \
+       -ldl \
+))
+endif
+
+# Workaround for clang+icecream (clang's -frewrite-includes
+# doesn't handle Qt5's QT_HAS_INCLUDE that Qt5 uses for <chrono>),
+# and probably the same is true for Qt6.
+ifeq ($(COM_IS_CLANG),TRUE)
+$(eval $(call gb_Library_add_cxxflags,vclplug_kf6, \
+    -include chrono \
+))
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/vcl/Module_vcl.mk b/vcl/Module_vcl.mk
index 5265cd951243..5c6fbe987430 100644
--- a/vcl/Module_vcl.mk
+++ b/vcl/Module_vcl.mk
@@ -97,6 +97,14 @@ $(eval $(call gb_Module_add_targets,vcl,\
 ))
 endif
 
+ifneq ($(ENABLE_KF6),)
+$(eval $(call gb_Module_add_targets,vcl,\
+    CustomTarget_kf6_moc \
+    Library_vclplug_kf6 \
+))
+endif
+
+
 ifneq ($(ENABLE_QT5),)
 $(eval $(call gb_Module_add_targets,vcl,\
     CustomTarget_qt5_moc \
diff --git a/vcl/source/app/salplug.cxx b/vcl/source/app/salplug.cxx
index fee5b7e33e6d..7f0ba2e96bb9 100644
--- a/vcl/source/app/salplug.cxx
+++ b/vcl/source/app/salplug.cxx
@@ -137,6 +137,7 @@ SalInstance* tryInstance( const OUString& rModuleBase, bool 
bForce = false )
                  */
                 if (aUsedModuleBase == "gtk4" || aUsedModuleBase == "gtk3" ||
                     aUsedModuleBase == "gtk3_kde5" || aUsedModuleBase == "kf5" 
||
+                    aUsedModuleBase == "kf6" ||
                     aUsedModuleBase == "qt5" || aUsedModuleBase == "qt6" ||
                     aUsedModuleBase == "win")
                 {
@@ -338,6 +339,9 @@ SalInstance *CreateSalInstance()
 #if ENABLE_QT5
         "qt5",
 #endif
+#if ENABLE_KF6
+        "kf6",
+#endif
 #if ENABLE_QT6
         "qt6",
 #endif
diff --git a/vcl/unx/kf6/KFFilePicker.cxx b/vcl/unx/kf6/KFFilePicker.cxx
new file mode 100644
index 000000000000..17672c834506
--- /dev/null
+++ b/vcl/unx/kf6/KFFilePicker.cxx
@@ -0,0 +1,12 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "../kf5/KFFilePicker.cxx"
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/unx/kf6/KFFilePicker.hxx b/vcl/unx/kf6/KFFilePicker.hxx
new file mode 100644
index 000000000000..b0c790552dac
--- /dev/null
+++ b/vcl/unx/kf6/KFFilePicker.hxx
@@ -0,0 +1,12 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "../kf5/KFFilePicker.hxx"
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/unx/kf6/KFSalInstance.cxx b/vcl/unx/kf6/KFSalInstance.cxx
new file mode 100644
index 000000000000..7595c93bd251
--- /dev/null
+++ b/vcl/unx/kf6/KFSalInstance.cxx
@@ -0,0 +1,12 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "../kf5/KFSalInstance.cxx"
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/unx/kf6/KFSalInstance.hxx b/vcl/unx/kf6/KFSalInstance.hxx
new file mode 100644
index 000000000000..9c648d933672
--- /dev/null
+++ b/vcl/unx/kf6/KFSalInstance.hxx
@@ -0,0 +1,12 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "../kf5/KFSalInstance.hxx"
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Reply via email to