Repository.mk | 9 RepositoryExternal.mk | 28 bin/check-elf-dynamic-objects | 6 bin/distro-install-file-lists | 3 bin/moveglobalheaders.sh | 3 config_host.mk.in | 7 config_host/config_vclplug.h.in | 1 configure.ac | 97 cui/Library_cui.mk | 1 cui/source/options/optgdlg.cxx | 5 desktop/Pagein_common.mk | 2 distro-configs/LibreOfficeFlatpak.conf | 1 distro-configs/LibreOfficeMacOSX.conf | 1 distro-configs/LibreOfficeOnline.conf | 1 distro-configs/LibreOfficeOssFuzz.conf | 1 onlineupdate/Executable_test_updater_dialog.mk | 8 onlineupdate/Executable_updater.mk | 9 onlineupdate/source/update/updater/progressui_gtk.cxx | 10 scp2/InstallScript_setup_osl.mk | 2 scp2/Module_scp2.mk | 2 sd/CppunitTest_sd_uimpress.mk | 1 solenv/clang-format/blacklist | 61 solenv/gbuild/CppunitTest.mk | 1 vcl/Executable_xid_fullscreen_on_all_monitors.mk | 22 vcl/Library_vclplug_gtk.mk | 132 vcl/Library_vclplug_gtk3.mk | 6 vcl/Library_vclplug_gtk3_kde5.mk | 1 vcl/Module_vcl.mk | 6 vcl/inc/unx/gtk/gtkdata.hxx | 40 vcl/inc/unx/gtk/gtkframe.hxx | 36 vcl/inc/unx/gtk/gtkgdi.hxx | 4 vcl/inc/unx/gtk/gtkinst.hxx | 17 vcl/inc/unx/gtk/gtkobject.hxx | 4 vcl/inc/unx/gtk/gtkprintwrapper.hxx | 57 vcl/inc/unx/gtk/gtksalmenu.hxx | 23 vcl/source/app/salplug.cxx | 8 vcl/unx/gtk/a11y/atkaction.cxx | 275 - vcl/unx/gtk/a11y/atkbridge.cxx | 72 vcl/unx/gtk/a11y/atkcomponent.cxx | 387 - vcl/unx/gtk/a11y/atkeditabletext.cxx | 194 vcl/unx/gtk/a11y/atkfactory.cxx | 195 vcl/unx/gtk/a11y/atkhypertext.cxx | 273 - vcl/unx/gtk/a11y/atkimage.cxx | 131 vcl/unx/gtk/a11y/atklistener.cxx | 739 -- vcl/unx/gtk/a11y/atkregistry.cxx | 66 vcl/unx/gtk/a11y/atkselection.cxx | 190 vcl/unx/gtk/a11y/atktable.cxx | 580 -- vcl/unx/gtk/a11y/atktext.cxx | 838 --- vcl/unx/gtk/a11y/atktextattributes.cxx | 1383 ----- vcl/unx/gtk/a11y/atkutil.cxx | 789 -- vcl/unx/gtk/a11y/atkvalue.cxx | 138 vcl/unx/gtk/a11y/atkwindow.cxx | 330 - vcl/unx/gtk/a11y/atkwrapper.cxx | 959 --- vcl/unx/gtk/gloactiongroup.cxx | 398 - vcl/unx/gtk/glomenu.cxx | 691 -- vcl/unx/gtk/gtkdata.cxx | 890 --- vcl/unx/gtk/gtkinst.cxx | 478 - vcl/unx/gtk/gtkobject.cxx | 192 vcl/unx/gtk/gtkprintwrapper.cxx | 349 - vcl/unx/gtk/gtksalframe.cxx | 3606 ------------- vcl/unx/gtk/gtksalmenu.cxx | 1444 ----- vcl/unx/gtk/gtksys.cxx | 296 - vcl/unx/gtk/hudawareness.cxx | 112 vcl/unx/gtk/salnativewidgets-gtk.cxx | 4480 ----------------- vcl/unx/gtk/salprn-gtk.cxx | 970 --- vcl/unx/gtk/xid_fullscreen_on_all_monitors.c | 101 vcl/unx/gtk3/a11y/atkwrapper.hxx | 6 vcl/unx/gtk3/a11y/gtk3atkaction.cxx | 265 + vcl/unx/gtk3/a11y/gtk3atkbridge.cxx | 27 vcl/unx/gtk3/a11y/gtk3atkcomponent.cxx | 373 + vcl/unx/gtk3/a11y/gtk3atkeditabletext.cxx | 184 vcl/unx/gtk3/a11y/gtk3atkfactory.cxx | 176 vcl/unx/gtk3/a11y/gtk3atkhypertext.cxx | 263 vcl/unx/gtk3/a11y/gtk3atkimage.cxx | 122 vcl/unx/gtk3/a11y/gtk3atklistener.cxx | 729 ++ vcl/unx/gtk3/a11y/gtk3atkregistry.cxx | 56 vcl/unx/gtk3/a11y/gtk3atkselection.cxx | 180 vcl/unx/gtk3/a11y/gtk3atktable.cxx | 570 ++ vcl/unx/gtk3/a11y/gtk3atktext.cxx | 827 +++ vcl/unx/gtk3/a11y/gtk3atktextattributes.cxx | 1373 +++++ vcl/unx/gtk3/a11y/gtk3atkutil.cxx | 779 ++ vcl/unx/gtk3/a11y/gtk3atkvalue.cxx | 128 vcl/unx/gtk3/a11y/gtk3atkwindow.cxx | 320 + vcl/unx/gtk3/a11y/gtk3atkwrapper.cxx | 949 +++ vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx | 15 vcl/unx/gtk3/fpicker/SalGtkFilePicker.hxx | 2 vcl/unx/gtk3/fpicker/SalGtkFolderPicker.cxx | 2 vcl/unx/gtk3/fpicker/SalGtkFolderPicker.hxx | 2 vcl/unx/gtk3/fpicker/SalGtkPicker.cxx | 2 vcl/unx/gtk3/fpicker/resourceprovider.cxx | 2 vcl/unx/gtk3/gtk3fpicker.cxx | 15 vcl/unx/gtk3/gtk3gloactiongroup.cxx | 400 + vcl/unx/gtk3/gtk3glomenu.cxx | 683 ++ vcl/unx/gtk3/gtk3gtkinst.cxx | 401 + vcl/unx/gtk3/gtk3gtkprintwrapper.cxx | 150 vcl/unx/gtk3/gtk3gtksalmenu.cxx | 1393 +++++ vcl/unx/gtk3/gtk3gtksys.cxx | 273 + vcl/unx/gtk3/gtk3hudawareness.cxx | 105 vcl/unx/gtk3/gtk3salprn-gtk.cxx | 952 +++ vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkaction.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkbridge.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkcomponent.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkeditabletext.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkfactory.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkhypertext.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkimage.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atklistener.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkregistry.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkselection.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atktable.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atktext.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atktextattributes.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkutil.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkvalue.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkwindow.cxx | 2 vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkwrapper.cxx | 2 116 files changed, 11741 insertions(+), 22179 deletions(-)
New commits: commit 1ae450504cf57457f9702684b1517fda1dd3c481 Author: Caolán McNamara <[email protected]> AuthorDate: Tue Aug 13 10:37:50 2019 +0100 Commit: Caolán McNamara <[email protected]> CommitDate: Mon Sep 30 16:53:32 2019 +0200 drop gtk2 support Change-Id: Ie838cabfecfef7e3225c1555536d5c9cf3b43f15 Reviewed-on: https://gerrit.libreoffice.org/77405 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Caolán McNamara <[email protected]> diff --git a/Repository.mk b/Repository.mk index 8068e52572bc..965889197a9a 100644 --- a/Repository.mk +++ b/Repository.mk @@ -224,14 +224,6 @@ $(eval $(call gb_Helper_register_executables_for_install,OOO,python, \ ) \ )) -ifeq ($(USING_X11), TRUE) -$(eval $(call gb_Helper_register_executables_for_install,OOO,gnome, \ - $(if $(ENABLE_GTK),\ - xid-fullscreen-on-all-monitors \ - ) \ -)) -endif - ifneq ($(ENABLE_POPPLER),) $(eval $(call gb_Helper_register_executables_for_install,OOO,pdfimport, \ xpdfimport \ @@ -290,7 +282,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,onlineupdate, \ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,gnome, \ $(if $(ENABLE_EVOAB2),evoab) \ - $(if $(ENABLE_GTK),vclplug_gtk) \ $(if $(ENABLE_GTK3),vclplug_gtk3) \ $(if $(ENABLE_GIO),losessioninstall) \ $(if $(ENABLE_GIO),ucpgio1) \ diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index 57f66b8f344a..4d99f79e86ec 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -2605,34 +2605,6 @@ gb_LinkTarget__use_avahi := endif # ENABLE_AVAHI - -define gb_LinkTarget__use_gtk -$(call gb_LinkTarget_set_include,$(1),\ - $$(INCLUDE) \ - $(GTK_CFLAGS) \ -) - -$(call gb_LinkTarget_add_libs,$(1),$(GTK_LIBS)) - -ifeq ($(ENABLE_GTK_PRINT),TRUE) - -$(call gb_LinkTarget_add_defs,$(1),-DENABLE_GTK_PRINT) - -$(call gb_LinkTarget_set_include,$(1),\ - $$(INCLUDE) \ - $(GTK_PRINT_CFLAGS) \ -) - -$(call gb_LinkTarget_add_libs,$(1),$(GTK_PRINT_LIBS)) - -endif - -endef - -define gb_LinkTarget__use_gthread -$(call gb_LinkTarget_add_libs,$(1),$(GTHREAD_LIBS)) -endef - ifeq ($(ENABLE_CUPS),TRUE) define gb_LinkTarget__use_cups diff --git a/bin/check-elf-dynamic-objects b/bin/check-elf-dynamic-objects index 5492aafaca34..f64044dd1e49 100755 --- a/bin/check-elf-dynamic-objects +++ b/bin/check-elf-dynamic-objects @@ -93,7 +93,6 @@ x11whitelist="libX11.so.6 libXext.so.6 libSM.so.6 libICE.so.6 libXinerama.so.1 l openglwhitelist="libGL.so.1" giowhitelist="libgio-2.0.so.0 libgobject-2.0.so.0 libgmodule-2.0.so.0 libgthread-2.0.so.0 libglib-2.0.so.0 libdbus-glib-1.so.2 libdbus-1.so.3" gstreamerwhitelist="libgstaudio-1.0.so.0 libgstpbutils-1.0.so.0 libgstvideo-1.0.so.0 libgstbase-1.0.so.0 libgstreamer-1.0.so.0" -gtk2whitelist="libgtk-x11-2.0.so.0 libgdk-x11-2.0.so.0 libpangocairo-1.0.so.0 libfribidi.so.0 libatk-1.0.so.0 libcairo.so.2 libgio-2.0.so.0 libpangoft2-1.0.so.0 libpango-1.0.so.0 libfontconfig.so.1 libfreetype.so.6 libgdk_pixbuf-2.0.so.0 libgobject-2.0.so.0 libglib-2.0.so.0 libgmodule-2.0.so.0 libgthread-2.0.so.0 libdbus-glib-1.so.2 libdbus-1.so.3" gtk3whitelist="libgtk-3.so.0 libgdk-3.so.0 libcairo-gobject.so.2 libpangocairo-1.0.so.0 libfribidi.so.0 libatk-1.0.so.0 libcairo.so.2 libgio-2.0.so.0 libpangoft2-1.0.so.0 libpango-1.0.so.0 libfontconfig.so.1 libfreetype.so.6 libgdk_pixbuf-2.0.so.0 libgobject-2.0.so.0 libglib-2.0.so.0 libgmodule-2.0.so.0 libgthread-2.0.so.0 libdbus-glib-1.so.2 libdbus-1.so.3" qt5whitelist="libQt5Core.so.5 libQt5Gui.so.5 libQt5Network.so.5 libQt5Widgets.so.5 libQt5X11Extras.so.5 libcairo.so.2 libglib-2.0.so.0 libgobject-2.0.so.0 libxcb.so.1" kf5whitelist="libKF5ConfigCore.so.5 libKF5CoreAddons.so.5 libKF5I18n.so.5 libKF5KIOCore.so.5 libKF5KIOFileWidgets.so.5 libKF5KIOWidgets.so.5 libKF5WindowSystem.so.5" @@ -129,10 +128,7 @@ local file="$1" whitelist="${whitelist} ${qt5whitelist} ${kf5whitelist}" fi ;; - */libvclplug_gtklo.so|*/libqstart_gtklo.so|*/updater) - whitelist="${whitelist} ${x11whitelist} ${gtk2whitelist}" - ;; - */libvclplug_gtk3lo.so) + */libvclplug_gtk3lo.so|*/updater) whitelist="${whitelist} ${x11whitelist} ${gtk3whitelist}" ;; */libvclplug_qt5lo.so) diff --git a/bin/distro-install-file-lists b/bin/distro-install-file-lists index 4cbe0be407ac..ef016e3df6cc 100755 --- a/bin/distro-install-file-lists +++ b/bin/distro-install-file-lists @@ -324,9 +324,6 @@ if test "z$OOO_VENDOR" != "zDebian" ; then mv_file_between_flists core_list.txt common_list.txt "$INSTALLDIR/$f" done - # Ship ooqstart for gnome in gnome package - mv_file_between_flists gnome_list.txt core_list.txt "$INSTALLDIR/program/libqstart_gtk680.*" - # themes are included in other packages # don't use remove_file as we don't want them removed from the buildroot. mv_file_between_flists /dev/null common_list.txt $INSTALLDIR/share/config/images_crystal.zip diff --git a/bin/moveglobalheaders.sh b/bin/moveglobalheaders.sh index 6c8cff729505..ca202832bd6a 100755 --- a/bin/moveglobalheaders.sh +++ b/bin/moveglobalheaders.sh @@ -36,8 +36,7 @@ done # we like to be special ... sed -ie 's/\/svtools\/inc\/svtools/\/include\/svtools\//' svtools/Library_svt.mk sed -ie 's/\/sfx2\/inc\/sfx2/\/include\/sfx2\//' sfx2/Library_sfx.mk -sed -ie 's/\/sfx2\/inc\/sfx2/\/include\/sfx2\//' sfx2/Library_qstart_gtk.mk -git add svtools/Library_svt.mk sfx2/Library_sfx.mk sfx2/Library_qstart_gtk.mk +git add svtools/Library_svt.mk sfx2/Library_sfx.mk # urgh sed -ie 's/\.\.\/svx\//svx\//' svx/source/svdraw/svdoashp.cxx diff --git a/config_host.mk.in b/config_host.mk.in index 122c9de745dd..29b85688b83f 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -142,8 +142,6 @@ export ENABLE_GIO=@ENABLE_GIO@ export ENABLE_GPGMEPP=@ENABLE_GPGMEPP@ export ENABLE_GSTREAMER_1_0=@ENABLE_GSTREAMER_1_0@ export ENABLE_GTK3=@ENABLE_GTK3@ -export ENABLE_GTK=@ENABLE_GTK@ -export ENABLE_GTK_PRINT=@ENABLE_GTK_PRINT@ export DISABLE_GUI=@DISABLE_GUI@ export ENABLE_HTMLHELP=@ENABLE_HTMLHELP@ export ENABLE_IOS_LIBREOFFICELIGHT_APP=@ENABLE_IOS_LIBREOFFICELIGHT_APP@ @@ -236,13 +234,8 @@ export GSSAPI_LIBS=@GSSAPI_LIBS@ export GSTREAMER_1_0_CFLAGS=$(gb_SPACE)@GSTREAMER_1_0_CFLAGS@ export GSTREAMER_1_0_LIBS=$(gb_SPACE)@GSTREAMER_1_0_LIBS@ export GTHREAD_CFLAGS=$(gb_SPACE)@GTHREAD_CFLAGS@ -export GTHREAD_LIBS=$(gb_SPACE)@GTHREAD_LIBS@ export GTK3_CFLAGS=$(gb_SPACE)@GTK3_CFLAGS@ export GTK3_LIBS=$(gb_SPACE)@GTK3_LIBS@ -export GTK_CFLAGS=$(gb_SPACE)@GTK_CFLAGS@ -export GTK_LIBS=$(gb_SPACE)@GTK_LIBS@ -export GTK_PRINT_CFLAGS=$(gb_SPACE)@GTK_PRINT_CFLAGS@ -export GTK_PRINT_LIBS=$(gb_SPACE)@GTK_PRINT_LIBS@ export USING_X11=@USING_X11@ export HAMCREST_JAR=@HAMCREST_JAR@ export HAVE_BROKEN_GCC_WMAYBE_UNINITIALIZED=@HAVE_BROKEN_GCC_WMAYBE_UNINITIALIZED@ diff --git a/config_host/config_vclplug.h.in b/config_host/config_vclplug.h.in index 694334dd4bf3..8ff5a9ce527f 100644 --- a/config_host/config_vclplug.h.in +++ b/config_host/config_vclplug.h.in @@ -7,7 +7,6 @@ Settings about which desktops have support enabled. #ifndef CONFIG_VCLPLUG_H #define CONFIG_VCLPLUG_H -#define ENABLE_GTK 0 #define ENABLE_GTK3 0 #define ENABLE_GTK3_KDE5 0 #define ENABLE_KF5 0 diff --git a/configure.ac b/configure.ac index cf0f6e501611..ce79ad5395af 100644 --- a/configure.ac +++ b/configure.ac @@ -574,7 +574,6 @@ SDKDIRNAME=sdk case "$host_os" in solaris*) - test_gtk=yes build_gstreamer_1_0=yes test_freetype=yes _os=SunOS @@ -600,7 +599,6 @@ solaris*) ;; linux-gnu*|k*bsd*-gnu*) - test_gtk=yes build_gstreamer_1_0=yes test_kf5=yes test_gtk3_kde5=yes @@ -649,7 +647,6 @@ cygwin*|interix*) ;; darwin*) # macOS or iOS - test_gtk=yes test_randr=no test_xrender=no test_freetype=no @@ -662,7 +659,6 @@ darwin*) # macOS or iOS if test "$host_cpu" = "arm64" -o "$enable_ios_simulator" = "yes"; then build_for_ios=YES _os=iOS - test_gtk=no test_cups=no enable_mpl_subset=yes enable_lotuswordpro=no @@ -694,7 +690,6 @@ darwin*) # macOS or iOS ;; freebsd*) - test_gtk=yes build_gstreamer_1_0=yes test_kf5=yes test_gtk3_kde5=yes @@ -722,7 +717,6 @@ freebsd*) ;; *netbsd*) - test_gtk=yes build_gstreamer_1_0=yes test_kf5=yes test_gtk3_kde5=yes @@ -739,7 +733,6 @@ aix*) ;; openbsd*) - test_gtk=yes test_freetype=yes PTHREAD_CFLAGS="-D_THREAD_SAFE" PTHREAD_LIBS="-pthread" @@ -747,7 +740,6 @@ openbsd*) ;; dragonfly*) - test_gtk=yes build_gstreamer_1_0=yes test_kf5=yes test_gtk3_kde5=yes @@ -770,7 +762,6 @@ linux-android*) test_dbus=no test_fontconfig=no test_freetype=no - test_gtk=no test_kf5=no test_qt5=no test_gtk3_kde5=no @@ -1204,11 +1195,6 @@ AC_ARG_ENABLE(python, 'fully-internal' even forces the internal version for uses of Python during the build.])) -libo_FUZZ_ARG_ENABLE(gtk, - AS_HELP_STRING([--disable-gtk], - [Determines whether to use Gtk+ vclplug on platforms where Gtk+ is available.]), -,test "${enable_gtk+set}" = set || enable_gtk=yes) - libo_FUZZ_ARG_ENABLE(gtk3, AS_HELP_STRING([--disable-gtk3], [Determines whether to use Gtk+ 3.0 vclplug on platforms where Gtk+ 3.0 is available.]), @@ -1652,12 +1638,12 @@ AC_ARG_WITH(system-jars, AC_ARG_WITH(system-cairo, AS_HELP_STRING([--with-system-cairo], [Use cairo libraries already on system. Happens automatically for - (implicit) --enable-gtk and for --enable-gtk3.])) + (implicit) --enable-gtk3.])) AC_ARG_WITH(system-epoxy, AS_HELP_STRING([--with-system-epoxy], [Use epoxy libraries already on system. Happens automatically for - --enable-gtk3.]),, + (implicit) --enable-gtk3.]),, [with_system_epoxy="$with_system_libs"]) AC_ARG_WITH(myspell-dicts, @@ -4716,7 +4702,6 @@ if test "$cross_compiling" = "yes"; then ./configure \ --disable-cups \ --disable-gstreamer-1-0 \ - --disable-gtk \ --disable-gtk3 \ --disable-pdfimport \ --disable-postgresql-sdbc \ @@ -4849,7 +4834,6 @@ if test "$USING_X11" != TRUE; then test_xrender=no test_cups=no test_dbus=no - test_gtk=no build_gstreamer_1_0=no test_kf5=no test_qt5=no @@ -10328,7 +10312,6 @@ dnl Test which vclplugs have to be built. dnl =================================================================== R="" if test "$USING_X11" != TRUE; then - enable_gtk=no enable_gtk3=no fi GTK3_CFLAGS="" @@ -10369,18 +10352,6 @@ if test "$enable_introspection" = yes; then fi fi -ENABLE_GTK="" -if test "x$enable_gtk" = "xyes"; then - if test "$with_system_cairo" = no; then - AC_MSG_ERROR([System cairo required for gtk support, do not use --without-system-cairo or use --disable-gtk]) - fi - : ${with_system_cairo:=yes} - ENABLE_GTK="TRUE" - AC_DEFINE(ENABLE_GTK) - R="gtk $R" -fi -AC_SUBST(ENABLE_GTK) - ENABLE_QT5="" if test "x$enable_qt5" = "xyes"; then ENABLE_QT5="TRUE" @@ -10531,61 +10502,27 @@ AC_SUBST(ENABLE_SDREMOTE_BLUETOOTH) AC_SUBST(SYSTEM_BLUEZ) dnl =================================================================== -dnl Check whether the gtk 2.0 libraries are available. -dnl =================================================================== - -GTK_CFLAGS="" -GTK_LIBS="" -if test "$test_gtk" = "yes"; then - - if test "$ENABLE_GTK" = "TRUE"; then - PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.18.0 ,,AC_MSG_ERROR([requirements to build the gtk-plugin not met (gtk+-2.0 >= 2.18.0). Use --disable-gtk or install the missing packages])) - PKG_CHECK_MODULES(GTK, gdk-pixbuf-2.0 >= 2.2 ,,AC_MSG_ERROR([requirements to build the gtk-plugin not met (gdk-pixbuf-2.0 >= 2.2). Use --disable-gtk or install the missing packages])) - GTK_CFLAGS=$(printf '%s' "$GTK_CFLAGS" | sed -e "s/-I/${ISYSTEM?}/g") - FilterLibs "${GTK_LIBS}" - GTK_LIBS="${filteredlibs}" - PKG_CHECK_MODULES(GTHREAD, gthread-2.0,,AC_MSG_ERROR([requirements to build the gtk-plugin not met (gthread-2.0). Use --disable-gtk or install the missing packages])) - BUILD_TYPE="$BUILD_TYPE GTK" - GTHREAD_CFLAGS=$(printf '%s' "$GTK_CFLAGS" | sed -e "s/-I/${ISYSTEM?}/g") - FilterLibs "${GTHREAD_LIBS}" - GTHREAD_LIBS="${filteredlibs}" - - AC_MSG_CHECKING([whether to enable Gtk print dialog support]) - PKG_CHECK_MODULES([GTK_PRINT], [gtk+-unix-print-2.0 >= 2.10.0], - [ENABLE_GTK_PRINT="TRUE"], - [ENABLE_GTK_PRINT=""]) - GTK_PRINT_CFLAGS=$(printf '%s' "$GTK_PRINT_CFLAGS" | sed -e "s/-I/${ISYSTEM?}/g") - FilterLibs "${GTK_PRINT_LIBS}" - GTK_PRINT_LIBS="${filteredlibs}" - fi - - if test "$ENABLE_GTK" = "TRUE" || test "$ENABLE_GTK3" = "TRUE"; then - AC_MSG_CHECKING([whether to enable GIO support]) - if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gio" = "yes"; then - dnl Need at least 2.26 for the dbus support. - PKG_CHECK_MODULES([GIO], [gio-2.0 >= 2.26], - [ENABLE_GIO="TRUE"], [ENABLE_GIO=""]) - if test "$ENABLE_GIO" = "TRUE"; then - AC_DEFINE(ENABLE_GIO) - GIO_CFLAGS=$(printf '%s' "$GIO_CFLAGS" | sed -e "s/-I/${ISYSTEM?}/g") - FilterLibs "${GIO_LIBS}" - GIO_LIBS="${filteredlibs}" - fi - else - AC_MSG_RESULT([no]) +dnl Check whether to enable GIO support +dnl =================================================================== +if test "$ENABLE_GTK3" = "TRUE"; then + AC_MSG_CHECKING([whether to enable GIO support]) + if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gio" = "yes"; then + dnl Need at least 2.26 for the dbus support. + PKG_CHECK_MODULES([GIO], [gio-2.0 >= 2.26], + [ENABLE_GIO="TRUE"], [ENABLE_GIO=""]) + if test "$ENABLE_GIO" = "TRUE"; then + AC_DEFINE(ENABLE_GIO) + GIO_CFLAGS=$(printf '%s' "$GIO_CFLAGS" | sed -e "s/-I/${ISYSTEM?}/g") + FilterLibs "${GIO_LIBS}" + GIO_LIBS="${filteredlibs}" fi + else + AC_MSG_RESULT([no]) fi fi AC_SUBST(ENABLE_GIO) AC_SUBST(GIO_CFLAGS) AC_SUBST(GIO_LIBS) -AC_SUBST(GTK_CFLAGS) -AC_SUBST(GTK_LIBS) -AC_SUBST(GTHREAD_CFLAGS) -AC_SUBST(GTHREAD_LIBS) -AC_SUBST([ENABLE_GTK_PRINT]) -AC_SUBST([GTK_PRINT_CFLAGS]) -AC_SUBST([GTK_PRINT_LIBS]) dnl =================================================================== diff --git a/cui/Library_cui.mk b/cui/Library_cui.mk index 8a2bf42d79c1..54e3733daef1 100644 --- a/cui/Library_cui.mk +++ b/cui/Library_cui.mk @@ -20,7 +20,6 @@ $(eval $(call gb_Library_set_include,cui,\ $(eval $(call gb_Library_set_precompiled_header,cui,cui/inc/pch/precompiled_cui)) $(eval $(call gb_Library_add_defs,cui,\ - $(if $(filter TRUE,$(ENABLE_GTK)),-DENABLE_GTK) \ -DCUI_DLLIMPLEMENTATION \ )) diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx index bcf1d7a73fab..c0b840302864 100644 --- a/cui/source/options/optgdlg.cxx +++ b/cui/source/options/optgdlg.cxx @@ -18,6 +18,7 @@ */ #include <config_features.h> +#include <config_vclplug.h> #include <svl/zforlist.hxx> #include <svl/currencytable.hxx> #include <svtools/langhelp.hxx> @@ -257,7 +258,7 @@ OfaMiscTabPage::OfaMiscTabPage(weld::Container* pPage, weld::DialogController* p m_xFileDlgCB->set_sensitive(false); } -#if ! ENABLE_GTK +#if !ENABLE_GTK3 m_xPrintDlgFrame->hide(); #else if (!SvtMiscOptions().IsExperimentalMode()) @@ -269,7 +270,7 @@ OfaMiscTabPage::OfaMiscTabPage(weld::Container* pPage, weld::DialogController* p m_xQuickLaunchCB->show(); //Only available in Win or if building the gtk systray -#if !defined(_WIN32) && ! ENABLE_GTK +#if !defined(_WIN32) m_xQuickStarterFrame->hide(); #endif diff --git a/desktop/Pagein_common.mk b/desktop/Pagein_common.mk index ca5873db7903..c1661a39b641 100644 --- a/desktop/Pagein_common.mk +++ b/desktop/Pagein_common.mk @@ -28,7 +28,7 @@ $(eval $(call gb_Pagein_add_objects,common,\ ucb1 \ configmgr \ vclplug_gen \ - $(if $(findstring TRUE,$(ENABLE_GTK)),vclplug_gtk) \ + $(if $(findstring TRUE,$(ENABLE_GTK3)),vclplug_gtk3) \ basegfx \ sot \ xmlscript \ diff --git a/distro-configs/LibreOfficeFlatpak.conf b/distro-configs/LibreOfficeFlatpak.conf index 5bdba7501869..0d0f9ce5c881 100644 --- a/distro-configs/LibreOfficeFlatpak.conf +++ b/distro-configs/LibreOfficeFlatpak.conf @@ -1,4 +1,3 @@ ---disable-gtk --disable-odk --enable-release-build --with-ant-home=/run/build/libreoffice/ant diff --git a/distro-configs/LibreOfficeMacOSX.conf b/distro-configs/LibreOfficeMacOSX.conf index a4f913c7ec7e..fc7291ca7f9d 100644 --- a/distro-configs/LibreOfficeMacOSX.conf +++ b/distro-configs/LibreOfficeMacOSX.conf @@ -5,7 +5,6 @@ --enable-extension-integration --enable-online-update --without-system-postgresql ---disable-gtk --with-help=html --with-myspell-dicts --with-package-format=dmg diff --git a/distro-configs/LibreOfficeOnline.conf b/distro-configs/LibreOfficeOnline.conf index 75b885a4afb1..a007b85103c7 100644 --- a/distro-configs/LibreOfficeOnline.conf +++ b/distro-configs/LibreOfficeOnline.conf @@ -8,7 +8,6 @@ --disable-firebird-sdbc --disable-gio --disable-gstreamer-1-0 ---disable-gtk --disable-gtk3 --disable-gui --disable-qt5 diff --git a/distro-configs/LibreOfficeOssFuzz.conf b/distro-configs/LibreOfficeOssFuzz.conf index 1cca285ff058..ab9ec3b3b01e 100644 --- a/distro-configs/LibreOfficeOssFuzz.conf +++ b/distro-configs/LibreOfficeOssFuzz.conf @@ -4,7 +4,6 @@ --disable-runtime-optimizations --disable-database-connectivity --disable-gui ---disable-gtk --disable-gtk3 --disable-pdfium --disable-postgresql-sdbc diff --git a/onlineupdate/Executable_test_updater_dialog.mk b/onlineupdate/Executable_test_updater_dialog.mk index bd144c8bca18..a2988d0079d6 100644 --- a/onlineupdate/Executable_test_updater_dialog.mk +++ b/onlineupdate/Executable_test_updater_dialog.mk @@ -15,6 +15,7 @@ $(eval $(call gb_Executable_set_include,test_updater_dialog,\ -I$(SRCDIR)/onlineupdate/source/update/updater/xpcom/glue \ -I$(SRCDIR)/onlineupdate/source/update/updater \ $$(INCLUDE) \ + $(if $(filter-out WNT,$(OS)),$$(GTK3_CFLAGS) ) \ )) $(eval $(call gb_Executable_use_static_libraries,test_updater_dialog,\ @@ -48,15 +49,10 @@ $(eval $(call gb_Executable_add_defs,test_updater_dialog,\ $(eval $(call gb_Executable_use_externals,test_updater_dialog,\ nss3 \ - gtk \ )) $(eval $(call gb_Executable_add_libs,test_updater_dialog,\ - -lX11 \ - -lXext \ - -lXrender \ - -lSM \ - -lICE \ + $(GTK3_LIBS) \ )) endif diff --git a/onlineupdate/Executable_updater.mk b/onlineupdate/Executable_updater.mk index 7c24b7beb3bb..ab15a94e4c60 100644 --- a/onlineupdate/Executable_updater.mk +++ b/onlineupdate/Executable_updater.mk @@ -14,6 +14,7 @@ $(eval $(call gb_Executable_set_include,updater,\ -I$(SRCDIR)/onlineupdate/source/update/common \ -I$(SRCDIR)/onlineupdate/source/update/updater/xpcom/glue \ $$(INCLUDE) \ + $(if $(filter-out WNT,$(OS)),$$(GTK3_CFLAGS) ) \ )) $(eval $(call gb_Executable_use_custom_headers,updater,onlineupdate/generated)) @@ -61,16 +62,12 @@ $(eval $(call gb_Executable_add_defs,updater,\ $(eval $(call gb_Executable_use_externals,updater,\ nss3 \ - gtk \ )) $(eval $(call gb_Executable_add_libs,updater,\ - -lX11 \ - -lXext \ - -lXrender \ - -lSM \ - -lICE \ + $(GTK3_LIBS) \ )) + endif $(eval $(call gb_Executable_add_exception_objects,updater,\ diff --git a/onlineupdate/source/update/updater/progressui_gtk.cxx b/onlineupdate/source/update/updater/progressui_gtk.cxx index 47d27ea02c17..7c3bcfcd8b2d 100644 --- a/onlineupdate/source/update/updater/progressui_gtk.cxx +++ b/onlineupdate/source/update/updater/progressui_gtk.cxx @@ -14,6 +14,11 @@ #include <string.h> #include "progressui_gtk_icon.h" +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif + #define TIMER_INTERVAL 100 static float sProgressVal; // between 0 and 100 @@ -133,4 +138,9 @@ UpdateProgressUI(float progress) { sProgressVal = progress; // 32-bit writes are atomic } + +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif + #endif // defined(UNIX) || defined(MACOSX) diff --git a/scp2/InstallScript_setup_osl.mk b/scp2/InstallScript_setup_osl.mk index 0c3b97bef6d7..6f7b58204225 100644 --- a/scp2/InstallScript_setup_osl.mk +++ b/scp2/InstallScript_setup_osl.mk @@ -33,7 +33,7 @@ $(eval $(call gb_InstallScript_use_modules,setup_osl,\ $(if $(WITH_EXTENSION_INTEGRATION),\ scp2/extensions \ ) \ - $(if $(filter TRUE,$(ENABLE_EVOAB2) $(ENABLE_GIO) $(ENABLE_GTK) $(ENABLE_GTK3)),\ + $(if $(filter TRUE,$(ENABLE_EVOAB2) $(ENABLE_GIO) $(ENABLE_GTK3)),\ scp2/gnome \ ) \ $(if $(filter TRUE,$(ENABLE_QT5) $(ENABLE_KF5) $(ENABLE_GTK3_KDE5)),\ diff --git a/scp2/Module_scp2.mk b/scp2/Module_scp2.mk index aa06d6301f85..25ae8167df56 100644 --- a/scp2/Module_scp2.mk +++ b/scp2/Module_scp2.mk @@ -37,7 +37,7 @@ $(eval $(call gb_Module_add_targets,scp2,\ InstallModule_windows \ InstallModule_winexplorerext \ ) \ - $(if $(filter TRUE,$(ENABLE_EVOAB2) $(ENABLE_GIO) $(ENABLE_GTK) $(ENABLE_GTK3)),\ + $(if $(filter TRUE,$(ENABLE_EVOAB2) $(ENABLE_GIO) $(ENABLE_GTK3)),\ InstallModule_gnome \ ) \ $(if $(filter TRUE,$(ENABLE_QT5) $(ENABLE_KF5) $(ENABLE_GTK3_KDE5)),\ diff --git a/sd/CppunitTest_sd_uimpress.mk b/sd/CppunitTest_sd_uimpress.mk index 4a36cc687062..94229cc2c8e3 100644 --- a/sd/CppunitTest_sd_uimpress.mk +++ b/sd/CppunitTest_sd_uimpress.mk @@ -71,7 +71,6 @@ endif $(eval $(call gb_CppunitTest_use_externals,sd_uimpress,\ boost_headers \ - gtk \ dbus \ $(if $(ENABLE_AVAHI), \ avahi \ diff --git a/solenv/clang-format/blacklist b/solenv/clang-format/blacklist index c89b6861b7d9..d694f0b3d02b 100644 --- a/solenv/clang-format/blacklist +++ b/solenv/clang-format/blacklist @@ -18113,51 +18113,13 @@ vcl/unx/generic/window/salframe.cxx vcl/unx/generic/window/salobj.cxx vcl/unx/generic/window/screensaverinhibitor.cxx vcl/unx/glxtest.cxx -vcl/unx/gtk/a11y/atkaction.cxx -vcl/unx/gtk/a11y/atkbridge.cxx -vcl/unx/gtk/a11y/atkcomponent.cxx -vcl/unx/gtk/a11y/atkeditabletext.cxx -vcl/unx/gtk/a11y/atkfactory.cxx -vcl/unx/gtk/a11y/atkfactory.hxx -vcl/unx/gtk/a11y/atkhypertext.cxx -vcl/unx/gtk/a11y/atkimage.cxx -vcl/unx/gtk/a11y/atklistener.cxx -vcl/unx/gtk/a11y/atklistener.hxx -vcl/unx/gtk/a11y/atkregistry.cxx -vcl/unx/gtk/a11y/atkregistry.hxx -vcl/unx/gtk/a11y/atkselection.cxx -vcl/unx/gtk/a11y/atktable.cxx -vcl/unx/gtk/a11y/atktext.cxx -vcl/unx/gtk/a11y/atktextattributes.cxx -vcl/unx/gtk/a11y/atktextattributes.hxx -vcl/unx/gtk/a11y/atkutil.cxx -vcl/unx/gtk/a11y/atkutil.hxx -vcl/unx/gtk/a11y/atkvalue.cxx -vcl/unx/gtk/a11y/atkwindow.cxx -vcl/unx/gtk/a11y/atkwindow.hxx -vcl/unx/gtk/a11y/atkwrapper.cxx -vcl/unx/gtk/a11y/atkwrapper.hxx -vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx -vcl/unx/gtk/fpicker/SalGtkFilePicker.hxx -vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx -vcl/unx/gtk/fpicker/SalGtkFolderPicker.hxx -vcl/unx/gtk/fpicker/SalGtkPicker.cxx -vcl/unx/gtk/fpicker/SalGtkPicker.hxx -vcl/unx/gtk/fpicker/eventnotification.hxx -vcl/unx/gtk/fpicker/resourceprovider.cxx -vcl/unx/gtk/gloactiongroup.cxx -vcl/unx/gtk/glomenu.cxx -vcl/unx/gtk/gtkdata.cxx -vcl/unx/gtk/gtkinst.cxx -vcl/unx/gtk/gtkobject.cxx -vcl/unx/gtk/gtkprintwrapper.cxx -vcl/unx/gtk/gtksalframe.cxx -vcl/unx/gtk/gtksalmenu.cxx -vcl/unx/gtk/gtksys.cxx -vcl/unx/gtk/hudawareness.cxx -vcl/unx/gtk/salnativewidgets-gtk.cxx -vcl/unx/gtk/salprn-gtk.cxx -vcl/unx/gtk/xid_fullscreen_on_all_monitors.c +vcl/unx/gtk3/a11y/atkfactory.hxx +vcl/unx/gtk3/a11y/atklistener.hxx +vcl/unx/gtk3/a11y/atkregistry.hxx +vcl/unx/gtk3/a11y/atktextattributes.hxx +vcl/unx/gtk3/a11y/atkutil.hxx +vcl/unx/gtk3/a11y/atkwindow.hxx +vcl/unx/gtk3/a11y/atkwrapper.hxx vcl/unx/gtk3/a11y/gtk3atkaction.cxx vcl/unx/gtk3/a11y/gtk3atkbridge.cxx vcl/unx/gtk3/a11y/gtk3atkcomponent.cxx @@ -18175,9 +18137,16 @@ vcl/unx/gtk3/a11y/gtk3atkutil.cxx vcl/unx/gtk3/a11y/gtk3atkvalue.cxx vcl/unx/gtk3/a11y/gtk3atkwindow.cxx vcl/unx/gtk3/a11y/gtk3atkwrapper.cxx +vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx +vcl/unx/gtk3/fpicker/SalGtkFilePicker.hxx +vcl/unx/gtk3/fpicker/SalGtkFolderPicker.cxx +vcl/unx/gtk3/fpicker/SalGtkFolderPicker.hxx +vcl/unx/gtk3/fpicker/SalGtkPicker.cxx +vcl/unx/gtk3/fpicker/SalGtkPicker.hxx +vcl/unx/gtk3/fpicker/eventnotification.hxx +vcl/unx/gtk3/fpicker/resourceprovider.cxx vcl/unx/gtk3/cairo_gtk3_cairo.cxx vcl/unx/gtk3/cairo_gtk3_cairo.hxx -vcl/unx/gtk3/gtk3fpicker.cxx vcl/unx/gtk3/gtk3gloactiongroup.cxx vcl/unx/gtk3/gtk3glomenu.cxx vcl/unx/gtk3/gtk3gtkdata.cxx diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk index 7c5c251eff46..0d40bd6cdb5d 100644 --- a/solenv/gbuild/CppunitTest.mk +++ b/solenv/gbuild/CppunitTest.mk @@ -224,7 +224,6 @@ ifeq ($(USING_X11),TRUE) $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,desktop_detector) $(call gb_CppunitTest_get_target,$(1)) : $(if $(filter $(2),$(true)),, \ $(call gb_Library_get_target,vclplug_gen) \ - $(if $(ENABLE_GTK),$(call gb_Library_get_target,vclplug_gtk)) \ $(if $(ENABLE_GTK3),$(call gb_Library_get_target,vclplug_gtk3)) \ $(if $(ENABLE_QT5),$(call gb_Library_get_target,vclplug_qt5)) \ ) diff --git a/vcl/Executable_xid_fullscreen_on_all_monitors.mk b/vcl/Executable_xid_fullscreen_on_all_monitors.mk deleted file mode 100644 index 296436abd106..000000000000 --- a/vcl/Executable_xid_fullscreen_on_all_monitors.mk +++ /dev/null @@ -1,22 +0,0 @@ -# -*- 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_Executable_Executable,xid-fullscreen-on-all-monitors)) - -ifeq ($(filter ANDROID WNT DRAGONFLY FREEBSD NETBSD OPENBSD MACOSX,$(OS)),) -$(eval $(call gb_Executable_add_libs,xid-fullscreen-on-all-monitors,\ - -ldl \ -)) -endif - -$(eval $(call gb_Executable_add_cobjects,xid-fullscreen-on-all-monitors,\ - vcl/unx/gtk/xid_fullscreen_on_all_monitors \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/vcl/Library_vclplug_gtk.mk b/vcl/Library_vclplug_gtk.mk deleted file mode 100644 index 360eabf46020..000000000000 --- a/vcl/Library_vclplug_gtk.mk +++ /dev/null @@ -1,132 +0,0 @@ -# -*- 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_gtk)) - -$(eval $(call gb_Library_set_include,vclplug_gtk,\ - $$(INCLUDE) \ - -I$(SRCDIR)/vcl/inc \ - -I$(SRCDIR)/vcl/unx \ - -I$(SRCDIR)/vcl/unx/gtk \ -)) - -$(eval $(call gb_Library_add_defs,vclplug_gtk,\ - -DVCLPLUG_GTK_IMPLEMENTATION \ -)) - -$(eval $(call gb_Library_use_custom_headers,vclplug_gtk,\ - officecfg/registry \ -)) - -$(eval $(call gb_Library_use_sdk_api,vclplug_gtk)) - -$(eval $(call gb_Library_use_libraries,vclplug_gtk,\ - vclplug_gen \ - vcl \ - tl \ - utl \ - sot \ - ucbhelper \ - basegfx \ - comphelper \ - cppuhelper \ - i18nlangtag \ - i18nutil \ - $(if $(ENABLE_JAVA), \ - jvmaccess) \ - cppu \ - sal \ -)) - -$(eval $(call gb_Library_use_externals,vclplug_gtk,\ - boost_headers \ - cairo \ - dbus \ - epoxy \ - gio \ - graphite \ - gthread \ - gtk \ - harfbuzz \ - icuuc \ -)) - -$(eval $(call gb_Library_add_libs,vclplug_gtk,\ - -lX11 \ - -lXext \ - -lSM \ - -lICE \ -)) - -$(eval $(call gb_Library_add_exception_objects,vclplug_gtk,\ - vcl/unx/gtk/a11y/atkaction \ - vcl/unx/gtk/a11y/atkbridge \ - vcl/unx/gtk/a11y/atkcomponent \ - vcl/unx/gtk/a11y/atkeditabletext \ - vcl/unx/gtk/a11y/atkfactory \ - vcl/unx/gtk/a11y/atkhypertext \ - vcl/unx/gtk/a11y/atkimage \ - vcl/unx/gtk/a11y/atklistener \ - vcl/unx/gtk/a11y/atkregistry \ - vcl/unx/gtk/a11y/atkselection \ - vcl/unx/gtk/a11y/atktable \ - vcl/unx/gtk/a11y/atktextattributes \ - vcl/unx/gtk/a11y/atktext \ - vcl/unx/gtk/a11y/atkutil \ - vcl/unx/gtk/a11y/atkvalue \ - vcl/unx/gtk/a11y/atkwindow \ - vcl/unx/gtk/a11y/atkwrapper \ - vcl/unx/gtk/gtkdata \ - vcl/unx/gtk/gtkinst \ - vcl/unx/gtk/gtksys \ - vcl/unx/gtk/salnativewidgets-gtk \ - vcl/unx/gtk/gtksalframe \ - vcl/unx/gtk/gtkobject \ - vcl/unx/gtk/fpicker/resourceprovider \ - vcl/unx/gtk/fpicker/SalGtkPicker \ - vcl/unx/gtk/fpicker/SalGtkFilePicker \ - vcl/unx/gtk/fpicker/SalGtkFolderPicker \ -)) - -ifneq ($(ENABLE_DBUS),) -ifneq ($(ENABLE_GIO),) -$(eval $(call gb_Library_add_exception_objects,vclplug_gtk,\ - vcl/unx/gtk/gloactiongroup \ - vcl/unx/gtk/gtksalmenu \ - vcl/unx/gtk/glomenu \ - vcl/unx/gtk/hudawareness \ -)) -endif -endif - -ifeq ($(ENABLE_GTK_PRINT),TRUE) -$(eval $(call gb_Library_add_exception_objects,vclplug_gtk,\ - vcl/unx/gtk/gtkprintwrapper \ - vcl/unx/gtk/salprn-gtk \ -)) -endif - -ifeq ($(OS),LINUX) -$(eval $(call gb_Library_add_libs,vclplug_gtk,\ - -lm \ - -ldl \ -)) -endif - -# vim: set noet sw=4 ts=4: diff --git a/vcl/Library_vclplug_gtk3.mk b/vcl/Library_vclplug_gtk3.mk index c0ad6cd21e52..9f6504c38f56 100644 --- a/vcl/Library_vclplug_gtk3.mk +++ b/vcl/Library_vclplug_gtk3.mk @@ -46,7 +46,6 @@ $(eval $(call gb_Library_use_sdk_api,vclplug_gtk3)) $(eval $(call gb_Library_add_libs,vclplug_gtk3,\ $(GTK3_LIBS) \ - $(GTHREAD_LIBS) \ -lX11 \ -lXext \ -lSM \ @@ -97,10 +96,13 @@ $(eval $(call gb_Library_add_exception_objects,vclplug_gtk3,\ vcl/unx/gtk3/a11y/gtk3atkvalue \ vcl/unx/gtk3/a11y/gtk3atkwindow \ vcl/unx/gtk3/a11y/gtk3atkwrapper \ + vcl/unx/gtk3/fpicker/resourceprovider \ + vcl/unx/gtk3/fpicker/SalGtkFilePicker \ + vcl/unx/gtk3/fpicker/SalGtkFolderPicker \ + vcl/unx/gtk3/fpicker/SalGtkPicker \ vcl/unx/gtk3/gtk3gtkdata \ vcl/unx/gtk3/gtk3gtkinst \ vcl/unx/gtk3/gtk3gtksys \ - vcl/unx/gtk3/gtk3fpicker \ vcl/unx/gtk3/cairo_gtk3_cairo \ vcl/unx/gtk3/gtk3gtkprintwrapper \ vcl/unx/gtk3/gtk3salnativewidgets-gtk \ diff --git a/vcl/Library_vclplug_gtk3_kde5.mk b/vcl/Library_vclplug_gtk3_kde5.mk index d67c53e2a6f5..231726449c4e 100644 --- a/vcl/Library_vclplug_gtk3_kde5.mk +++ b/vcl/Library_vclplug_gtk3_kde5.mk @@ -51,7 +51,6 @@ $(eval $(call gb_Library_use_sdk_api,vclplug_gtk3_kde5)) $(eval $(call gb_Library_add_libs,vclplug_gtk3_kde5,\ $(GTK3_LIBS) \ - $(GTHREAD_LIBS) \ -lX11 \ -lXext \ -lSM \ diff --git a/vcl/Module_vcl.mk b/vcl/Module_vcl.mk index 54e3fbd6b07f..859702ca4032 100644 --- a/vcl/Module_vcl.mk +++ b/vcl/Module_vcl.mk @@ -66,12 +66,6 @@ $(eval $(call gb_Module_add_targets,vcl,\ Package_fontunxpsprint \ )) -ifneq ($(ENABLE_GTK),) -$(eval $(call gb_Module_add_targets,vcl,\ - Executable_xid_fullscreen_on_all_monitors \ - Library_vclplug_gtk \ -)) -endif ifneq ($(ENABLE_GTK3),) $(eval $(call gb_Module_add_targets,vcl,\ Library_vclplug_gtk3 \ diff --git a/vcl/inc/unx/gtk/gtkdata.hxx b/vcl/inc/unx/gtk/gtkdata.hxx index f1750b7dc3a6..84e2d19f6c94 100644 --- a/vcl/inc/unx/gtk/gtkdata.hxx +++ b/vcl/inc/unx/gtk/gtkdata.hxx @@ -42,44 +42,22 @@ class DocumentFocusListener; inline GdkWindow * widget_get_window(GtkWidget *widget) { -#if GTK_CHECK_VERSION(3,0,0) return gtk_widget_get_window(widget); -#else - return widget->window; -#endif } inline ::Window widget_get_xid(GtkWidget *widget) { -#if GTK_CHECK_VERSION(3,0,0) return GDK_WINDOW_XID(gtk_widget_get_window(widget)); -#else - return GDK_WINDOW_XWINDOW(widget->window); -#endif } inline void widget_set_can_focus(GtkWidget *widget, gboolean can_focus) { -#if GTK_CHECK_VERSION(3,0,0) return gtk_widget_set_can_focus(widget, can_focus); -#else - if (can_focus) - GTK_WIDGET_SET_FLAGS( widget, GTK_CAN_FOCUS ); - else - GTK_WIDGET_UNSET_FLAGS( widget, GTK_CAN_FOCUS ); -#endif } inline void widget_set_can_default(GtkWidget *widget, gboolean can_default) { -#if GTK_CHECK_VERSION(3,0,0) return gtk_widget_set_can_default(widget, can_default); -#else - if (can_default) - GTK_WIDGET_SET_FLAGS( widget, GTK_CAN_DEFAULT ); - else - GTK_WIDGET_UNSET_FLAGS( widget, GTK_CAN_DEFAULT ); -#endif } class GtkSalTimer final : public SalTimer @@ -132,11 +110,7 @@ public: class GtkSalFrame; -#if GTK_CHECK_VERSION(3,0,0) class GtkSalDisplay : public SalGenericDisplay -#else -class GtkSalDisplay : public SalDisplay -#endif { GtkSalSystem* m_pSys; GdkDisplay* const m_pGdkDisplay; @@ -161,20 +135,11 @@ public: virtual void deregisterFrame( SalFrame* pFrame ) override; GdkCursor *getCursor( PointerStyle ePointerStyle ); -#if GTK_CHECK_VERSION(3,0,0) virtual int CaptureMouse( SalFrame* pFrame ); -#else - virtual int CaptureMouse( SalFrame* pFrame ) override; -#endif SalX11Screen GetDefaultXScreen() { return m_pSys->GetDisplayDefaultXScreen(); } Size GetScreenSize( int nDisplayScreen ); int GetXScreenCount() { return m_pSys->GetDisplayXScreenCount(); } -#if GTK_CHECK_VERSION(3,0,0) -// int GetScreenCount() { return m_pSys->GetDisplayScreenCount(); } -#else - virtual ScreenData *initScreen( SalX11Screen nXScreen ) const override; -#endif GdkFilterReturn filterGdkEvent( GdkXEvent* sys_event ); void startupNotificationCompleted() { m_bStartupCompleted = true; } @@ -185,12 +150,7 @@ public: virtual void TriggerUserEventProcessing() override; virtual void TriggerAllUserEventsProcessed() override; -#if !GTK_CHECK_VERSION(3,0,0) - virtual bool Dispatch( XEvent *pEvent ) override; -#endif -#if GTK_CHECK_VERSION(3,0,0) void RefreshMenusUnity(); -#endif }; inline GtkSalData* GetGtkSalData() diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx index 084339f96d70..f9a41c6c3cf6 100644 --- a/vcl/inc/unx/gtk/gtkframe.hxx +++ b/vcl/inc/unx/gtk/gtkframe.hxx @@ -24,9 +24,7 @@ #include <gdk/gdk.h> #include <gdk/gdkx.h> #include <gtk/gtk.h> -#if GTK_CHECK_VERSION(3,0,0) -# include <gtk/gtkx.h> -#endif +#include <gtk/gtkx.h> #include <gdk/gdkkeysyms.h> #include <salframe.hxx> @@ -54,7 +52,6 @@ class GtkSalGraphics; class GtkSalDisplay; -#if GTK_CHECK_VERSION(3,0,0) typedef sal_uIntPtr GdkNativeWindow; #define GDK_WINDOW_XWINDOW(o) GDK_WINDOW_XID(o) #define gdk_set_sm_client_id(i) gdk_x11_set_sm_client_id(i) @@ -62,11 +59,6 @@ typedef sal_uIntPtr GdkNativeWindow; class GtkDropTarget; class GtkDragSource; class GtkDnDTransferable; -#endif - -#if !(GLIB_MAJOR_VERSION > 2 || GLIB_MINOR_VERSION >= 26) - typedef void GDBusConnection; -#endif class GtkSalMenu; @@ -172,10 +164,8 @@ class GtkSalFrame : public SalFrame SalX11Screen m_nXScreen; GtkWidget* m_pWindow; -#if GTK_CHECK_VERSION(3,0,0) GtkHeaderBar* m_pHeaderBar; GtkGrid* m_pTopLevelGrid; -#endif GtkEventBox* m_pEventBox; GtkFixed* m_pFixedContainer; GdkWindow* m_pForeignParent; @@ -208,7 +198,6 @@ class GtkSalFrame : public SalFrame Size m_aMinSize; tools::Rectangle m_aRestorePosSize; -#if GTK_CHECK_VERSION(3,0,0) OUString m_aTooltip; tools::Rectangle m_aHelpArea; tools::Rectangle m_aFloatRect; @@ -220,10 +209,6 @@ class GtkSalFrame : public SalFrame GtkDropTarget* m_pDropTarget; GtkDragSource* m_pDragSource; bool m_bGeometryIsProvisional; -#else - GdkRegion* m_pRegion; - bool m_bSetFocusOnMap; -#endif GtkSalMenu* m_pSalMenu; @@ -242,12 +227,7 @@ class GtkSalFrame : public SalFrame // signals static gboolean signalButton( GtkWidget*, GdkEventButton*, gpointer ); -#if GTK_CHECK_VERSION(3,0,0) static void signalStyleUpdated(GtkWidget*, gpointer); -#else - static void signalStyleSet(GtkWidget*, GtkStyle* pPrevious, gpointer); -#endif -#if GTK_CHECK_VERSION(3,0,0) static gboolean signalDraw( GtkWidget*, cairo_t *cr, gpointer ); static void signalRealize(GtkWidget*, gpointer frame); static void sizeAllocated(GtkWidget*, GdkRectangle *pAllocation, gpointer frame); @@ -270,11 +250,6 @@ class GtkSalFrame : public SalFrame static void gestureSwipe(GtkGestureSwipe* gesture, gdouble velocity_x, gdouble velocity_y, gpointer frame); static void gestureLongPress(GtkGestureLongPress* gesture, gdouble x, gdouble y, gpointer frame); -#else - static gboolean signalExpose( GtkWidget*, GdkEventExpose*, gpointer ); - void askForXEmbedFocus( sal_Int32 nTimecode ); - void grabKeyboard(bool bGrab); -#endif static gboolean signalFocus( GtkWidget*, GdkEventFocus*, gpointer ); static gboolean signalMap( GtkWidget*, GdkEvent*, gpointer ); static gboolean signalUnmap( GtkWidget*, GdkEvent*, gpointer ); @@ -345,7 +320,6 @@ class GtkSalFrame : public SalFrame void SetScreen( unsigned int nNewScreen, SetType eType, tools::Rectangle const *pSize = nullptr ); public: -#if GTK_CHECK_VERSION(3,0,0) cairo_surface_t* m_pSurface; basegfx::B2IVector m_aFrameSize; DamageHandler m_aDamageHandler; @@ -353,7 +327,6 @@ public: Idle m_aSmoothScrollIdle; int m_nGrabLevel; bool m_bSalObjectSetPosSize; -#endif GtkSalFrame( SalFrame* pParent, SalFrameStyleFlags nStyle ); GtkSalFrame( SystemParentData* pSysData ); @@ -374,9 +347,7 @@ public: GtkFixed* getFixedContainer() const { return m_pFixedContainer; } GtkEventBox* getEventBox() const { return m_pEventBox; } GtkWidget* getMouseEventWidget() const; -#if GTK_CHECK_VERSION(3,0,0) GtkGrid* getTopLevelGridWidget() const { return m_pTopLevelGrid; } -#endif GdkWindow* getForeignParent() const { return m_pForeignParent; } GdkNativeWindow getForeignParentWindow() const { return m_aForeignParentWindow; } GdkWindow* getForeignTopLevel() const { return m_pForeignTopLevel; } @@ -385,8 +356,6 @@ public: int GetDisplayScreen() const { return maGeometry.nDisplayScreenNumber; } void updateScreenNumber(); -#if GTK_CHECK_VERSION(3,0,0) - // only for gtk3 ... cairo_t* getCairoContext() const; void damaged(sal_Int32 nExtentsLeft, sal_Int32 nExtentsTop, sal_Int32 nExtentsRight, sal_Int32 nExtentsBottom) const; @@ -428,7 +397,6 @@ public: void LaunchAsyncScroll(GdkEvent const * pEvent); DECL_LINK(AsyncScroll, Timer *, void); -#endif virtual ~GtkSalFrame() override; // SalGraphics or NULL, but two Graphics for all SalFrames @@ -525,7 +493,6 @@ public: // done setting up the clipregion virtual void EndSetClipRegion() override; -#if GTK_CHECK_VERSION(3,0,0) virtual void PositionByToolkit(const tools::Rectangle& rRect, FloatWinPopupFlags nFlags) override; virtual void SetModal(bool bModal) override; virtual bool GetModal() const override; @@ -535,7 +502,6 @@ public: virtual bool UpdatePopover(void* nId, const OUString& rHelpText, vcl::Window* pParent, const tools::Rectangle& rHelpArea) override; virtual bool HidePopover(void* nId) override; virtual weld::Window* GetFrameWeld() const override; -#endif static GtkSalFrame *getFromWindow( GtkWindow *pWindow ); diff --git a/vcl/inc/unx/gtk/gtkgdi.hxx b/vcl/inc/unx/gtk/gtkgdi.hxx index c9b7be49f13e..e19d01205e49 100644 --- a/vcl/inc/unx/gtk/gtkgdi.hxx +++ b/vcl/inc/unx/gtk/gtkgdi.hxx @@ -29,8 +29,6 @@ #include <unx/gtk/gtkframe.hxx> #include <ControlCacheKey.hxx> -#if GTK_CHECK_VERSION(3,0,0) - #include <headless/svpgdi.hxx> #include <textrender.hxx> @@ -394,8 +392,6 @@ protected: ControlState nState, const ImplControlValue& aValue ); }; -#endif // !gtk3 - #endif // INCLUDED_VCL_INC_UNX_GTK_GTKGDI_HXX /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/inc/unx/gtk/gtkinst.hxx b/vcl/inc/unx/gtk/gtkinst.hxx index 65caa384c0ae..78dd9bc6e8b9 100644 --- a/vcl/inc/unx/gtk/gtkinst.hxx +++ b/vcl/inc/unx/gtk/gtkinst.hxx @@ -57,7 +57,6 @@ public: void ThreadsLeave(); }; -#if GTK_CHECK_VERSION(3,0,0) class GtkSalFrame; struct VclToGtkHelper @@ -182,20 +181,10 @@ public: css::uno::Reference<css::datatransfer::XTransferable> const & GetTransferrable() const { return m_xTrans; } }; -#endif - class GtkSalTimer; -#if GTK_CHECK_VERSION(3,0,0) class GtkInstance : public SvpSalInstance -#else -class GtkInstance : public X11SalInstance -#endif { -#if GTK_CHECK_VERSION(3,0,0) typedef SvpSalInstance Superclass_t; -#else - typedef X11SalInstance Superclass_t; -#endif public: GtkInstance( std::unique_ptr<SalYieldMutex> pMutex ); virtual ~GtkInstance() override; @@ -233,7 +222,6 @@ public: virtual css::uno::Reference< css::ui::dialogs::XFolderPicker2 > createFolderPicker( const css::uno::Reference< css::uno::XComponentContext >& ) override; -#if GTK_CHECK_VERSION(3,0,0) virtual css::uno::Reference< css::uno::XInterface > CreateClipboard( const css::uno::Sequence< css::uno::Any >& i_rArguments ) override; virtual css::uno::Reference< css::uno::XInterface > CreateDragSource() override; virtual css::uno::Reference< css::uno::XInterface > CreateDropTarget() override; @@ -241,7 +229,6 @@ public: virtual weld::Builder* CreateBuilder(weld::Widget* pParent, const OUString& rUIRoot, const OUString& rUIFile) override; virtual weld::MessageDialog* CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType, VclButtonsType eButtonType, const OUString &rPrimaryMessage) override; virtual weld::Window* GetFrameWeld(const css::uno::Reference<css::awt::XWindow>& rWindow) override; -#endif virtual const cairo_font_options_t* GetCairoFontOptions() override; const cairo_font_options_t* GetLastSeenCairoFontOptions() const; @@ -251,15 +238,11 @@ public: std::shared_ptr<vcl::unx::GtkPrintWrapper> const & getPrintWrapper() const; -#if GTK_CHECK_VERSION(3,0,0) void* CreateGStreamerSink(const SystemChildWindow*) override; -#endif private: GtkSalTimer *m_pTimer; -#if GTK_CHECK_VERSION(3,0,0) std::unordered_map< GdkAtom, css::uno::Reference<css::uno::XInterface> > m_aClipboards; -#endif bool IsTimerExpired(); bool bNeedsInit; cairo_font_options_t* m_pLastCairoFontOptions; diff --git a/vcl/inc/unx/gtk/gtkobject.hxx b/vcl/inc/unx/gtk/gtkobject.hxx index 4523e9998abd..f54d7af3f04c 100644 --- a/vcl/inc/unx/gtk/gtkobject.hxx +++ b/vcl/inc/unx/gtk/gtkobject.hxx @@ -29,12 +29,8 @@ class GtkSalObject : public SalObject { SystemEnvData m_aSystemData; GtkWidget* m_pSocket; -#if GTK_CHECK_VERSION(3,0,0) GtkSalFrame* m_pParent; cairo_region_t* m_pRegion; -#else - GdkRegion* m_pRegion; -#endif // signals static gboolean signalButton( GtkWidget*, GdkEventButton*, gpointer ); diff --git a/vcl/inc/unx/gtk/gtkprintwrapper.hxx b/vcl/inc/unx/gtk/gtkprintwrapper.hxx index 4862c8cc2fbc..589c800d77d1 100644 --- a/vcl/inc/unx/gtk/gtkprintwrapper.hxx +++ b/vcl/inc/unx/gtk/gtkprintwrapper.hxx @@ -12,14 +12,11 @@ #include <gtk/gtk.h> -#if defined ENABLE_GTK_PRINT || GTK_CHECK_VERSION(3,0,0) #include <gtk/gtkunixprint.h> #include <osl/module.hxx> #include <sal/types.h> -#endif - namespace vcl { namespace unx @@ -30,7 +27,6 @@ class GtkPrintWrapper private: GtkPrintWrapper(const GtkPrintWrapper&) = delete; GtkPrintWrapper& operator=(const GtkPrintWrapper&) = delete; -#if defined ENABLE_GTK_PRINT || GTK_CHECK_VERSION(3,0,0) public: GtkPrintWrapper(); ~GtkPrintWrapper(); @@ -63,59 +59,6 @@ public: // print selection support, since 2.17.4 void print_unix_dialog_set_support_selection(GtkPrintUnixDialog* dialog, gboolean support_selection) const; void print_unix_dialog_set_has_selection(GtkPrintUnixDialog* dialog, gboolean has_selection) const; - -#if !GTK_CHECK_VERSION(3,0,0) -private: - void impl_load(); - -private: - typedef GtkPageSetup* (* page_setup_new_t)(); - typedef GtkPrintJob* (* print_job_new_t)(const gchar*, GtkPrinter*, GtkPrintSettings*, GtkPageSetup*); - typedef void (* print_job_send_t)(GtkPrintJob*, GtkPrintJobCompleteFunc, gpointer, GDestroyNotify); - typedef gboolean (* print_job_set_source_file_t)(GtkPrintJob*, const gchar*, GError**); - typedef const gchar* (* print_settings_get_t)(GtkPrintSettings*, const gchar*); - typedef gboolean (* print_settings_get_collate_t)(GtkPrintSettings*); - typedef void (* print_settings_set_collate_t)(GtkPrintSettings*, gboolean); - typedef gint (* print_settings_get_n_copies_t)(GtkPrintSettings*); - typedef void (* print_settings_set_n_copies_t)(GtkPrintSettings*, gint); - typedef GtkPageRange* (* print_settings_get_page_ranges_t)(GtkPrintSettings*, gint*); - typedef void (* print_settings_set_print_pages_t)(GtkPrintSettings*, GtkPrintPages); - typedef GtkWidget* (* print_unix_dialog_new_t)(const gchar*, GtkWindow*); - typedef void (* print_unix_dialog_add_custom_tab_t)(GtkPrintUnixDialog*, GtkWidget*, GtkWidget*); - typedef GtkPrinter* (* print_unix_dialog_get_selected_printer_t)(GtkPrintUnixDialog*); - typedef void (* print_unix_dialog_set_manual_capabilities_t)(GtkPrintUnixDialog*, GtkPrintCapabilities); - typedef GtkPrintSettings* (* print_unix_dialog_get_settings_t)(GtkPrintUnixDialog*); - typedef void (* print_unix_dialog_set_settings_t)(GtkPrintUnixDialog*, GtkPrintSettings*); - typedef void (* print_unix_dialog_set_support_selection_t)(GtkPrintUnixDialog*, gboolean); - typedef void (* print_unix_dialog_set_has_selection_t)(GtkPrintUnixDialog*, gboolean); - -private: - osl::Module m_aModule; - - // general printing support, since 2.10.0 - page_setup_new_t m_page_setup_new; - print_job_new_t m_print_job_new; - print_job_send_t m_print_job_send; - print_job_set_source_file_t m_print_job_set_source_file; - print_settings_get_t m_print_settings_get; - print_settings_get_collate_t m_print_settings_get_collate; - print_settings_set_collate_t m_print_settings_set_collate; - print_settings_get_n_copies_t m_print_settings_get_n_copies; - print_settings_set_n_copies_t m_print_settings_set_n_copies; - print_settings_get_page_ranges_t m_print_settings_get_page_ranges; - print_settings_set_print_pages_t m_print_settings_set_print_pages; - print_unix_dialog_new_t m_print_unix_dialog_new; - print_unix_dialog_add_custom_tab_t m_print_unix_dialog_add_custom_tab; - print_unix_dialog_get_selected_printer_t m_print_unix_dialog_get_selected_printer; - print_unix_dialog_set_manual_capabilities_t m_print_unix_dialog_set_manual_capabilities; - print_unix_dialog_get_settings_t m_print_unix_dialog_get_settings; - print_unix_dialog_set_settings_t m_print_unix_dialog_set_settings; - - // print selection support, since 2.17.4 - print_unix_dialog_set_support_selection_t m_print_unix_dialog_set_support_selection; - print_unix_dialog_set_has_selection_t m_print_unix_dialog_set_has_selection; -#endif -#endif }; } diff --git a/vcl/inc/unx/gtk/gtksalmenu.hxx b/vcl/inc/unx/gtk/gtksalmenu.hxx index 2d812cad3962..ddef9ef42310 100644 --- a/vcl/inc/unx/gtk/gtksalmenu.hxx +++ b/vcl/inc/unx/gtk/gtksalmenu.hxx @@ -23,27 +23,8 @@ #include <unotools/tempfile.hxx> #include <vcl/idle.hxx> -#if GTK_CHECK_VERSION(3,0,0) -# define ENABLE_GMENU_INTEGRATION -# include <unx/gtk/glomenu.h> -# include <unx/gtk/gloactiongroup.h> -#elif ENABLE_DBUS && ENABLE_GIO && \ - (GLIB_MAJOR_VERSION > 2 || GLIB_MINOR_VERSION >= 36) -# define ENABLE_GMENU_INTEGRATION -# include <unx/gtk/glomenu.h> -# include <unx/gtk/gloactiongroup.h> -#else -# if !(GLIB_MAJOR_VERSION > 2 || GLIB_MINOR_VERSION >= 32) - typedef void GMenuModel; -# endif -# if !(GLIB_MAJOR_VERSION > 2 || GLIB_MINOR_VERSION >= 28) - typedef void GActionGroup; -# endif -#endif - -#if !GTK_CHECK_VERSION(3,0,0) -typedef void GtkCssProvider; -#endif +#include <unx/gtk/glomenu.h> +#include <unx/gtk/gloactiongroup.h> class MenuItemList; class GtkSalMenuItem; diff --git a/vcl/source/app/salplug.cxx b/vcl/source/app/salplug.cxx index 20604edb7f46..ce3fb551d6af 100644 --- a/vcl/source/app/salplug.cxx +++ b/vcl/source/app/salplug.cxx @@ -95,7 +95,7 @@ SalInstance* tryInstance( const OUString& rModuleBase, bool bForce = false ) * So make sure libgtk+ & co are still mapped into memory when * atk-bridge's atexit handler gets called. */ - if( aUsedModuleBase == "gtk" || aUsedModuleBase == "gtk3" || aUsedModuleBase == "gtk3_kde5" || aUsedModuleBase == "win" ) + if( aUsedModuleBase == "gtk3" || aUsedModuleBase == "gtk3_kde5" || aUsedModuleBase == "win" ) { pCloseModule = nullptr; } @@ -154,12 +154,12 @@ SalInstance* autodetect_plugin() #if ENABLE_GTK3_KDE5 "gtk3_kde5", #endif - "gtk3", "gtk", "gen", nullptr + "gtk3", "gen", nullptr }; static const char* const pStandardFallbackList[] = { - "gtk3", "gtk", "gen", nullptr + "gtk3", "gen", nullptr }; #ifdef HEADLESS_VCLPLUG @@ -259,7 +259,7 @@ SalInstance *CreateSalInstance() #ifdef MACOSX "osx" #else - "gtk3", "gtk", "kf5", "gen" + "gtk3", "kf5", "gen" #endif #endif }; diff --git a/vcl/unx/gtk/a11y/atkaction.cxx b/vcl/unx/gtk/a11y/atkaction.cxx deleted file mode 100644 index 14a172fe6ae3..000000000000 --- a/vcl/unx/gtk/a11y/atkaction.cxx +++ /dev/null @@ -1,275 +0,0 @@ -/* -*- 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/. - * - * 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 . - */ - -#include "atkwrapper.hxx" - -#include <com/sun/star/accessibility/XAccessibleAction.hpp> -#include <com/sun/star/accessibility/XAccessibleKeyBinding.hpp> - -#include <com/sun/star/awt/Key.hpp> -#include <com/sun/star/awt/KeyModifier.hpp> - -#include <rtl/strbuf.hxx> -#include <algorithm> -#include <map> - -using namespace ::com::sun::star; - -// FIXME -static const gchar * -getAsConst( const OString& rString ) -{ - static const int nMax = 10; - static OString aUgly[nMax]; - static int nIdx = 0; - nIdx = (nIdx + 1) % nMax; - aUgly[nIdx] = rString; - return aUgly[ nIdx ].getStr(); -} - -/// @throws uno::RuntimeException -static css::uno::Reference<css::accessibility::XAccessibleAction> - getAction( AtkAction *action ) -{ - AtkObjectWrapper *pWrap = ATK_OBJECT_WRAPPER( action ); - - if( pWrap ) - { - if( !pWrap->mpAction.is() ) - { - pWrap->mpAction.set(pWrap->mpContext, css::uno::UNO_QUERY); - } - - return pWrap->mpAction; - } - - return css::uno::Reference<css::accessibility::XAccessibleAction>(); -} - -extern "C" { - -static gboolean -action_wrapper_do_action (AtkAction *action, - gint i) -{ - try { - css::uno::Reference<css::accessibility::XAccessibleAction> pAction - = getAction( action ); - if( pAction.is() ) - return pAction->doAccessibleAction( i ); - } - catch(const uno::Exception&) { - g_warning( "Exception in doAccessibleAction()" ); - } - - return FALSE; -} - -static gint -action_wrapper_get_n_actions (AtkAction *action) -{ - try { - css::uno::Reference<css::accessibility::XAccessibleAction> pAction - = getAction( action ); - if( pAction.is() ) - return pAction->getAccessibleActionCount(); - } - catch(const uno::Exception&) { - g_warning( "Exception in getAccessibleActionCount()" ); - } - - return 0; -} - -static const gchar * -action_wrapper_get_description (AtkAction *, gint) -{ - // GAIL implement this only for cells - g_warning( "Not implemented: get_description()" ); - return ""; -} - -static const gchar * -action_wrapper_get_localized_name (AtkAction *, gint) -{ - // GAIL doesn't implement this as well - g_warning( "Not implemented: get_localized_name()" ); - return ""; -} - -#define ACTION_NAME_PAIR( OOoName, AtkName ) \ - std::pair< const OUString, const gchar * > ( OUString( OOoName ), AtkName ) - -static const gchar * -action_wrapper_get_name (AtkAction *action, - gint i) -{ - static std::map< OUString, const gchar * > aNameMap; - - if( aNameMap.empty() ) - { - aNameMap.insert( ACTION_NAME_PAIR( "click", "click" ) ); - aNameMap.insert( ACTION_NAME_PAIR( "select", "click" ) ); - aNameMap.insert( ACTION_NAME_PAIR( "togglePopup", "push" ) ); - } - - try { - css::uno::Reference<css::accessibility::XAccessibleAction> pAction - = getAction( action ); - if( pAction.is() ) - { - std::map< OUString, const gchar * >::iterator iter; - - OUString aDesc( pAction->getAccessibleActionDescription( i ) ); - - iter = aNameMap.find( aDesc ); - if( iter != aNameMap.end() ) - return iter->second; - - std::pair< const OUString, const gchar * > aNewVal( aDesc, - g_strdup( OUStringToConstGChar(aDesc) ) ); - - if( aNameMap.insert( aNewVal ).second ) - return aNewVal.second; - } - } - catch(const uno::Exception&) { - g_warning( "Exception in getAccessibleActionDescription()" ); - } - - return ""; -} - -/* -* GNOME Expects a string in the format: -* -* <mnemonic>;<full-path>;<accelerator> -* -* The keybindings in <full-path> should be separated by ":" -*/ - -static void -appendKeyStrokes(OStringBuffer& rBuffer, const uno::Sequence< awt::KeyStroke >& rKeyStrokes) -{ - for( const auto& rKeyStroke : rKeyStrokes ) - { - if( rKeyStroke.Modifiers & awt::KeyModifier::SHIFT ) - rBuffer.append("<Shift>"); - if( rKeyStroke.Modifiers & awt::KeyModifier::MOD1 ) - rBuffer.append("<Control>"); - if( rKeyStroke.Modifiers & awt::KeyModifier::MOD2 ) - rBuffer.append("<Alt>"); - - if( ( rKeyStroke.KeyCode >= awt::Key::A ) && ( rKeyStroke.KeyCode <= awt::Key::Z ) ) - rBuffer.append( static_cast<sal_Char>( 'a' + ( rKeyStroke.KeyCode - awt::Key::A ) ) ); - else - { - sal_Char c = '\0'; - - switch( rKeyStroke.KeyCode ) - { - case awt::Key::TAB: c = '\t'; break; - case awt::Key::SPACE: c = ' '; break; - case awt::Key::ADD: c = '+'; break; - case awt::Key::SUBTRACT: c = '-'; break; - case awt::Key::MULTIPLY: c = '*'; break; - case awt::Key::DIVIDE: c = '/'; break; - case awt::Key::POINT: c = '.'; break; - case awt::Key::COMMA: c = ','; break; - case awt::Key::LESS: c = '<'; break; - case awt::Key::GREATER: c = '>'; break; - case awt::Key::EQUAL: c = '='; break; - case 0: - break; - default: - g_warning( "Unmapped KeyCode: %d", rKeyStroke.KeyCode ); - break; - } - - if( c != '\0' ) - rBuffer.append( c ); - else - { - // The KeyCode approach did not work, probably a non ascii character - // let's hope that there is a character given in KeyChar. - rBuffer.append( OUStringToGChar( OUString( rKeyStroke.KeyChar ) ) ); - } - } - } -} - -static const gchar * -action_wrapper_get_keybinding (AtkAction *action, - gint i) -{ - try { - css::uno::Reference<css::accessibility::XAccessibleAction> pAction - = getAction( action ); - if( pAction.is() ) - { - uno::Reference< accessibility::XAccessibleKeyBinding > xBinding( pAction->getAccessibleActionKeyBinding( i )); - - if( xBinding.is() ) - { - OStringBuffer aRet; - - sal_Int32 nmax = std::min( xBinding->getAccessibleKeyBindingCount(), sal_Int32(3) ); - for( sal_Int32 n = 0; n < nmax; n++ ) - { - appendKeyStrokes( aRet, xBinding->getAccessibleKeyBinding( n ) ); - - if( n < 2 ) - aRet.append( ';' ); - } - - // !! FIXME !! remember keystroke in wrapper object ? - return getAsConst( aRet.makeStringAndClear() ); - } - } - } - catch(const uno::Exception&) { - g_warning( "Exception in get_keybinding()" ); - } - - return ""; -} - -static gboolean -action_wrapper_set_description (AtkAction *, gint, const gchar *) -{ - return FALSE; -} - -} // extern "C" - -void -actionIfaceInit (AtkActionIface *iface) -{ - g_return_if_fail (iface != nullptr); - - iface->do_action = action_wrapper_do_action; - iface->get_n_actions = action_wrapper_get_n_actions; - iface->get_description = action_wrapper_get_description; - iface->get_keybinding = action_wrapper_get_keybinding; - iface->get_name = action_wrapper_get_name; - iface->get_localized_name = action_wrapper_get_localized_name; - iface->set_description = action_wrapper_set_description; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/unx/gtk/a11y/atkbridge.cxx b/vcl/unx/gtk/a11y/atkbridge.cxx deleted file mode 100644 index a74f1a91885f..000000000000 --- a/vcl/unx/gtk/a11y/atkbridge.cxx +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- 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/. - * - * 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 . - */ - -#include <unx/gtk/atkbridge.hxx> -#include <unx/gtk/gtkframe.hxx> - -#include "atkfactory.hxx" -#include "atkutil.hxx" -#include "atkwindow.hxx" - -bool InitAtkBridge() -{ -#if GTK_CHECK_VERSION(3,0,0) - ooo_atk_util_ensure_event_listener(); -#else - const char* pVersion = atk_get_toolkit_version(); - if( ! pVersion ) - return false; - - unsigned int major, minor, micro; - - /* check gail minimum version requirements */ - if( sscanf( pVersion, "%u.%u.%u", &major, &minor, µ) < 3 ) - { - // g_warning( "unable to parse gail version number" ); - return false; - } - - if( ( (major << 16) | (minor << 8) | micro ) < ( (1 << 16) | 8 << 8 | 6 ) ) - { - g_warning( "libgail >= 1.8.6 required for accessibility support" ); - return false; - } - - /* Initialize the AtkUtilityWrapper class */ - g_type_class_unref( g_type_class_ref( ooo_atk_util_get_type() ) ); - - /* Initialize the GailWindow wrapper class */ - g_type_class_unref( g_type_class_ref( ooo_window_wrapper_get_type() ) ); - - /* Register AtkObject wrapper factory */ - AtkRegistry * registry = atk_get_default_registry(); - if( registry ) - atk_registry_set_factory_type( registry, OOO_TYPE_FIXED, wrapper_factory_get_type() ); -#endif - return true; -} - -void DeInitAtkBridge() -{ -#if !GTK_CHECK_VERSION(3,0,0) - restore_gail_window_vtable(); -#endif -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/unx/gtk/a11y/atkcomponent.cxx b/vcl/unx/gtk/a11y/atkcomponent.cxx deleted file mode 100644 index da5a48eca1f2..000000000000 --- a/vcl/unx/gtk/a11y/atkcomponent.cxx +++ /dev/null @@ -1,387 +0,0 @@ -/* -*- 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/. - * - * 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 . - */ - -#include "atkwrapper.hxx" -#include <com/sun/star/accessibility/XAccessibleComponent.hpp> -#include <gtk/gtk.h> - -using namespace ::com::sun::star; - -static AtkObjectWrapper* getObjectWrapper(AtkComponent *pComponent) -{ - AtkObjectWrapper *pWrap = nullptr; - if (ATK_IS_OBJECT_WRAPPER(pComponent)) - pWrap = ATK_OBJECT_WRAPPER(pComponent); - else if (GTK_IS_DRAWING_AREA(pComponent)) //when using a GtkDrawingArea as a custom widget in welded gtk3 - { - GtkWidget* pDrawingArea = GTK_WIDGET(pComponent); - AtkObject* pAtkObject = gtk_widget_get_accessible(pDrawingArea); - pWrap = ATK_IS_OBJECT_WRAPPER(pAtkObject) ? ATK_OBJECT_WRAPPER(pAtkObject) : nullptr; - } - return pWrap; -} - -/// @throws uno::RuntimeException -static css::uno::Reference<css::accessibility::XAccessibleComponent> - getComponent(AtkObjectWrapper *pWrap) -{ - if (pWrap) - { - if (!pWrap->mpComponent.is()) - pWrap->mpComponent.set(pWrap->mpContext, css::uno::UNO_QUERY); - return pWrap->mpComponent; - } - - return css::uno::Reference<css::accessibility::XAccessibleComponent>(); -} - -/*****************************************************************************/ - -static awt::Point -translatePoint( css::uno::Reference<accessibility::XAccessibleComponent> const & pComponent, - gint x, gint y, AtkCoordType t) -{ - awt::Point aOrigin( 0, 0 ); - if( t == ATK_XY_SCREEN ) - aOrigin = pComponent->getLocationOnScreen(); - return awt::Point( x - aOrigin.X, y - aOrigin.Y ); -} - -/*****************************************************************************/ - -extern "C" { - -static gboolean -component_wrapper_grab_focus (AtkComponent *component) -{ - AtkObjectWrapper* obj = getObjectWrapper(component); - //if we're a native GtkDrawingArea with custom a11y, use the default toolkit a11y - if (obj && obj->mpOrig) - return atk_component_grab_focus(ATK_COMPONENT(obj->mpOrig)); - - try - { - css::uno::Reference<css::accessibility::XAccessibleComponent> pComponent - = getComponent(obj); - if( pComponent.is() ) - { - pComponent->grabFocus(); - return TRUE; - } - } - catch( const uno::Exception & ) - { - g_warning( "Exception in grabFocus()" ); - } - - return FALSE; -} - -/*****************************************************************************/ - -static gboolean -component_wrapper_contains (AtkComponent *component, - gint x, - gint y, - AtkCoordType coord_type) -{ - AtkObjectWrapper* obj = getObjectWrapper(component); - //if we're a native GtkDrawingArea with custom a11y, use the default toolkit a11y - if (obj && obj->mpOrig) - return atk_component_contains(ATK_COMPONENT(obj->mpOrig), x, y, coord_type); - - try - { - css::uno::Reference<css::accessibility::XAccessibleComponent> pComponent - = getComponent(obj); - if( pComponent.is() ) - return pComponent->containsPoint( translatePoint( pComponent, x, y, coord_type ) ); - } - catch( const uno::Exception & ) - { - g_warning( "Exception in containsPoint()" ); - } - - return FALSE; -} - -/*****************************************************************************/ - -static AtkObject * -component_wrapper_ref_accessible_at_point (AtkComponent *component, - gint x, - gint y, - AtkCoordType coord_type) -{ - AtkObjectWrapper* obj = getObjectWrapper(component); - //if we're a native GtkDrawingArea with custom a11y, use the default toolkit a11y - if (obj && obj->mpOrig) - return atk_component_ref_accessible_at_point(ATK_COMPONENT(obj->mpOrig), x, y, coord_type); - - try - { - css::uno::Reference<css::accessibility::XAccessibleComponent> pComponent - = getComponent(obj); - - if( pComponent.is() ) - { - uno::Reference< accessibility::XAccessible > xAccessible = pComponent->getAccessibleAtPoint( - translatePoint( pComponent, x, y, coord_type ) ); - return atk_object_wrapper_ref( xAccessible ); - } - } - catch( const uno::Exception & ) - { - g_warning( "Exception in getAccessibleAtPoint()" ); - } - - return nullptr; -} - -/*****************************************************************************/ - -static void -component_wrapper_get_position (AtkComponent *component, - gint *x, - gint *y, - AtkCoordType coord_type) -{ - AtkObjectWrapper* obj = getObjectWrapper(component); - //if we're a native GtkDrawingArea with custom a11y, use the default toolkit a11y - if (obj && obj->mpOrig) - { - atk_component_get_extents(ATK_COMPONENT(obj->mpOrig), x, y, nullptr, nullptr, coord_type); - return; - } - - *x = *y = -1; - - try - { - css::uno::Reference<css::accessibility::XAccessibleComponent> pComponent - = getComponent(obj); - if( pComponent.is() ) - { - awt::Point aPos; - - if( coord_type == ATK_XY_SCREEN ) - aPos = pComponent->getLocationOnScreen(); - else - aPos = pComponent->getLocation(); - - *x = aPos.X; - *y = aPos.Y; - } - } - catch( const uno::Exception & ) - { - g_warning( "Exception in getLocation[OnScreen]()" ); - } -} - -/*****************************************************************************/ - -static void -component_wrapper_get_size (AtkComponent *component, - gint *width, - gint *height) -{ - AtkObjectWrapper* obj = getObjectWrapper(component); - //if we're a native GtkDrawingArea with custom a11y, use the default toolkit a11y - if (obj && obj->mpOrig) - { - atk_component_get_extents(ATK_COMPONENT(obj->mpOrig), nullptr, nullptr, width, height, ATK_XY_WINDOW); - return; - } - - *width = *height = -1; - - try - { - css::uno::Reference<css::accessibility::XAccessibleComponent> pComponent - = getComponent(obj); - if( pComponent.is() ) - { - awt::Size aSize = pComponent->getSize(); - *width = aSize.Width; - *height = aSize.Height; - } - } - catch( const uno::Exception & ) - { - g_warning( "Exception in getSize()" ); - } -} - -/*****************************************************************************/ - -static void -component_wrapper_get_extents (AtkComponent *component, - gint *x, - gint *y, - gint *width, - gint *height, - AtkCoordType coord_type) -{ - component_wrapper_get_position( component, x, y, coord_type ); - component_wrapper_get_size( component, width, height ); -} - -/*****************************************************************************/ - -static gboolean -component_wrapper_set_extents (AtkComponent *, gint, gint, gint, gint, AtkCoordType) -{ - g_warning( "AtkComponent::set_extents unimplementable" ); - return FALSE; -} - -/*****************************************************************************/ - -static gboolean -component_wrapper_set_position (AtkComponent *, gint, gint, AtkCoordType) -{ - g_warning( "AtkComponent::set_position unimplementable" ); - return FALSE; -} - -/*****************************************************************************/ - -static gboolean -component_wrapper_set_size (AtkComponent *, gint, gint) -{ - g_warning( "AtkComponent::set_size unimplementable" ); - return FALSE; -} - -/*****************************************************************************/ - -static AtkLayer -component_wrapper_get_layer (AtkComponent *component) -{ - AtkRole role = atk_object_get_role( ATK_OBJECT( component ) ); - AtkLayer layer = ATK_LAYER_WIDGET; - - switch (role) - { - case ATK_ROLE_POPUP_MENU: - case ATK_ROLE_MENU_ITEM: - case ATK_ROLE_CHECK_MENU_ITEM: - case ATK_ROLE_SEPARATOR: - case ATK_ROLE_LIST_ITEM: - layer = ATK_LAYER_POPUP; - break; - case ATK_ROLE_MENU: - { - AtkObject * parent = atk_object_get_parent( ATK_OBJECT( component ) ); - if( atk_object_get_role( parent ) != ATK_ROLE_MENU_BAR ) - layer = ATK_LAYER_POPUP; - } - break; - - case ATK_ROLE_LIST: - { - AtkObject * parent = atk_object_get_parent( ATK_OBJECT( component ) ); - if( atk_object_get_role( parent ) == ATK_ROLE_COMBO_BOX ) - layer = ATK_LAYER_POPUP; - } - break; - - default: - ; - } - - return layer; -} - -/*****************************************************************************/ - -static gint -component_wrapper_get_mdi_zorder (AtkComponent *) -{ - // only needed for ATK_LAYER_MDI (not used) or ATK_LAYER_WINDOW (inherited from GAIL) - return G_MININT; -} - -/*****************************************************************************/ - -// This code is mostly stolen from libgail .. - -static guint -component_wrapper_add_focus_handler (AtkComponent *component, - AtkFocusHandler handler) -{ - GSignalMatchType match_type; - gulong ret; - guint signal_id; - - match_type = GSignalMatchType(G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC); - signal_id = g_signal_lookup( "focus-event", ATK_TYPE_OBJECT ); - - ret = g_signal_handler_find( component, match_type, signal_id, 0, nullptr, - static_cast<gpointer>(&handler), nullptr); - if (!ret) - { - return g_signal_connect_closure_by_id (component, - signal_id, 0, - g_cclosure_new ( - G_CALLBACK (handler), nullptr, - nullptr), - FALSE); - } - else - { - return 0; - } -} - -/*****************************************************************************/ - -static void -component_wrapper_remove_focus_handler (AtkComponent *component, - guint handler_id) -{ - g_signal_handler_disconnect (component, handler_id); -} - -/*****************************************************************************/ - -} // extern "C" - -void -componentIfaceInit (AtkComponentIface *iface) -{ - g_return_if_fail (iface != nullptr); - - iface->add_focus_handler = component_wrapper_add_focus_handler; - iface->contains = component_wrapper_contains; - iface->get_extents = component_wrapper_get_extents; - iface->get_layer = component_wrapper_get_layer; - iface->get_mdi_zorder = component_wrapper_get_mdi_zorder; - iface->get_position = component_wrapper_get_position; - iface->get_size = component_wrapper_get_size; - iface->grab_focus = component_wrapper_grab_focus; - iface->ref_accessible_at_point = component_wrapper_ref_accessible_at_point; - iface->remove_focus_handler = component_wrapper_remove_focus_handler; - iface->set_extents = component_wrapper_set_extents; - iface->set_position = component_wrapper_set_position; - iface->set_size = component_wrapper_set_size; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/unx/gtk/a11y/atkeditabletext.cxx b/vcl/unx/gtk/a11y/atkeditabletext.cxx deleted file mode 100644 index 49d3eb9ccfc9..000000000000 --- a/vcl/unx/gtk/a11y/atkeditabletext.cxx +++ /dev/null @@ -1,194 +0,0 @@ -/* -*- 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/. - * - * 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 . - */ - -#include "atkwrapper.hxx" -#include "atktextattributes.hxx" - -#include <com/sun/star/accessibility/XAccessibleEditableText.hpp> -#include <com/sun/star/accessibility/TextSegment.hpp> - -#include <string.h> - -using namespace ::com::sun::star; - -/// @throws uno::RuntimeException -static css::uno::Reference<css::accessibility::XAccessibleEditableText> - getEditableText( AtkEditableText *pEditableText ) -{ - AtkObjectWrapper *pWrap = ATK_OBJECT_WRAPPER( pEditableText ); - if( pWrap ) - { - if( !pWrap->mpEditableText.is() ) - { - pWrap->mpEditableText.set(pWrap->mpContext, css::uno::UNO_QUERY); - } - - return pWrap->mpEditableText; - } - - return css::uno::Reference<css::accessibility::XAccessibleEditableText>(); -} - -/*****************************************************************************/ - -extern "C" { - -static gboolean -editable_text_wrapper_set_run_attributes( AtkEditableText *text, - AtkAttributeSet *attribute_set, - gint nStartOffset, - gint nEndOffset) -{ - try { - css::uno::Reference<css::accessibility::XAccessibleEditableText> - pEditableText = getEditableText( text ); - if( pEditableText.is() ) - { - uno::Sequence< beans::PropertyValue > aAttributeList; - - if( attribute_set_map_to_property_values( attribute_set, aAttributeList ) ) - return pEditableText->setAttributes(nStartOffset, nEndOffset, aAttributeList); - } - } - catch(const uno::Exception&) { - g_warning( "Exception in setAttributes()" ); - } - - return FALSE; -} - -static void -editable_text_wrapper_set_text_contents( AtkEditableText *text, - const gchar *string ) -{ - try { - css::uno::Reference<css::accessibility::XAccessibleEditableText> - pEditableText = getEditableText( text ); - if( pEditableText.is() ) - { - OUString aString ( string, strlen(string), RTL_TEXTENCODING_UTF8 ); - pEditableText->setText( aString ); - } - } - catch(const uno::Exception&) { - g_warning( "Exception in setText()" ); - } -} - -static void -editable_text_wrapper_insert_text( AtkEditableText *text, - const gchar *string, - gint length, - gint *pos ) -{ - try { - css::uno::Reference<css::accessibility::XAccessibleEditableText> - pEditableText = getEditableText( text ); - if( pEditableText.is() ) - { - OUString aString ( string, length, RTL_TEXTENCODING_UTF8 ); - if( pEditableText->insertText( aString, *pos ) ) - *pos += length; - } - } - catch(const uno::Exception&) { - g_warning( "Exception in insertText()" ); - } -} - -static void -editable_text_wrapper_cut_text( AtkEditableText *text, - gint start, - gint end ) -{ - try { - css::uno::Reference<css::accessibility::XAccessibleEditableText> - pEditableText = getEditableText( text ); - if( pEditableText.is() ) - pEditableText->cutText( start, end ); - } - catch(const uno::Exception&) { - g_warning( "Exception in cutText()" ); - } -} - -static void -editable_text_wrapper_delete_text( AtkEditableText *text, - gint start, - gint end ) -{ - try { - css::uno::Reference<css::accessibility::XAccessibleEditableText> - pEditableText = getEditableText( text ); - if( pEditableText.is() ) - pEditableText->deleteText( start, end ); - } - catch(const uno::Exception&) { - g_warning( "Exception in deleteText()" ); - } -} - -static void -editable_text_wrapper_paste_text( AtkEditableText *text, - gint pos ) -{ - try { - css::uno::Reference<css::accessibility::XAccessibleEditableText> - pEditableText = getEditableText( text ); - if( pEditableText.is() ) - pEditableText->pasteText( pos ); - } - catch(const uno::Exception&) { - g_warning( "Exception in pasteText()" ); - } -} - -static void -editable_text_wrapper_copy_text( AtkEditableText *text, - gint start, - gint end ) -{ - try { - css::uno::Reference<css::accessibility::XAccessibleEditableText> - pEditableText = getEditableText( text ); - if( pEditableText.is() ) - pEditableText->copyText( start, end ); - } - catch(const uno::Exception&) { - g_warning( "Exception in copyText()" ); - } -} - -} // extern "C" - -void -editableTextIfaceInit (AtkEditableTextIface *iface) -{ - g_return_if_fail (iface != nullptr); - - iface->set_text_contents = editable_text_wrapper_set_text_contents; - iface->insert_text = editable_text_wrapper_insert_text; - iface->copy_text = editable_text_wrapper_copy_text; - iface->cut_text = editable_text_wrapper_cut_text; - iface->delete_text = editable_text_wrapper_delete_text; - iface->paste_text = editable_text_wrapper_paste_text; - iface->set_run_attributes = editable_text_wrapper_set_run_attributes; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/unx/gtk/a11y/atkfactory.cxx b/vcl/unx/gtk/a11y/atkfactory.cxx deleted file mode 100644 index 3a776b20dcc7..000000000000 --- a/vcl/unx/gtk/a11y/atkfactory.cxx +++ /dev/null @@ -1,195 +0,0 @@ -/* -*- 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/. - * - * 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 . - */ - -#include <unx/gtk/gtkframe.hxx> -#include <vcl/window.hxx> -#include "atkwrapper.hxx" -#include "atkfactory.hxx" -#include "atkregistry.hxx" - -using namespace ::com::sun::star; - -extern "C" { - -/* - * Instances of this dummy object class are returned whenever we have to - * create an AtkObject, but can't touch the OOo object anymore since it - * is already disposed. - */ - -static AtkStateSet * -noop_wrapper_ref_state_set( AtkObject * ) -{ - AtkStateSet *state_set = atk_state_set_new(); - atk_state_set_add_state( state_set, ATK_STATE_DEFUNCT ); - return state_set; -} - -static void -atk_noop_object_wrapper_class_init(AtkNoOpObjectClass *klass) -{ - AtkObjectClass *atk_class = ATK_OBJECT_CLASS( klass ); - atk_class->ref_state_set = noop_wrapper_ref_state_set; -} - -static GType -atk_noop_object_wrapper_get_type() -{ - static GType type = 0; - - if (!type) - { - static const GTypeInfo typeInfo = - { - sizeof (AtkNoOpObjectClass), - nullptr, - nullptr, - reinterpret_cast<GClassInitFunc>(atk_noop_object_wrapper_class_init), - nullptr, - nullptr, - sizeof (AtkObjectWrapper), - 0, - nullptr, - nullptr - } ; - - type = g_type_register_static (ATK_TYPE_OBJECT, "OOoAtkNoOpObj", &typeInfo, GTypeFlags(0)) ; - } - return type; -} - -static AtkObject* -atk_noop_object_wrapper_new() -{ - AtkObject *accessible; - - accessible = static_cast<AtkObject *>(g_object_new (atk_noop_object_wrapper_get_type(), nullptr)); - g_return_val_if_fail (accessible != nullptr, nullptr); - - accessible->role = ATK_ROLE_INVALID; - accessible->layer = ATK_LAYER_INVALID; - - return accessible; -} - -/* - * The wrapper factory - */ - -static GType -wrapper_factory_get_accessible_type() -{ - return atk_object_wrapper_get_type(); -} - -static AtkObject* -wrapper_factory_create_accessible( GObject *obj ) -{ -#if GTK_CHECK_VERSION(3,0,0) - GtkWidget* pEventBox = gtk_widget_get_parent(GTK_WIDGET(obj)); - - // gail_container_real_remove_gtk tries to re-instantiate an accessible - // for a widget that is about to vanish .. - if (!pEventBox) - return atk_noop_object_wrapper_new(); - - GtkWidget* pTopLevelGrid = gtk_widget_get_parent(pEventBox); - if (!pTopLevelGrid) - return atk_noop_object_wrapper_new(); - - GtkWidget* pTopLevel = gtk_widget_get_parent(pTopLevelGrid); - if (!pTopLevel) - return atk_noop_object_wrapper_new(); -#else - GtkWidget* pTopLevel = gtk_widget_get_parent(GTK_WIDGET(obj)); - - // gail_container_real_remove_gtk tries to re-instantiate an accessible - // for a widget that is about to vanish .. - if (!pTopLevel) - return atk_noop_object_wrapper_new(); -#endif - - GtkSalFrame* pFrame = GtkSalFrame::getFromWindow(GTK_WINDOW(pTopLevel)); - g_return_val_if_fail( pFrame != nullptr, nullptr ); - - vcl::Window* pFrameWindow = pFrame->GetWindow(); - if( pFrameWindow ) - { - vcl::Window* pWindow = pFrameWindow; - - // skip accessible objects already exposed by the frame objects - if( WindowType::BORDERWINDOW == pWindow->GetType() ) - pWindow = pFrameWindow->GetAccessibleChildWindow(0); - - if( pWindow ) - { - uno::Reference< accessibility::XAccessible > xAccessible = pWindow->GetAccessible(); - if( xAccessible.is() ) - { - AtkObject *accessible = ooo_wrapper_registry_get( xAccessible ); - - if( accessible ) - g_object_ref( G_OBJECT(accessible) ); - else - accessible = atk_object_wrapper_new( xAccessible, gtk_widget_get_accessible(pTopLevel) ); - - return accessible; - } - } - } - - return nullptr; -} - -AtkObject* ooo_fixed_get_accessible(GtkWidget *obj) -{ - return wrapper_factory_create_accessible(G_OBJECT(obj)); -} - -static void -wrapper_factory_class_init( AtkObjectFactoryClass *klass ) -{ - klass->create_accessible = wrapper_factory_create_accessible; - klass->get_accessible_type = wrapper_factory_get_accessible_type; -} - -GType -wrapper_factory_get_type() -{ - static GType t = 0; - - if (!t) { - static const GTypeInfo tinfo = - { - sizeof (AtkObjectFactoryClass), - nullptr, nullptr, reinterpret_cast<GClassInitFunc>(wrapper_factory_class_init), - nullptr, nullptr, sizeof (AtkObjectFactory), 0, nullptr, nullptr - }; - - t = g_type_register_static ( - ATK_TYPE_OBJECT_FACTORY, "OOoAtkObjectWrapperFactory", - &tinfo, GTypeFlags(0)); - } - - return t; -} - -} // extern C - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/unx/gtk/a11y/atkhypertext.cxx b/vcl/unx/gtk/a11y/atkhypertext.cxx deleted file mode 100644 index ab94126dfc51..000000000000 --- a/vcl/unx/gtk/a11y/atkhypertext.cxx +++ /dev/null @@ -1,273 +0,0 @@ -/* -*- 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/. - * - * 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 . - */ - -#include "atkwrapper.hxx" - -#include <com/sun/star/accessibility/XAccessibleHypertext.hpp> - -using namespace ::com::sun::star; - -// ---------------------- AtkHyperlink ---------------------- - -struct HyperLink { - AtkHyperlink const atk_hyper_link; - - uno::Reference< accessibility::XAccessibleHyperlink > xLink; -}; - -static uno::Reference< accessibility::XAccessibleHyperlink > const & - getHyperlink( AtkHyperlink *pHyperlink ) -{ - HyperLink *pLink = reinterpret_cast<HyperLink *>(pHyperlink); - return pLink->xLink; -} - -static GObjectClass *hyper_parent_class = nullptr; - -extern "C" { - -static void -hyper_link_finalize (GObject *obj) -{ - HyperLink *hl = reinterpret_cast<HyperLink *>(obj); - hl->xLink.clear(); - hyper_parent_class->finalize (obj); -} - -static gchar * -hyper_link_get_uri( AtkHyperlink *pLink, - gint i ) -{ - try { - uno::Any aAny = getHyperlink( pLink )->getAccessibleActionObject( i ); - OUString aUri = aAny.get< OUString > (); - return OUStringToGChar(aUri); - } - catch(const uno::Exception&) { - g_warning( "Exception in hyper_link_get_uri" ); - } - return nullptr; -} - -static AtkObject * -hyper_link_get_object( AtkHyperlink *, - gint ) -{ - g_warning( "FIXME: hyper_link_get_object unimplemented" ); - return nullptr; -} -static gint -hyper_link_get_end_index( AtkHyperlink *pLink ) -{ - try { - return getHyperlink( pLink )->getEndIndex(); - } - catch(const uno::Exception&) { - } - return -1; -} -static gint -hyper_link_get_start_index( AtkHyperlink *pLink ) -{ - try { - return getHyperlink( pLink )->getStartIndex(); - } - catch(const uno::Exception&) { - } - return -1; -} -static gboolean -hyper_link_is_valid( AtkHyperlink *pLink ) -{ - try { - return getHyperlink( pLink )->isValid(); - } - catch(const uno::Exception&) { - } - return FALSE; -} -static gint -hyper_link_get_n_anchors( AtkHyperlink *pLink ) -{ - try { - return getHyperlink( pLink )->getAccessibleActionCount(); - } - catch(const uno::Exception&) { - } - return 0; -} - -static guint -hyper_link_link_state( AtkHyperlink * ) -{ - g_warning( "FIXME: hyper_link_link_state unimplemented" ); - return 0; -} -static gboolean -hyper_link_is_selected_link( AtkHyperlink * ) -{ - g_warning( "FIXME: hyper_link_is_selected_link unimplemented" ); - return FALSE; -} - -static void -hyper_link_class_init (AtkHyperlinkClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - - gobject_class->finalize = hyper_link_finalize; - - hyper_parent_class = static_cast<GObjectClass *>(g_type_class_peek_parent (klass)); - - klass->get_uri = hyper_link_get_uri; - klass->get_object = hyper_link_get_object; - klass->get_end_index = hyper_link_get_end_index; - klass->get_start_index = hyper_link_get_start_index; - klass->is_valid = hyper_link_is_valid; - klass->get_n_anchors = hyper_link_get_n_anchors; - klass->link_state = hyper_link_link_state; - klass->is_selected_link = hyper_link_is_selected_link; -} - -static GType -hyper_link_get_type() -{ - static GType type = 0; - - if (!type) { - static const GTypeInfo tinfo = { - sizeof (AtkHyperlinkClass), - nullptr, /* base init */ - nullptr, /* base finalize */ - reinterpret_cast<GClassInitFunc>(hyper_link_class_init), - nullptr, /* class finalize */ - nullptr, /* class data */ - sizeof (HyperLink), /* instance size */ - 0, /* nb preallocs */ - nullptr, /* instance init */ - nullptr /* value table */ - }; - - static const GInterfaceInfo atk_action_info = { - reinterpret_cast<GInterfaceInitFunc>(actionIfaceInit), - nullptr, - nullptr - }; - - type = g_type_register_static (ATK_TYPE_HYPERLINK, - "OOoAtkObjHyperLink", &tinfo, - GTypeFlags(0)); - g_type_add_interface_static (type, ATK_TYPE_ACTION, - &atk_action_info); - } - - return type; -} - -// ---------------------- AtkHyperText ---------------------- - -/// @throws uno::RuntimeException -static css::uno::Reference<css::accessibility::XAccessibleHypertext> - getHypertext( AtkHypertext *pHypertext ) -{ - AtkObjectWrapper *pWrap = ATK_OBJECT_WRAPPER( pHypertext ); - if( pWrap ) - { - if( !pWrap->mpHypertext.is() ) - { - pWrap->mpHypertext.set(pWrap->mpContext, css::uno::UNO_QUERY); - } - - return pWrap->mpHypertext; - } - - return css::uno::Reference<css::accessibility::XAccessibleHypertext>(); -} - -static AtkHyperlink * -hypertext_get_link( AtkHypertext *hypertext, - gint link_index) -{ - try { - css::uno::Reference<css::accessibility::XAccessibleHypertext> pHypertext - = getHypertext( hypertext ); - if( pHypertext.is() ) - { - HyperLink *pLink = static_cast<HyperLink *>(g_object_new( hyper_link_get_type(), nullptr )); - pLink->xLink = pHypertext->getHyperLink( link_index ); - if( !pLink->xLink.is() ) { - g_object_unref( G_OBJECT( pLink ) ); - pLink = nullptr; - } - return ATK_HYPERLINK( pLink ); - } - } - catch(const uno::Exception&) { - g_warning( "Exception in getHyperLink()" ); - } - - return nullptr; -} - -static gint -hypertext_get_n_links( AtkHypertext *hypertext ) -{ - try { - css::uno::Reference<css::accessibility::XAccessibleHypertext> pHypertext - = getHypertext( hypertext ); - if( pHypertext.is() ) - return pHypertext->getHyperLinkCount(); - } - catch(const uno::Exception&) { - g_warning( "Exception in getHyperLinkCount()" ); - } - - return 0; -} - -static gint -hypertext_get_link_index( AtkHypertext *hypertext, - gint index) -{ - try { - css::uno::Reference<css::accessibility::XAccessibleHypertext> pHypertext - = getHypertext( hypertext ); - if( pHypertext.is() ) - return pHypertext->getHyperLinkIndex( index ); - } - catch(const uno::Exception&) { - g_warning( "Exception in getHyperLinkIndex()" ); - } - - return 0; -} - -} // extern "C" - -void -hypertextIfaceInit (AtkHypertextIface *iface) -{ - g_return_if_fail (iface != nullptr); - - iface->get_link = hypertext_get_link; - iface->get_n_links = hypertext_get_n_links; - iface->get_link_index = hypertext_get_link_index; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/unx/gtk/a11y/atkimage.cxx b/vcl/unx/gtk/a11y/atkimage.cxx deleted file mode 100644 index acd43f467690..000000000000 --- a/vcl/unx/gtk/a11y/atkimage.cxx +++ /dev/null @@ -1,131 +0,0 @@ -/* -*- 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/. - * - * 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 . - */ - -#include "atkwrapper.hxx" - -#include <com/sun/star/accessibility/XAccessibleImage.hpp> - -using namespace ::com::sun::star; - -// FIXME -static const gchar * -getAsConst( const OUString& rString ) -{ - static const int nMax = 10; - static OString aUgly[nMax]; - static int nIdx = 0; - nIdx = (nIdx + 1) % nMax; - aUgly[nIdx] = OUStringToOString( rString, RTL_TEXTENCODING_UTF8 ); - return aUgly[ nIdx ].getStr(); -} - -/// @throws uno::RuntimeException -static css::uno::Reference<css::accessibility::XAccessibleImage> - getImage( AtkImage *pImage ) -{ - AtkObjectWrapper *pWrap = ATK_OBJECT_WRAPPER( pImage ); - if( pWrap ) - { - if( !pWrap->mpImage.is() ) - { - pWrap->mpImage.set(pWrap->mpContext, css::uno::UNO_QUERY); - } - - return pWrap->mpImage; - } - - return css::uno::Reference<css::accessibility::XAccessibleImage>(); -} - -extern "C" { - -static const gchar * -image_get_image_description( AtkImage *image ) -{ - try { - css::uno::Reference<css::accessibility::XAccessibleImage> pImage - = getImage( image ); - if( pImage.is() ) - return getAsConst( pImage->getAccessibleImageDescription() ); - } - catch(const uno::Exception&) { - g_warning( "Exception in getAccessibleImageDescription()" ); - } - - return nullptr; -} - -static void -image_get_image_position( AtkImage *image, - gint *x, - gint *y, - AtkCoordType coord_type ) -{ - *x = *y = -1; - if( ATK_IS_COMPONENT( image ) ) - { - SAL_WNODEPRECATED_DECLARATIONS_PUSH - atk_component_get_position( ATK_COMPONENT( image ), x, y, coord_type ); - SAL_WNODEPRECATED_DECLARATIONS_POP - } - else ... etc. - the rest is truncated _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
