svx/source/dialog/langbox.cxx | 6 ++++++ vcl/unx/gtk3/gtk3gtkinst.cxx | 18 ++++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-)
New commits: commit 5ec647b773670191d51b03b7f668024c046643d8 Author: Caolán McNamara <caol...@redhat.com> Date: Mon Jun 25 17:20:37 2018 +0100 Resolves: tdf#118356 freeze/thaw mass language additions Change-Id: Ifdc2247594d3ddeea0ca7b3b97eb6e392c54f95b Reviewed-on: https://gerrit.libreoffice.org/56410 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/svx/source/dialog/langbox.cxx b/svx/source/dialog/langbox.cxx index 9ccee3b41728..94b2aeccd0fa 100644 --- a/svx/source/dialog/langbox.cxx +++ b/svx/source/dialog/langbox.cxx @@ -654,6 +654,8 @@ void LanguageBox::SetLanguageList( SvxLanguageListFlags nLangList, { nCount = SvtLanguageTable::GetLanguageEntryCount(); } + + m_xControl->freeze(); for ( sal_uInt32 i = 0; i < nCount; i++ ) { LanguageType nLangType; @@ -691,6 +693,8 @@ void LanguageBox::SetLanguageList( SvxLanguageListFlags nLangList, if (bHasLangNone) InsertLanguage( LANGUAGE_NONE ); + + m_xControl->thaw(); } int LanguageBox::ImplTypeToPos(LanguageType eType) const @@ -758,6 +762,7 @@ LanguageBox::LanguageBox(weld::ComboBoxText* pControl) m_xControl->make_sorted(); m_xControl->connect_changed(LINK(this, LanguageBox, ChangeHdl)); + m_xControl->freeze(); sal_uInt32 nCount = SvtLanguageTable::GetLanguageEntryCount(); for (sal_uInt32 i = 0; i < nCount; ++i) { @@ -774,6 +779,7 @@ LanguageBox::LanguageBox(weld::ComboBoxText* pControl) InsertLanguage(nLangType); } + m_xControl->thaw(); } SvxLanguageBox::SvxLanguageBox( vcl::Window* pParent, WinBits nBits ) diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index e454c58df342..1d2c8d272b83 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -3465,6 +3465,7 @@ public: { disable_notify_events(); g_object_ref(m_pListStore); + gtk_widget_freeze_child_notify(GTK_WIDGET(m_pTreeView)); gtk_tree_view_set_model(m_pTreeView, nullptr); enable_notify_events(); } @@ -3473,6 +3474,7 @@ public: { disable_notify_events(); gtk_tree_view_set_model(m_pTreeView, GTK_TREE_MODEL(m_pListStore)); + gtk_widget_thaw_child_notify(GTK_WIDGET(m_pTreeView)); g_object_unref(m_pListStore); enable_notify_events(); } @@ -4480,12 +4482,24 @@ public: virtual void freeze() override { - //do nothing for now + gtk_widget_freeze_child_notify(GTK_WIDGET(m_pComboBoxText)); + if (m_xSorter) + { + GtkTreeModel* pModel = gtk_combo_box_get_model(GTK_COMBO_BOX(m_pComboBoxText)); + GtkTreeSortable* pSortable = GTK_TREE_SORTABLE(pModel); + gtk_tree_sortable_set_sort_column_id(pSortable, GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, GTK_SORT_ASCENDING); + } } virtual void thaw() override { - //do nothing for now + if (m_xSorter) + { + GtkTreeModel* pModel = gtk_combo_box_get_model(GTK_COMBO_BOX(m_pComboBoxText)); + GtkTreeSortable* pSortable = GTK_TREE_SORTABLE(pModel); + gtk_tree_sortable_set_sort_column_id(pSortable, 0, GTK_SORT_ASCENDING); + } + gtk_widget_thaw_child_notify(GTK_WIDGET(m_pComboBoxText)); } virtual ~GtkInstanceComboBoxText() override _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits