[Libreoffice-commits] core.git: basctl/source basctl/uiconfig cui/source cui/uiconfig dbaccess/source dbaccess/uiconfig desktop/source desktop/uiconfig include/vcl sc/source sc/uiconfig sw/source sw/uiconfig vcl/source vcl/unx
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Sat Apr 6 17:53:22 UTC 2019
basctl/source/basicide/moduldl2.cxx | 4
basctl/source/dlged/managelang.cxx | 4
basctl/uiconfig/basicide/ui/defaultlanguage.ui | 2
basctl/uiconfig/basicide/ui/importlibdialog.ui | 2
cui/source/customize/SvxToolbarConfigPage.cxx | 14
cui/source/dialogs/hangulhanjadlg.cxx | 4
cui/source/dialogs/multipat.cxx | 14
cui/source/dialogs/srchxtra.cxx | 4
cui/source/inc/cfg.hxx | 2
cui/source/options/certpath.cxx | 12
cui/source/options/optlingu.cxx | 28 -
cui/source/tabpages/autocdlg.cxx | 174 +++----
cui/uiconfig/ui/accelconfigpage.ui | 8
cui/uiconfig/ui/acoroptionspage.ui | 2
cui/uiconfig/ui/applyautofmtpage.ui | 4
cui/uiconfig/ui/applylocalizedpage.ui | 6
cui/uiconfig/ui/certdialog.ui | 2
cui/uiconfig/ui/hangulhanjaoptdialog.ui | 2
cui/uiconfig/ui/menuassignpage.ui | 2
cui/uiconfig/ui/multipathdialog.ui | 2
cui/uiconfig/ui/optlingupage.ui | 6
cui/uiconfig/ui/searchattrdialog.ui | 2
cui/uiconfig/ui/smarttagoptionspage.ui | 2
dbaccess/source/ui/browser/unodatbr.cxx | 6
dbaccess/source/ui/control/dbtreelistbox.cxx | 2
dbaccess/source/ui/control/tabletree.cxx | 446 ++++++++++++++++++
dbaccess/source/ui/dlg/tablespage.cxx | 254 ++++------
dbaccess/source/ui/dlg/tablespage.hxx | 18
dbaccess/source/ui/inc/dbtreelistbox.hxx | 3
dbaccess/source/ui/inc/imageprovider.hxx | 13
dbaccess/source/ui/inc/tabletree.hxx | 123 ++++
dbaccess/source/ui/misc/imageprovider.cxx | 53 ++
dbaccess/uiconfig/ui/tablesfilterpage.ui | 75 ++-
desktop/source/deployment/gui/dp_gui_updatedialog.cxx | 8
desktop/uiconfig/ui/updatedialog.ui | 2
include/vcl/svimpbox.hxx | 1
include/vcl/svlbitm.hxx | 5
include/vcl/treelistbox.hxx | 4
include/vcl/weld.hxx | 29 -
sc/source/ui/dbgui/dpgroupdlg.cxx | 6
sc/source/ui/dbgui/pvfundlg.cxx | 6
sc/source/ui/dbgui/tpsubt.cxx | 12
sc/source/ui/miscdlgs/protectiondlg.cxx | 10
sc/source/ui/miscdlgs/solveroptions.cxx | 4
sc/uiconfig/scalc/ui/datafieldoptionsdialog.ui | 2
sc/uiconfig/scalc/ui/groupbydate.ui | 2
sc/uiconfig/scalc/ui/protectsheetdlg.ui | 2
sc/uiconfig/scalc/ui/solveroptionsdialog.ui | 2
sc/uiconfig/scalc/ui/subtotalgrppage.ui | 2
sw/source/ui/config/optload.cxx | 19
sw/source/ui/index/cnttab.cxx | 29 -
sw/uiconfig/swriter/ui/assignstylesdialog.ui | 22
sw/uiconfig/swriter/ui/optcaptionpage.ui | 2
sw/uiconfig/swriter/ui/tocindexpage.ui | 2
vcl/source/app/salvtables.cxx | 145 +++++
vcl/source/treelist/svlbitm.cxx | 28 +
vcl/source/treelist/treelistbox.cxx | 27 -
vcl/unx/gtk3/gtk3gtkinst.cxx | 116 ++++
58 files changed, 1376 insertions(+), 406 deletions(-)
New commits:
commit 5c32ba63163d9556ff89782a8074924cdf9dc554
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Apr 4 14:30:03 2019 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Sat Apr 6 19:53:00 2019 +0200
weld OTableSubscriptionPage
Change-Id: I55c23448480384c9a7d78cd55550bb4812ebde72
Reviewed-on: https://gerrit.libreoffice.org/70314
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/basctl/source/basicide/moduldl2.cxx b/basctl/source/basicide/moduldl2.cxx
index 7494d288266b..9356357aa55f 100644
--- a/basctl/source/basicide/moduldl2.cxx
+++ b/basctl/source/basicide/moduldl2.cxx
@@ -795,7 +795,7 @@ void LibPage::InsertLib()
weld::TreeView& rView = xLibDlg->GetLibBox();
rView.append();
const int nRow = rView.n_children() - 1;
- rView.set_toggle(nRow, true, 0);
+ rView.set_toggle(nRow, TRISTATE_TRUE, 0);
rView.set_text(nRow, aLibName, 1);
}
}
@@ -829,7 +829,7 @@ void LibPage::InsertLib()
weld::TreeView& rView = xLibDlg->GetLibBox();
for (int nLib = 0, nChildren = rView.n_children(); nLib < nChildren; ++nLib)
{
- if (rView.get_toggle(nLib, 0))
+ if (rView.get_toggle(nLib, 0) == TRISTATE_TRUE)
{
OUString aLibName(rView.get_text(nLib, 1));
Reference< script::XLibraryContainer2 > xModLibContainer( m_aCurDocument.getLibraryContainer( E_SCRIPTS ), UNO_QUERY );
diff --git a/basctl/source/dlged/managelang.cxx b/basctl/source/dlged/managelang.cxx
index 33380b1cedec..d23563714196 100644
--- a/basctl/source/dlged/managelang.cxx
+++ b/basctl/source/dlged/managelang.cxx
@@ -275,7 +275,7 @@ void SetDefaultLanguageDialog::FillLanguageBox()
LanguageType eLang = m_xLanguageCB->get_id(j);
m_xCheckLangLB->append();
const int nRow = m_xCheckLangLB->n_children() - 1;
- m_xCheckLangLB->set_toggle(nRow, false, 0);
+ m_xCheckLangLB->set_toggle(nRow, TRISTATE_FALSE, 0);
m_xCheckLangLB->set_text(nRow, m_xLanguageCB->get_text(j), 1);
m_xCheckLangLB->set_id(nRow, OUString::number(eLang.get()));
}
@@ -311,7 +311,7 @@ Sequence< Locale > SetDefaultLanguageDialog::GetLocales() const
const sal_Int32 nCount = m_xCheckLangLB->n_children();
for (sal_Int32 i = 0; i < nCount; ++i)
{
- if (m_xCheckLangLB->get_toggle(i, 0))
+ if (m_xCheckLangLB->get_toggle(i, 0) == TRISTATE_TRUE)
{
LanguageType eType = LanguageType(m_xCheckLangLB->get_id(i).toUInt32());
aLocaleSeq.push_back(LanguageTag::convertToLocale(eType));
diff --git a/basctl/uiconfig/basicide/ui/defaultlanguage.ui b/basctl/uiconfig/basicide/ui/defaultlanguage.ui
index 59215e56e48b..9d6f90420613 100644
--- a/basctl/uiconfig/basicide/ui/defaultlanguage.ui
+++ b/basctl/uiconfig/basicide/ui/defaultlanguage.ui
@@ -12,6 +12,8 @@
<column type="gchararray"/>
<!-- column-name checkvis1 -->
<column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkTreeStore" id="liststore2">
diff --git a/basctl/uiconfig/basicide/ui/importlibdialog.ui b/basctl/uiconfig/basicide/ui/importlibdialog.ui
index 6bde14b65152..a4480c52ac55 100644
--- a/basctl/uiconfig/basicide/ui/importlibdialog.ui
+++ b/basctl/uiconfig/basicide/ui/importlibdialog.ui
@@ -12,6 +12,8 @@
<column type="gchararray"/>
<!-- column-name checkvis1 -->
<column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkDialog" id="ImportLibDialog">
diff --git a/cui/source/customize/SvxToolbarConfigPage.cxx b/cui/source/customize/SvxToolbarConfigPage.cxx
index 66a4d7278264..bd7a3333a4e7 100644
--- a/cui/source/customize/SvxToolbarConfigPage.cxx
+++ b/cui/source/customize/SvxToolbarConfigPage.cxx
@@ -605,7 +605,7 @@ IMPL_LINK(SvxToolbarConfigPage, ModifyItemHdl, const OString&, rIdent, void)
OUString sId(OUString::number(reinterpret_cast<sal_Int64>(pEntry)));
m_xContentsListBox->insert(nActEntry, sId);
- m_xContentsListBox->set_toggle(nActEntry, pEntry->IsVisible(), 0);
+ m_xContentsListBox->set_toggle(nActEntry, pEntry->IsVisible() ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
InsertEntryIntoUI(pEntry, nActEntry, 1);
m_xContentsListBox->select(nActEntry);
@@ -645,7 +645,7 @@ IMPL_LINK(SvxToolbarConfigPage, ModifyItemHdl, const OString&, rIdent, void)
OUString sId(OUString::number(reinterpret_cast<sal_Int64>(pEntry)));
m_xContentsListBox->insert(nActEntry, sId);
- m_xContentsListBox->set_toggle(nActEntry, pEntry->IsVisible(), 0);
+ m_xContentsListBox->set_toggle(nActEntry, pEntry->IsVisible() ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
InsertEntryIntoUI(pEntry, nActEntry, 1);
m_xContentsListBox->select(nActEntry);
@@ -702,7 +702,7 @@ IMPL_LINK(SvxToolbarConfigPage, ModifyItemHdl, const OString&, rIdent, void)
OUString sId(OUString::number(reinterpret_cast<sal_Int64>(pEntry)));
m_xContentsListBox->insert(nActEntry, sId);
m_xContentsListBox->set_toggle(nActEntry,
- pEntry->IsVisible(), 0);
+ pEntry->IsVisible() ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
InsertEntryIntoUI(pEntry, nActEntry, 1);
m_xContentsListBox->select(nActEntry);
@@ -834,7 +834,7 @@ void SvxToolbarConfigPage::SelectElement()
OUString sId(OUString::number(reinterpret_cast<sal_Int64>(entry)));
m_xContentsListBox->insert(i, sId);
if (entry->IsBinding() && !entry->IsSeparator())
- m_xContentsListBox->set_toggle(i, entry->IsVisible(), 0);
+ m_xContentsListBox->set_toggle(i, entry->IsVisible() ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
InsertEntryIntoUI(entry, i, 1);
++i;
}
@@ -861,7 +861,7 @@ void SvxToolbarConfigPage::AddFunction(int nTarget, bool bFront)
if ( pEntry->IsBinding() ) //TODO sep ?
{
pEntry->SetVisible(true);
- m_xContentsListBox->set_toggle(nNewLBEntry, true, 0);
+ m_xContentsListBox->set_toggle(nNewLBEntry, TRISTATE_TRUE, 0);
}
InsertEntryIntoUI(pEntry, nNewLBEntry, 1);
@@ -895,7 +895,7 @@ void SvxToolbarEntriesListBox::ChangedVisibility(int nRow)
if (pEntryData->IsBinding())
{
- pEntryData->SetVisible(m_xControl->get_toggle(nRow, 0));
+ pEntryData->SetVisible(m_xControl->get_toggle(nRow, 0) == TRISTATE_TRUE);
SvxConfigEntry* pToolbar = pPage->GetTopLevelSelection();
@@ -920,7 +920,7 @@ IMPL_LINK(SvxToolbarEntriesListBox, KeyInputHdl, const KeyEvent&, rKeyEvent, boo
SvxConfigEntry* pEntryData = reinterpret_cast<SvxConfigEntry*>(m_xControl->get_id(nRow).toInt64());
if (pEntryData->IsBinding() && !pEntryData->IsSeparator())
{
- m_xControl->set_toggle(nRow, !m_xControl->get_toggle(nRow, 0), 0);
+ m_xControl->set_toggle(nRow, m_xControl->get_toggle(nRow, 0) == TRISTATE_TRUE ? TRISTATE_FALSE : TRISTATE_TRUE, 0);
ChangedVisibility(nRow);
}
return true;
diff --git a/cui/source/dialogs/hangulhanjadlg.cxx b/cui/source/dialogs/hangulhanjadlg.cxx
index 0ff836f6d4f9..342b35352782 100644
--- a/cui/source/dialogs/hangulhanjadlg.cxx
+++ b/cui/source/dialogs/hangulhanjadlg.cxx
@@ -782,7 +782,7 @@ namespace svx
DBG_ASSERT( xDict.is(), "-HangulHanjaOptionsDialog::OkHdl(): someone is evaporated..." );
- bool bActive = m_xDictsLB->get_toggle(n, 0);
+ bool bActive = m_xDictsLB->get_toggle(n, 0) == TRISTATE_TRUE;
xDict->setActive( bActive );
Reference< util::XFlushable > xFlush( xDict, uno::UNO_QUERY );
if( xFlush.is() )
@@ -948,7 +948,7 @@ namespace svx
{
m_xDictsLB->append();
int nRow = m_xDictsLB->n_children() - 1;
- m_xDictsLB->set_toggle(nRow, bChecked, 0);
+ m_xDictsLB->set_toggle(nRow, bChecked ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
m_xDictsLB->set_text(nRow, rName, 1);
m_xDictsLB->set_id(nRow, rName);
}
diff --git a/cui/source/dialogs/multipat.cxx b/cui/source/dialogs/multipat.cxx
index 6adbb9464a84..45fe4cf4bec7 100644
--- a/cui/source/dialogs/multipat.cxx
+++ b/cui/source/dialogs/multipat.cxx
@@ -60,7 +60,7 @@ IMPL_LINK_NOARG(SvxPathSelectDialog, SelectHdl_Impl, weld::TreeView&, void)
void SvxMultiPathDialog::HandleEntryChecked(int nRow)
{
m_xRadioLB->select(nRow);
- bool bChecked = m_xRadioLB->get_toggle(nRow, 0);
+ bool bChecked = m_xRadioLB->get_toggle(nRow, 0) == TRISTATE_TRUE;
if (bChecked)
{
// we have radio button behavior -> so uncheck the other entries
@@ -68,7 +68,7 @@ void SvxMultiPathDialog::HandleEntryChecked(int nRow)
for (int i = 0; i < nCount; ++i)
{
if (i != nRow)
- m_xRadioLB->set_toggle(i, false, 0);
+ m_xRadioLB->set_toggle(i, TRISTATE_TRUE, 0);
}
}
}
@@ -82,7 +82,7 @@ void SvxMultiPathDialog::AppendEntry(const OUString& rText, const OUString& rId)
{
m_xRadioLB->append();
const int nRow = m_xRadioLB->n_children() - 1;
- m_xRadioLB->set_toggle(nRow, false, 0);
+ m_xRadioLB->set_toggle(nRow, TRISTATE_FALSE, 0);
m_xRadioLB->set_text(nRow, rText, 1);
m_xRadioLB->set_id(nRow, rId);
}
@@ -150,7 +150,7 @@ IMPL_LINK_NOARG(SvxPathSelectDialog, AddHdl_Impl, weld::Button&, void)
IMPL_LINK_NOARG(SvxMultiPathDialog, DelHdl_Impl, weld::Button&, void)
{
int nPos = m_xRadioLB->get_selected_index();
- bool bChecked = m_xRadioLB->get_toggle(nPos, 0);
+ bool bChecked = m_xRadioLB->get_toggle(nPos, 0) == TRISTATE_TRUE;
m_xRadioLB->remove(nPos);
int nCnt = m_xRadioLB->n_children();
if (nCnt)
@@ -161,7 +161,7 @@ IMPL_LINK_NOARG(SvxMultiPathDialog, DelHdl_Impl, weld::Button&, void)
nPos = nCnt;
if (bChecked)
{
- m_xRadioLB->set_toggle(nPos, true, 0);
+ m_xRadioLB->set_toggle(nPos, TRISTATE_TRUE, 0);
HandleEntryChecked(nPos);
}
m_xRadioLB->select(nPos);
@@ -240,7 +240,7 @@ OUString SvxMultiPathDialog::GetPath() const
OUString sWritable;
for (int i = 0, nCount = m_xRadioLB->n_children(); i < nCount; ++i)
{
- if (m_xRadioLB->get_toggle(i, 0))
+ if (m_xRadioLB->get_toggle(i, 0) == TRISTATE_TRUE)
sWritable = m_xRadioLB->get_id(i);
else
{
@@ -292,7 +292,7 @@ void SvxMultiPathDialog::SetPath( const OUString& rPath )
if (nCount)
{
- m_xRadioLB->set_toggle(nCount - 1, true, 0);
+ m_xRadioLB->set_toggle(nCount - 1, TRISTATE_TRUE, 0);
HandleEntryChecked(nCount - 1);
}
}
diff --git a/cui/source/dialogs/srchxtra.cxx b/cui/source/dialogs/srchxtra.cxx
index e1f0a869096d..ac6b4f1e711b 100644
--- a/cui/source/dialogs/srchxtra.cxx
+++ b/cui/source/dialogs/srchxtra.cxx
@@ -148,7 +148,7 @@ SvxSearchAttributeDialog::SvxSearchAttributeDialog(weld::Window* pParent,
{
m_xAttrLB->append();
const int nRow = m_xAttrLB->n_children() - 1;
- m_xAttrLB->set_toggle(nRow, bChecked, 0);
+ m_xAttrLB->set_toggle(nRow, bChecked ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
m_xAttrLB->set_text(nRow, SvxAttrNameTable::GetString(nId), 1);
m_xAttrLB->set_id(nRow, OUString::number(nSlot));
}
@@ -174,7 +174,7 @@ IMPL_LINK_NOARG(SvxSearchAttributeDialog, OKHdl, weld::Button&, void)
for (int i = 0, nCount = m_xAttrLB->n_children(); i < nCount; ++i)
{
sal_uInt16 nSlot = m_xAttrLB->get_id(i).toUInt32();
- bool bChecked = m_xAttrLB->get_toggle(i, 0);
+ bool bChecked = m_xAttrLB->get_toggle(i, 0) == TRISTATE_TRUE;
sal_uInt16 j;
for ( j = rList.Count(); j; )
diff --git a/cui/source/inc/cfg.hxx b/cui/source/inc/cfg.hxx
index fbbd96214145..c82512187a29 100644
--- a/cui/source/inc/cfg.hxx
+++ b/cui/source/inc/cfg.hxx
@@ -343,7 +343,7 @@ public:
void set_dropdown(int row, int col) { m_xControl->set_image(row, *m_xDropDown, col); }
void set_id(int row, const OUString& rId) { m_xControl->set_id(row, rId); }
void clear() { m_xControl->clear(); } //need frees ?
- void set_toggle(int row, bool bOn, int col) { m_xControl->set_toggle(row, bOn, col); }
+ void set_toggle(int row, TriState eState, int col) { m_xControl->set_toggle(row, eState, col); }
void scroll_to_row(int pos) { m_xControl->scroll_to_row(pos); }
void select(int pos) { m_xControl->select(pos); }
diff --git a/cui/source/options/certpath.cxx b/cui/source/options/certpath.cxx
index 2eff6841eb60..c830b6e68631 100644
--- a/cui/source/options/certpath.cxx
+++ b/cui/source/options/certpath.cxx
@@ -71,7 +71,7 @@ CertPathDialog::CertPathDialog(weld::Window* pParent)
{
m_xCertPathList->append();
const int nRow = m_xCertPathList->n_children() - 1;
- m_xCertPathList->set_toggle(nRow, false, 0);
+ m_xCertPathList->set_toggle(nRow, TRISTATE_FALSE, 0);
OUString sEntry = OUString::createFromAscii(productNames[i]) + ":" + profile;
m_xCertPathList->set_text(nRow, sEntry, 1);
OUString sProfilePath = xMozillaBootstrap->getProfilePath( productTypes[i], profile );
@@ -103,7 +103,7 @@ CertPathDialog::CertPathDialog(weld::Window* pParent)
if (m_xCertPathList->n_children())
{
- m_xCertPathList->set_toggle(0, true, 0);
+ m_xCertPathList->set_toggle(0, TRISTATE_TRUE, 0);
HandleEntryChecked(0);
}
}
@@ -146,7 +146,7 @@ IMPL_LINK(CertPathDialog, CheckHdl_Impl, const row_col&, rRowCol, void)
void CertPathDialog::HandleEntryChecked(int nRow)
{
m_xCertPathList->select(nRow);
- bool bChecked = m_xCertPathList->get_toggle(nRow, 0);
+ bool bChecked = m_xCertPathList->get_toggle(nRow, 0) == TRISTATE_TRUE;
if (bChecked)
{
// we have radio button behavior -> so uncheck the other entries
@@ -154,7 +154,7 @@ void CertPathDialog::HandleEntryChecked(int nRow)
for (int i = 0; i < nCount; ++i)
{
if (i != nRow)
- m_xCertPathList->set_toggle(i, false, 0);
+ m_xCertPathList->set_toggle(i, TRISTATE_FALSE, 0);
}
}
}
@@ -167,7 +167,7 @@ void CertPathDialog::AddCertPath(const OUString &rProfile, const OUString &rPath
//already exists, just select the original one
if (sCertPath == rPath)
{
- m_xCertPathList->set_toggle(i, true, 0);
+ m_xCertPathList->set_toggle(i, TRISTATE_TRUE, 0);
HandleEntryChecked(i);
return;
}
@@ -175,7 +175,7 @@ void CertPathDialog::AddCertPath(const OUString &rProfile, const OUString &rPath
m_xCertPathList->append();
const int nRow = m_xCertPathList->n_children() - 1;
- m_xCertPathList->set_toggle(nRow, true, 0);
+ m_xCertPathList->set_toggle(nRow, TRISTATE_TRUE, 0);
m_xCertPathList->set_text(nRow, rProfile, 1);
m_xCertPathList->set_text(nRow, rPath, 2);
m_xCertPathList->set_id(nRow, rPath);
diff --git a/cui/source/options/optlingu.cxx b/cui/source/options/optlingu.cxx
index ce46b3c4f1d7..e9134ef81e2b 100644
--- a/cui/source/options/optlingu.cxx
+++ b/cui/source/options/optlingu.cxx
@@ -1069,7 +1069,7 @@ bool SvxLinguTabPage::FillItemSet( SfxItemSet* rCoreSet )
DicUserData aData(m_xLinguDicsCLB->get_id(i).toUInt32());
if (aData.GetEntryId() < nDics)
{
- bool bChecked = m_xLinguDicsCLB->get_toggle(i, 0);
+ bool bChecked = m_xLinguDicsCLB->get_toggle(i, 0) == TRISTATE_TRUE;
uno::Reference< XDictionary > xDic( aDics.getConstArray()[ i ] );
if (xDic.is())
{
@@ -1102,7 +1102,7 @@ bool SvxLinguTabPage::FillItemSet( SfxItemSet* rCoreSet )
Any aAny;
if (aData.IsCheckable())
{
- bool bChecked = m_xLinguOptionsCLB->get_toggle(j, 0);
+ bool bChecked = m_xLinguOptionsCLB->get_toggle(j, 0) == TRISTATE_TRUE;
aAny <<= bChecked;
}
else if (aData.HasNumericValue())
@@ -1127,7 +1127,7 @@ bool SvxLinguTabPage::FillItemSet( SfxItemSet* rCoreSet )
}
// automatic spell checking
- bool bNewAutoCheck = m_xLinguOptionsCLB->get_toggle(EID_SPELL_AUTO, 0);
+ bool bNewAutoCheck = m_xLinguOptionsCLB->get_toggle(EID_SPELL_AUTO, 0) == TRISTATE_TRUE;
const SfxPoolItem* pOld = GetOldItem( *rCoreSet, SID_AUTOSPELL_CHECK );
if ( !pOld || static_cast<const SfxBoolItem*>(pOld)->GetValue() != bNewAutoCheck )
{
@@ -1171,7 +1171,7 @@ void SvxLinguTabPage::AddDicBoxEntry(
int nEntry = m_xLinguDicsCLB->n_children() - 1;
DicUserData aData( GetDicUserData( rxDic, nIdx ) );
m_xLinguDicsCLB->set_id(nEntry, OUString::number(aData.GetUserData()));
- m_xLinguDicsCLB->set_toggle(nEntry, aData.IsChecked(), 0);
+ m_xLinguDicsCLB->set_toggle(nEntry, aData.IsChecked() ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
m_xLinguDicsCLB->set_text(nEntry, aTxt, 1); // append at end
m_xLinguDicsCLB->thaw();
@@ -1213,7 +1213,7 @@ void SvxLinguTabPage::UpdateModulesBox_Impl()
const ServiceInfo_Impl &rInfo = rAllDispSrvcArr[i];
m_xLinguModulesCLB->append();
m_xLinguModulesCLB->set_id(i, OUString::number(reinterpret_cast<sal_Int64>(&rInfo)));
- m_xLinguModulesCLB->set_toggle(i, rInfo.bConfigured, 0);
+ m_xLinguModulesCLB->set_toggle(i, rInfo.bConfigured ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
m_xLinguModulesCLB->set_text(i, rInfo.sDisplayName, 1);
}
if (nDispSrvcCount)
@@ -1254,7 +1254,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
if (pItem)
bVal = static_cast<const SfxBoolItem *>(pItem)->GetValue();
nUserData = OptionsUserData( EID_SPELL_AUTO, false, 0, true, bVal).GetUserData();
- m_xLinguOptionsCLB->set_toggle(nEntry, bVal, 0);
+ m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
m_xLinguOptionsCLB->set_text(nEntry, sSpellAuto, 1);
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
@@ -1263,7 +1263,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
aLngCfg.GetProperty( UPN_IS_GRAMMAR_AUTO ) >>= bVal;
nUserData = OptionsUserData( EID_GRAMMAR_AUTO, false, 0, true, bVal).GetUserData();
- m_xLinguOptionsCLB->set_toggle(nEntry, bVal, 0);
+ m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
m_xLinguOptionsCLB->set_text(nEntry, sGrammarAuto, 1);
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
@@ -1272,7 +1272,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
aLngCfg.GetProperty( UPN_IS_SPELL_UPPER_CASE ) >>= bVal;
nUserData = OptionsUserData( EID_CAPITAL_WORDS, false, 0, true, bVal).GetUserData();
- m_xLinguOptionsCLB->set_toggle(nEntry, bVal, 0);
+ m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
m_xLinguOptionsCLB->set_text(nEntry, sCapitalWords, 1);
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
@@ -1281,7 +1281,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
aLngCfg.GetProperty( UPN_IS_SPELL_WITH_DIGITS ) >>= bVal;
nUserData = OptionsUserData( EID_WORDS_WITH_DIGITS, false, 0, true, bVal).GetUserData();
- m_xLinguOptionsCLB->set_toggle(nEntry, bVal, 0);
+ m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
m_xLinguOptionsCLB->set_text(nEntry, sWordsWithDigits, 1);
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
@@ -1290,7 +1290,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
aLngCfg.GetProperty( UPN_IS_SPELL_SPECIAL ) >>= bVal;
nUserData = OptionsUserData( EID_SPELL_SPECIAL, false, 0, true, bVal).GetUserData();
- m_xLinguOptionsCLB->set_toggle(nEntry, bVal, 0);
+ m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
m_xLinguOptionsCLB->set_text(nEntry, sSpellSpecial, 1);
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
@@ -1335,7 +1335,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
aLngCfg.GetProperty( UPN_IS_HYPH_AUTO ) >>= bVal;
nUserData = OptionsUserData( EID_HYPH_AUTO, false, 0, true, bVal).GetUserData();
- m_xLinguOptionsCLB->set_toggle(nEntry, bVal, 0);
+ m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
m_xLinguOptionsCLB->set_text(nEntry, sHyphAuto, 1);
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
@@ -1344,7 +1344,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
aLngCfg.GetProperty( UPN_IS_HYPH_SPECIAL ) >>= bVal;
nUserData = OptionsUserData( EID_HYPH_SPECIAL, false, 0, true, bVal).GetUserData();
- m_xLinguOptionsCLB->set_toggle(nEntry, bVal, 0);
+ m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
m_xLinguOptionsCLB->set_text(nEntry, sHyphSpecial, 1);
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
@@ -1388,7 +1388,7 @@ IMPL_LINK(SvxLinguTabPage, ModulesBoxCheckButtonHdl_Impl, const row_col&, rRowCo
return;
auto nPos = rRowCol.first;
pLinguData->Reconfigure(m_xLinguModulesCLB->get_text(nPos, 1),
- m_xLinguModulesCLB->get_toggle(nPos, 0));
+ m_xLinguModulesCLB->get_toggle(nPos, 0) == TRISTATE_TRUE);
}
IMPL_LINK(SvxLinguTabPage, DicsBoxCheckButtonHdl_Impl, const row_col&, rRowCol, void)
@@ -1396,7 +1396,7 @@ IMPL_LINK(SvxLinguTabPage, DicsBoxCheckButtonHdl_Impl, const row_col&, rRowCol,
auto nPos = rRowCol.first;
const uno::Reference<XDictionary> &rDic = aDics.getConstArray()[ nPos ];
if (LinguMgr::GetIgnoreAllList() == rDic)
- m_xLinguDicsCLB->set_toggle(nPos, true, 0);
+ m_xLinguDicsCLB->set_toggle(nPos, TRISTATE_TRUE, 0);
}
IMPL_LINK(SvxLinguTabPage, ClickHdl_Impl, weld::Button&, rBtn, void)
diff --git a/cui/source/tabpages/autocdlg.cxx b/cui/source/tabpages/autocdlg.cxx
index 0438cdadddfe..e8d23d237f69 100644
--- a/cui/source/tabpages/autocdlg.cxx
+++ b/cui/source/tabpages/autocdlg.cxx
@@ -216,14 +216,14 @@ bool OfaAutocorrOptionsPage::FillItemSet( SfxItemSet* )
ACFlags nFlags = pAutoCorrect->GetFlags();
int nPos = 0;
- pAutoCorrect->SetAutoCorrFlag(ACFlags::Autocorrect, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST));
- pAutoCorrect->SetAutoCorrFlag(ACFlags::CapitalStartWord, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST));
- pAutoCorrect->SetAutoCorrFlag(ACFlags::CapitalStartSentence, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST));
- pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgWeightUnderl, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST));
- pAutoCorrect->SetAutoCorrFlag(ACFlags::SetINetAttr, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST));
- pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgToEnEmDash, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST));
- pAutoCorrect->SetAutoCorrFlag(ACFlags::IgnoreDoubleSpace, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST));
- pAutoCorrect->SetAutoCorrFlag(ACFlags::CorrectCapsLock, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST));
+ pAutoCorrect->SetAutoCorrFlag(ACFlags::Autocorrect, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST) == TRISTATE_TRUE);
+ pAutoCorrect->SetAutoCorrFlag(ACFlags::CapitalStartWord, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST) == TRISTATE_TRUE);
+ pAutoCorrect->SetAutoCorrFlag(ACFlags::CapitalStartSentence, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST) == TRISTATE_TRUE);
+ pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgWeightUnderl, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST) == TRISTATE_TRUE);
+ pAutoCorrect->SetAutoCorrFlag(ACFlags::SetINetAttr, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST) == TRISTATE_TRUE);
+ pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgToEnEmDash, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST) == TRISTATE_TRUE);
+ pAutoCorrect->SetAutoCorrFlag(ACFlags::IgnoreDoubleSpace, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST) == TRISTATE_TRUE);
+ pAutoCorrect->SetAutoCorrFlag(ACFlags::CorrectCapsLock, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST) == TRISTATE_TRUE);
bool bReturn = nFlags != pAutoCorrect->GetFlags();
if(bReturn )
@@ -244,7 +244,7 @@ void OfaAutocorrOptionsPage::InsertEntry(const OUString& rTxt)
{
m_xCheckLB->append();
const int nRow = m_xCheckLB->n_children() - 1;
- m_xCheckLB->set_toggle(nRow, false, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(nRow, TRISTATE_FALSE, CBCOL_FIRST);
m_xCheckLB->set_text(nRow, rTxt, 1);
}
@@ -266,14 +266,14 @@ void OfaAutocorrOptionsPage::Reset( const SfxItemSet* )
InsertEntry(m_sAccidentalCaps);
int nPos = 0;
- m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::Autocorrect), CBCOL_FIRST );
- m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::CapitalStartWord), CBCOL_FIRST );
- m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::CapitalStartSentence), CBCOL_FIRST );
- m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::ChgWeightUnderl), CBCOL_FIRST );
- m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::SetINetAttr), CBCOL_FIRST );
- m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::ChgToEnEmDash), CBCOL_FIRST );
- m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::IgnoreDoubleSpace), CBCOL_FIRST );
- m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::CorrectCapsLock), CBCOL_FIRST );
+ m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::Autocorrect) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST );
+ m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::CapitalStartWord) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST );
+ m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::CapitalStartSentence) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST );
+ m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::ChgWeightUnderl) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST );
+ m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::SetINetAttr) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST );
+ m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::ChgToEnEmDash) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST );
+ m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::IgnoreDoubleSpace) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST );
+ m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::CorrectCapsLock) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST );
m_xCheckLB->thaw();
}
@@ -385,9 +385,9 @@ void OfaSwAutoFmtOptionsPage::CreateEntry(const OUString& rTxt, sal_uInt16 nCol)
m_xCheckLB->append();
const int nRow = m_xCheckLB->n_children() - 1;
if (nCol == CBCOL_FIRST || nCol == CBCOL_BOTH)
- m_xCheckLB->set_toggle(nRow, false, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(nRow, TRISTATE_FALSE, CBCOL_FIRST);
if (nCol == CBCOL_SECOND || nCol == CBCOL_BOTH)
- m_xCheckLB->set_toggle(nRow, false, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(nRow, TRISTATE_FALSE, CBCOL_SECOND);
m_xCheckLB->set_text(nRow, rTxt, 2);
}
@@ -409,51 +409,51 @@ bool OfaSwAutoFmtOptionsPage::FillItemSet( SfxItemSet* )
SvxSwAutoFormatFlags *pOpt = &pAutoCorrect->GetSwFlags();
ACFlags nFlags = pAutoCorrect->GetFlags();
- bool bCheck = m_xCheckLB->get_toggle(USE_REPLACE_TABLE, CBCOL_FIRST);
+ bool bCheck = m_xCheckLB->get_toggle(USE_REPLACE_TABLE, CBCOL_FIRST) == TRISTATE_TRUE;
bModified |= pOpt->bAutoCorrect != bCheck;
pOpt->bAutoCorrect = bCheck;
pAutoCorrect->SetAutoCorrFlag(ACFlags::Autocorrect,
- m_xCheckLB->get_toggle(USE_REPLACE_TABLE, CBCOL_SECOND));
+ m_xCheckLB->get_toggle(USE_REPLACE_TABLE, CBCOL_SECOND) == TRISTATE_TRUE);
- bCheck = m_xCheckLB->get_toggle(CORR_UPPER, CBCOL_FIRST);
+ bCheck = m_xCheckLB->get_toggle(CORR_UPPER, CBCOL_FIRST) == TRISTATE_TRUE;
bModified |= pOpt->bCapitalStartWord != bCheck;
pOpt->bCapitalStartWord = bCheck;
pAutoCorrect->SetAutoCorrFlag(ACFlags::CapitalStartWord,
- m_xCheckLB->get_toggle(CORR_UPPER, CBCOL_SECOND));
+ m_xCheckLB->get_toggle(CORR_UPPER, CBCOL_SECOND) == TRISTATE_TRUE);
- bCheck = m_xCheckLB->get_toggle(BEGIN_UPPER, CBCOL_FIRST);
+ bCheck = m_xCheckLB->get_toggle(BEGIN_UPPER, CBCOL_FIRST) == TRISTATE_TRUE;
bModified |= pOpt->bCapitalStartSentence != bCheck;
pOpt->bCapitalStartSentence = bCheck;
pAutoCorrect->SetAutoCorrFlag(ACFlags::CapitalStartSentence,
- m_xCheckLB->get_toggle(BEGIN_UPPER, CBCOL_SECOND));
+ m_xCheckLB->get_toggle(BEGIN_UPPER, CBCOL_SECOND) == TRISTATE_TRUE);
- bCheck = m_xCheckLB->get_toggle(BOLD_UNDERLINE, CBCOL_FIRST);
+ bCheck = m_xCheckLB->get_toggle(BOLD_UNDERLINE, CBCOL_FIRST) == TRISTATE_TRUE;
bModified |= pOpt->bChgWeightUnderl != bCheck;
pOpt->bChgWeightUnderl = bCheck;
pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgWeightUnderl,
- m_xCheckLB->get_toggle(BOLD_UNDERLINE, CBCOL_SECOND));
+ m_xCheckLB->get_toggle(BOLD_UNDERLINE, CBCOL_SECOND) == TRISTATE_TRUE);
pAutoCorrect->SetAutoCorrFlag(ACFlags::IgnoreDoubleSpace,
- m_xCheckLB->get_toggle(IGNORE_DBLSPACE, CBCOL_SECOND));
+ m_xCheckLB->get_toggle(IGNORE_DBLSPACE, CBCOL_SECOND) == TRISTATE_TRUE);
pAutoCorrect->SetAutoCorrFlag(ACFlags::CorrectCapsLock,
- m_xCheckLB->get_toggle(CORRECT_CAPS_LOCK, CBCOL_SECOND));
+ m_xCheckLB->get_toggle(CORRECT_CAPS_LOCK, CBCOL_SECOND) == TRISTATE_TRUE);
- bCheck = m_xCheckLB->get_toggle(DETECT_URL, CBCOL_FIRST);
+ bCheck = m_xCheckLB->get_toggle(DETECT_URL, CBCOL_FIRST) == TRISTATE_TRUE;
bModified |= pOpt->bSetINetAttr != bCheck;
pOpt->bSetINetAttr = bCheck;
pAutoCorrect->SetAutoCorrFlag(ACFlags::SetINetAttr,
- m_xCheckLB->get_toggle(DETECT_URL, CBCOL_SECOND));
+ m_xCheckLB->get_toggle(DETECT_URL, CBCOL_SECOND) == TRISTATE_TRUE);
- bCheck = m_xCheckLB->get_toggle(DEL_EMPTY_NODE, CBCOL_FIRST);
+ bCheck = m_xCheckLB->get_toggle(DEL_EMPTY_NODE, CBCOL_FIRST) == TRISTATE_TRUE;
bModified |= pOpt->bDelEmptyNode != bCheck;
pOpt->bDelEmptyNode = bCheck;
- bCheck = m_xCheckLB->get_toggle(REPLACE_USER_COLL, CBCOL_FIRST);
+ bCheck = m_xCheckLB->get_toggle(REPLACE_USER_COLL, CBCOL_FIRST) == TRISTATE_TRUE;
bModified |= pOpt->bChgUserColl != bCheck;
pOpt->bChgUserColl = bCheck;
- bCheck = m_xCheckLB->get_toggle(REPLACE_BULLETS, CBCOL_FIRST);
+ bCheck = m_xCheckLB->get_toggle(REPLACE_BULLETS, CBCOL_FIRST) == TRISTATE_TRUE;
bModified |= pOpt->bChgEnumNum != bCheck;
pOpt->bChgEnumNum = bCheck;
bModified |= aBulletFont != pOpt->aBulletFont;
@@ -466,45 +466,45 @@ bool OfaSwAutoFmtOptionsPage::FillItemSet( SfxItemSet* )
pOpt->aByInputBulletFont = aByInputBulletFont;
pOpt->cByInputBullet = sByInputBulletChar[0];
- bCheck = m_xCheckLB->get_toggle(MERGE_SINGLE_LINE_PARA, CBCOL_FIRST);
+ bCheck = m_xCheckLB->get_toggle(MERGE_SINGLE_LINE_PARA, CBCOL_FIRST) == TRISTATE_TRUE;
bModified |= pOpt->bRightMargin != bCheck;
pOpt->bRightMargin = bCheck;
bModified |= nPercent != pOpt->nRightMargin;
pOpt->nRightMargin = static_cast<sal_uInt8>(nPercent);
- bCheck = m_xCheckLB->get_toggle(APPLY_NUMBERING, CBCOL_SECOND);
+ bCheck = m_xCheckLB->get_toggle(APPLY_NUMBERING, CBCOL_SECOND) == TRISTATE_TRUE;
bModified |= pOpt->bSetNumRule != bCheck;
pOpt->bSetNumRule = bCheck;
- bCheck = m_xCheckLB->get_toggle(INSERT_BORDER, CBCOL_SECOND);
+ bCheck = m_xCheckLB->get_toggle(INSERT_BORDER, CBCOL_SECOND) == TRISTATE_TRUE;
bModified |= pOpt->bSetBorder != bCheck;
pOpt->bSetBorder = bCheck;
- bCheck = m_xCheckLB->get_toggle(CREATE_TABLE, CBCOL_SECOND);
+ bCheck = m_xCheckLB->get_toggle(CREATE_TABLE, CBCOL_SECOND) == TRISTATE_TRUE;
bModified |= pOpt->bCreateTable != bCheck;
pOpt->bCreateTable = bCheck;
- bCheck = m_xCheckLB->get_toggle(REPLACE_STYLES, CBCOL_SECOND);
+ bCheck = m_xCheckLB->get_toggle(REPLACE_STYLES, CBCOL_SECOND) == TRISTATE_TRUE;
bModified |= pOpt->bReplaceStyles != bCheck;
pOpt->bReplaceStyles = bCheck;
- bCheck = m_xCheckLB->get_toggle(REPLACE_DASHES, CBCOL_FIRST);
+ bCheck = m_xCheckLB->get_toggle(REPLACE_DASHES, CBCOL_FIRST) == TRISTATE_TRUE;
bModified |= pOpt->bChgToEnEmDash != bCheck;
pOpt->bChgToEnEmDash = bCheck;
pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgToEnEmDash,
- m_xCheckLB->get_toggle(REPLACE_DASHES, CBCOL_SECOND));
+ m_xCheckLB->get_toggle(REPLACE_DASHES, CBCOL_SECOND) == TRISTATE_TRUE);
- bCheck = m_xCheckLB->get_toggle(DEL_SPACES_AT_STT_END, CBCOL_FIRST);
+ bCheck = m_xCheckLB->get_toggle(DEL_SPACES_AT_STT_END, CBCOL_FIRST) == TRISTATE_TRUE;
bModified |= pOpt->bAFormatDelSpacesAtSttEnd != bCheck;
pOpt->bAFormatDelSpacesAtSttEnd = bCheck;
- bCheck = m_xCheckLB->get_toggle(DEL_SPACES_AT_STT_END, CBCOL_SECOND);
+ bCheck = m_xCheckLB->get_toggle(DEL_SPACES_AT_STT_END, CBCOL_SECOND) == TRISTATE_TRUE;
bModified |= pOpt->bAFormatByInpDelSpacesAtSttEnd != bCheck;
pOpt->bAFormatByInpDelSpacesAtSttEnd = bCheck;
- bCheck = m_xCheckLB->get_toggle(DEL_SPACES_BETWEEN_LINES, CBCOL_FIRST);
+ bCheck = m_xCheckLB->get_toggle(DEL_SPACES_BETWEEN_LINES, CBCOL_FIRST) == TRISTATE_TRUE;
bModified |= pOpt->bAFormatDelSpacesBetweenLines != bCheck;
pOpt->bAFormatDelSpacesBetweenLines = bCheck;
- bCheck = m_xCheckLB->get_toggle(DEL_SPACES_BETWEEN_LINES, CBCOL_SECOND);
+ bCheck = m_xCheckLB->get_toggle(DEL_SPACES_BETWEEN_LINES, CBCOL_SECOND) == TRISTATE_TRUE;
bModified |= pOpt->bAFormatByInpDelSpacesBetweenLines != bCheck;
pOpt->bAFormatByInpDelSpacesBetweenLines = bCheck;
@@ -563,32 +563,32 @@ void OfaSwAutoFmtOptionsPage::Reset( const SfxItemSet* )
CreateEntry(sBullet.replaceFirst("%1", sByInputBulletChar), CBCOL_FIRST);
CreateEntry(sRightMargin.replaceFirst("%1", sMargin), CBCOL_FIRST);
- m_xCheckLB->set_toggle(USE_REPLACE_TABLE, pOpt->bAutoCorrect, CBCOL_FIRST);
- m_xCheckLB->set_toggle(USE_REPLACE_TABLE, bool(nFlags & ACFlags::Autocorrect), CBCOL_SECOND);
- m_xCheckLB->set_toggle(CORR_UPPER, pOpt->bCapitalStartWord, CBCOL_FIRST);
- m_xCheckLB->set_toggle(CORR_UPPER, bool(nFlags & ACFlags::CapitalStartWord), CBCOL_SECOND);
- m_xCheckLB->set_toggle(BEGIN_UPPER, pOpt->bCapitalStartSentence, CBCOL_FIRST);
- m_xCheckLB->set_toggle(BEGIN_UPPER, bool(nFlags & ACFlags::CapitalStartSentence), CBCOL_SECOND);
- m_xCheckLB->set_toggle(BOLD_UNDERLINE, pOpt->bChgWeightUnderl, CBCOL_FIRST);
- m_xCheckLB->set_toggle(BOLD_UNDERLINE, bool(nFlags & ACFlags::ChgWeightUnderl), CBCOL_SECOND);
- m_xCheckLB->set_toggle(DETECT_URL, pOpt->bSetINetAttr, CBCOL_FIRST);
- m_xCheckLB->set_toggle(DETECT_URL, bool(nFlags & ACFlags::SetINetAttr), CBCOL_SECOND);
- m_xCheckLB->set_toggle(REPLACE_DASHES, pOpt->bChgToEnEmDash, CBCOL_FIRST);
- m_xCheckLB->set_toggle(REPLACE_DASHES, bool(nFlags & ACFlags::ChgToEnEmDash), CBCOL_SECOND);
- m_xCheckLB->set_toggle(DEL_SPACES_AT_STT_END, pOpt->bAFormatDelSpacesAtSttEnd, CBCOL_FIRST);
- m_xCheckLB->set_toggle(DEL_SPACES_AT_STT_END, pOpt->bAFormatByInpDelSpacesAtSttEnd, CBCOL_SECOND);
- m_xCheckLB->set_toggle(DEL_SPACES_BETWEEN_LINES, pOpt->bAFormatDelSpacesBetweenLines, CBCOL_FIRST);
- m_xCheckLB->set_toggle(DEL_SPACES_BETWEEN_LINES, pOpt->bAFormatByInpDelSpacesBetweenLines, CBCOL_SECOND);
- m_xCheckLB->set_toggle(IGNORE_DBLSPACE, bool(nFlags & ACFlags::IgnoreDoubleSpace), CBCOL_SECOND);
- m_xCheckLB->set_toggle(CORRECT_CAPS_LOCK, bool(nFlags & ACFlags::CorrectCapsLock), CBCOL_SECOND);
- m_xCheckLB->set_toggle(APPLY_NUMBERING, pOpt->bSetNumRule, CBCOL_SECOND);
- m_xCheckLB->set_toggle(INSERT_BORDER, pOpt->bSetBorder, CBCOL_SECOND);
- m_xCheckLB->set_toggle(CREATE_TABLE, pOpt->bCreateTable, CBCOL_SECOND);
- m_xCheckLB->set_toggle(REPLACE_STYLES, pOpt->bReplaceStyles, CBCOL_SECOND);
- m_xCheckLB->set_toggle(DEL_EMPTY_NODE, pOpt->bDelEmptyNode, CBCOL_FIRST);
- m_xCheckLB->set_toggle(REPLACE_USER_COLL, pOpt->bChgUserColl, CBCOL_FIRST);
- m_xCheckLB->set_toggle(REPLACE_BULLETS, pOpt->bChgEnumNum, CBCOL_FIRST);
- m_xCheckLB->set_toggle(MERGE_SINGLE_LINE_PARA, pOpt->bRightMargin, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(USE_REPLACE_TABLE, pOpt->bAutoCorrect ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(USE_REPLACE_TABLE, bool(nFlags & ACFlags::Autocorrect) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(CORR_UPPER, pOpt->bCapitalStartWord ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(CORR_UPPER, bool(nFlags & ACFlags::CapitalStartWord) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(BEGIN_UPPER, pOpt->bCapitalStartSentence ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(BEGIN_UPPER, bool(nFlags & ACFlags::CapitalStartSentence) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(BOLD_UNDERLINE, pOpt->bChgWeightUnderl ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(BOLD_UNDERLINE, bool(nFlags & ACFlags::ChgWeightUnderl) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(DETECT_URL, pOpt->bSetINetAttr ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(DETECT_URL, bool(nFlags & ACFlags::SetINetAttr) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(REPLACE_DASHES, pOpt->bChgToEnEmDash ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(REPLACE_DASHES, bool(nFlags & ACFlags::ChgToEnEmDash) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(DEL_SPACES_AT_STT_END, pOpt->bAFormatDelSpacesAtSttEnd ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(DEL_SPACES_AT_STT_END, pOpt->bAFormatByInpDelSpacesAtSttEnd ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(DEL_SPACES_BETWEEN_LINES, pOpt->bAFormatDelSpacesBetweenLines ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(DEL_SPACES_BETWEEN_LINES, pOpt->bAFormatByInpDelSpacesBetweenLines ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(IGNORE_DBLSPACE, bool(nFlags & ACFlags::IgnoreDoubleSpace) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(CORRECT_CAPS_LOCK, bool(nFlags & ACFlags::CorrectCapsLock) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(APPLY_NUMBERING, pOpt->bSetNumRule ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(INSERT_BORDER, pOpt->bSetBorder ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(CREATE_TABLE, pOpt->bCreateTable ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(REPLACE_STYLES, pOpt->bReplaceStyles ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xCheckLB->set_toggle(DEL_EMPTY_NODE, pOpt->bDelEmptyNode ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(REPLACE_USER_COLL, pOpt->bChgUserColl ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(REPLACE_BULLETS, pOpt->bChgEnumNum ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(MERGE_SINGLE_LINE_PARA, pOpt->bRightMargin ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
ImpUserData* pUserData = new ImpUserData(&sBulletChar, &aBulletFont);
OUString sId(OUString::number(reinterpret_cast<sal_Int64>(pUserData)));
@@ -1532,9 +1532,9 @@ void OfaQuoteTabPage::CreateEntry(weld::TreeView& rCheckLB, const OUString& rTxt
rCheckLB.append();
const int nRow = rCheckLB.n_children() - 1;
if (nCol == CBCOL_FIRST || nCol == CBCOL_BOTH)
- rCheckLB.set_toggle(nRow, false, CBCOL_FIRST);
+ rCheckLB.set_toggle(nRow, TRISTATE_FALSE, CBCOL_FIRST);
if (nCol == CBCOL_SECOND || nCol == CBCOL_BOTH)
- rCheckLB.set_toggle(nRow, false, CBCOL_SECOND);
+ rCheckLB.set_toggle(nRow, TRISTATE_FALSE, CBCOL_SECOND);
rCheckLB.set_text(nRow, rTxt, nTextCol);
}
@@ -1615,8 +1615,8 @@ bool OfaQuoteTabPage::FillItemSet( SfxItemSet* )
if (m_xCheckLB->get_visible())
{
int nPos = 0;
- pAutoCorrect->SetAutoCorrFlag(ACFlags::AddNonBrkSpace, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST));
- pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgOrdinalNumber, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST));
+ pAutoCorrect->SetAutoCorrFlag(ACFlags::AddNonBrkSpace, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST) == TRISTATE_TRUE);
+ pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgOrdinalNumber, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST) == TRISTATE_TRUE);
}
bool bModified = false;
@@ -1624,17 +1624,17 @@ bool OfaQuoteTabPage::FillItemSet( SfxItemSet* )
{
SvxSwAutoFormatFlags *pOpt = &pAutoCorrect->GetSwFlags();
- bool bCheck = m_xSwCheckLB->get_toggle(ADD_NONBRK_SPACE, CBCOL_FIRST);
+ bool bCheck = m_xSwCheckLB->get_toggle(ADD_NONBRK_SPACE, CBCOL_FIRST) == TRISTATE_TRUE;
bModified |= pOpt->bAddNonBrkSpace != bCheck;
pOpt->bAddNonBrkSpace = bCheck;
pAutoCorrect->SetAutoCorrFlag(ACFlags::AddNonBrkSpace,
- m_xSwCheckLB->get_toggle(ADD_NONBRK_SPACE, CBCOL_SECOND));
+ m_xSwCheckLB->get_toggle(ADD_NONBRK_SPACE, CBCOL_SECOND) == TRISTATE_TRUE);
- bCheck = m_xSwCheckLB->get_toggle(REPLACE_1ST, CBCOL_FIRST);
+ bCheck = m_xSwCheckLB->get_toggle(REPLACE_1ST, CBCOL_FIRST) == TRISTATE_TRUE;
bModified |= pOpt->bChgOrdinalNumber != bCheck;
pOpt->bChgOrdinalNumber = bCheck;
pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgOrdinalNumber,
- m_xSwCheckLB->get_toggle(REPLACE_1ST, CBCOL_SECOND));
+ m_xSwCheckLB->get_toggle(REPLACE_1ST, CBCOL_SECOND) == TRISTATE_TRUE);
}
pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgQuotes, m_xDoubleTypoCB->get_active());
@@ -1695,10 +1695,10 @@ void OfaQuoteTabPage::Reset( const SfxItemSet* )
CreateEntry(*m_xSwCheckLB, sNonBrkSpace, CBCOL_BOTH, 2);
CreateEntry(*m_xSwCheckLB, sOrdinal, CBCOL_BOTH, 2);
- m_xSwCheckLB->set_toggle(ADD_NONBRK_SPACE, pOpt->bAddNonBrkSpace, CBCOL_FIRST);
- m_xSwCheckLB->set_toggle(ADD_NONBRK_SPACE, bool(nFlags & ACFlags::AddNonBrkSpace), CBCOL_SECOND);
- m_xSwCheckLB->set_toggle(REPLACE_1ST, pOpt->bChgOrdinalNumber, CBCOL_FIRST);
- m_xSwCheckLB->set_toggle(REPLACE_1ST, bool(nFlags & ACFlags::ChgOrdinalNumber), CBCOL_SECOND);
+ m_xSwCheckLB->set_toggle(ADD_NONBRK_SPACE, pOpt->bAddNonBrkSpace ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xSwCheckLB->set_toggle(ADD_NONBRK_SPACE, bool(nFlags & ACFlags::AddNonBrkSpace) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
+ m_xSwCheckLB->set_toggle(REPLACE_1ST, pOpt->bChgOrdinalNumber ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xSwCheckLB->set_toggle(REPLACE_1ST, bool(nFlags & ACFlags::ChgOrdinalNumber) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_SECOND);
m_xSwCheckLB->thaw();
}
@@ -1713,8 +1713,8 @@ void OfaQuoteTabPage::Reset( const SfxItemSet* )
CreateEntry(*m_xCheckLB, sOrdinal, CBCOL_FIRST, 1);
int nPos = 0;
- m_xCheckLB->set_toggle(nPos++, bool(nFlags & ACFlags::AddNonBrkSpace), CBCOL_FIRST);
- m_xCheckLB->set_toggle(nPos++, bool(nFlags & ACFlags::ChgOrdinalNumber), CBCOL_FIRST);
+ m_xCheckLB->set_toggle(nPos++, bool(nFlags & ACFlags::AddNonBrkSpace) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
+ m_xCheckLB->set_toggle(nPos++, bool(nFlags & ACFlags::ChgOrdinalNumber) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
m_xCheckLB->thaw();
}
@@ -2208,7 +2208,7 @@ void OfaSmartTagOptionsTabPage::FillListBox( const SmartTagMgr& rSmartTagMgr )
m_xSmartTagTypesLB->append();
const int nRow = m_xSmartTagTypesLB->n_children() - 1;
const bool bCheck = rSmartTagMgr.IsSmartTagTypeEnabled( aSmartTagType );
- m_xSmartTagTypesLB->set_toggle(nRow, bCheck, CBCOL_FIRST);
+ m_xSmartTagTypesLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
m_xSmartTagTypesLB->set_text(nRow, aLBEntry, 1);
m_xSmartTagTypesLB->set_id(nRow, OUString::number(reinterpret_cast<sal_Int64>(new ImplSmartTagLBUserData(aSmartTagType, xRec, j))));
}
@@ -2283,7 +2283,7 @@ bool OfaSmartTagOptionsTabPage::FillItemSet( SfxItemSet* )
for (int i = 0; i < nCount; ++i)
{
const ImplSmartTagLBUserData* pUserData = reinterpret_cast<ImplSmartTagLBUserData*>(m_xSmartTagTypesLB->get_id(i).toInt64());
- const bool bChecked = m_xSmartTagTypesLB->get_toggle(i, CBCOL_FIRST);
+ const bool bChecked = m_xSmartTagTypesLB->get_toggle(i, CBCOL_FIRST) == TRISTATE_TRUE;
const bool bIsCurrentlyEnabled = pSmartTagMgr->IsSmartTagTypeEnabled( pUserData->maSmartTagType );
bModifiedSmartTagTypes = bModifiedSmartTagTypes || ( !bChecked != !bIsCurrentlyEnabled );
diff --git a/cui/uiconfig/ui/accelconfigpage.ui b/cui/uiconfig/ui/accelconfigpage.ui
index 6f248588023a..8d058c61bfda 100644
--- a/cui/uiconfig/ui/accelconfigpage.ui
+++ b/cui/uiconfig/ui/accelconfigpage.ui
@@ -26,7 +26,11 @@
<column type="gchararray"/>
<!-- column-name id -->
<column type="gchararray"/>
- <!-- column-name sensitive -->
+ <!-- column-name weight1 -->
+ <column type="gint"/>
+ <!-- column-name weight1 -->
+ <column type="gint"/>
+ <!-- column-name sensitive1 -->
<column type="gboolean"/>
</columns>
</object>
@@ -97,7 +101,7 @@
<child>
<object class="GtkCellRendererText" id="cellrenderer1"/>
<attributes>
- <attribute name="sensitive">3</attribute>
+ <attribute name="sensitive">5</attribute>
<attribute name="text">0</attribute>
</attributes>
</child>
diff --git a/cui/uiconfig/ui/acoroptionspage.ui b/cui/uiconfig/ui/acoroptionspage.ui
index 2bdc0bf3492d..045f394b16d3 100644
--- a/cui/uiconfig/ui/acoroptionspage.ui
+++ b/cui/uiconfig/ui/acoroptionspage.ui
@@ -12,6 +12,8 @@
<column type="gchararray"/>
<!-- column-name checkvis1 -->
<column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkBox" id="AutocorrectOptionsPage">
diff --git a/cui/uiconfig/ui/applyautofmtpage.ui b/cui/uiconfig/ui/applyautofmtpage.ui
index 98528c5d13c1..45ca15dd7788 100644
--- a/cui/uiconfig/ui/applyautofmtpage.ui
+++ b/cui/uiconfig/ui/applyautofmtpage.ui
@@ -16,6 +16,10 @@
<column type="gboolean"/>
<!-- column-name checkvis2 -->
<column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
+ <!-- column-name checktri2 -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkBox" id="ApplyAutoFmtPage">
diff --git a/cui/uiconfig/ui/applylocalizedpage.ui b/cui/uiconfig/ui/applylocalizedpage.ui
index 705a810f58db..6fec332aee47 100644
--- a/cui/uiconfig/ui/applylocalizedpage.ui
+++ b/cui/uiconfig/ui/applylocalizedpage.ui
@@ -16,6 +16,10 @@
<column type="gboolean"/>
<!-- column-name checkvis2 -->
<column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
+ <!-- column-name checktri2 -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkTreeStore" id="liststore2">
@@ -28,6 +32,8 @@
<column type="gchararray"/>
<!-- column-name checkvis1 -->
<column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkBox" id="ApplyLocalizedPage">
diff --git a/cui/uiconfig/ui/certdialog.ui b/cui/uiconfig/ui/certdialog.ui
index 8a90f1d32862..348e346856b5 100644
--- a/cui/uiconfig/ui/certdialog.ui
+++ b/cui/uiconfig/ui/certdialog.ui
@@ -14,6 +14,8 @@
<column type="gchararray"/>
<!-- column-name checkvis1 -->
<column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkDialog" id="CertDialog">
diff --git a/cui/uiconfig/ui/hangulhanjaoptdialog.ui b/cui/uiconfig/ui/hangulhanjaoptdialog.ui
index 1fef474a30c1..c771f050903a 100644
--- a/cui/uiconfig/ui/hangulhanjaoptdialog.ui
+++ b/cui/uiconfig/ui/hangulhanjaoptdialog.ui
@@ -12,6 +12,8 @@
<column type="gchararray"/>
<!-- column-name checkvis1 -->
<column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkDialog" id="HangulHanjaOptDialog">
diff --git a/cui/uiconfig/ui/menuassignpage.ui b/cui/uiconfig/ui/menuassignpage.ui
index 63c74abab271..e69080d09fe4 100644
--- a/cui/uiconfig/ui/menuassignpage.ui
+++ b/cui/uiconfig/ui/menuassignpage.ui
@@ -76,6 +76,8 @@
<column type="gchararray"/>
<!-- column-name checkvis1 -->
<column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkTreeStore" id="liststore3">
diff --git a/cui/uiconfig/ui/multipathdialog.ui b/cui/uiconfig/ui/multipathdialog.ui
index 9275c13e4a34..0f1e73094e20 100644
--- a/cui/uiconfig/ui/multipathdialog.ui
+++ b/cui/uiconfig/ui/multipathdialog.ui
@@ -12,6 +12,8 @@
<column type="gchararray"/>
<!-- column-name checkvis1 -->
<column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkDialog" id="MultiPathDialog">
diff --git a/cui/uiconfig/ui/optlingupage.ui b/cui/uiconfig/ui/optlingupage.ui
index f2331ecb58d9..215c8f67549c 100644
--- a/cui/uiconfig/ui/optlingupage.ui
+++ b/cui/uiconfig/ui/optlingupage.ui
@@ -12,6 +12,8 @@
<column type="gchararray"/>
<!-- column-name checkvis1 -->
<column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkTreeStore" id="liststore3">
@@ -24,6 +26,8 @@
<column type="gchararray"/>
<!-- column-name checkvis1 -->
<column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkTreeStore" id="liststore4">
@@ -36,6 +40,8 @@
<column type="gchararray"/>
<!-- column-name checkvis1 -->
<column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkGrid" id="OptLinguPage">
diff --git a/cui/uiconfig/ui/searchattrdialog.ui b/cui/uiconfig/ui/searchattrdialog.ui
index f543ba732c8e..d67f41fe008b 100644
--- a/cui/uiconfig/ui/searchattrdialog.ui
+++ b/cui/uiconfig/ui/searchattrdialog.ui
@@ -12,6 +12,8 @@
<column type="gchararray"/>
<!-- column-name checkvis1 -->
<column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkDialog" id="SearchAttrDialog">
diff --git a/cui/uiconfig/ui/smarttagoptionspage.ui b/cui/uiconfig/ui/smarttagoptionspage.ui
index b4e00e16a8a7..08cbb87ae8e6 100644
--- a/cui/uiconfig/ui/smarttagoptionspage.ui
+++ b/cui/uiconfig/ui/smarttagoptionspage.ui
@@ -12,6 +12,8 @@
<column type="gchararray"/>
<!-- column-name checkvis1 -->
<column type="gboolean"/>
+ <!-- column-name checktri1 -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkGrid" id="SmartTagOptionsPage">
diff --git a/dbaccess/source/ui/browser/unodatbr.cxx b/dbaccess/source/ui/browser/unodatbr.cxx
index ee49f5b1f3e6..31251082622e 100644
--- a/dbaccess/source/ui/browser/unodatbr.cxx
+++ b/dbaccess/source/ui/browser/unodatbr.cxx
@@ -1077,12 +1077,12 @@ namespace
virtual ~FilterByEntryDataId() {}
- virtual bool includeEntry( SvTreeListEntry* _pEntry ) const override;
+ virtual bool includeEntry(const void* pEntry) const override;
};
- bool FilterByEntryDataId::includeEntry( SvTreeListEntry* _pEntry ) const
+ bool FilterByEntryDataId::includeEntry(const void* pUserData) const
{
- DBTreeListUserData* pData = static_cast< DBTreeListUserData* >( _pEntry->GetUserData() );
+ const DBTreeListUserData* pData = static_cast<const DBTreeListUserData*>(pUserData);
return ( !pData || ( pData->sAccessor == sId ) );
}
}
diff --git a/dbaccess/source/ui/control/dbtreelistbox.cxx b/dbaccess/source/ui/control/dbtreelistbox.cxx
index 921130037653..0d8912d92bcb 100644
--- a/dbaccess/source/ui/control/dbtreelistbox.cxx
+++ b/dbaccess/source/ui/control/dbtreelistbox.cxx
@@ -117,7 +117,7 @@ SvTreeListEntry* DBTreeListBox::GetEntryPosByName( const OUString& aName, SvTree
if (pItem && pItem->GetText() == aName)
{
- if (!_pFilter || _pFilter->includeEntry(pEntry))
+ if (!_pFilter || _pFilter->includeEntry(pEntry->GetUserData()))
// found
break;
}
diff --git a/dbaccess/source/ui/control/tabletree.cxx b/dbaccess/source/ui/control/tabletree.cxx
index 9e8b7de36fb5..b89fa02bbe60 100644
--- a/dbaccess/source/ui/control/tabletree.cxx
+++ b/dbaccess/source/ui/control/tabletree.cxx
@@ -74,6 +74,15 @@ OTableTreeListBox::OTableTreeListBox(vcl::Window* pParent, WinBits nWinStyle)
implSetDefaultImages();
}
+TableTreeListBox::TableTreeListBox(std::unique_ptr<weld::TreeView> xTreeView)
+ : m_xImageProvider(new ImageProvider)
+ , m_bVirtualRoot(false)
+ , m_bNoEmptyFolders(false)
+ , m_xTreeView(std::move(xTreeView))
+{
+ m_xTreeView->make_sorted();
+}
+
VCL_BUILDER_FACTORY_CONSTRUCTOR(OTableTreeListBox, 0)
void OTableTreeListBox::implSetDefaultImages()
@@ -131,6 +140,12 @@ void OTableTreeListBox::implOnNewConnection( const Reference< XConnection >& _rx
m_xImageProvider.reset( new ImageProvider( m_xConnection ) );
}
+void TableTreeListBox::implOnNewConnection( const Reference< XConnection >& _rxConnection )
+{
+ m_xConnection = _rxConnection;
+ m_xImageProvider.reset( new ImageProvider( m_xConnection ) );
+}
+
void OTableTreeListBox::UpdateTableList( const Reference< XConnection >& _rxConnection )
{
Sequence< OUString > sTables, sViews;
@@ -173,6 +188,48 @@ void OTableTreeListBox::UpdateTableList( const Reference< XConnection >& _rxConn
UpdateTableList( _rxConnection, sTables, sViews );
}
+void TableTreeListBox::UpdateTableList( const Reference< XConnection >& _rxConnection )
+{
+ Sequence< OUString > sTables, sViews;
+
+ OUString sCurrentActionError;
+ try
+ {
+ Reference< XTablesSupplier > xTableSupp( _rxConnection, UNO_QUERY_THROW );
+ sCurrentActionError = DBA_RES(STR_NOTABLEINFO);
+
+ Reference< XNameAccess > xTables,xViews;
+
+ Reference< XViewsSupplier > xViewSupp( _rxConnection, UNO_QUERY );
+ if ( xViewSupp.is() )
+ {
+ xViews = xViewSupp->getViews();
+ if (xViews.is())
+ sViews = xViews->getElementNames();
+ }
+
+ xTables = xTableSupp->getTables();
+ if (xTables.is())
+ sTables = xTables->getElementNames();
+ }
+ catch(RuntimeException&)
+ {
+ OSL_FAIL("OTableTreeListBox::UpdateTableList : caught an RuntimeException!");
+ }
+ catch ( const SQLException& )
+ {
+ throw;
+ }
+ catch(Exception&)
+ {
+ css::uno::Any anyEx = cppu::getCaughtException();
+ // a non-SQLException exception occurred ... simply throw an SQLException
+ throw SQLException(sCurrentActionError, nullptr, "", 0, anyEx);
+ }
+
+ UpdateTableList( _rxConnection, sTables, sViews );
+}
+
namespace
{
struct OViewSetter
@@ -216,6 +273,27 @@ void OTableTreeListBox::UpdateTableList(
UpdateTableList( _rxConnection, aTables );
}
+void TableTreeListBox::UpdateTableList(
+ const Reference< XConnection >& _rxConnection,
+ const Sequence< OUString>& _rTables,
+ const Sequence< OUString>& _rViews
+ )
+{
+ TNames aTables;
+ aTables.resize(_rTables.getLength());
+ try
+ {
+ Reference< XDatabaseMetaData > xMeta( _rxConnection->getMetaData(), UNO_QUERY_THROW );
+ std::transform( _rTables.begin(), _rTables.end(),
+ aTables.begin(), OViewSetter( _rViews, xMeta->supportsMixedCaseQuotedIdentifiers() ) );
+ }
+ catch(Exception&)
+ {
+ DBG_UNHANDLED_EXCEPTION("dbaccess");
+ }
+ UpdateTableList( _rxConnection, aTables );
+}
+
namespace
{
std::vector< OUString > lcl_getMetaDataStrings_throw( const Reference< XResultSet >& _rxMetaDataResult, sal_Int32 _nColumnIndex )
@@ -305,6 +383,92 @@ void OTableTreeListBox::UpdateTableList( const Reference< XConnection >& _rxConn
}
}
+void TableTreeListBox::UpdateTableList( const Reference< XConnection >& _rxConnection, const TNames& _rTables )
+{
+ implOnNewConnection( _rxConnection );
+
+ // throw away all the old stuff
+ m_xTreeView->clear();
+
+ try
+ {
+ if (haveVirtualRoot())
+ {
+ OUString sRootEntryText;
+ if ( std::none_of(_rTables.begin(),_rTables.end(),
+ [] (const TNames::value_type& name) { return !name.second; }) )
+ sRootEntryText = DBA_RES(STR_ALL_TABLES);
+ else if ( std::none_of(_rTables.begin(),_rTables.end(),
+ [] (const TNames::value_type& name) { return name.second; }) )
+ sRootEntryText = DBA_RES(STR_ALL_VIEWS);
+ else
+ sRootEntryText = DBA_RES(STR_ALL_TABLES_AND_VIEWS);
+ OUString sId(OUString::number(DatabaseObjectContainer::TABLES));
+ OUString sImageId = ImageProvider::getFolderImageId(DatabaseObject::TABLE);
+ std::unique_ptr<weld::TreeIter> xRet(m_xTreeView->make_iterator());
+ m_xTreeView->insert(nullptr, -1, nullptr, &sId, nullptr, nullptr, nullptr, false, xRet.get());
+ m_xTreeView->set_image(*xRet, sImageId, -1);
+ m_xTreeView->set_toggle(*xRet, TRISTATE_FALSE, 0);
+ m_xTreeView->set_text(*xRet, sRootEntryText, 1);
+ }
+
+ if ( _rTables.empty() )
+ // nothing to do (besides inserting the root entry)
+ return;
+
+ // get the table/view names
+ Reference< XDatabaseMetaData > xMeta( _rxConnection->getMetaData(), UNO_QUERY_THROW );
+ for (auto const& table : _rTables)
+ {
+ // add the entry
+ implAddEntry(
+ xMeta,
+ table.first,
+ false
+ );
+ }
+
+ if ( !m_bNoEmptyFolders && lcl_shouldDisplayEmptySchemasAndCatalogs( _rxConnection ) )
+ {
+ bool bSupportsCatalogs = xMeta->supportsCatalogsInDataManipulation();
+ bool bSupportsSchemas = xMeta->supportsSchemasInDataManipulation();
+
+ if ( bSupportsCatalogs || bSupportsSchemas )
+ {
+ // we display empty catalogs if the DB supports catalogs, and they're noted at the beginning of a
+ // composed name. Otherwise, we display empty schematas. (also see the tree structure explained in
+ // implAddEntry)
+ bool bCatalogs = bSupportsCatalogs && xMeta->isCatalogAtStart();
+
+ std::vector< OUString > aFolderNames( lcl_getMetaDataStrings_throw(
+ bCatalogs ? xMeta->getCatalogs() : xMeta->getSchemas(), 1 ) );
+ sal_Int32 nFolderType = bCatalogs ? DatabaseObjectContainer::CATALOG : DatabaseObjectContainer::SCHEMA;
+
+ OUString sImageId = ImageProvider::getFolderImageId(DatabaseObject::TABLE);
+
+ std::unique_ptr<weld::TreeIter> xRootEntry(getAllObjectsEntry());
+ std::unique_ptr<weld::TreeIter> xRet(m_xTreeView->make_iterator());
+ for (auto const& folderName : aFolderNames)
+ {
+ std::unique_ptr<weld::TreeIter> xFolder(GetEntryPosByName(folderName, xRootEntry.get()));
+ if (!xFolder)
+ {
+ OUString sId(OUString::number(nFolderType));
+ m_xTreeView->insert(xRootEntry.get(), -1, nullptr, &sId, nullptr, nullptr, nullptr, false, xRet.get());
+ m_xTreeView->set_image(*xRet, sImageId, -1);
+ m_xTreeView->set_toggle(*xRet, TRISTATE_FALSE, 0);
+ m_xTreeView->set_text(*xRet, folderName, 1);
+ }
+ }
+ }
+ }
+ }
+ catch ( const Exception& )
+ {
+ DBG_UNHANDLED_EXCEPTION("dbaccess");
+ }
+}
+
bool OTableTreeListBox::isWildcardChecked(SvTreeListEntry* _pEntry)
{
if (_pEntry)
@@ -316,17 +480,39 @@ bool OTableTreeListBox::isWildcardChecked(SvTreeListEntry* _pEntry)
return false;
}
+bool TableTreeListBox::isWildcardChecked(weld::TreeIter& rEntry)
+{
+// return m_xTreeView->get_text_emphasis(rEntry, 2);
+ return m_xTreeView->get_text_emphasis(rEntry, 1);
+}
+
void OTableTreeListBox::checkWildcard(SvTreeListEntry* _pEntry)
{
SetCheckButtonState(_pEntry, SvButtonState::Checked);
checkedButton_noBroadcast(_pEntry);
}
+void TableTreeListBox::checkWildcard(weld::TreeIter& rEntry)
+{
+ m_xTreeView->set_toggle(rEntry, TRISTATE_TRUE, 0);
+ checkedButton_noBroadcast(rEntry);
+}
+
SvTreeListEntry* OTableTreeListBox::getAllObjectsEntry() const
{
return haveVirtualRoot() ? First() : nullptr;
}
+std::unique_ptr<weld::TreeIter> TableTreeListBox::getAllObjectsEntry() const
+{
+ if (!haveVirtualRoot())
+ return nullptr;
+ auto xRet = m_xTreeView->make_iterator();
+ if (!m_xTreeView->get_iter_first(*xRet))
+ return nullptr;
+ return xRet;
+}
+
void OTableTreeListBox::checkedButton_noBroadcast(SvTreeListEntry* _pEntry)
{
OMarkableTreeListBox::checkedButton_noBroadcast(_pEntry);
@@ -340,6 +526,52 @@ void OTableTreeListBox::checkedButton_noBroadcast(SvTreeListEntry* _pEntry)
implEmphasize(_pEntry, SvButtonState::Checked == eState);
}
+void TableTreeListBox::checkedButton_noBroadcast(weld::TreeIter& rEntry)
+{
+ TriState eState = m_xTreeView->get_toggle(rEntry, 0);
+ OSL_ENSURE(TRISTATE_INDET != eState, "OTableTreeListBox::CheckButtonHdl: user action which lead to TRISTATE?");
+
+ if (m_xTreeView->iter_has_child(rEntry)) // if it has children, check those too
+ {
+ std::unique_ptr<weld::TreeIter> xChildEntry(m_xTreeView->make_iterator(&rEntry));
+ std::unique_ptr<weld::TreeIter> xSiblingEntry(m_xTreeView->make_iterator(&rEntry));
+ bool bChildEntry = m_xTreeView->iter_next(*xChildEntry);
+ bool bSiblingEntry = m_xTreeView->iter_next_sibling(*xSiblingEntry);
+ while (bChildEntry && (!bSiblingEntry || !xChildEntry->equal(*xSiblingEntry)))
+ {
+ m_xTreeView->set_toggle(*xChildEntry, eState, 0);
+ bChildEntry = m_xTreeView->iter_next(*xChildEntry);
+ }
+ }
+
+ if (m_xTreeView->is_selected(rEntry))
+ {
+ m_xTreeView->selected_foreach([this, eState](weld::TreeIter& rSelected){
+ m_xTreeView->set_toggle(rSelected, eState, 0);
+ if (m_xTreeView->iter_has_child(rSelected)) // if it has children, check those too
+ {
+ std::unique_ptr<weld::TreeIter> xChildEntry(m_xTreeView->make_iterator(&rSelected));
+ std::unique_ptr<weld::TreeIter> xSiblingEntry(m_xTreeView->make_iterator(&rSelected));
+ bool bChildEntry = m_xTreeView->iter_next(*xChildEntry);
+ bool bSiblingEntry = m_xTreeView->iter_next_sibling(*xSiblingEntry);
+ while (bChildEntry && (!bSiblingEntry || !xChildEntry->equal(*xSiblingEntry)))
+ {
+ m_xTreeView->set_toggle(*xChildEntry, eState, 0);
+ bChildEntry = m_xTreeView->iter_next(*xChildEntry);
+ }
+ }
+ return false;
+ });
+ }
+
+ CheckButtons();
+
+ // if an entry has children, it makes a difference if the entry is checked
+ // because all children are checked or if the user checked it explicitly.
+ // So we track explicit (un)checking
+ implEmphasize(rEntry, eState == TRISTATE_TRUE);
+}
+
void OTableTreeListBox::implEmphasize(SvTreeListEntry* _pEntry, bool _bChecked, bool _bUpdateDescendants, bool _bUpdateAncestors)
{
OSL_ENSURE(_pEntry, "OTableTreeListBox::implEmphasize: invalid entry (NULL)!");
@@ -378,6 +610,39 @@ void OTableTreeListBox::implEmphasize(SvTreeListEntry* _pEntry, bool _bChecked,
}
}
+void TableTreeListBox::implEmphasize(weld::TreeIter& rEntry, bool _bChecked, bool _bUpdateDescendants, bool _bUpdateAncestors)
+{
+ // special emphasizing handling for the "all objects" entry
+ bool bAllObjectsEntryAffected = haveVirtualRoot() && (getAllObjectsEntry()->equal(rEntry));
+ if ( m_xTreeView->iter_has_child(rEntry) // the entry has children
+ || bAllObjectsEntryAffected // or it is the "all objects" entry
+ )
+ {
+ m_xTreeView->set_text_emphasis(rEntry, _bChecked, 1);
+ }
+
+ if (_bUpdateDescendants)
+ {
+ std::unique_ptr<weld::TreeIter> xChild(m_xTreeView->make_iterator(&rEntry));
+ // remove the mark for all children of the checked entry
+ bool bChildLoop = m_xTreeView->iter_children(*xChild);
+ while (bChildLoop)
+ {
+ if (m_xTreeView->iter_has_child(*xChild))
+ implEmphasize(*xChild, false, true, false);
+ bChildLoop = m_xTreeView->iter_next_sibling(*xChild);
+ }
+ }
+
+ if (_bUpdateAncestors)
+ {
+ std::unique_ptr<weld::TreeIter> xParent(m_xTreeView->make_iterator(&rEntry));
+ // remove the mark for all ancestors of the entry
+ if (m_xTreeView->iter_parent(*xParent))
+ implEmphasize(*xParent, false, false);
+ }
+}
+
void OTableTreeListBox::InitEntry(SvTreeListEntry* _pEntry, const OUString& _rString, const Image& _rCollapsedBitmap, const Image& _rExpandedBitmap, SvLBoxButtonKind _eButtonKind)
{
OMarkableTreeListBox::InitEntry(_pEntry, _rString, _rCollapsedBitmap, _rExpandedBitmap, _eButtonKind);
@@ -451,6 +716,86 @@ SvTreeListEntry* OTableTreeListBox::implAddEntry(
return pRet;
}
+void TableTreeListBox::implAddEntry(
+ const Reference< XDatabaseMetaData >& _rxMeta,
+ const OUString& _rTableName,
+ bool _bCheckName
+ )
+{
+ OSL_PRECOND( _rxMeta.is(), "OTableTreeListBox::implAddEntry: invalid meta data!" );
+ if ( !_rxMeta.is() )
+ return;
+
+ // split the complete name into its components
+ OUString sCatalog, sSchema, sName;
+ qualifiedNameComponents( _rxMeta, _rTableName, sCatalog, sSchema, sName, ::dbtools::EComposeRule::InDataManipulation );
+
+ std::unique_ptr<weld::TreeIter> xParentEntry(getAllObjectsEntry());
+
+ // if the DB uses catalog at the start of identifiers, then our hierarchy is
+ // catalog
+ // +- schema
+ // +- table
+ // else it is
+ // schema
+ // +- catalog
+ // +- table
+ bool bCatalogAtStart = _rxMeta->isCatalogAtStart();
+ const OUString& rFirstName = bCatalogAtStart ? sCatalog : sSchema;
+ const sal_Int32 nFirstFolderType = bCatalogAtStart ? DatabaseObjectContainer::CATALOG : DatabaseObjectContainer::SCHEMA;
+ const OUString& rSecondName = bCatalogAtStart ? sSchema : sCatalog;
+ const sal_Int32 nSecondFolderType = bCatalogAtStart ? DatabaseObjectContainer::SCHEMA : DatabaseObjectContainer::CATALOG;
+
+ if ( !rFirstName.isEmpty() )
+ {
+ std::unique_ptr<weld::TreeIter> xFolder(GetEntryPosByName(rFirstName, xParentEntry.get()));
+ if (!xFolder)
+ {
+ xFolder = m_xTreeView->make_iterator();
+ OUString sId(OUString::number(nFirstFolderType));
+ OUString sImageId = ImageProvider::getFolderImageId(DatabaseObject::TABLE);
+ m_xTreeView->insert(xParentEntry.get(), -1, nullptr, &sId, nullptr, nullptr, nullptr, false, xFolder.get());
+ m_xTreeView->set_image(*xFolder, sImageId, -1);
+ m_xTreeView->set_toggle(*xFolder, TRISTATE_FALSE, 0);
+ m_xTreeView->set_text(*xFolder, rFirstName, 1);
+ }
+ xParentEntry = std::move(xFolder);
+ }
+
+ if ( !rSecondName.isEmpty() )
+ {
+ std::unique_ptr<weld::TreeIter> xFolder(GetEntryPosByName(rSecondName, xParentEntry.get()));
+ if (!xFolder)
+ {
+ xFolder = m_xTreeView->make_iterator();
+ OUString sId(OUString::number(nSecondFolderType));
+ OUString sImageId = ImageProvider::getFolderImageId(DatabaseObject::TABLE);
+ m_xTreeView->insert(xParentEntry.get(), -1, nullptr, &sId, nullptr, nullptr, nullptr, false, xFolder.get());
+ m_xTreeView->set_image(*xFolder, sImageId, -1);
+ m_xTreeView->set_toggle(*xFolder, TRISTATE_FALSE, 0);
+ m_xTreeView->set_text(*xFolder, rSecondName, 1);
+ }
+ xParentEntry = std::move(xFolder);
+ }
+
+ if (!_bCheckName || !GetEntryPosByName(sName, xParentEntry.get()))
+ {
+ std::unique_ptr<weld::TreeIter> xEntry = m_xTreeView->make_iterator();
+ m_xTreeView->insert(xParentEntry.get(), -1, nullptr, nullptr, nullptr, nullptr, nullptr, false, xEntry.get());
+
+ auto xGraphic = m_xImageProvider->getXGraphic(_rTableName, DatabaseObject::TABLE);
+ if (xGraphic.is())
+ m_xTreeView->set_image(*xEntry, xGraphic, -1);
+ else
+ {
+ OUString sImageId(m_xImageProvider->getImageId(_rTableName, DatabaseObject::TABLE));
+ m_xTreeView->set_image(*xEntry, sImageId, -1);
+ }
+ m_xTreeView->set_toggle(*xEntry, TRISTATE_FALSE, 0);
+ m_xTreeView->set_text(*xEntry, sName, 1);
+ }
+}
+
NamedDatabaseObject OTableTreeListBox::describeObject( SvTreeListEntry* _pEntry )
{
NamedDatabaseObject aObject;
@@ -596,6 +941,107 @@ void OTableTreeListBox::removedTable( const OUString& _rName )
}
}
+std::unique_ptr<weld::TreeIter> TableTreeListBox::GetEntryPosByName(const OUString& aName, weld::TreeIter* pStart, const IEntryFilter* _pFilter) const
+{
+ auto xEntry(m_xTreeView->make_iterator(pStart));
+ if (!pStart && !m_xTreeView->get_iter_first(*xEntry))
+ return nullptr;
+
+ do
+ {
+ if (m_xTreeView->get_text(*xEntry) == aName)
+ {
+ if (!_pFilter || _pFilter->includeEntry(reinterpret_cast<void*>(m_xTreeView->get_id(*xEntry).toUInt64())))
+ {
+ // found
+ return xEntry;
+ }
+ }
+ } while (m_xTreeView->iter_next(*xEntry));
+
+ return nullptr;
+}
+
+void TableTreeListBox::CheckButtons()
+{
+ auto xEntry(m_xTreeView->make_iterator());
+ if (!m_xTreeView->get_iter_first(*xEntry))
+ return;
+
+ do
+ {
+ implDetermineState(*xEntry);
+ } while (m_xTreeView->iter_next_sibling(*xEntry));
+}
+
+TriState TableTreeListBox::implDetermineState(weld::TreeIter& rEntry)
+{
+ TriState eState = m_xTreeView->get_toggle(rEntry, 0);
+ if (!m_xTreeView->iter_has_child(rEntry))
+ // nothing to do in this bottom-up routine if there are no children ...
+ return eState;
+
+ // loop through the children and check their states
+ sal_uInt16 nCheckedChildren = 0;
+ sal_uInt16 nChildrenOverall = 0;
+
+ std::unique_ptr<weld::TreeIter> xChild(m_xTreeView->make_iterator(&rEntry));
+ bool bChildLoop = m_xTreeView->iter_children(*xChild);
+ while (bChildLoop)
+ {
+ TriState eChildState = implDetermineState(*xChild);
+ if (eChildState == TRISTATE_INDET)
+ break;
+ if (eChildState == TRISTATE_TRUE)
+ ++nCheckedChildren;
+ ++nChildrenOverall;
+ bChildLoop = m_xTreeView->iter_next_sibling(*xChild);
+ }
+
+ if (bChildLoop)
+ {
+ // we did not finish the loop because at least one of the children is in tristate
+ eState = TRISTATE_INDET;
+
+ // but this means that we did not finish all the siblings of pChildLoop,
+ // so their checking may be incorrect at the moment
+ // -> correct this
+ while (bChildLoop)
+ {
+ implDetermineState(*xChild);
+ bChildLoop = m_xTreeView->iter_next_sibling(*xChild);
+ }
+ }
+ else
+ {
+ // none if the children are in tristate
+ if (nCheckedChildren)
+ {
+ // we have at least one child checked
+ if (nCheckedChildren != nChildrenOverall)
+ {
+ // not all children are checked
+ eState = TRISTATE_INDET;
+ }
+ else
+ {
+ // all children are checked
+ eState = TRISTATE_TRUE;
+ }
+ }
+ else
+ {
+ // no children are checked
+ eState = TRISTATE_FALSE;
+ }
+ }
+
+ // finally set the entry to the state we just determined
+ m_xTreeView->set_toggle(rEntry, eState, 0);
+
+ return eState;
+}
+
} // namespace dbaui
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/dbaccess/source/ui/dlg/tablespage.cxx b/dbaccess/source/ui/dlg/tablespage.cxx
index 233157aa66f0..d5b8ec000344 100644
--- a/dbaccess/source/ui/dlg/tablespage.cxx
+++ b/dbaccess/source/ui/dlg/tablespage.cxx
@@ -66,32 +66,25 @@ namespace dbaui
using namespace ::comphelper;
// OTableSubscriptionPage
- OTableSubscriptionPage::OTableSubscriptionPage(vcl::Window* pParent, const SfxItemSet& _rCoreAttrs,
+ OTableSubscriptionPage::OTableSubscriptionPage(TabPageParent pParent, const SfxItemSet& _rCoreAttrs,
OTableSubscriptionDialog* _pTablesDlg)
- : OGenericAdministrationPage(pParent, "TablesFilterPage",
- "dbaccess/ui/tablesfilterpage.ui", _rCoreAttrs)
+ : OGenericAdministrationPage(pParent, "dbaccess/ui/tablesfilterpage.ui", "TablesFilterPage", _rCoreAttrs)
, m_bCatalogAtStart(true)
, m_pTablesDlg(_pTablesDlg)
+ , m_xTables(m_xBuilder->weld_widget("TablesFilterPage"))
+ , m_xTablesList(new TableTreeListBox(m_xBuilder->weld_tree_view("treeview")))
{
- get(m_pTables, "TablesFilterPage");
+ m_xTablesList->init();
- get(m_pTablesList, "treeview");
- m_pTablesList->init();
- m_pTablesList->set_width_request(56 * m_pTablesList->approximate_char_width());
- m_pTablesList->set_height_request(12 * m_pTablesList->GetTextHeight());
+ weld::TreeView& rWidget = m_xTablesList->GetWidget();
- m_pTablesList->SetCheckHandler(LINK(this,OGenericAdministrationPage,OnControlModified));
+ rWidget.set_size_request(rWidget.get_approximate_digit_width() * 48,
+ rWidget.get_height_rows(12));
// initialize the TabListBox
- m_pTablesList->SetSelectionMode( SelectionMode::Multiple );
- m_pTablesList->SetDragDropMode( DragDropMode::NONE );
- m_pTablesList->EnableInplaceEditing( false );
- m_pTablesList->SetStyle(m_pTablesList->GetStyle() | WB_BORDER | WB_HASLINES | WB_HASLINESATROOT | WB_SORT | WB_HASBUTTONS | WB_HSCROLL |WB_HASBUTTONSATROOT);
+ rWidget.set_selection_mode(SelectionMode::Multiple);
- m_pTablesList->Clear();
-
- m_pTablesList->SetCheckButtonHdl(LINK(this, OTableSubscriptionPage, OnTreeEntryButtonChecked));
- m_pTablesList->SetCheckHandler(LINK(this, OTableSubscriptionPage, OnTreeEntryChecked));
+ rWidget.connect_toggled(LINK(this, OTableSubscriptionPage, OnTreeEntryChecked));
}
OTableSubscriptionPage::~OTableSubscriptionPage()
@@ -107,34 +100,10 @@ namespace dbaui
::comphelper::disposeComponent(m_xCurrentConnection);
}
catch (RuntimeException&) { }
- m_pTables.clear();
- m_pTablesList.clear();
m_pTablesDlg.clear();
OGenericAdministrationPage::dispose();
}
- void OTableSubscriptionPage::StateChanged( StateChangedType nType )
- {
- OGenericAdministrationPage::StateChanged( nType );
-
- if ( nType == StateChangedType::ControlBackground )
- {
- // Check if we need to get new images for normal/high contrast mode
- m_pTablesList->notifyHiContrastChanged();
- }
- }
- void OTableSubscriptionPage::DataChanged( const DataChangedEvent& rDCEvt )
- {
- OGenericAdministrationPage::DataChanged( rDCEvt );
-
- if ((( rDCEvt.GetType() == DataChangedEventType::SETTINGS ) ||
- ( rDCEvt.GetType() == DataChangedEventType::DISPLAY )) &&
- ( rDCEvt.GetFlags() & AllSettingsFlags::STYLE ))
- {
- // Check if we need to get new images for normal/high contrast mode
- m_pTablesList->notifyHiContrastChanged();
- }
- }
void OTableSubscriptionPage::implCheckTables(const Sequence< OUString >& _rTables)
{
// the meta data for the current connection, used for splitting up table names
@@ -155,7 +124,7 @@ namespace dbaui
// check the ones which are in the list
OUString sCatalog, sSchema, sName;
- SvTreeListEntry* pRootEntry = m_pTablesList->getAllObjectsEntry();
+ std::unique_ptr<weld::TreeIter> xRootEntry(m_xTablesList->getAllObjectsEntry());
for (const OUString& rIncludeTable : _rTables)
{
@@ -168,34 +137,34 @@ namespace dbaui
bool bAllSchemas = (1 == sSchema.getLength()) && ('%' == sSchema[0]);
// the catalog entry
- SvTreeListEntry* pCatalog = m_pTablesList->GetEntryPosByName(sCatalog, pRootEntry);
- if (!(pCatalog || sCatalog.isEmpty()))
+ std::unique_ptr<weld::TreeIter> xCatalog(m_xTablesList->GetEntryPosByName(sCatalog, xRootEntry.get()));
+ if (!(xCatalog || sCatalog.isEmpty()))
// the table (resp. its catalog) referred in this filter entry does not exist anymore
continue;
- if (bAllSchemas && pCatalog)
+ if (bAllSchemas && xCatalog)
{
- m_pTablesList->checkWildcard(pCatalog);
+ m_xTablesList->checkWildcard(*xCatalog);
continue;
}
// the schema entry
- SvTreeListEntry* pSchema = m_pTablesList->GetEntryPosByName(sSchema, (pCatalog ? pCatalog : pRootEntry));
- if (!(pSchema || sSchema.isEmpty()))
+ std::unique_ptr<weld::TreeIter> xSchema = m_xTablesList->GetEntryPosByName(sSchema, (xCatalog ? xCatalog.get() : xRootEntry.get()));
+ if (!(xSchema || sSchema.isEmpty()))
// the table (resp. its schema) referred in this filter entry does not exist anymore
continue;
- if (bAllTables && pSchema)
+ if (bAllTables && xSchema)
{
- m_pTablesList->checkWildcard(pSchema);
+ m_xTablesList->checkWildcard(*xSchema);
continue;
}
- SvTreeListEntry* pEntry = m_pTablesList->GetEntryPosByName(sName, pSchema ? pSchema : (pCatalog ? pCatalog : pRootEntry) );
- if (pEntry)
- m_pTablesList->SetCheckButtonState(pEntry, SvButtonState::Checked);
+ std::unique_ptr<weld::TreeIter> xEntry(m_xTablesList->GetEntryPosByName(sName, xSchema ? xSchema.get() : (xCatalog ? xCatalog.get() : xRootEntry.get())));
+ if (xEntry)
+ m_xTablesList->GetWidget().set_toggle(*xEntry, TRISTATE_TRUE, 0);
}
- m_pTablesList->CheckButtons();
+ m_xTablesList->CheckButtons();
}
void OTableSubscriptionPage::implCompleteTablesCheck( const css::uno::Sequence< OUString >& _rTableFilter )
@@ -236,7 +205,7 @@ namespace dbaui
{
if (!m_pTablesDlg->getCurrentSettings(aConnectionParams))
{
- m_pTablesList->Clear();
+ m_xTablesList->GetWidget().clear();
m_pTablesDlg->endExecution();
return;
}
@@ -265,9 +234,8 @@ namespace dbaui
try
{
- WaitObject aWaitCursor(this);
- m_pTablesList->GetModel()->SetSortMode(SortAscending);
- m_pTablesList->GetModel()->SetCompareHdl(LINK(this, OTableSubscriptionPage, OnTreeEntryCompare));
+ weld::WaitObject aWaitCursor(GetDialogFrameWeld());
+ m_xTablesList->GetWidget().set_sort_order(false);
Reference<XPropertySet> xProp = m_pTablesDlg->getCurrentDataSource();
OSL_ENSURE(xProp.is(),"No data source set!");
@@ -296,7 +264,7 @@ namespace dbaui
if ( m_xCurrentConnection.is() )
{
- m_pTablesList->UpdateTableList( m_xCurrentConnection );
+ m_xTablesList->UpdateTableList( m_xCurrentConnection );
if (m_pTablesDlg)
m_pTablesDlg->successfullyConnected();
}
@@ -312,8 +280,8 @@ namespace dbaui
vcl::Window *pParent = GetParentDialog();
OSQLMessageBox aMessageBox(pParent ? pParent->GetFrameWeld() : nullptr, aErrorInfo);
aMessageBox.run();
- m_pTables->Enable(false);
- m_pTablesList->Clear();
+ m_xTables->set_sensitive(false);
+ m_xTablesList->GetWidget().clear();
if ( m_pTablesDlg )
{
@@ -353,13 +321,15 @@ namespace dbaui
implCompleteTablesCheck( aTableFilter );
// expand the first entry by default
- SvTreeListEntry* pExpand = m_pTablesList->getAllObjectsEntry();
- while (pExpand)
+ std::unique_ptr<weld::TreeIter> xExpand = m_xTablesList->getAllObjectsEntry();
+ while (xExpand)
{
- m_pTablesList->Expand(pExpand);
- pExpand = m_pTablesList->FirstChild(pExpand);
- if (pExpand && pExpand->NextSibling())
- pExpand = nullptr;
+ m_xTablesList->GetWidget().expand_row(*xExpand);
+ if (!m_xTablesList->GetWidget().iter_children(*xExpand))
+ break;
+ std::unique_ptr<weld::TreeIter> xSibling(m_xTablesList->GetWidget().make_iterator(xExpand.get()));
+ if (m_xTablesList->GetWidget().iter_next_sibling(*xSibling))
+ xExpand.reset();
}
// update the toolbox according the current selection and check state
@@ -368,16 +338,22 @@ namespace dbaui
void OTableSubscriptionPage::CheckAll( bool _bCheck )
{
- SvButtonState eState = _bCheck ? SvButtonState::Checked : SvButtonState::Unchecked;
- SvTreeListEntry* pEntry = m_pTablesList->First();
- while (pEntry)
+ std::unique_ptr<weld::TreeIter> xEntry(m_xTablesList->GetWidget().make_iterator());
+ if (m_xTablesList->GetWidget().get_iter_first(*xEntry))
{
- m_pTablesList->SetCheckButtonState( pEntry, eState);
- pEntry = m_pTablesList->Next(pEntry);
+ do
+ {
+ m_xTablesList->GetWidget().set_toggle(*xEntry, _bCheck ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
+ }
+ while (m_xTablesList->GetWidget().iter_next(*xEntry));
}
- if (_bCheck && m_pTablesList->getAllObjectsEntry())
- m_pTablesList->checkWildcard(m_pTablesList->getAllObjectsEntry());
+ if (_bCheck)
+ {
+ auto xRoot = m_xTablesList->getAllObjectsEntry();
+ if (xRoot)
+ m_xTablesList->checkWildcard(*xRoot);
+ }
}
DeactivateRC OTableSubscriptionPage::DeactivatePage(SfxItemSet* _pSet)
@@ -393,88 +369,66 @@ namespace dbaui
return nResult;
}
- IMPL_LINK_NOARG( OTableSubscriptionPage, OnTreeEntryButtonChecked, SvTreeListBox*, void )
+
+ IMPL_LINK_NOARG(OTableSubscriptionPage, OnTreeEntryChecked, const row_col&, void)
{
+ weld::TreeView& rTreeView = m_xTablesList->GetWidget();
+ std::unique_ptr<weld::TreeIter> xEntry(rTreeView.make_iterator());
+ if (rTreeView.get_cursor(xEntry.get()))
+ m_xTablesList->checkedButton_noBroadcast(*xEntry);
callModifiedHdl();
}
- IMPL_LINK( OTableSubscriptionPage, OnTreeEntryChecked, void*, _pControl, void )
- {
- OnControlModified(_pControl);
- }
- IMPL_LINK( OTableSubscriptionPage, OnTreeEntryCompare, const SvSortData&, _rSortData, sal_Int32 )
- {
- const SvTreeListEntry* pLHS = _rSortData.pLeft;
- const SvTreeListEntry* pRHS = _rSortData.pRight;
- OSL_ENSURE(pLHS && pRHS, "SbaTableQueryBrowser::OnTreeEntryCompare: invalid tree entries!");
-
- const SvLBoxString* pLeftTextItem = static_cast<const SvLBoxString*>(pLHS->GetFirstItem(SvLBoxItemType::String));
- const SvLBoxString* pRightTextItem = static_cast<const SvLBoxString*>(pRHS->GetFirstItem(SvLBoxItemType::String));
- OSL_ENSURE(pLeftTextItem && pRightTextItem, "SbaTableQueryBrowser::OnTreeEntryCompare: invalid text items!");
-
- OUString sLeftText = pLeftTextItem->GetText();
- OUString sRightText = pRightTextItem->GetText();
-
- sal_Int32 nCompareResult = 0; // equal by default
-
- if (m_xCollator.is())
- {
- try
- {
- nCompareResult = m_xCollator->compareString(sLeftText, sRightText);
- }
- catch(Exception&)
- {
- }
- }
- else
- // default behaviour if we do not have a collator -> do the simple string compare
- nCompareResult = sLeftText.compareTo(sRightText);
-
- return nCompareResult;
- }
Sequence< OUString > OTableSubscriptionPage::collectDetailedSelection() const
{
Sequence< OUString > aTableFilter;
static const char sWildcard[] = "%";
- const SvTreeListEntry* pAllObjectsEntry = m_pTablesList->getAllObjectsEntry();
- if (!pAllObjectsEntry)
+ std::unique_ptr<weld::TreeIter> xAllObjectsEntry(m_xTablesList->getAllObjectsEntry());
+ if (!xAllObjectsEntry)
return aTableFilter;
- SvTreeListEntry* pEntry = m_pTablesList->GetModel()->Next(const_cast<SvTreeListEntry*>(pAllObjectsEntry));
- while(pEntry)
+ std::unique_ptr<weld::TreeIter> xEntry(m_xTablesList->GetWidget().make_iterator(xAllObjectsEntry.get()));
+ if (!m_xTablesList->GetWidget().iter_next(*xEntry))
+ xEntry.reset();
+ while (xEntry)
{
bool bCatalogWildcard = false;
bool bSchemaWildcard = false;
- SvTreeListEntry* pSchema = nullptr;
- SvTreeListEntry* pCatalog = nullptr;
+ std::unique_ptr<weld::TreeIter> xSchema;
+ std::unique_ptr<weld::TreeIter> xCatalog;
- if (m_pTablesList->GetCheckButtonState(pEntry) == SvButtonState::Checked && !m_pTablesList->GetModel()->HasChildren(pEntry))
+ if (m_xTablesList->GetWidget().get_toggle(*xEntry, 0) == TRISTATE_TRUE && !m_xTablesList->GetWidget().iter_has_child(*xEntry))
{ // checked and a leaf, which means it's no catalog, no schema, but a real table
OUStringBuffer sComposedName;
OUString sCatalog;
- if(m_pTablesList->GetModel()->HasParent(pEntry))
+ if (m_xTablesList->GetWidget().get_iter_depth(*xEntry))
{
- pSchema = m_pTablesList->GetModel()->GetParent(pEntry);
- if (pAllObjectsEntry == pSchema)
+ xSchema = m_xTablesList->GetWidget().make_iterator(xEntry.get());
+ m_xTablesList->GetWidget().iter_parent(*xSchema);
+ if (xAllObjectsEntry->equal(*xSchema))
+ {
// do not want to have the root entry
- pSchema = nullptr;
+ xSchema.reset();
+ }
- if (pSchema)
+ if (xSchema)
{ // it's a real schema entry, not the "all objects" root
- if(m_pTablesList->GetModel()->HasParent(pSchema))
+ if (m_xTablesList->GetWidget().get_iter_depth(*xSchema))
{
- pCatalog = m_pTablesList->GetModel()->GetParent(pSchema);
- if (pAllObjectsEntry == pCatalog)
+ xCatalog = m_xTablesList->GetWidget().make_iterator(xSchema.get());
+ m_xTablesList->GetWidget().iter_parent(*xCatalog);
+ if (xAllObjectsEntry->equal(*xCatalog))
+ {
// do not want to have the root entry
- pCatalog = nullptr;
+ xCatalog.reset();
+ }
- if (pCatalog)
+ if (xCatalog)
{ // it's a real catalog entry, not the "all objects" root
- bCatalogWildcard = OTableTreeListBox::isWildcardChecked(pCatalog);
+ bCatalogWildcard = m_xTablesList->isWildcardChecked(*xCatalog);
if (m_bCatalogAtStart)
{
- sComposedName.append(m_pTablesList->GetEntryText( pCatalog )).append(m_sCatalogSeparator);
+ sComposedName.append(m_xTablesList->GetWidget().get_text(*xCatalog)).append(m_sCatalogSeparator);
if (bCatalogWildcard)
sComposedName.append(sWildcard);
}
@@ -484,19 +438,19 @@ namespace dbaui
sCatalog = sWildcard;
else
sCatalog.clear();
- sCatalog += m_sCatalogSeparator + m_pTablesList->GetEntryText( pCatalog );
+ sCatalog += m_sCatalogSeparator + m_xTablesList->GetWidget().get_text(*xCatalog) ;
}
}
}
- bSchemaWildcard = OTableTreeListBox::isWildcardChecked(pSchema);
- sComposedName.append(m_pTablesList->GetEntryText( pSchema )).append(".");
+ bSchemaWildcard = m_xTablesList->isWildcardChecked(*xSchema);
+ sComposedName.append(m_xTablesList->GetWidget().get_text(*xSchema)).append(".");
}
if (bSchemaWildcard)
sComposedName.append(sWildcard);
}
if (!bSchemaWildcard && !bCatalogWildcard)
- sComposedName.append(m_pTablesList->GetEntryText( pEntry ));
+ sComposedName.append(m_xTablesList->GetWidget().get_text(*xEntry));
if (!m_bCatalogAtStart && !bCatalogWildcard)
sComposedName.append(sCatalog);
@@ -509,26 +463,35 @@ namespace dbaui
}
if (bCatalogWildcard)
- pEntry = implNextSibling(pCatalog);
+ xEntry = implNextSibling(xCatalog.get());
else if (bSchemaWildcard)
- pEntry = implNextSibling(pSchema);
+ xEntry = implNextSibling(xSchema.get());
else
- pEntry = m_pTablesList->GetModel()->Next(pEntry);
+ {
+ if (!m_xTablesList->GetWidget().iter_next(*xEntry))
+ xEntry.reset();
+ }
}
return aTableFilter;
}
- SvTreeListEntry* OTableSubscriptionPage::implNextSibling(SvTreeListEntry* _pEntry) const
+ std::unique_ptr<weld::TreeIter> OTableSubscriptionPage::implNextSibling(weld::TreeIter* pEntry) const
{
- SvTreeListEntry* pReturn = nullptr;
- if (_pEntry)
+ std::unique_ptr<weld::TreeIter> xReturn;
+ if (pEntry)
{
- pReturn = _pEntry->NextSibling();
- if (!pReturn)
- pReturn = implNextSibling(m_pTablesList->GetParent(_pEntry));
+ xReturn = m_xTablesList->GetWidget().make_iterator(pEntry);
+ if (!m_xTablesList->GetWidget().iter_next_sibling(*xReturn))
+ {
+ std::unique_ptr<weld::TreeIter> xParent = m_xTablesList->GetWidget().make_iterator(pEntry);
+ if (m_xTablesList->GetWidget().iter_parent(*xParent))
+ xReturn = implNextSibling(xParent.get());
+ else
+ xReturn.reset();
+ }
}
- return pReturn;
+ return xReturn;
}
bool OTableSubscriptionPage::FillItemSet( SfxItemSet* _rCoreAttrs )
@@ -544,7 +507,8 @@ namespace dbaui
if ( m_xCurrentConnection.is() )
{ // collect the table filter data only if we have a connection - else no tables are displayed at all
Sequence< OUString > aTableFilter;
- if (dbaui::OTableTreeListBox::isWildcardChecked(m_pTablesList->getAllObjectsEntry()))
+ auto xRoot = m_xTablesList->getAllObjectsEntry();
+ if (xRoot && m_xTablesList->isWildcardChecked(*xRoot))
{
aTableFilter.realloc(1);
aTableFilter[0] = "%";
@@ -565,7 +529,7 @@ namespace dbaui
void OTableSubscriptionPage::fillWindows(std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList)
{
- _rControlList.emplace_back(new ODisableWrapper<VclContainer>(m_pTables));
+ _rControlList.emplace_back(new ODisableWidgetWrapper<weld::Widget>(m_xTables.get()));
}
} // namespace dbaui
diff --git a/dbaccess/source/ui/dlg/tablespage.hxx b/dbaccess/source/ui/dlg/tablespage.hxx
index aaaebdb01acb..d432b1f917b6 100644
--- a/dbaccess/source/ui/dlg/tablespage.hxx
+++ b/dbaccess/source/ui/dlg/tablespage.hxx
@@ -35,9 +35,6 @@ namespace dbaui
:public OGenericAdministrationPage
{
private:
- VclPtr<VclContainer> m_pTables;
- VclPtr<OTableTreeListBox> m_pTablesList;
-
OUString m_sCatalogSeparator;
bool m_bCatalogAtStart : 1;
@@ -47,15 +44,15 @@ namespace dbaui
m_xCollator;
VclPtr<OTableSubscriptionDialog> m_pTablesDlg;
+ std::unique_ptr<weld::Widget> m_xTables;
+ std::unique_ptr<TableTreeListBox> m_xTablesList;
+
public:
virtual bool FillItemSet(SfxItemSet* _rCoreAttrs) override;
virtual DeactivateRC DeactivatePage(SfxItemSet* _pSet) override;
using OGenericAdministrationPage::DeactivatePage;
- virtual void StateChanged( StateChangedType nStateChange ) override;
- virtual void DataChanged( const DataChangedEvent& rDCEvt ) override;
-
- OTableSubscriptionPage( vcl::Window* pParent, const SfxItemSet& _rCoreAttrs ,OTableSubscriptionDialog* _pTablesDlg);
+ OTableSubscriptionPage(TabPageParent pParent, const SfxItemSet& _rCoreAttrs ,OTableSubscriptionDialog* _pTablesDlg);
virtual ~OTableSubscriptionPage() override;
virtual void dispose() override;
@@ -63,16 +60,15 @@ namespace dbaui
virtual void fillControls(std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList) override;
virtual void fillWindows(std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList) override;
- DECL_LINK( OnTreeEntryCompare, const SvSortData&, sal_Int32 );
- DECL_LINK( OnTreeEntryChecked, void*, void );
- DECL_LINK( OnTreeEntryButtonChecked, SvTreeListBox*, void );
+ typedef std::pair<int, int> row_col;
+ DECL_LINK(OnTreeEntryChecked, const row_col&, void);
/** check the tables in <member>m_aTablesList</member> according to <arg>_rTables</arg>
*/
void implCheckTables(const css::uno::Sequence< OUString >& _rTables);
/// returns the next sibling, if not available, the next sibling of the parent, a.s.o.
- SvTreeListEntry* implNextSibling(SvTreeListEntry* _pEntry) const;
+ std::unique_ptr<weld::TreeIter> implNextSibling(weld::TreeIter* pEntry) const;
/** return the current selection in <member>m_aTablesList</member>
*/
diff --git a/dbaccess/source/ui/inc/dbtreelistbox.hxx b/dbaccess/source/ui/inc/dbtreelistbox.hxx
index 7e3beb87d480..f66b07a5ffc2 100644
--- a/dbaccess/source/ui/inc/dbtreelistbox.hxx
+++ b/dbaccess/source/ui/inc/dbtreelistbox.hxx
@@ -26,6 +26,7 @@
#include <vcl/treelistbox.hxx>
#include <vcl/timer.hxx>
+#include <vcl/weld.hxx>
#include <memory>
#include <set>
@@ -40,7 +41,7 @@ namespace dbaui
class IEntryFilter
{
public:
- virtual bool includeEntry( SvTreeListEntry* _pEntry ) const = 0;
+ virtual bool includeEntry(const void* pUserData) const = 0;
protected:
~IEntryFilter() {}
diff --git a/dbaccess/source/ui/inc/imageprovider.hxx b/dbaccess/source/ui/inc/imageprovider.hxx
index d9e7b53e55b3..ee8a5a44d8d6 100644
--- a/dbaccess/source/ui/inc/imageprovider.hxx
+++ b/dbaccess/source/ui/inc/imageprovider.hxx
@@ -22,6 +22,7 @@
#include <vcl/image.hxx>
+#include <com/sun/star/graphic/XGraphic.hpp>
#include <com/sun/star/sdbc/XConnection.hpp>
#include <com/sun/star/sdb/application/DatabaseObject.hpp>
@@ -77,6 +78,15 @@ namespace dbaui
Image& _out_rImage
);
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list