diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-07-31 11:30:47 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-07-31 21:03:40 +0200 |
commit | b3cf88ffa1fe7f4d0dc2a7fdca755eaaef323c81 (patch) | |
tree | fd9785105a77bff25c5dff07e4cc46322e940408 /vcl | |
parent | cd64d19a668b39fbb624e1786a0b5e0ccfcebdfb (diff) |
weld SvxFontSubstTabPage
Change-Id: If24e80da4042ea37ea2613a6c62e015d0d925dc8
Reviewed-on: https://gerrit.libreoffice.org/76753
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/app/salvtables.cxx | 5 | ||||
-rw-r--r-- | vcl/source/treelist/svtabbx.cxx | 7 | ||||
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkinst.cxx | 20 |
3 files changed, 29 insertions, 3 deletions
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 3f77e9220f83..7ad3a1fd521c 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -2900,6 +2900,11 @@ public: m_xTreeView->Resize(); } + virtual void set_centered_column(int nCol) override + { + m_xTreeView->SetTabJustify(nCol, SvTabJustify::AdjustCenter); + } + virtual int get_column_width(int nColumn) const override { LclHeaderTabListBox* pHeaderBox = dynamic_cast<LclHeaderTabListBox*>(m_xTreeView.get()); diff --git a/vcl/source/treelist/svtabbx.cxx b/vcl/source/treelist/svtabbx.cxx index 64283bfc66ec..e2f0c2705ed0 100644 --- a/vcl/source/treelist/svtabbx.cxx +++ b/vcl/source/treelist/svtabbx.cxx @@ -37,7 +37,7 @@ using namespace ::com::sun::star::uno; using namespace ::com::sun::star::accessibility; static constexpr SvLBoxTabFlags MYTABMASK = - SvLBoxTabFlags::ADJUST_RIGHT | SvLBoxTabFlags::ADJUST_LEFT | SvLBoxTabFlags::ADJUST_CENTER; + SvLBoxTabFlags::ADJUST_RIGHT | SvLBoxTabFlags::ADJUST_LEFT | SvLBoxTabFlags::ADJUST_CENTER | SvLBoxTabFlags::FORCE; // SvTreeListBox callback @@ -122,7 +122,7 @@ void SvTabListBox::SetTabs(sal_uInt16 nTabs, long const pTabPositions[], MapUnit aSize = LogicToLogic( aSize, &aMMSource, &aMMDest ); long nNewTab = aSize.Width(); mvTabList[nIdx].SetPos( nNewTab ); - mvTabList[nIdx].nFlags &= (SvLBoxTabFlags::ADJUST_LEFT | SvLBoxTabFlags::ADJUST_CENTER | SvLBoxTabFlags::ADJUST_RIGHT); + mvTabList[nIdx].nFlags &= MYTABMASK; } SvTreeListBox::nTreeFlags |= SvTreeFlags::RECALCTABS; if( IsUpdateMode() ) @@ -452,7 +452,8 @@ void SvTabListBox::SetTabJustify( sal_uInt16 nTab, SvTabJustify eJustify) SvLBoxTab& rTab = mvTabList[ nTab ]; SvLBoxTabFlags nFlags = rTab.nFlags; nFlags &= ~MYTABMASK; - nFlags |= static_cast<SvLBoxTabFlags>(eJustify); + // see SvLBoxTab::CalcOffset for force, which only matters for centering + nFlags |= static_cast<SvLBoxTabFlags>(eJustify) | SvLBoxTabFlags::FORCE; rTab.nFlags = nFlags; SvTreeListBox::nTreeFlags |= SvTreeFlags::RECALCTABS; if( IsUpdateMode() ) diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index 7a97b0f65bf5..f4695e08ded3 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -6959,6 +6959,26 @@ public: } } + virtual void set_centered_column(int nCol) 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); + void* pData = g_object_get_data(G_OBJECT(pCellRenderer), "g-lo-CellIndex"); + if (reinterpret_cast<sal_IntPtr>(pData) == nCol) + { + g_object_set(G_OBJECT(pCellRenderer), "xalign", 0.5, nullptr); + break; + } + } + g_list_free(pRenderers); + } + } + virtual int get_column_width(int nColumn) const override { GtkTreeViewColumn* pColumn = GTK_TREE_VIEW_COLUMN(g_list_nth_data(m_pColumns, nColumn)); |