office-gobmx/vcl/UIConfig_vcl.mk
Caolán McNamara bc0e0f633b tdf#131120 use a replacement for GtkComboBox
the problems with GtkComboBox we have are:

1) https://gitlab.gnome.org/GNOME/gtk/issues/1910 has_entry long menus take
   forever to appear (tdf#125388)

   on measuring each row, the GtkComboBox GtkTreeMenu will call its
   area_apply_attributes_cb function on the row, but that calls
   gtk_tree_menu_get_path_item which then loops through each child of the menu
   looking for the widget of the row, so performance drops to useless.

   All area_apply_attributes_cb does it set menu item sensitivity, so block it
   from running with fragile hackery which assumes that the unwanted callback is
   the only one with a

2) https://gitlab.gnome.org/GNOME/gtk/issues/94
   when a super tall combobox menu is activated, and the selected entry is
   sufficiently far down the list, then the menu doesn't appear under wayland

3) https://gitlab.gnome.org/GNOME/gtk/issues/310
   no typeahead support

4) we want to be able to control the width of the button, but have a drop down menu which
   is not limited to the width of the button

5) https://bugs.documentfoundation.org/show_bug.cgi?id=131120
   super tall menu doesn't appear under X sometimes

In general we often pack a lot into the comboboxes and the default ones don't
like that.

Overlay scrolling is turned off for the GtkTreeView replacement because
otherwise there are null-derefs in gtk on indicator->scrollbar on repeated
reopenings

Change-Id: I1b6164020996377341b5992d593a027b76021f65
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91990
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-04-16 20:28:24 +02:00

34 lines
1 KiB
Makefile

# -*- 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_UIConfig_UIConfig,vcl))
$(eval $(call gb_UIConfig_add_uifiles,vcl,\
vcl/uiconfig/ui/aboutbox \
vcl/uiconfig/ui/combobox \
vcl/uiconfig/ui/cupspassworddialog \
vcl/uiconfig/ui/editmenu \
vcl/uiconfig/ui/errornocontentdialog \
vcl/uiconfig/ui/errornoprinterdialog \
vcl/uiconfig/ui/moreoptionsdialog \
vcl/uiconfig/ui/printdialog \
vcl/uiconfig/ui/printerdevicepage \
vcl/uiconfig/ui/printerpaperpage \
vcl/uiconfig/ui/printerpropertiesdialog \
vcl/uiconfig/ui/printprogressdialog \
vcl/uiconfig/ui/querydialog \
vcl/uiconfig/ui/screenshotparent \
vcl/uiconfig/ui/wizard \
))
$(eval $(call gb_UIConfig_add_a11yerrors_uifiles,vcl,\
vcl/qa/cppunit/builder/demo \
))
# vim: set noet sw=4 ts=4: