summaryrefslogtreecommitdiff
path: root/vcl/unx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-06-05 12:31:58 +0100
committerCaolán McNamara <caolanm@redhat.com>2020-06-05 16:57:17 +0200
commit32e49998b2edde7a6a8fecddf5da71f3aa5815c2 (patch)
tree30fabfd02f76a484b63d1ea2bf97315c368bd24d /vcl/unx
parentd58a3e5f85d44efc9d21dd56329a3ef20cb3692f (diff)
we can't mix radiobuttons and checkbuttons so don't imply otherwise
Change-Id: I11a85090bd14d8655efb95433417764dd1f79052 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95592 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/unx')
-rw-r--r--vcl/unx/gtk3/gtk3gtkinst.cxx18
1 files changed, 18 insertions, 0 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index b07acf43e0b6..f48e98c46903 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -10430,6 +10430,24 @@ public:
}
}
+ virtual void set_toggle_columns_as_radio() override
+ {
+ for (GList* pEntry = g_list_first(m_pColumns); pEntry; pEntry = g_list_next(pEntry))
+ {
+ GtkTreeViewColumn* pColumn = GTK_TREE_VIEW_COLUMN(pEntry->data);
+ GList *pRenderers = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(pColumn));
+ for (GList* pRenderer = g_list_first(pRenderers); pRenderer; pRenderer = g_list_next(pRenderer))
+ {
+ GtkCellRenderer* pCellRenderer = GTK_CELL_RENDERER(pRenderer->data);
+ if (!GTK_IS_CELL_RENDERER_TOGGLE(pCellRenderer))
+ continue;
+ GtkCellRendererToggle* pToggle = GTK_CELL_RENDERER_TOGGLE(pCellRenderer);
+ gtk_cell_renderer_toggle_set_radio(pToggle, true);
+ }
+ g_list_free(pRenderers);
+ }
+ }
+
virtual void set_extra_row_indent(const weld::TreeIter& rIter, int nIndentLevel) override
{
const GtkInstanceTreeIter& rGtkIter = static_cast<const GtkInstanceTreeIter&>(rIter);