summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-06-05 16:11:39 +0100
committerSzymon Kłos <szymon.klos@collabora.com>2020-11-30 18:19:52 +0100
commit44f5cdc14537d244c254f7201f2f8da483cc4727 (patch)
treebc48152222c91d0c93617b3a8836dae96af72e8e /sw
parent3826d521852f408f4679837d94288d97ab13e0b4 (diff)
rework treeview initial toggle button col to be like expander col
cause this assumption is baked into the vcl one making it hard to adapt remaining cases Change-Id: I75dd5264c65b1ffbf4d26c9a86f6d4d08b400d90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95622 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106874 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/ui/config/optcomp.cxx24
-rw-r--r--sw/source/ui/config/optload.cxx34
-rw-r--r--sw/source/ui/index/cnttab.cxx24
-rw-r--r--sw/source/uibase/inc/optload.hxx4
4 files changed, 37 insertions, 49 deletions
diff --git a/sw/source/ui/config/optcomp.cxx b/sw/source/ui/config/optcomp.cxx
index 8c2c821570ad..b46cc63af6df 100644
--- a/sw/source/ui/config/optcomp.cxx
+++ b/sw/source/ui/config/optcomp.cxx
@@ -66,10 +66,8 @@ SwCompatibilityOptPage::SwCompatibilityOptPage(weld::Container* pPage, weld::Dia
, m_xGlobalOptionsCLB(m_xBuilder->weld_tree_view("globaloptioncheckbox"))
, m_xDefaultPB(m_xBuilder->weld_button("default"))
{
- std::vector<int> aWidths;
- aWidths.push_back(m_xOptionsLB->get_checkbox_column_width());
- m_xOptionsLB->set_column_fixed_widths(aWidths);
- m_xGlobalOptionsCLB->set_column_fixed_widths(aWidths);
+ m_xOptionsLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
+ m_xGlobalOptionsCLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
int nPos = 0;
for (int i = static_cast<int>(SvtCompatibilityEntry::Index::Module) + 1;
@@ -80,8 +78,8 @@ SwCompatibilityOptPage::SwCompatibilityOptPage(weld::Container* pPage, weld::Dia
const OUString sEntry = m_xFormattingLB->get_text(nCoptIdx);
m_xOptionsLB->append();
- m_xOptionsLB->set_toggle(nPos, TRISTATE_FALSE, 0);
- m_xOptionsLB->set_text(nPos, sEntry, 1);
+ m_xOptionsLB->set_toggle(nPos, TRISTATE_FALSE);
+ m_xOptionsLB->set_text(nPos, sEntry, 0);
++nPos;
}
@@ -95,8 +93,8 @@ SwCompatibilityOptPage::SwCompatibilityOptPage(weld::Container* pPage, weld::Dia
m_xGlobalOptionsCLB->append();
const bool bChecked = m_aViewConfigItem.HasMSOCompatibleFormsMenu();
- m_xGlobalOptionsCLB->set_toggle(0, bChecked ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
- m_xGlobalOptionsCLB->set_text(0, m_xGlobalOptionsLB->get_text(0), 1);
+ m_xGlobalOptionsCLB->set_toggle(0, bChecked ? TRISTATE_TRUE : TRISTATE_FALSE);
+ m_xGlobalOptionsCLB->set_text(0, m_xGlobalOptionsLB->get_text(0), 0);
m_xGlobalOptionsLB->clear();
@@ -291,7 +289,7 @@ IMPL_LINK_NOARG(SwCompatibilityOptPage, UseAsDefaultHdl, weld::Button&, void)
const sal_Int32 nCount = m_xOptionsLB->n_children();
for ( sal_Int32 i = 0; i < nCount; ++i )
{
- bool bChecked = m_xOptionsLB->get_toggle(i, 0);
+ bool bChecked = m_xOptionsLB->get_toggle(i);
int nCoptIdx = i + 2; /* Consider "Name" & "Module" indexes */
pItem->setValue<bool>( SvtCompatibilityEntry::Index(nCoptIdx), bChecked );
@@ -328,7 +326,7 @@ void SwCompatibilityOptPage::SetCurrentOptions( sal_uLong nOptions )
value = TRISTATE_INDET; // 3 values possible here
}
}
- m_xOptionsLB->set_toggle(i, value, 0);
+ m_xOptionsLB->set_toggle(i, bChecked ? TRISTATE_TRUE : TRISTATE_FALSE);
nOptions = nOptions >> 1;
}
}
@@ -383,7 +381,7 @@ bool SwCompatibilityOptPage::FillItemSet( SfxItemSet* )
for (int i = 0; i < nCount; ++i)
{
- TriState const current = m_xOptionsLB->get_toggle(i, 0);
+ TriState const current = m_xOptionsLB->get_toggle(i);
TriState saved = ((nSavedOptions & 0x00000001) == 0x00000001) ? TRISTATE_TRUE : TRISTATE_FALSE;
if (i == int(SvtCompatibilityEntry::Index::AddTableSpacing) - 2)
{ // hack: map 2 bools to 1 tristate
@@ -474,7 +472,7 @@ bool SwCompatibilityOptPage::FillItemSet( SfxItemSet* )
if ( bModified )
WriteOptions();
- bool bNewMSFormsMenuOption = m_xGlobalOptionsCLB->get_toggle(0, 0);
+ bool bNewMSFormsMenuOption = m_xGlobalOptionsCLB->get_toggle(0);
if (m_bSavedMSFormsMenuOption != bNewMSFormsMenuOption)
{
m_aViewConfigItem.SetMSOCompatibleFormsMenu(bNewMSFormsMenuOption);
@@ -503,7 +501,7 @@ void SwCompatibilityOptPage::Reset( const SfxItemSet* )
SetCurrentOptions( nOptions );
m_nSavedOptions = nOptions;
- m_xGlobalOptionsCLB->set_toggle(0, m_aViewConfigItem.HasMSOCompatibleFormsMenu() ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
+ m_xGlobalOptionsCLB->set_toggle(0, m_aViewConfigItem.HasMSOCompatibleFormsMenu() ? TRISTATE_TRUE : TRISTATE_FALSE);
m_bSavedMSFormsMenuOption = m_aViewConfigItem.HasMSOCompatibleFormsMenu();
}
diff --git a/sw/source/ui/config/optload.cxx b/sw/source/ui/config/optload.cxx
index 02f36d51c149..a555017dcb52 100644
--- a/sw/source/ui/config/optload.cxx
+++ b/sw/source/ui/config/optload.cxx
@@ -465,9 +465,7 @@ SwCaptionOptPage::SwCaptionOptPage(weld::Container* pPage, weld::DialogControlle
{
m_xCategoryBox->connect_entry_insert_text(LINK(this, SwCaptionOptPage, TextFilterHdl));
- std::vector<int> aWidths;
- aWidths.push_back(m_xCheckLB->get_checkbox_column_width());
- m_xCheckLB->set_column_fixed_widths(aWidths);
+ m_xCheckLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
SwStyleNameMapper::FillUIName(RES_POOLCOLL_LABEL_ABB, m_sIllustration);
SwStyleNameMapper::FillUIName(RES_POOLCOLL_LABEL_TABLE, m_sTable);
@@ -560,7 +558,7 @@ bool SwCaptionOptPage::FillItemSet( SfxItemSet* )
int nCheckCount = 0;
for (int i = 0, nCount = m_xCheckLB->n_children(); i < nCount; ++i)
{
- if (m_xCheckLB->get_toggle(i, 0) == TRISTATE_TRUE)
+ if (m_xCheckLB->get_toggle(i) == TRISTATE_TRUE)
++nCheckCount;
InsCaptionOpt* pData = reinterpret_cast<InsCaptionOpt*>(m_xCheckLB->get_id(i).toInt64());
bRet |= pModOpt->SetCapOption(bHTMLMode, pData);
@@ -588,16 +586,16 @@ void SwCaptionOptPage::Reset( const SfxItemSet* rSet)
// Writer objects
int nPos = 0;
m_xCheckLB->append();
- m_xCheckLB->set_toggle(nPos, TRISTATE_FALSE, 0);
- m_xCheckLB->set_text(nPos, m_sSWTable, 1);
+ m_xCheckLB->set_toggle(nPos, TRISTATE_FALSE);
+ m_xCheckLB->set_text(nPos, m_sSWTable, 0);
SetOptions(nPos++, TABLE_CAP);
m_xCheckLB->append();
- m_xCheckLB->set_toggle(nPos, TRISTATE_FALSE, 0);
- m_xCheckLB->set_text(nPos, m_sSWFrame, 1);
+ m_xCheckLB->set_toggle(nPos, TRISTATE_FALSE);
+ m_xCheckLB->set_text(nPos, m_sSWFrame, 0);
SetOptions(nPos++, FRAME_CAP);
m_xCheckLB->append();
- m_xCheckLB->set_toggle(nPos, TRISTATE_FALSE, 0);
- m_xCheckLB->set_text(nPos, m_sSWGraphic, 1);
+ m_xCheckLB->set_toggle(nPos, TRISTATE_FALSE);
+ m_xCheckLB->set_text(nPos, m_sSWGraphic, 0);
SetOptions(nPos++, GRAPHIC_CAP);
// get Productname and -version
@@ -621,8 +619,8 @@ void SwCaptionOptPage::Reset( const SfxItemSet* rSet)
// don't show product version
sClass = sClass.replaceFirst( sComplete, sWithoutVersion );
m_xCheckLB->append();
- m_xCheckLB->set_toggle(nPos, TRISTATE_FALSE, 0);
- m_xCheckLB->set_text(nPos, sClass, 1);
+ m_xCheckLB->set_toggle(nPos, TRISTATE_FALSE);
+ m_xCheckLB->set_text(nPos, sClass, 0);
SetOptions( nPos++, OLE_CAP, &rOleId );
}
m_xLbCaptionOrder->set_active(
@@ -641,7 +639,7 @@ void SwCaptionOptPage::SetOptions(const sal_uLong nPos,
{
InsCaptionOpt* pIns = new InsCaptionOpt(*pOpt);
m_xCheckLB->set_id(nPos, OUString::number(reinterpret_cast<sal_Int64>(pIns)));
- m_xCheckLB->set_toggle(nPos, pOpt->UseCaption() ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
+ m_xCheckLB->set_toggle(nPos, pOpt->UseCaption() ? TRISTATE_TRUE : TRISTATE_FALSE);
}
else
{
@@ -663,7 +661,7 @@ void SwCaptionOptPage::UpdateEntry(int nSelEntry)
{
if (nSelEntry != -1)
{
- bool bChecked = m_xCheckLB->get_toggle(nSelEntry, 0) == TRISTATE_TRUE;
+ bool bChecked = m_xCheckLB->get_toggle(nSelEntry) == TRISTATE_TRUE;
m_xSettingsGroup->set_sensitive(bChecked);
bool bNumSep = bChecked && m_xLbCaptionOrder->get_active() == 1;
@@ -774,9 +772,9 @@ IMPL_LINK_NOARG(SwCaptionOptPage, ShowEntryHdl, weld::TreeView&, void)
m_nPrevSelectedEntry = m_xCheckLB->get_selected_index();
}
-IMPL_LINK(SwCaptionOptPage, ToggleEntryHdl, const row_col&, rRowCol, void)
+IMPL_LINK(SwCaptionOptPage, ToggleEntryHdl, const weld::TreeView::iter_col&, rRowCol, void)
{
- UpdateEntry(rRowCol.first);
+ UpdateEntry(m_xCheckLB->get_iter_index_in_parent(rRowCol.first));
}
void SwCaptionOptPage::SaveEntry(int nEntry)
@@ -786,7 +784,7 @@ void SwCaptionOptPage::SaveEntry(int nEntry)
InsCaptionOpt* pOpt = reinterpret_cast<InsCaptionOpt*>(m_xCheckLB->get_id(nEntry).toInt64());
- pOpt->UseCaption() = m_xCheckLB->get_toggle(nEntry, 0) == TRISTATE_TRUE;
+ pOpt->UseCaption() = m_xCheckLB->get_toggle(nEntry) == TRISTATE_TRUE;
const OUString aName(m_xCategoryBox->get_active_text());
if (aName == m_sNone)
pOpt->SetCategory("");
@@ -851,7 +849,7 @@ IMPL_LINK(SwCaptionOptPage, OrderHdl, weld::ComboBox&, rBox, void)
bool bChecked = false;
if (nSelEntry != -1)
{
- bChecked = m_xCheckLB->get_toggle(nSelEntry, 0) == TRISTATE_TRUE;
+ bChecked = m_xCheckLB->get_toggle(nSelEntry) == TRISTATE_TRUE;
}
int nPos = rBox.get_active();
diff --git a/sw/source/ui/index/cnttab.cxx b/sw/source/ui/index/cnttab.cxx
index 520720b30dbd..0b3ccecd8f84 100644
--- a/sw/source/ui/index/cnttab.cxx
+++ b/sw/source/ui/index/cnttab.cxx
@@ -488,8 +488,7 @@ class SwAddStylesDlg_Impl : public SfxDialogController
DECL_LINK(LeftRightHdl, weld::Button&, void);
DECL_LINK(KeyInput, const KeyEvent&, bool);
DECL_LINK(TreeSizeAllocHdl, const Size&, void);
- typedef std::pair<int, int> row_col;
- DECL_LINK(RadioToggleOnHdl, const row_col&, void);
+ DECL_LINK(RadioToggleOnHdl, const weld::TreeView::iter_col&, void);
public:
SwAddStylesDlg_Impl(weld::Window* pParent, SwWrtShell const & rWrtSh, OUString rStringArr[]);
@@ -507,12 +506,9 @@ SwAddStylesDlg_Impl::SwAddStylesDlg_Impl(weld::Window* pParent,
m_xOk->connect_clicked(LINK(this, SwAddStylesDlg_Impl, OkHdl));
m_xLeftPB->connect_clicked(LINK(this, SwAddStylesDlg_Impl, LeftRightHdl));
m_xRightPB->connect_clicked(LINK(this, SwAddStylesDlg_Impl, LeftRightHdl));
- m_xHeaderTree->connect_size_allocate(LINK(this, SwAddStylesDlg_Impl, TreeSizeAllocHdl));
- std::vector<int> aRadioColumns;
- for (sal_uInt16 i = 0; i <= MAXLEVEL; ++i)
- aRadioColumns.push_back(i + 1);
- m_xHeaderTree->set_toggle_columns_as_radio(aRadioColumns);
+ m_xHeaderTree->connect_size_allocate(LINK(this, SwAddStylesDlg_Impl, TreeSizeAllocHdl));
+ m_xHeaderTree->enable_toggle_buttons(weld::ColumnToggleType::Radio);
m_xHeaderTree->connect_toggled(LINK(this, SwAddStylesDlg_Impl, RadioToggleOnHdl));
std::vector<int> aWidths;
@@ -604,7 +600,7 @@ IMPL_LINK(SwAddStylesDlg_Impl, TreeSizeAllocHdl, const Size&, rSize, void)
m_xHeaderTree->set_column_fixed_widths(aWidths);
}
-IMPL_LINK(SwAddStylesDlg_Impl, RadioToggleOnHdl, const row_col&, rRowCol, void)
+IMPL_LINK(SwAddStylesDlg_Impl, RadioToggleOnHdl, const weld::TreeView::iter_col&, rRowCol, void)
{
for (sal_uInt16 i = 0; i <= MAXLEVEL; ++i)
{
@@ -757,16 +753,14 @@ SwTOXSelectTabPage::SwTOXSelectTabPage(weld::Container* pPage, weld::DialogContr
sAddStyleContent = m_xAddStylesCB->get_label();
- std::vector<int> aWidths;
- aWidths.push_back(m_xFromObjCLB->get_checkbox_column_width());
- m_xFromObjCLB->set_column_fixed_widths(aWidths);
+ m_xFromObjCLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
for (size_t i = 0; i < SAL_N_ELEMENTS(RES_SRCTYPES); ++i)
{
OUString sId(OUString::number(static_cast<sal_uInt32>(RES_SRCTYPES[i].second)));
m_xFromObjCLB->append();
- m_xFromObjCLB->set_toggle(i, TRISTATE_FALSE, 0);
- m_xFromObjCLB->set_text(i, SwResId(RES_SRCTYPES[i].first), 1);
+ m_xFromObjCLB->set_toggle(i, TRISTATE_FALSE);
+ m_xFromObjCLB->set_text(i, SwResId(RES_SRCTYPES[i].first), 0);
m_xFromObjCLB->set_id(i, sId);
}
@@ -977,7 +971,7 @@ void SwTOXSelectTabPage::ApplyTOXDescription()
for (int nFromObj = 0, nCount = m_xFromObjCLB->n_children(); nFromObj < nCount; ++nFromObj)
{
SwTOOElements nData = static_cast<SwTOOElements>(m_xFromObjCLB->get_id(nFromObj).toInt32());
- m_xFromObjCLB->set_toggle(nFromObj, bool(nData & nOLEData) ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
+ m_xFromObjCLB->set_toggle(nFromObj, bool(nData & nOLEData) ? TRISTATE_TRUE : TRISTATE_FALSE);
}
}
else if(TOX_AUTHORITIES == aCurType.eType)
@@ -1072,7 +1066,7 @@ void SwTOXSelectTabPage::FillTOXDescription()
SwTOOElements nOLEData = SwTOOElements::NONE;
for (int i = 0, nCount = m_xFromObjCLB->n_children(); i < nCount; ++i)
{
- if (m_xFromObjCLB->get_toggle(i, 0) == TRISTATE_TRUE)
+ if (m_xFromObjCLB->get_toggle(i) == TRISTATE_TRUE)
{
SwTOOElements nData = static_cast<SwTOOElements>(m_xFromObjCLB->get_id(i).toInt32());
nOLEData |= nData;
diff --git a/sw/source/uibase/inc/optload.hxx b/sw/source/uibase/inc/optload.hxx
index 2a6a8a498aac..e6db7e2af020 100644
--- a/sw/source/uibase/inc/optload.hxx
+++ b/sw/source/uibase/inc/optload.hxx
@@ -164,15 +164,13 @@ private:
std::unique_ptr<weld::CheckButton> m_xApplyBorderCB;
std::unique_ptr<weld::CustomWeld> m_xPreview;
- typedef std::pair<int, int> row_col;
-
DECL_LINK(SelectHdl, weld::ComboBox&, void);
DECL_LINK(SelectListBoxHdl, weld::ComboBox&, void);
DECL_LINK(ModifyEntryHdl, weld::Entry&, void);
DECL_LINK(ModifyComboHdl, weld::ComboBox&, void);
DECL_LINK(OrderHdl, weld::ComboBox&, void );
DECL_LINK(ShowEntryHdl, weld::TreeView&, void);
- DECL_LINK(ToggleEntryHdl, const row_col&, void);
+ DECL_LINK(ToggleEntryHdl, const weld::TreeView::iter_col&, void);
DECL_LINK(TextFilterHdl, OUString&, bool);
void ModifyHdl();