diff --git a/0001-Resolves-tdf-122467-drop-down-field-name-is-too-narr.patch b/0001-Resolves-tdf-122467-drop-down-field-name-is-too-narr.patch deleted file mode 100644 index 278a518..0000000 --- a/0001-Resolves-tdf-122467-drop-down-field-name-is-too-narr.patch +++ /dev/null @@ -1,209 +0,0 @@ -From 42b3f8f57ad7cdb26fb8acb139c71ae1470a0b94 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Wed, 9 Jan 2019 09:48:07 +0000 -Subject: [PATCH] Resolves: tdf#122467 drop down field name is too narrow - -ellipise only when we have to - -Change-Id: I79820dc84fc9ac0a755700c70bca9edbb14cf371 -Reviewed-on: https://gerrit.libreoffice.org/66001 -Tested-by: Jenkins -Reviewed-by: Adolfo Jayme Barrientos ---- - dbaccess/uiconfig/ui/queryfilterdialog.ui | 20 ++++++++-------- - vcl/unx/gtk3/gtk3gtkinst.cxx | 28 +++++++++++++++-------- - 2 files changed, 29 insertions(+), 19 deletions(-) - -diff --git a/dbaccess/uiconfig/ui/queryfilterdialog.ui b/dbaccess/uiconfig/ui/queryfilterdialog.ui -index a52ea3651ba3..46164e2f503d 100644 ---- a/dbaccess/uiconfig/ui/queryfilterdialog.ui -+++ b/dbaccess/uiconfig/ui/queryfilterdialog.ui -@@ -99,7 +99,6 @@ - True - False - Operator -- end - 0 - - -@@ -112,7 +111,6 @@ - True - False - Field name -- end - - - 1 -@@ -124,7 +122,6 @@ - True - False - Condition -- end - - - 2 -@@ -135,7 +132,7 @@ - - True - False -- True -+ 0 - - - none - - -@@ -150,6 +147,7 @@ - True - False - True -+ 0 - - = - <> -@@ -172,7 +170,7 @@ - - True - False -- True -+ 0 - - - none - - -@@ -186,7 +184,7 @@ - - True - False -- True -+ 0 - - - none - - -@@ -201,6 +199,7 @@ - True - False - True -+ 0 - - - 2 -@@ -212,6 +211,7 @@ - True - False - True -+ 0 - - - 2 -@@ -223,7 +223,6 @@ - True - False - Value -- end - - - 3 -@@ -234,6 +233,7 @@ - - True - True -+ True - True - - -@@ -245,6 +245,7 @@ - - True - True -+ True - True - - -@@ -256,6 +257,7 @@ - - True - True -+ True - True - - -@@ -267,7 +269,7 @@ - - True - False -- True -+ 0 - - AND - OR -@@ -282,7 +284,7 @@ - - True - False -- True -+ 0 - - AND - OR -diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx -index 0165b6888864..c440cd45189e 100644 ---- a/vcl/unx/gtk3/gtk3gtkinst.cxx -+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx -@@ -6348,6 +6348,7 @@ class GtkInstanceComboBox : public GtkInstanceContainer, public vcl::ISearchable - private: - GtkComboBox* m_pComboBox; - GtkTreeModel* m_pTreeModel; -+ GtkCellRenderer* m_pTextRenderer; - GtkMenu* m_pMenu; - std::unique_ptr m_xSorter; - vcl::QuickSelectionEngine m_aQuickSelectionEngine; -@@ -6660,23 +6661,19 @@ public: - if (!g_list_length(cells)) - { - //Always use the same text column renderer layout -- GtkCellRenderer* text_renderer = gtk_cell_renderer_text_new(); -- gtk_cell_layout_pack_end(GTK_CELL_LAYOUT(m_pComboBox), text_renderer, true); -- gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(m_pComboBox), text_renderer, "text", 0, nullptr); -- g_object_set(G_OBJECT(text_renderer), "ellipsize", PANGO_ELLIPSIZE_MIDDLE, nullptr); -+ m_pTextRenderer = gtk_cell_renderer_text_new(); -+ gtk_cell_layout_pack_end(GTK_CELL_LAYOUT(m_pComboBox), m_pTextRenderer, true); -+ gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(m_pComboBox), m_pTextRenderer, "text", 0, nullptr); - } - else - { -- // this bit isn't great, I really want to be able to ellipse the text in the comboboxtext itself and let -- // the popup menu render them in full, in the interim allow the text to wrap in both cases -- GtkCellRenderer* cell = static_cast(cells->data); -- g_object_set(G_OBJECT(cell), "ellipsize", PANGO_ELLIPSIZE_MIDDLE, nullptr); -+ m_pTextRenderer = static_cast(cells->data); - if (g_list_length(cells) == 2) - { - //The ComboBox is always going to show the column associated with - //the entry when there is one, left to its own devices this image - //column will be after it, but we want it before -- gtk_cell_layout_reorder(GTK_CELL_LAYOUT(m_pComboBox), cell, 1); -+ gtk_cell_layout_reorder(GTK_CELL_LAYOUT(m_pComboBox), m_pTextRenderer, 1); - } - } - g_list_free(cells); -@@ -6723,7 +6720,18 @@ public: - GtkCellRenderer* cell = static_cast(cells->data); - GtkRequisition size; - gtk_cell_renderer_get_preferred_size(cell, m_pWidget, &size, nullptr); -- gtk_cell_renderer_set_fixed_size(cell, nWidth, size.height); -+ if (nWidth < size.width) -+ { -+ // this bit isn't great, I really want to be able to ellipse the text in the comboboxtext itself and let -+ // the popup menu render them in full, in the interim ellipse both -+ g_object_set(G_OBJECT(m_pTextRenderer), "ellipsize", PANGO_ELLIPSIZE_MIDDLE, nullptr); -+ gtk_cell_renderer_set_fixed_size(cell, nWidth, size.height); -+ } -+ else -+ { -+ g_object_set(G_OBJECT(m_pTextRenderer), "ellipsize", PANGO_ELLIPSIZE_NONE, nullptr); -+ gtk_cell_renderer_set_fixed_size(cell, size.width, size.height); -+ } - g_list_free(cells); - - gtk_widget_set_size_request(m_pWidget, nWidth, nHeight); --- -2.21.0.rc1 - diff --git a/0001-Resolves-tdf-122623-theme-unwanted-tab-into-invisibi.patch b/0001-Resolves-tdf-122623-theme-unwanted-tab-into-invisibi.patch deleted file mode 100644 index 2140a0e..0000000 --- a/0001-Resolves-tdf-122623-theme-unwanted-tab-into-invisibi.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 2e0f991f2eb57c0c25f32f759853195f9764a529 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Wed, 16 Jan 2019 12:36:25 +0000 -Subject: [PATCH] Resolves: tdf#122623 theme unwanted tab into invisibility -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -its nigh impossible to have a GtkNotebook without an active tab, so -try and theme it into invisibility with no width - -Change-Id: I312b81ae51abe9fdd222fb5d5c45cb41603b80cb -Reviewed-on: https://gerrit.libreoffice.org/66471 -Tested-by: Jenkins -Tested-by: Xisco Faulí -Reviewed-by: Caolán McNamara -Tested-by: Caolán McNamara ---- - vcl/unx/gtk3/gtk3gtkinst.cxx | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx -index 4ea6de898734..83794ade2efd 100644 ---- a/vcl/unx/gtk3/gtk3gtkinst.cxx -+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx -@@ -3153,7 +3153,7 @@ private: - { - disable_notify_events(); - -- GtkWidget *pTabWidget = gtk_image_new_from_icon_name("pan-down-symbolic", GTK_ICON_SIZE_BUTTON); -+ GtkWidget *pTabWidget = gtk_fixed_new(); - gtk_buildable_set_name(GTK_BUILDABLE(pTabWidget), "useless"); - - GtkWidget *pChild = gtk_grid_new(); -@@ -3383,6 +3383,16 @@ public: - else - m_nSizeAllocateSignalId = 0; - gtk_notebook_set_show_border(m_pOverFlowNotebook, false); -+ -+ // tdf#122623 it's nigh impossible to have a GtkNotebook without an active (checked) tab, so try and theme -+ // the unwanted tab into invisibility -+ GtkStyleContext *pNotebookContext = gtk_widget_get_style_context(GTK_WIDGET(m_pOverFlowNotebook)); -+ GtkCssProvider *pProvider = gtk_css_provider_new(); -+ static const gchar data[] = "header.top > tabs > tab:checked { box-shadow: none; padding: 0 0 0 0; margin: 0 0 0 0; border-image: none; border-image-width: 0 0 0 0; background-image: none; background-color: transparent; border-radius: 0 0 0 0; border-width: 0 0 0 0; border-style: none; border-color: transparent; opacity: 0; min-height: 0; min-width: 0; }"; -+ static const gchar olddata[] = "tab.top:active { box-shadow: none; padding: 0 0 0 0; margin: 0 0 0 0; border-image: none; border-image-width: 0 0 0 0; background-image: none; background-color: transparent; border-radius: 0 0 0 0; border-width: 0 0 0 0; border-style: none; border-color: transparent; opacity: 0; }"; -+ gtk_css_provider_load_from_data(pProvider, gtk_check_version(3, 20, 0) == nullptr ? data : olddata, -1, nullptr); -+ gtk_style_context_add_provider(pNotebookContext, GTK_STYLE_PROVIDER(pProvider), -+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); - } - - virtual int get_current_page() const override --- -2.21.0.rc1 - diff --git a/0001-menu-of-currency-combobox-in-format-cells-is-too-nar.patch b/0001-menu-of-currency-combobox-in-format-cells-is-too-nar.patch deleted file mode 100644 index b8a8107..0000000 --- a/0001-menu-of-currency-combobox-in-format-cells-is-too-nar.patch +++ /dev/null @@ -1,68 +0,0 @@ -From c73a30d4574d0a8baeb3945190c93b952b2d4b17 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Thu, 21 Feb 2019 15:57:22 +0000 -Subject: [PATCH] menu of currency combobox in format-cells is too narrow - -we want the combobox to be narrower than it wants to be. To make that happen -we have only the option of shrinking the cell renderer of the combobox area. -And that is also used by the menu. - -Setting a small value of e.g. 1 works to let the combobox not request more -width than that, and the combobox will correctly render within the wider size -it actually gets. But then the menu is a min width menu, which is undesirable, -we want the menu to be as wide as it can be. - -So calculate what part of the combobox belongs to the cell area and set -the widest cell area we can within the overall combobox width, resulting -in the widest menu we can get. - -Change-Id: Ie3e9960a320a70471ac21d2a88f32632cafa951f ---- - vcl/unx/gtk3/gtk3gtkinst.cxx | 23 +++++++++++++++++------ - 1 file changed, 17 insertions(+), 6 deletions(-) - -diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx -index 253698f..e71aec7 100644 ---- a/vcl/unx/gtk3/gtk3gtkinst.cxx -+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx -@@ -6729,20 +6729,31 @@ public: - // tweak the cell render to get a narrower size to stick - GList* cells = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(m_pComboBox)); - GtkCellRenderer* cell = static_cast(cells->data); -- GtkRequisition size; -- gtk_cell_renderer_get_preferred_size(cell, m_pWidget, &size, nullptr); -- if (nWidth < size.width) -+ -+ if (nWidth != -1) - { - // this bit isn't great, I really want to be able to ellipse the text in the comboboxtext itself and let -- // the popup menu render them in full, in the interim ellipse both -+ // the popup menu render them in full, in the interim ellipse both of them - g_object_set(G_OBJECT(m_pTextRenderer), "ellipsize", PANGO_ELLIPSIZE_MIDDLE, nullptr); -- gtk_cell_renderer_set_fixed_size(cell, nWidth, size.height); -+ -+ // to find out how much of the width of the combobox belongs to the cell, set -+ // the cell and widget to the min cell width and see what the difference is -+ int min; -+ gtk_cell_renderer_get_preferred_width(cell, m_pWidget, &min, nullptr); -+ gtk_cell_renderer_set_fixed_size(cell, min, -1); -+ gtk_widget_set_size_request(m_pWidget, min, -1); -+ int nNonCellWidth = get_preferred_size().Width() - min; -+ -+ // now set the cell to the max width which it can be within the -+ // requested widget width -+ gtk_cell_renderer_set_fixed_size(cell, nWidth - nNonCellWidth, -1); - } - else - { - g_object_set(G_OBJECT(m_pTextRenderer), "ellipsize", PANGO_ELLIPSIZE_NONE, nullptr); -- gtk_cell_renderer_set_fixed_size(cell, size.width, size.height); -+ gtk_cell_renderer_set_fixed_size(cell, -1, -1); - } -+ - g_list_free(cells); - - gtk_widget_set_size_request(m_pWidget, nWidth, nHeight); --- -2.20.1 - diff --git a/0001-tdf-122393-move-to-overflow-row-on-using-left-right-.patch b/0001-tdf-122393-move-to-overflow-row-on-using-left-right-.patch deleted file mode 100644 index e16e897..0000000 --- a/0001-tdf-122393-move-to-overflow-row-on-using-left-right-.patch +++ /dev/null @@ -1,124 +0,0 @@ -From f929a7e9e854ede215a72d3d84ca74cae156e1aa Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Thu, 17 Jan 2019 12:28:55 +0000 -Subject: [PATCH] tdf#122393 move to overflow row on using left/right at end of - other row - -and on ctrl+page_up/ctrl+page_down - -Change-Id: I3320abfb91655b7b4278886cc6fc4dceb637e4b1 -Reviewed-on: https://gerrit.libreoffice.org/66527 -Tested-by: Jenkins -Reviewed-by: Miklos Vajna ---- - vcl/unx/gtk3/gtk3gtkinst.cxx | 59 ++++++++++++++++++++++++++++++++++++ - 1 file changed, 59 insertions(+) - -diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx -index fe74ae76bdb3..08fc49de25e5 100644 ---- a/vcl/unx/gtk3/gtk3gtkinst.cxx -+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx -@@ -3002,6 +3002,8 @@ private: - gulong m_nSwitchPageSignalId; - gulong m_nOverFlowSwitchPageSignalId; - gulong m_nSizeAllocateSignalId; -+ gulong m_nFocusSignalId; -+ gulong m_nChangeCurrentPageId; - guint m_nLaunchSplitTimeoutId; - bool m_bOverFlowBoxActive; - bool m_bOverFlowBoxIsStart; -@@ -3365,6 +3367,55 @@ private: - pThis->signal_notebook_size_allocate(); - } - -+ bool signal_focus(GtkDirectionType direction) -+ { -+ if (!m_bOverFlowBoxActive) -+ return false; -+ -+ int nPage = gtk_notebook_get_current_page(m_pNotebook); -+ if (direction == GTK_DIR_LEFT && nPage == 0) -+ { -+ auto nOverFlowLen = gtk_notebook_get_n_pages(m_pOverFlowNotebook) - 1; -+ gtk_notebook_set_current_page(m_pOverFlowNotebook, nOverFlowLen - 1); -+ return true; -+ } -+ else if (direction == GTK_DIR_RIGHT && nPage == gtk_notebook_get_n_pages(m_pNotebook) - 1) -+ { -+ gtk_notebook_set_current_page(m_pOverFlowNotebook, 0); -+ return true; -+ } -+ -+ return false; -+ } -+ -+ static gboolean signalFocus(GtkNotebook* notebook, GtkDirectionType direction, gpointer widget) -+ { -+ // if the notebook widget itself has focus -+ if (gtk_widget_is_focus(GTK_WIDGET(notebook))) -+ { -+ GtkInstanceNotebook* pThis = static_cast(widget); -+ return pThis->signal_focus(direction); -+ } -+ return false; -+ } -+ -+ // ctrl + page_up/ page_down -+ bool signal_change_current_page(gint arg1) -+ { -+ bool bHandled = signal_focus(arg1 < 0 ? GTK_DIR_LEFT : GTK_DIR_RIGHT); -+ if (bHandled) -+ g_signal_stop_emission_by_name(m_pNotebook, "change-current-page"); -+ return false; -+ } -+ -+ static gboolean signalChangeCurrentPage(GtkNotebook*, gint arg1, gpointer widget) -+ { -+ if (arg1 == 0) -+ return true; -+ GtkInstanceNotebook* pThis = static_cast(widget); -+ return pThis->signal_change_current_page(arg1); -+ } -+ - public: - GtkInstanceNotebook(GtkNotebook* pNotebook, bool bTakeOwnership) - : GtkInstanceContainer(GTK_CONTAINER(pNotebook), bTakeOwnership) -@@ -3373,6 +3424,8 @@ public: - , m_pOverFlowNotebook(GTK_NOTEBOOK(gtk_notebook_new())) - , m_nSwitchPageSignalId(g_signal_connect(pNotebook, "switch-page", G_CALLBACK(signalSwitchPage), this)) - , m_nOverFlowSwitchPageSignalId(g_signal_connect(m_pOverFlowNotebook, "switch-page", G_CALLBACK(signalOverFlowSwitchPage), this)) -+ , m_nFocusSignalId(g_signal_connect(pNotebook, "focus", G_CALLBACK(signalFocus), this)) -+ , m_nChangeCurrentPageId(g_signal_connect(pNotebook, "change-current-page", G_CALLBACK(signalChangeCurrentPage), this)) - , m_nLaunchSplitTimeoutId(0) - , m_bOverFlowBoxActive(false) - , m_bOverFlowBoxIsStart(false) -@@ -3508,6 +3561,8 @@ public: - virtual void disable_notify_events() override - { - g_signal_handler_block(m_pNotebook, m_nSwitchPageSignalId); -+ g_signal_handler_block(m_pNotebook, m_nFocusSignalId); -+ g_signal_handler_block(m_pNotebook, m_nChangeCurrentPageId); - g_signal_handler_block(m_pOverFlowNotebook, m_nOverFlowSwitchPageSignalId); - gtk_widget_freeze_child_notify(GTK_WIDGET(m_pOverFlowNotebook)); - GtkInstanceContainer::disable_notify_events(); -@@ -3519,6 +3574,8 @@ public: - gtk_widget_thaw_child_notify(GTK_WIDGET(m_pOverFlowNotebook)); - g_signal_handler_unblock(m_pOverFlowNotebook, m_nOverFlowSwitchPageSignalId); - g_signal_handler_unblock(m_pNotebook, m_nSwitchPageSignalId); -+ g_signal_handler_unblock(m_pNotebook, m_nFocusSignalId); -+ g_signal_handler_unblock(m_pNotebook, m_nChangeCurrentPageId); - } - - void reset_split_data() -@@ -3560,6 +3617,8 @@ public: - if (m_nSizeAllocateSignalId) - g_signal_handler_disconnect(m_pNotebook, m_nSizeAllocateSignalId); - g_signal_handler_disconnect(m_pNotebook, m_nSwitchPageSignalId); -+ g_signal_handler_disconnect(m_pNotebook, m_nFocusSignalId); -+ g_signal_handler_disconnect(m_pNotebook, m_nChangeCurrentPageId); - g_signal_handler_disconnect(m_pOverFlowNotebook, m_nOverFlowSwitchPageSignalId); - gtk_widget_destroy(GTK_WIDGET(m_pOverFlowNotebook)); - if (m_pOverFlowBox) --- -2.21.0.rc1 - diff --git a/libreoffice.spec b/libreoffice.spec index 3fbb9d9..888f2d7 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -239,10 +239,6 @@ Patch0: 0001-don-t-suppress-crashes.patch Patch1: 0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch # not upstreamed Patch2: 0001-Upgrade-external-boost-to-Boost-1.69.0.patch -Patch3: 0001-Resolves-tdf-122623-theme-unwanted-tab-into-invisibi.patch -Patch4: 0001-tdf-122393-move-to-overflow-row-on-using-left-right-.patch -Patch5: 0001-Resolves-tdf-122467-drop-down-field-name-is-too-narr.patch -Patch6: 0001-menu-of-currency-combobox-in-format-cells-is-too-nar.patch %if 0%{?rhel} # not upstreamed