summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-07-31 11:30:47 +0100
committerCaolán McNamara <caolanm@redhat.com>2019-07-31 21:03:40 +0200
commitb3cf88ffa1fe7f4d0dc2a7fdca755eaaef323c81 (patch)
treefd9785105a77bff25c5dff07e4cc46322e940408 /vcl
parentcd64d19a668b39fbb624e1786a0b5e0ccfcebdfb (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.cxx5
-rw-r--r--vcl/source/treelist/svtabbx.cxx7
-rw-r--r--vcl/unx/gtk3/gtk3gtkinst.cxx20
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));