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>
This commit is contained in:
@@ -648,8 +648,8 @@ void LibPage::InsertLib()
|
||||
weld::TreeView& rView = xLibDlg->GetLibBox();
|
||||
rView.append();
|
||||
const int nRow = rView.n_children() - 1;
|
||||
rView.set_toggle(nRow, TRISTATE_TRUE, 0);
|
||||
rView.set_text(nRow, aLibName, 1);
|
||||
rView.set_toggle(nRow, TRISTATE_TRUE);
|
||||
rView.set_text(nRow, aLibName, 0);
|
||||
rView.set_cursor(rView.find_text(aLibName));
|
||||
}
|
||||
}
|
||||
@@ -682,9 +682,9 @@ 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) == TRISTATE_TRUE)
|
||||
if (rView.get_toggle(nLib) == TRISTATE_TRUE)
|
||||
{
|
||||
OUString aLibName(rView.get_text(nLib, 1));
|
||||
OUString aLibName(rView.get_text(nLib));
|
||||
Reference< script::XLibraryContainer2 > xModLibContainer( m_aCurDocument.getLibraryContainer( E_SCRIPTS ), UNO_QUERY );
|
||||
Reference< script::XLibraryContainer2 > xDlgLibContainer( m_aCurDocument.getLibraryContainer( E_DIALOGS ), UNO_QUERY );
|
||||
|
||||
|
||||
@@ -897,6 +897,7 @@ LibDialog::LibDialog(weld::Window* pParent)
|
||||
{
|
||||
m_xLibBox->set_size_request(m_xLibBox->get_approximate_digit_width() * 28,
|
||||
m_xLibBox->get_height_rows(8));
|
||||
m_xLibBox->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
// tdf#93476 The libraries should be listed alphabetically
|
||||
m_xLibBox->make_sorted();
|
||||
}
|
||||
|
||||
@@ -226,9 +226,7 @@ SetDefaultLanguageDialog::SetDefaultLanguageDialog(weld::Window* pParent, std::s
|
||||
{
|
||||
m_xLanguageLB->set_size_request(-1, m_xLanguageLB->get_height_rows(10));
|
||||
m_xCheckLangLB->set_size_request(-1, m_xCheckLangLB->get_height_rows(10));
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xCheckLangLB->get_checkbox_column_width());
|
||||
m_xCheckLangLB->set_column_fixed_widths(aWidths);
|
||||
m_xCheckLangLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
|
||||
if (m_xLocalizationMgr->isLibraryLocalized())
|
||||
{
|
||||
@@ -270,8 +268,8 @@ 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, TRISTATE_FALSE, 0);
|
||||
m_xCheckLangLB->set_text(nRow, m_xLanguageCB->get_text(j), 1);
|
||||
m_xCheckLangLB->set_toggle(nRow, TRISTATE_FALSE);
|
||||
m_xCheckLangLB->set_text(nRow, m_xLanguageCB->get_text(j), 0);
|
||||
m_xCheckLangLB->set_id(nRow, OUString::number(eLang.get()));
|
||||
}
|
||||
m_xLanguageCB.reset();
|
||||
@@ -304,7 +302,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) == TRISTATE_TRUE)
|
||||
if (m_xCheckLangLB->get_toggle(i) == TRISTATE_TRUE)
|
||||
{
|
||||
LanguageType eType(m_xCheckLangLB->get_id(i).toUInt32());
|
||||
aLocaleSeq.push_back(LanguageTag::convertToLocale(eType));
|
||||
|
||||
@@ -115,22 +115,10 @@ IMPL_LINK(SvxMenuConfigPage, MenuEntriesSizeAllocHdl, const Size&, rSize, void)
|
||||
weld::TreeView& rTreeView = m_xContentsListBox->get_widget();
|
||||
std::vector<int> aWidths;
|
||||
|
||||
int nExpectedSize = 16;
|
||||
|
||||
int nStandardImageColWidth = rTreeView.get_checkbox_column_width();
|
||||
int nMargin = nStandardImageColWidth - nExpectedSize;
|
||||
if (nMargin < 16)
|
||||
nMargin = 16;
|
||||
int nMargin = 16;
|
||||
|
||||
if (SvxConfigPageHelper::GetImageType() & css::ui::ImageType::SIZE_LARGE)
|
||||
nExpectedSize = 24;
|
||||
else if (SvxConfigPageHelper::GetImageType() & css::ui::ImageType::SIZE_32)
|
||||
nExpectedSize = 32;
|
||||
|
||||
int nImageColWidth = nExpectedSize + nMargin;
|
||||
|
||||
aWidths.push_back(nImageColWidth);
|
||||
aWidths.push_back(rSize.Width() - (nImageColWidth + nStandardImageColWidth));
|
||||
aWidths.push_back(rSize.Width() - (nMargin + nStandardImageColWidth));
|
||||
rTreeView.set_column_fixed_widths(aWidths);
|
||||
}
|
||||
|
||||
@@ -279,7 +267,7 @@ void SvxMenuConfigPage::SelectElement()
|
||||
auto const& entry = (*pEntries)[nIdx];
|
||||
OUString sId(OUString::number(reinterpret_cast<sal_Int64>(entry)));
|
||||
rTreeView.set_id(rIter, sId);
|
||||
InsertEntryIntoUI(entry, rTreeView, rIter, 0);
|
||||
InsertEntryIntoUI(entry, rTreeView, rIter, true);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -369,7 +357,7 @@ IMPL_LINK_NOARG( SvxMenuConfigPage, AddCommandHdl, weld::Button&, void )
|
||||
weld::TreeView& rTreeView = m_xContentsListBox->get_widget();
|
||||
SvxConfigEntry* pEntry =
|
||||
reinterpret_cast<SvxConfigEntry*>(rTreeView.get_id(nPos).toInt64());
|
||||
InsertEntryIntoUI(pEntry, rTreeView, nPos, 0);
|
||||
InsertEntryIntoUI(pEntry, rTreeView, nPos, true);
|
||||
}
|
||||
|
||||
IMPL_LINK_NOARG( SvxMenuConfigPage, RemoveCommandHdl, weld::Button&, void )
|
||||
@@ -389,7 +377,7 @@ IMPL_LINK(SvxMenuConfigPage, InsertHdl, const OString&, rIdent, void)
|
||||
SvxConfigEntry* pNewEntryData = new SvxConfigEntry;
|
||||
pNewEntryData->SetUserDefined();
|
||||
int nPos = AppendEntry(pNewEntryData, -1);
|
||||
InsertEntryIntoUI(pNewEntryData, rTreeView, nPos, 0);
|
||||
InsertEntryIntoUI(pNewEntryData, rTreeView, nPos, true);
|
||||
}
|
||||
else if (rIdent == "insertsubmenu")
|
||||
{
|
||||
@@ -410,7 +398,7 @@ IMPL_LINK(SvxMenuConfigPage, InsertHdl, const OString&, rIdent, void)
|
||||
pNewEntryData->SetUserDefined();
|
||||
|
||||
int nPos = AppendEntry(pNewEntryData, -1);
|
||||
InsertEntryIntoUI(pNewEntryData, rTreeView, nPos, 0);
|
||||
InsertEntryIntoUI(pNewEntryData, rTreeView, nPos, true);
|
||||
|
||||
ReloadTopLevelListBox();
|
||||
|
||||
|
||||
@@ -124,29 +124,10 @@ SvxNotebookbarConfigPage::SvxNotebookbarConfigPage(weld::Container* pPage,
|
||||
new SvxNotebookbarEntriesListBox(m_xBuilder->weld_tree_view("toolcontents"), this));
|
||||
m_xDropTargetHelper.reset(
|
||||
new SvxConfigPageFunctionDropTarget(*this, m_xContentsListBox->get_widget()));
|
||||
std::vector<int> aWidths;
|
||||
weld::TreeView& rTreeView = m_xContentsListBox->get_widget();
|
||||
Size aSize(m_xFunctions->get_size_request());
|
||||
rTreeView.set_size_request(aSize.Width(), aSize.Height());
|
||||
|
||||
int nExpectedSize = 16;
|
||||
|
||||
int nStandardImageColWidth = rTreeView.get_checkbox_column_width();
|
||||
int nMargin = nStandardImageColWidth - nExpectedSize;
|
||||
if (nMargin < 16)
|
||||
nMargin = 16;
|
||||
|
||||
if (SvxConfigPageHelper::GetImageType() & css::ui::ImageType::SIZE_LARGE)
|
||||
nExpectedSize = 24;
|
||||
else if (SvxConfigPageHelper::GetImageType() & css::ui::ImageType::SIZE_32)
|
||||
nExpectedSize = 32;
|
||||
|
||||
int nImageColWidth = nExpectedSize + nMargin;
|
||||
|
||||
aWidths.push_back(nStandardImageColWidth);
|
||||
aWidths.push_back(nImageColWidth);
|
||||
rTreeView.set_column_fixed_widths(aWidths);
|
||||
|
||||
rTreeView.set_hexpand(true);
|
||||
rTreeView.set_vexpand(true);
|
||||
rTreeView.set_help_id(HID_SVX_CONFIG_NOTEBOOKBAR_CONTENTS);
|
||||
@@ -219,7 +200,7 @@ void SvxConfigPage::InsertEntryIntoNotebookbarTabUI(const OUString& sClassId,
|
||||
const OUString& sUIItemId,
|
||||
const OUString& sUIItemCommand,
|
||||
weld::TreeView& rTreeView,
|
||||
weld::TreeIter& rIter, int nStartCol)
|
||||
weld::TreeIter& rIter)
|
||||
{
|
||||
css::uno::Reference<css::container::XNameAccess> m_xCommandToLabelMap;
|
||||
uno::Reference<uno::XComponentContext> xContext = ::comphelper::getProcessComponentContext();
|
||||
@@ -249,7 +230,7 @@ void SvxConfigPage::InsertEntryIntoNotebookbarTabUI(const OUString& sClassId,
|
||||
|
||||
if (sClassId == "GtkSeparatorMenuItem" || sClassId == "GtkSeparator")
|
||||
{
|
||||
rTreeView.set_text(rIter, "--------------------------------------------", nStartCol + 1);
|
||||
rTreeView.set_text(rIter, "--------------------------------------------", 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -257,8 +238,8 @@ void SvxConfigPage::InsertEntryIntoNotebookbarTabUI(const OUString& sClassId,
|
||||
aName = sUIItemId;
|
||||
auto xImage = GetSaveInData()->GetImage(sUIItemCommand);
|
||||
if (xImage.is())
|
||||
rTreeView.set_image(rIter, xImage, nStartCol);
|
||||
rTreeView.set_text(rIter, aName, nStartCol + 1);
|
||||
rTreeView.set_image(rIter, xImage, -1);
|
||||
rTreeView.set_text(rIter, aName, 0);
|
||||
rTreeView.set_id(rIter, sUIItemId);
|
||||
}
|
||||
}
|
||||
@@ -465,15 +446,15 @@ void SvxNotebookbarConfigPage::SelectElement()
|
||||
{
|
||||
if (aEntries[nIdx].sVisibleValue == "True")
|
||||
{
|
||||
rTreeView.set_toggle(rIter, TRISTATE_TRUE, 0);
|
||||
rTreeView.set_toggle(rIter, TRISTATE_TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
rTreeView.set_toggle(rIter, TRISTATE_FALSE, 0);
|
||||
rTreeView.set_toggle(rIter, TRISTATE_FALSE);
|
||||
}
|
||||
}
|
||||
InsertEntryIntoNotebookbarTabUI(aEntries[nIdx].sClassId, aEntries[nIdx].sDisplayName,
|
||||
aEntries[nIdx].sActionName, rTreeView, rIter, 1);
|
||||
aEntries[nIdx].sActionName, rTreeView, rIter);
|
||||
});
|
||||
|
||||
aEntries.clear();
|
||||
@@ -532,7 +513,7 @@ void SvxNotebookbarEntriesListBox::ChangedVisibility(int nRow)
|
||||
OUString sNotebookbarInterface = getFileName(m_pPage->GetFileName());
|
||||
|
||||
OUString sVisible;
|
||||
if (m_xControl->get_toggle(nRow, 0) == TRISTATE_TRUE)
|
||||
if (m_xControl->get_toggle(nRow) == TRISTATE_TRUE)
|
||||
sVisible = "True";
|
||||
else
|
||||
sVisible = "False";
|
||||
@@ -556,9 +537,8 @@ IMPL_LINK(SvxNotebookbarEntriesListBox, KeyInputHdl, const KeyEvent&, rKeyEvent,
|
||||
if (rKeyEvent.GetKeyCode() == KEY_SPACE)
|
||||
{
|
||||
int nRow = m_xControl->get_selected_index();
|
||||
m_xControl->set_toggle(
|
||||
nRow, m_xControl->get_toggle(nRow, 0) == TRISTATE_TRUE ? TRISTATE_FALSE : TRISTATE_TRUE,
|
||||
0);
|
||||
m_xControl->set_toggle(nRow, m_xControl->get_toggle(nRow) == TRISTATE_TRUE ? TRISTATE_FALSE
|
||||
: TRISTATE_TRUE);
|
||||
ChangedVisibility(nRow);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -53,29 +53,10 @@ SvxToolbarConfigPage::SvxToolbarConfigPage(weld::Container* pPage, weld::DialogC
|
||||
m_xContentsListBox.reset(new SvxToolbarEntriesListBox(m_xBuilder->weld_tree_view("toolcontents"), this));
|
||||
m_xDropTargetHelper.reset(new SvxConfigPageFunctionDropTarget(*this, m_xContentsListBox->get_widget()));
|
||||
|
||||
std::vector<int> aWidths;
|
||||
weld::TreeView& rTreeView = m_xContentsListBox->get_widget();
|
||||
Size aSize(m_xFunctions->get_size_request());
|
||||
rTreeView.set_size_request(aSize.Width(), aSize.Height());
|
||||
|
||||
int nExpectedSize = 16;
|
||||
|
||||
int nStandardImageColWidth = rTreeView.get_checkbox_column_width();
|
||||
int nMargin = nStandardImageColWidth - nExpectedSize;
|
||||
if (nMargin < 16)
|
||||
nMargin = 16;
|
||||
|
||||
if (SvxConfigPageHelper::GetImageType() & css::ui::ImageType::SIZE_LARGE)
|
||||
nExpectedSize = 24;
|
||||
else if (SvxConfigPageHelper::GetImageType() & css::ui::ImageType::SIZE_32)
|
||||
nExpectedSize = 32;
|
||||
|
||||
int nImageColWidth = nExpectedSize + nMargin;
|
||||
|
||||
aWidths.push_back(nStandardImageColWidth);
|
||||
aWidths.push_back(nImageColWidth);
|
||||
rTreeView.set_column_fixed_widths(aWidths);
|
||||
|
||||
rTreeView.set_hexpand(true);
|
||||
rTreeView.set_vexpand(true);
|
||||
rTreeView.set_help_id( HID_SVX_CONFIG_TOOLBAR_CONTENTS );
|
||||
@@ -467,7 +448,7 @@ IMPL_LINK(SvxToolbarConfigPage, InsertHdl, const OString&, rIdent, void)
|
||||
pNewEntryData->SetUserDefined();
|
||||
|
||||
int nPos = AppendEntry(pNewEntryData, -1);
|
||||
InsertEntryIntoUI(pNewEntryData, m_xContentsListBox->get_widget(), nPos, 1);
|
||||
InsertEntryIntoUI(pNewEntryData, m_xContentsListBox->get_widget(), nPos);
|
||||
|
||||
static_cast<ToolbarSaveInData*>( GetSaveInData())->ApplyToolbar( pToolbar );
|
||||
|
||||
@@ -516,7 +497,7 @@ IMPL_LINK(SvxToolbarConfigPage, ModifyItemHdl, const OString&, rIdent, void)
|
||||
else
|
||||
pEntry->SetName( aNewName );
|
||||
|
||||
m_xContentsListBox->set_text(nActEntry, aNewName, 2);
|
||||
m_xContentsListBox->set_text(nActEntry, aNewName, 0);
|
||||
bNeedsApply = true;
|
||||
}
|
||||
}
|
||||
@@ -564,8 +545,8 @@ 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() ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
InsertEntryIntoUI(pEntry, m_xContentsListBox->get_widget(), nActEntry, 1);
|
||||
m_xContentsListBox->set_toggle(nActEntry, pEntry->IsVisible() ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
InsertEntryIntoUI(pEntry, m_xContentsListBox->get_widget(), nActEntry);
|
||||
|
||||
m_xContentsListBox->select(nActEntry);
|
||||
m_xContentsListBox->scroll_to_row(nActEntry);
|
||||
@@ -604,8 +585,8 @@ 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() ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
InsertEntryIntoUI(pEntry, m_xContentsListBox->get_widget(), nActEntry, 1);
|
||||
m_xContentsListBox->set_toggle(nActEntry, pEntry->IsVisible() ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
InsertEntryIntoUI(pEntry, m_xContentsListBox->get_widget(), nActEntry);
|
||||
|
||||
m_xContentsListBox->select(nActEntry);
|
||||
m_xContentsListBox->scroll_to_row(nActEntry);
|
||||
@@ -638,7 +619,7 @@ IMPL_LINK(SvxToolbarConfigPage, ModifyItemHdl, const OString&, rIdent, void)
|
||||
{
|
||||
pEntry->SetName( aSystemName );
|
||||
m_xContentsListBox->set_text(
|
||||
nActEntry, SvxConfigPageHelper::stripHotKey(aSystemName), 2);
|
||||
nActEntry, SvxConfigPageHelper::stripHotKey(aSystemName), 0);
|
||||
bNeedsApply = true;
|
||||
}
|
||||
|
||||
@@ -661,8 +642,8 @@ 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() ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
InsertEntryIntoUI(pEntry, m_xContentsListBox->get_widget(), nActEntry, 1);
|
||||
pEntry->IsVisible() ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
InsertEntryIntoUI(pEntry, m_xContentsListBox->get_widget(), nActEntry);
|
||||
|
||||
m_xContentsListBox->select(nActEntry);
|
||||
m_xContentsListBox->scroll_to_row(nActEntry);
|
||||
@@ -793,8 +774,8 @@ 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() ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
InsertEntryIntoUI(entry, m_xContentsListBox->get_widget(), i, 1);
|
||||
m_xContentsListBox->set_toggle(i, entry->IsVisible() ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
InsertEntryIntoUI(entry, m_xContentsListBox->get_widget(), i);
|
||||
++i;
|
||||
}
|
||||
|
||||
@@ -820,10 +801,10 @@ void SvxToolbarConfigPage::AddFunction(int nTarget)
|
||||
if ( pEntry->IsBinding() ) //TODO sep ?
|
||||
{
|
||||
pEntry->SetVisible(true);
|
||||
m_xContentsListBox->set_toggle(nNewLBEntry, TRISTATE_TRUE, 0);
|
||||
m_xContentsListBox->set_toggle(nNewLBEntry, TRISTATE_TRUE);
|
||||
}
|
||||
|
||||
InsertEntryIntoUI(pEntry, m_xContentsListBox->get_widget(), nNewLBEntry, 1);
|
||||
InsertEntryIntoUI(pEntry, m_xContentsListBox->get_widget(), nNewLBEntry);
|
||||
|
||||
// Changes are not visible on the toolbar until this point
|
||||
// TODO: Figure out a way to show the changes on the toolbar, but revert if
|
||||
@@ -854,7 +835,7 @@ void SvxToolbarEntriesListBox::ChangedVisibility(int nRow)
|
||||
|
||||
if (pEntryData->IsBinding())
|
||||
{
|
||||
pEntryData->SetVisible(m_xControl->get_toggle(nRow, 0) == TRISTATE_TRUE);
|
||||
pEntryData->SetVisible(m_xControl->get_toggle(nRow) == TRISTATE_TRUE);
|
||||
|
||||
SvxConfigEntry* pToolbar = m_pPage->GetTopLevelSelection();
|
||||
|
||||
@@ -879,7 +860,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) == TRISTATE_TRUE ? TRISTATE_FALSE : TRISTATE_TRUE, 0);
|
||||
m_xControl->set_toggle(nRow, m_xControl->get_toggle(nRow) == TRISTATE_TRUE ? TRISTATE_FALSE : TRISTATE_TRUE);
|
||||
ChangedVisibility(nRow);
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -926,6 +926,7 @@ SvxMenuEntriesListBox::SvxMenuEntriesListBox(std::unique_ptr<weld::TreeView> xCo
|
||||
, m_xDropDown(m_xControl->create_virtual_device())
|
||||
, m_pPage(pPg)
|
||||
{
|
||||
m_xControl->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
CreateDropDown();
|
||||
m_xControl->connect_key_press(LINK(this, SvxMenuEntriesListBox, KeyInputHdl));
|
||||
}
|
||||
@@ -1507,7 +1508,8 @@ int SvxConfigPage::AppendEntry(
|
||||
|
||||
namespace
|
||||
{
|
||||
template<typename itertype> void TmplInsertEntryIntoUI(SvxConfigEntry* pNewEntryData, weld::TreeView& rTreeView, itertype& rIter, int nStartCol, SaveInData* pSaveInData, VirtualDevice& rDropDown)
|
||||
template<typename itertype> void TmplInsertEntryIntoUI(SvxConfigEntry* pNewEntryData, weld::TreeView& rTreeView, itertype& rIter, SaveInData* pSaveInData,
|
||||
VirtualDevice& rDropDown, bool bMenu)
|
||||
{
|
||||
OUString sId(OUString::number(reinterpret_cast<sal_Int64>(pNewEntryData)));
|
||||
|
||||
@@ -1515,37 +1517,37 @@ namespace
|
||||
|
||||
if (pNewEntryData->IsSeparator())
|
||||
{
|
||||
rTreeView.set_text(rIter, "----------------------------------", nStartCol + 1);
|
||||
rTreeView.set_text(rIter, "----------------------------------", 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
auto xImage = pSaveInData->GetImage(pNewEntryData->GetCommand());
|
||||
if (xImage.is())
|
||||
rTreeView.set_image(rIter, xImage, nStartCol);
|
||||
rTreeView.set_image(rIter, xImage, -1);
|
||||
OUString aName = SvxConfigPageHelper::stripHotKey( pNewEntryData->GetName() );
|
||||
rTreeView.set_text(rIter, aName, nStartCol + 1);
|
||||
rTreeView.set_text(rIter, aName, 0);
|
||||
}
|
||||
|
||||
if (nStartCol == 0) // menus
|
||||
if (bMenu) // menus
|
||||
{
|
||||
if (pNewEntryData->IsPopup() || pNewEntryData->GetStyle() & css::ui::ItemStyle::DROP_DOWN)
|
||||
rTreeView.set_image(rIter, rDropDown, nStartCol + 2);
|
||||
rTreeView.set_image(rIter, rDropDown, 1);
|
||||
else
|
||||
rTreeView.set_image(rIter, css::uno::Reference<css::graphic::XGraphic>(), nStartCol + 2);
|
||||
rTreeView.set_image(rIter, css::uno::Reference<css::graphic::XGraphic>(), 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void SvxConfigPage::InsertEntryIntoUI(SvxConfigEntry* pNewEntryData, weld::TreeView& rTreeView, int nPos, int nStartCol)
|
||||
void SvxConfigPage::InsertEntryIntoUI(SvxConfigEntry* pNewEntryData, weld::TreeView& rTreeView, int nPos, bool bMenu)
|
||||
{
|
||||
TmplInsertEntryIntoUI<int>(pNewEntryData, rTreeView, nPos, nStartCol,
|
||||
GetSaveInData(), m_xContentsListBox->get_dropdown_image());
|
||||
TmplInsertEntryIntoUI<int>(pNewEntryData, rTreeView, nPos, GetSaveInData(),
|
||||
m_xContentsListBox->get_dropdown_image(), bMenu);
|
||||
}
|
||||
|
||||
void SvxConfigPage::InsertEntryIntoUI(SvxConfigEntry* pNewEntryData, weld::TreeView& rTreeView, weld::TreeIter& rIter, int nStartCol)
|
||||
void SvxConfigPage::InsertEntryIntoUI(SvxConfigEntry* pNewEntryData, weld::TreeView& rTreeView, weld::TreeIter& rIter, bool bMenu)
|
||||
{
|
||||
TmplInsertEntryIntoUI<weld::TreeIter>(pNewEntryData, rTreeView, rIter, nStartCol,
|
||||
GetSaveInData(), m_xContentsListBox->get_dropdown_image());
|
||||
TmplInsertEntryIntoUI<weld::TreeIter>(pNewEntryData, rTreeView, rIter, GetSaveInData(),
|
||||
m_xContentsListBox->get_dropdown_image(), bMenu);
|
||||
}
|
||||
|
||||
IMPL_LINK(SvxConfigPage, MoveHdl, weld::Button&, rButton, void)
|
||||
|
||||
@@ -761,7 +761,7 @@ namespace svx
|
||||
|
||||
DBG_ASSERT( xDict.is(), "-HangulHanjaOptionsDialog::OkHdl(): someone is evaporated..." );
|
||||
|
||||
bool bActive = m_xDictsLB->get_toggle(n, 0) == TRISTATE_TRUE;
|
||||
bool bActive = m_xDictsLB->get_toggle(n) == TRISTATE_TRUE;
|
||||
xDict->setActive( bActive );
|
||||
Reference< util::XFlushable > xFlush( xDict, uno::UNO_QUERY );
|
||||
if( xFlush.is() )
|
||||
@@ -890,9 +890,7 @@ namespace svx
|
||||
m_xDictsLB->set_size_request(m_xDictsLB->get_approximate_digit_width() * 32,
|
||||
m_xDictsLB->get_height_rows(5));
|
||||
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xDictsLB->get_checkbox_column_width());
|
||||
m_xDictsLB->set_column_fixed_widths(aWidths);
|
||||
m_xDictsLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
|
||||
m_xDictsLB->connect_changed( LINK( this, HangulHanjaOptionsDialog, DictsLB_SelectHdl ) );
|
||||
|
||||
@@ -927,8 +925,8 @@ namespace svx
|
||||
{
|
||||
m_xDictsLB->append();
|
||||
int nRow = m_xDictsLB->n_children() - 1;
|
||||
m_xDictsLB->set_toggle(nRow, bChecked ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xDictsLB->set_text(nRow, rName, 1);
|
||||
m_xDictsLB->set_toggle(nRow, bChecked ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xDictsLB->set_text(nRow, rName, 0);
|
||||
m_xDictsLB->set_id(nRow, rName);
|
||||
}
|
||||
|
||||
|
||||
@@ -57,7 +57,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) == TRISTATE_TRUE;
|
||||
bool bChecked = m_xRadioLB->get_toggle(nRow) == TRISTATE_TRUE;
|
||||
if (bChecked)
|
||||
{
|
||||
// we have radio button behavior -> so uncheck the other entries
|
||||
@@ -65,7 +65,7 @@ void SvxMultiPathDialog::HandleEntryChecked(int nRow)
|
||||
for (int i = 0; i < nCount; ++i)
|
||||
{
|
||||
if (i != nRow)
|
||||
m_xRadioLB->set_toggle(i, TRISTATE_FALSE, 0);
|
||||
m_xRadioLB->set_toggle(i, TRISTATE_FALSE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -79,8 +79,8 @@ 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, TRISTATE_FALSE, 0);
|
||||
m_xRadioLB->set_text(nRow, rText, 1);
|
||||
m_xRadioLB->set_toggle(nRow, TRISTATE_FALSE);
|
||||
m_xRadioLB->set_text(nRow, rText, 0);
|
||||
m_xRadioLB->set_id(nRow, rId);
|
||||
}
|
||||
|
||||
@@ -147,7 +147,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) == TRISTATE_TRUE;
|
||||
bool bChecked = m_xRadioLB->get_toggle(nPos) == TRISTATE_TRUE;
|
||||
m_xRadioLB->remove(nPos);
|
||||
int nCnt = m_xRadioLB->n_children();
|
||||
if (nCnt)
|
||||
@@ -158,7 +158,7 @@ IMPL_LINK_NOARG(SvxMultiPathDialog, DelHdl_Impl, weld::Button&, void)
|
||||
nPos = nCnt;
|
||||
if (bChecked)
|
||||
{
|
||||
m_xRadioLB->set_toggle(nPos, TRISTATE_TRUE, 0);
|
||||
m_xRadioLB->set_toggle(nPos, TRISTATE_TRUE);
|
||||
HandleEntryChecked(nPos);
|
||||
}
|
||||
m_xRadioLB->select(nPos);
|
||||
@@ -193,13 +193,10 @@ SvxMultiPathDialog::SvxMultiPathDialog(weld::Window* pParent)
|
||||
{
|
||||
m_xRadioLB->set_size_request(m_xRadioLB->get_approximate_digit_width() * 60,
|
||||
m_xRadioLB->get_text_height() * 10);
|
||||
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xRadioLB->get_checkbox_column_width());
|
||||
m_xRadioLB->set_column_fixed_widths(aWidths);
|
||||
m_xRadioLB->set_toggle_columns_as_radio();
|
||||
m_xRadioLB->enable_toggle_buttons(weld::ColumnToggleType::Radio);
|
||||
m_xRadioLB->connect_toggled(LINK(this, SvxMultiPathDialog, CheckHdl_Impl));
|
||||
m_xRadioLB->connect_changed(LINK(this, SvxMultiPathDialog, SelectHdl_Impl));
|
||||
|
||||
m_xAddBtn->connect_clicked(LINK(this, SvxMultiPathDialog, AddHdl_Impl));
|
||||
m_xDelBtn->connect_clicked(LINK(this, SvxMultiPathDialog, DelHdl_Impl));
|
||||
|
||||
@@ -234,7 +231,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) == TRISTATE_TRUE)
|
||||
if (m_xRadioLB->get_toggle(i) == TRISTATE_TRUE)
|
||||
sWritable = m_xRadioLB->get_id(i);
|
||||
else
|
||||
{
|
||||
@@ -286,7 +283,7 @@ void SvxMultiPathDialog::SetPath( const OUString& rPath )
|
||||
|
||||
if (nCount)
|
||||
{
|
||||
m_xRadioLB->set_toggle(nCount - 1, TRISTATE_TRUE, 0);
|
||||
m_xRadioLB->set_toggle(nCount - 1, TRISTATE_TRUE);
|
||||
HandleEntryChecked(nCount - 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,9 +114,7 @@ SvxSearchAttributeDialog::SvxSearchAttributeDialog(weld::Window* pParent,
|
||||
m_xAttrLB->set_size_request(m_xAttrLB->get_approximate_digit_width() * 50,
|
||||
m_xAttrLB->get_height_rows(12));
|
||||
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xAttrLB->get_checkbox_column_width());
|
||||
m_xAttrLB->set_column_fixed_widths(aWidths);
|
||||
m_xAttrLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
|
||||
m_xOKBtn->connect_clicked(LINK( this, SvxSearchAttributeDialog, OKHdl));
|
||||
|
||||
@@ -150,8 +148,8 @@ SvxSearchAttributeDialog::SvxSearchAttributeDialog(weld::Window* pParent,
|
||||
{
|
||||
m_xAttrLB->append();
|
||||
const int nRow = m_xAttrLB->n_children() - 1;
|
||||
m_xAttrLB->set_toggle(nRow, bChecked ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xAttrLB->set_text(nRow, SvxAttrNameTable::GetString(nId), 1);
|
||||
m_xAttrLB->set_toggle(nRow, bChecked ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xAttrLB->set_text(nRow, SvxAttrNameTable::GetString(nId), 0);
|
||||
m_xAttrLB->set_id(nRow, OUString::number(nSlot));
|
||||
}
|
||||
else
|
||||
@@ -176,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) == TRISTATE_TRUE;
|
||||
bool bChecked = m_xAttrLB->get_toggle(i) == TRISTATE_TRUE;
|
||||
|
||||
sal_uInt16 j;
|
||||
for ( j = rList.Count(); j; )
|
||||
|
||||
@@ -338,7 +338,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, TriState eState, int col) { m_xControl->set_toggle(row, eState, col); }
|
||||
void set_toggle(int row, TriState eState) { m_xControl->set_toggle(row, eState); }
|
||||
void scroll_to_row(int pos) { m_xControl->scroll_to_row(pos); }
|
||||
void select(int pos) { m_xControl->select(pos); }
|
||||
|
||||
@@ -455,15 +455,14 @@ protected:
|
||||
|
||||
void InsertEntryIntoUI(SvxConfigEntry* pNewEntryData,
|
||||
weld::TreeView& rTreeView, int nPos,
|
||||
int nStartCol);
|
||||
bool bMenu = false);
|
||||
void InsertEntryIntoUI(SvxConfigEntry* pNewEntryData,
|
||||
weld::TreeView& rTreeView, weld::TreeIter& rIter,
|
||||
int nStartCol);
|
||||
bool bMenu = false);
|
||||
|
||||
void InsertEntryIntoNotebookbarTabUI(const OUString& sClassId, const OUString& sUIItemId,
|
||||
const OUString& sUIItemCommand,
|
||||
weld::TreeView& rTreeView, weld::TreeIter& rIter,
|
||||
int nStartCol);
|
||||
weld::TreeView& rTreeView, weld::TreeIter& rIter);
|
||||
|
||||
SvxEntries* FindParentForChild( SvxEntries* pParentEntries,
|
||||
SvxConfigEntry* pChildData );
|
||||
|
||||
@@ -29,18 +29,12 @@ CertPathDialog::CertPathDialog(weld::Window* pParent)
|
||||
, m_sAddDialogText(m_xBuilder->weld_label("certdir")->get_label())
|
||||
, m_sManualLabel(m_xBuilder->weld_label("manual")->get_label())
|
||||
{
|
||||
// these are just used to get translated strings
|
||||
|
||||
m_xCertPathList->set_size_request(m_xCertPathList->get_approximate_digit_width() * 70,
|
||||
m_xCertPathList->get_height_rows(6));
|
||||
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xCertPathList->get_checkbox_column_width());
|
||||
aWidths.push_back(m_xCertPathList->get_approximate_digit_width() * 20);
|
||||
m_xCertPathList->set_column_fixed_widths(aWidths);
|
||||
m_xCertPathList->set_toggle_columns_as_radio();
|
||||
|
||||
m_xCertPathList->enable_toggle_buttons(weld::ColumnToggleType::Radio);
|
||||
m_xCertPathList->connect_toggled(LINK(this, CertPathDialog, CheckHdl_Impl));
|
||||
|
||||
m_xManualButton->connect_clicked( LINK( this, CertPathDialog, ManualHdl_Impl ) );
|
||||
m_xOKButton->connect_clicked( LINK( this, CertPathDialog, OKHdl_Impl ) );
|
||||
|
||||
@@ -159,7 +153,7 @@ IMPL_LINK(CertPathDialog, CheckHdl_Impl, const weld::TreeView::iter_col&, rRowCo
|
||||
|
||||
void CertPathDialog::HandleEntryChecked(int nRow)
|
||||
{
|
||||
const bool bChecked = m_xCertPathList->get_toggle(nRow, 0) == TRISTATE_TRUE;
|
||||
const bool bChecked = m_xCertPathList->get_toggle(nRow) == TRISTATE_TRUE;
|
||||
if (bChecked)
|
||||
{
|
||||
// we have radio button behavior -> so uncheck the other entries
|
||||
@@ -168,7 +162,7 @@ void CertPathDialog::HandleEntryChecked(int nRow)
|
||||
for (int i = 0; i < nCount; ++i)
|
||||
{
|
||||
if (i != nRow)
|
||||
m_xCertPathList->set_toggle(i, TRISTATE_FALSE, 0);
|
||||
m_xCertPathList->set_toggle(i, TRISTATE_FALSE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -182,12 +176,12 @@ void CertPathDialog::AddCertPath(const OUString &rProfile, const OUString &rPath
|
||||
//already exists, just select the original one
|
||||
if (sCertPath == rPath)
|
||||
{
|
||||
const bool bWantSelected = bSelect || m_xCertPathList->get_toggle(i, 0);
|
||||
m_xCertPathList->set_toggle(i, bWantSelected ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
const bool bWantSelected = bSelect || m_xCertPathList->get_toggle(i);
|
||||
m_xCertPathList->set_toggle(i, bWantSelected ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
HandleEntryChecked(i);
|
||||
return;
|
||||
}
|
||||
else if (m_xCertPathList->get_text(i, 1) == rProfile)
|
||||
else if (m_xCertPathList->get_text(i, 0) == rProfile)
|
||||
nRow = i;
|
||||
}
|
||||
|
||||
@@ -199,9 +193,9 @@ void CertPathDialog::AddCertPath(const OUString &rProfile, const OUString &rPath
|
||||
m_xCertPathList->append();
|
||||
nRow = m_xCertPathList->n_children() - 1;
|
||||
}
|
||||
m_xCertPathList->set_toggle(nRow, bSelect ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xCertPathList->set_text(nRow, rProfile, 1);
|
||||
m_xCertPathList->set_text(nRow, rPath, 2);
|
||||
m_xCertPathList->set_toggle(nRow, bSelect ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xCertPathList->set_text(nRow, rProfile, 0);
|
||||
m_xCertPathList->set_text(nRow, rPath, 1);
|
||||
m_xCertPathList->set_id(nRow, rPath);
|
||||
HandleEntryChecked(nRow);
|
||||
}
|
||||
|
||||
@@ -54,14 +54,15 @@ SvxFontSubstTabPage::SvxFontSubstTabPage(weld::Container* pPage, weld::DialogCon
|
||||
|
||||
m_xCheckLB->set_size_request(m_xCheckLB->get_approximate_digit_width() * 60,
|
||||
m_xCheckLB->get_height_rows(8));
|
||||
m_xCheckLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
m_xCheckLB->set_help_id(HID_OFA_FONT_SUBST_CLB);
|
||||
m_xCheckLB->set_selection_mode(SelectionMode::Multiple);
|
||||
|
||||
setColSizes(m_xCheckLB->get_size_request());
|
||||
m_xCheckLB->connect_size_allocate(LINK(this, SvxFontSubstTabPage, ResizeHdl));
|
||||
|
||||
m_xCheckLB->set_centered_column(0);
|
||||
m_xCheckLB->set_centered_column(1);
|
||||
m_xCheckLB->set_centered_column(2);
|
||||
|
||||
Link<weld::ComboBox&,void> aLink2(LINK(this, SvxFontSubstTabPage, SelectComboBoxHdl));
|
||||
Link<weld::Button&,void> aClickLink(LINK(this, SvxFontSubstTabPage, ClickHdl));
|
||||
@@ -114,15 +115,14 @@ IMPL_LINK(SvxFontSubstTabPage, HeaderBarClick, int, nColumn, void)
|
||||
|
||||
void SvxFontSubstTabPage::setColSizes(const Size& rSize)
|
||||
{
|
||||
int nW1 = m_xCheckLB->get_pixel_size(m_xCheckLB->get_column_title(3)).Width();
|
||||
int nW2 = m_xCheckLB->get_pixel_size(m_xCheckLB->get_column_title(4)).Width();
|
||||
int nW1 = m_xCheckLB->get_pixel_size(m_xCheckLB->get_column_title(2)).Width();
|
||||
int nW2 = m_xCheckLB->get_pixel_size(m_xCheckLB->get_column_title(3)).Width();
|
||||
int nMax = std::max( nW1, nW2 ) + 6; // width of the longest header + a little offset
|
||||
int nMin = m_xCheckLB->get_checkbox_column_width();
|
||||
nMax = std::max(nMax, nMin);
|
||||
const int nDoubleMax = 2*nMax;
|
||||
const int nRest = rSize.Width() - nDoubleMax;
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(1); // just abandon the built-in column for checkbuttons and use another
|
||||
aWidths.push_back(nMax);
|
||||
aWidths.push_back(nMax);
|
||||
aWidths.push_back(nRest/2);
|
||||
@@ -152,10 +152,10 @@ bool SvxFontSubstTabPage::FillItemSet( SfxItemSet* )
|
||||
|
||||
m_xCheckLB->all_foreach([this](weld::TreeIter& rIter) {
|
||||
SubstitutionStruct aAdd;
|
||||
aAdd.sFont = m_xCheckLB->get_text(rIter, 3);
|
||||
aAdd.sReplaceBy = m_xCheckLB->get_text(rIter, 4);
|
||||
aAdd.bReplaceAlways = m_xCheckLB->get_toggle(rIter, 1);
|
||||
aAdd.bReplaceOnScreenOnly = m_xCheckLB->get_toggle(rIter, 2);
|
||||
aAdd.sFont = m_xCheckLB->get_text(rIter, 2);
|
||||
aAdd.sReplaceBy = m_xCheckLB->get_text(rIter, 3);
|
||||
aAdd.bReplaceAlways = m_xCheckLB->get_toggle(rIter, 0);
|
||||
aAdd.bReplaceOnScreenOnly = m_xCheckLB->get_toggle(rIter, 1);
|
||||
m_xConfig->AddSubstitution(aAdd);
|
||||
return false;
|
||||
});
|
||||
@@ -215,17 +215,17 @@ void SvxFontSubstTabPage::Reset( const SfxItemSet* )
|
||||
{
|
||||
m_xCheckLB->append(xIter.get());
|
||||
const SubstitutionStruct* pSubs = m_xConfig->GetSubstitution(i);
|
||||
m_xCheckLB->set_toggle(*xIter, pSubs->bReplaceAlways ? TRISTATE_TRUE : TRISTATE_FALSE, 1);
|
||||
m_xCheckLB->set_toggle(*xIter, pSubs->bReplaceOnScreenOnly ? TRISTATE_TRUE : TRISTATE_FALSE, 2);
|
||||
m_xCheckLB->set_text(*xIter, pSubs->sFont, 3);
|
||||
m_xCheckLB->set_text(*xIter, pSubs->sReplaceBy, 4);
|
||||
m_xCheckLB->set_toggle(*xIter, pSubs->bReplaceAlways ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xCheckLB->set_toggle(*xIter, pSubs->bReplaceOnScreenOnly ? TRISTATE_TRUE : TRISTATE_FALSE, 1);
|
||||
m_xCheckLB->set_text(*xIter, pSubs->sFont, 2);
|
||||
m_xCheckLB->set_text(*xIter, pSubs->sReplaceBy, 3);
|
||||
}
|
||||
|
||||
m_xCheckLB->thaw();
|
||||
|
||||
m_xCheckLB->make_sorted();
|
||||
m_xCheckLB->set_sort_column(3);
|
||||
m_xCheckLB->set_sort_indicator(TRISTATE_TRUE, 3);
|
||||
m_xCheckLB->set_sort_column(2);
|
||||
m_xCheckLB->set_sort_indicator(TRISTATE_TRUE, 2);
|
||||
|
||||
CheckEnable();
|
||||
|
||||
@@ -297,7 +297,7 @@ void SvxFontSubstTabPage::SelectHdl(const weld::Widget* pWin)
|
||||
if (nPos != -1)
|
||||
{
|
||||
// change entry
|
||||
m_xCheckLB->set_text(nPos, m_xFont2CB->get_active_text(), 4);
|
||||
m_xCheckLB->set_text(nPos, m_xFont2CB->get_active_text(), 3);
|
||||
m_xCheckLB->select(nPos);
|
||||
}
|
||||
else
|
||||
@@ -308,10 +308,10 @@ void SvxFontSubstTabPage::SelectHdl(const weld::Widget* pWin)
|
||||
|
||||
std::unique_ptr<weld::TreeIter> xIter(m_xCheckLB->make_iterator());
|
||||
m_xCheckLB->append(xIter.get());
|
||||
m_xCheckLB->set_toggle(*xIter, TRISTATE_FALSE, 0);
|
||||
m_xCheckLB->set_toggle(*xIter, TRISTATE_FALSE, 1);
|
||||
m_xCheckLB->set_toggle(*xIter, TRISTATE_FALSE, 2);
|
||||
m_xCheckLB->set_text(*xIter, sFont1, 3);
|
||||
m_xCheckLB->set_text(*xIter, sFont2, 4);
|
||||
m_xCheckLB->set_text(*xIter, sFont1, 2);
|
||||
m_xCheckLB->set_text(*xIter, sFont2, 3);
|
||||
m_xCheckLB->select(*xIter);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,15 +88,16 @@ SvxJavaOptionsPage::SvxJavaOptionsPage(weld::Container* pPage, weld::DialogContr
|
||||
m_xJavaList->set_size_request(m_xJavaList->get_approximate_digit_width() * 30,
|
||||
m_xJavaList->get_height_rows(8));
|
||||
|
||||
m_xJavaList->enable_toggle_buttons(weld::ColumnToggleType::Radio);
|
||||
m_xJavaList->connect_toggled( LINK( this, SvxJavaOptionsPage, CheckHdl_Impl ) );
|
||||
m_xJavaList->connect_changed( LINK( this, SvxJavaOptionsPage, SelectHdl_Impl ) );
|
||||
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xJavaList->get_checkbox_column_width());
|
||||
aWidths.push_back(m_xJavaList->get_pixel_size("Sun Microsystems Inc.").Width());
|
||||
m_xJavaList->set_column_fixed_widths(aWidths);
|
||||
m_xJavaList->set_toggle_columns_as_radio();
|
||||
|
||||
m_xJavaEnableCB->connect_clicked( LINK( this, SvxJavaOptionsPage, EnableHdl_Impl ) );
|
||||
m_xJavaList->connect_toggled( LINK( this, SvxJavaOptionsPage, CheckHdl_Impl ) );
|
||||
m_xJavaList->connect_changed( LINK( this, SvxJavaOptionsPage, SelectHdl_Impl ) );
|
||||
m_xAddBtn->connect_clicked( LINK( this, SvxJavaOptionsPage, AddHdl_Impl ) );
|
||||
m_xParameterBtn->connect_clicked( LINK( this, SvxJavaOptionsPage, ParameterHdl_Impl ) );
|
||||
m_xClassPathBtn->connect_clicked( LINK( this, SvxJavaOptionsPage, ClassPathHdl_Impl ) );
|
||||
|
||||
@@ -849,12 +849,9 @@ SvxLinguTabPage::SvxLinguTabPage(weld::Container* pPage, weld::DialogController*
|
||||
, m_xLinguOptionsEditPB(m_xBuilder->weld_button("linguoptionsedit"))
|
||||
, m_xMoreDictsLink(m_xBuilder->weld_link_button("moredictslink"))
|
||||
{
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xLinguModulesCLB->get_checkbox_column_width());
|
||||
|
||||
m_xLinguModulesCLB->set_column_fixed_widths(aWidths);
|
||||
m_xLinguDicsCLB->set_column_fixed_widths(aWidths);
|
||||
m_xLinguOptionsCLB->set_column_fixed_widths(aWidths);
|
||||
m_xLinguModulesCLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
m_xLinguDicsCLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
m_xLinguOptionsCLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
|
||||
m_xLinguModulesCLB->connect_changed( LINK( this, SvxLinguTabPage, SelectHdl_Impl ));
|
||||
m_xLinguModulesCLB->connect_row_activated(LINK(this, SvxLinguTabPage, BoxDoubleClickHdl_Impl));
|
||||
@@ -994,7 +991,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) == TRISTATE_TRUE;
|
||||
bool bChecked = m_xLinguDicsCLB->get_toggle(i) == TRISTATE_TRUE;
|
||||
uno::Reference< XDictionary > xDic( aDics.getConstArray()[ i ] );
|
||||
if (xDic.is())
|
||||
{
|
||||
@@ -1027,7 +1024,7 @@ bool SvxLinguTabPage::FillItemSet( SfxItemSet* rCoreSet )
|
||||
Any aAny;
|
||||
if (aData.IsCheckable())
|
||||
{
|
||||
bool bChecked = m_xLinguOptionsCLB->get_toggle(j, 0) == TRISTATE_TRUE;
|
||||
bool bChecked = m_xLinguOptionsCLB->get_toggle(j) == TRISTATE_TRUE;
|
||||
aAny <<= bChecked;
|
||||
}
|
||||
else if (aData.HasNumericValue())
|
||||
@@ -1052,7 +1049,7 @@ bool SvxLinguTabPage::FillItemSet( SfxItemSet* rCoreSet )
|
||||
}
|
||||
|
||||
// automatic spell checking
|
||||
bool bNewAutoCheck = m_xLinguOptionsCLB->get_toggle(EID_SPELL_AUTO, 0) == TRISTATE_TRUE;
|
||||
bool bNewAutoCheck = m_xLinguOptionsCLB->get_toggle(EID_SPELL_AUTO) == TRISTATE_TRUE;
|
||||
const SfxPoolItem* pOld = GetOldItem( *rCoreSet, SID_AUTOSPELL_CHECK );
|
||||
if ( !pOld || static_cast<const SfxBoolItem*>(pOld)->GetValue() != bNewAutoCheck )
|
||||
{
|
||||
@@ -1096,8 +1093,8 @@ 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() ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xLinguDicsCLB->set_text(nEntry, aTxt, 1); // append at end
|
||||
m_xLinguDicsCLB->set_toggle(nEntry, aData.IsChecked() ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xLinguDicsCLB->set_text(nEntry, aTxt, 0); // append at end
|
||||
|
||||
m_xLinguDicsCLB->thaw();
|
||||
}
|
||||
@@ -1139,8 +1136,8 @@ 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 ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xLinguModulesCLB->set_text(i, rInfo.sDisplayName, 1);
|
||||
m_xLinguModulesCLB->set_toggle(i, rInfo.bConfigured ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xLinguModulesCLB->set_text(i, rInfo.sDisplayName, 0);
|
||||
}
|
||||
if (nDispSrvcCount)
|
||||
{
|
||||
@@ -1179,8 +1176,8 @@ 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 ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sSpellAuto, 1);
|
||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sSpellAuto, 0);
|
||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||
|
||||
m_xLinguOptionsCLB->append();
|
||||
@@ -1188,8 +1185,8 @@ 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 ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sGrammarAuto, 1);
|
||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sGrammarAuto, 0);
|
||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||
|
||||
m_xLinguOptionsCLB->append();
|
||||
@@ -1197,8 +1194,8 @@ 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 ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sCapitalWords, 1);
|
||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sCapitalWords, 0);
|
||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||
|
||||
m_xLinguOptionsCLB->append();
|
||||
@@ -1206,8 +1203,8 @@ 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 ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sWordsWithDigits, 1);
|
||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sWordsWithDigits, 0);
|
||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||
|
||||
m_xLinguOptionsCLB->append();
|
||||
@@ -1215,8 +1212,8 @@ 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 ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sSpellSpecial, 1);
|
||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sSpellSpecial, 0);
|
||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||
|
||||
m_xLinguOptionsCLB->append();
|
||||
@@ -1224,7 +1221,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
||||
|
||||
aLngCfg.GetProperty( UPN_HYPH_MIN_WORD_LENGTH ) >>= nVal;
|
||||
nUserData = OptionsUserData( EID_NUM_MIN_WORDLEN, true, static_cast<sal_uInt16>(nVal), false, false).GetUserData();
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sNumMinWordlen + " " + OUString::number(nVal), 1);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sNumMinWordlen + " " + OUString::number(nVal), 0);
|
||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||
nUPN_HYPH_MIN_WORD_LENGTH = nEntry;
|
||||
|
||||
@@ -1240,7 +1237,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
||||
if (pHyp)
|
||||
nVal = static_cast<sal_Int16>(pHyp->GetMinLead());
|
||||
nUserData = OptionsUserData( EID_NUM_PRE_BREAK, true, static_cast<sal_uInt16>(nVal), false, false).GetUserData();
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sNumPreBreak + " " + OUString::number(nVal), 1);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sNumPreBreak + " " + OUString::number(nVal), 0);
|
||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||
nUPN_HYPH_MIN_LEADING = nEntry;
|
||||
|
||||
@@ -1251,7 +1248,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
||||
if (pHyp)
|
||||
nVal = static_cast<sal_Int16>(pHyp->GetMinTrail());
|
||||
nUserData = OptionsUserData( EID_NUM_POST_BREAK, true, static_cast<sal_uInt16>(nVal), false, false).GetUserData();
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sNumPostBreak + " " + OUString::number(nVal), 1);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sNumPostBreak + " " + OUString::number(nVal), 0);
|
||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||
nUPN_HYPH_MIN_TRAILING = nEntry;
|
||||
|
||||
@@ -1260,8 +1257,8 @@ 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 ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sHyphAuto, 1);
|
||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sHyphAuto, 0);
|
||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||
|
||||
m_xLinguOptionsCLB->append();
|
||||
@@ -1269,8 +1266,8 @@ 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 ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sHyphSpecial, 1);
|
||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sHyphSpecial, 0);
|
||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||
|
||||
m_xLinguOptionsCLB->thaw();
|
||||
@@ -1312,15 +1309,15 @@ IMPL_LINK(SvxLinguTabPage, ModulesBoxCheckButtonHdl_Impl, const weld::TreeView::
|
||||
{
|
||||
if (!pLinguData)
|
||||
return;
|
||||
pLinguData->Reconfigure(m_xLinguModulesCLB->get_text(rRowCol.first, 1),
|
||||
m_xLinguModulesCLB->get_toggle(rRowCol.first, 0) == TRISTATE_TRUE);
|
||||
pLinguData->Reconfigure(m_xLinguModulesCLB->get_text(rRowCol.first),
|
||||
m_xLinguModulesCLB->get_toggle(rRowCol.first) == TRISTATE_TRUE);
|
||||
}
|
||||
|
||||
IMPL_LINK(SvxLinguTabPage, DicsBoxCheckButtonHdl_Impl, const weld::TreeView::iter_col&, rRowCol, void)
|
||||
{
|
||||
const uno::Reference<XDictionary> &rDic = aDics.getConstArray()[m_xLinguDicsCLB->get_iter_index_in_parent(rRowCol.first)];
|
||||
if (LinguMgr::GetIgnoreAllList() == rDic)
|
||||
m_xLinguDicsCLB->set_toggle(rRowCol.first, TRISTATE_TRUE, 0);
|
||||
m_xLinguDicsCLB->set_toggle(rRowCol.first, TRISTATE_TRUE);
|
||||
}
|
||||
|
||||
IMPL_LINK(SvxLinguTabPage, ClickHdl_Impl, weld::Button&, rBtn, void)
|
||||
@@ -1473,11 +1470,11 @@ IMPL_LINK(SvxLinguTabPage, ClickHdl_Impl, weld::Button&, rBtn, void)
|
||||
aData.SetNumericValue( static_cast<sal_uInt8>(nVal) ); //! sets IsModified !
|
||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(aData.GetUserData()));
|
||||
if (nEntry == nUPN_HYPH_MIN_WORD_LENGTH)
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sNumMinWordlen + " " + OUString::number(nVal), 1);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sNumMinWordlen + " " + OUString::number(nVal), 0);
|
||||
else if (nEntry == nUPN_HYPH_MIN_LEADING)
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sNumPreBreak + " " + OUString::number(nVal), 1);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sNumPreBreak + " " + OUString::number(nVal), 0);
|
||||
else if (nEntry == nUPN_HYPH_MIN_TRAILING)
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sNumPostBreak + " " + OUString::number(nVal), 1);
|
||||
m_xLinguOptionsCLB->set_text(nEntry, sNumPostBreak + " " + OUString::number(nVal), 0);
|
||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(aData.GetUserData()));
|
||||
}
|
||||
}
|
||||
@@ -1556,9 +1553,7 @@ SvxEditModulesDlg::SvxEditModulesDlg(weld::Window* pParent, SvxLinguData_Impl& r
|
||||
m_xModulesCLB->set_size_request(m_xModulesCLB->get_approximate_digit_width() * 40,
|
||||
m_xModulesCLB->get_height_rows(12));
|
||||
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xModulesCLB->get_checkbox_column_width());
|
||||
m_xModulesCLB->set_column_fixed_widths(aWidths);
|
||||
m_xModulesCLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
|
||||
pDefaultLinguData.reset( new SvxLinguData_Impl( rLinguData ) );
|
||||
|
||||
@@ -1639,7 +1634,7 @@ IMPL_LINK( SvxEditModulesDlg, BoxCheckButtonHdl_Impl, const weld::TreeView::iter
|
||||
pData = reinterpret_cast<ModuleUserData_Impl*>(m_xModulesCLB->get_id(i).toInt64());
|
||||
if (!pData->IsParent() && pData->GetType() == TYPE_HYPH && i != nPos)
|
||||
{
|
||||
m_xModulesCLB->set_toggle(i, TRISTATE_FALSE, 0);
|
||||
m_xModulesCLB->set_toggle(i, TRISTATE_FALSE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1696,8 +1691,8 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
||||
OUString* pChange = aChange.getArray();
|
||||
pChange[nStart] = pData->GetImplName();
|
||||
bChanged |= pData->GetIndex() != nLocalIndex ||
|
||||
static_cast<TriState>(pData->IsChecked()) != m_xModulesCLB->get_toggle(i, 0);
|
||||
if (m_xModulesCLB->get_toggle(i, 0))
|
||||
static_cast<TriState>(pData->IsChecked()) != m_xModulesCLB->get_toggle(i);
|
||||
if (m_xModulesCLB->get_toggle(i))
|
||||
nStart++;
|
||||
++nLocalIndex;
|
||||
}
|
||||
@@ -1728,8 +1723,8 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
||||
OUString sId(OUString::number(reinterpret_cast<sal_Int64>(pUserData)));
|
||||
m_xModulesCLB->append(nullptr);
|
||||
m_xModulesCLB->set_id(nRow, sId);
|
||||
m_xModulesCLB->set_text(nRow, sSpell, 1);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, true, 1);
|
||||
m_xModulesCLB->set_text(nRow, sSpell, 0);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, true, 0);
|
||||
++nRow;
|
||||
|
||||
Sequence< OUString > aNames( rLinguData.GetSortedImplNames( eCurLanguage, TYPE_SPELL ) );
|
||||
@@ -1765,9 +1760,9 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
||||
|
||||
m_xModulesCLB->append(nullptr);
|
||||
m_xModulesCLB->set_id(nRow, sId);
|
||||
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xModulesCLB->set_text(nRow, aTxt, 1);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, false, 1);
|
||||
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xModulesCLB->set_text(nRow, aTxt, 0);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, false, 0);
|
||||
++nRow;
|
||||
}
|
||||
}
|
||||
@@ -1778,8 +1773,8 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
||||
sId = OUString::number(reinterpret_cast<sal_Int64>(pUserData));
|
||||
m_xModulesCLB->append(nullptr);
|
||||
m_xModulesCLB->set_id(nRow, sId);
|
||||
m_xModulesCLB->set_text(nRow, sGrammar, 1);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, true, 1);
|
||||
m_xModulesCLB->set_text(nRow, sGrammar, 0);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, true, 0);
|
||||
++nRow;
|
||||
|
||||
aNames = rLinguData.GetSortedImplNames( eCurLanguage, TYPE_GRAMMAR );
|
||||
@@ -1816,9 +1811,9 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
||||
|
||||
m_xModulesCLB->append(nullptr);
|
||||
m_xModulesCLB->set_id(nRow, sId);
|
||||
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xModulesCLB->set_text(nRow, aTxt, 1);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, false, 1);
|
||||
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xModulesCLB->set_text(nRow, aTxt, 0);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, false, 0);
|
||||
++nRow;
|
||||
}
|
||||
}
|
||||
@@ -1829,8 +1824,8 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
||||
sId = OUString::number(reinterpret_cast<sal_Int64>(pUserData));
|
||||
m_xModulesCLB->append(nullptr);
|
||||
m_xModulesCLB->set_id(nRow, sId);
|
||||
m_xModulesCLB->set_text(nRow, sHyph, 1);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, true, 1);
|
||||
m_xModulesCLB->set_text(nRow, sHyph, 0);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, true, 0);
|
||||
++nRow;
|
||||
|
||||
aNames = rLinguData.GetSortedImplNames( eCurLanguage, TYPE_HYPH );
|
||||
@@ -1866,9 +1861,9 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
||||
|
||||
m_xModulesCLB->append(nullptr);
|
||||
m_xModulesCLB->set_id(nRow, sId);
|
||||
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xModulesCLB->set_text(nRow, aTxt, 1);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, false, 1);
|
||||
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xModulesCLB->set_text(nRow, aTxt, 0);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, false, 0);
|
||||
++nRow;
|
||||
}
|
||||
}
|
||||
@@ -1879,8 +1874,8 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
||||
sId = OUString::number(reinterpret_cast<sal_Int64>(pUserData));
|
||||
m_xModulesCLB->append(nullptr);
|
||||
m_xModulesCLB->set_id(nRow, sId);
|
||||
m_xModulesCLB->set_text(nRow, sThes, 1);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, true, 1);
|
||||
m_xModulesCLB->set_text(nRow, sThes, 0);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, true, 0);
|
||||
++nRow;
|
||||
|
||||
aNames = rLinguData.GetSortedImplNames( eCurLanguage, TYPE_THES );
|
||||
@@ -1916,9 +1911,9 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
||||
|
||||
m_xModulesCLB->append(nullptr);
|
||||
m_xModulesCLB->set_id(nRow, sId);
|
||||
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xModulesCLB->set_text(nRow, aTxt, 1);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, false, 1);
|
||||
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xModulesCLB->set_text(nRow, aTxt, 0);
|
||||
m_xModulesCLB->set_text_emphasis(nRow, false, 0);
|
||||
++nRow;
|
||||
}
|
||||
}
|
||||
@@ -1937,7 +1932,7 @@ IMPL_LINK( SvxEditModulesDlg, UpDownHdl_Impl, weld::Button&, rBtn, void )
|
||||
|
||||
OUString sId(m_xModulesCLB->get_id(nCurPos));
|
||||
OUString sStr(m_xModulesCLB->get_text(nCurPos));
|
||||
bool bIsChecked = m_xModulesCLB->get_toggle(nCurPos, nCurPos);
|
||||
bool bIsChecked = m_xModulesCLB->get_toggle(nCurPos);
|
||||
|
||||
m_xModulesCLB->remove(nCurPos);
|
||||
|
||||
@@ -1945,7 +1940,7 @@ IMPL_LINK( SvxEditModulesDlg, UpDownHdl_Impl, weld::Button&, rBtn, void )
|
||||
|
||||
m_xModulesCLB->insert_text(nDestPos, sStr);
|
||||
m_xModulesCLB->set_id(nDestPos, sId);
|
||||
m_xModulesCLB->set_toggle(nDestPos, bIsChecked ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xModulesCLB->set_toggle(nDestPos, bIsChecked ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
|
||||
m_xModulesCLB->thaw();
|
||||
|
||||
|
||||
@@ -189,9 +189,7 @@ OfaAutocorrOptionsPage::OfaAutocorrOptionsPage(weld::Container* pPage, weld::Dia
|
||||
, m_sAccidentalCaps(CuiResId(RID_SVXSTR_CORRECT_ACCIDENTAL_CAPS_LOCK))
|
||||
, m_xCheckLB(m_xBuilder->weld_tree_view("checklist"))
|
||||
{
|
||||
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);
|
||||
m_xCheckLB->set_size_request(-1, m_xCheckLB->get_height_rows(10));
|
||||
}
|
||||
|
||||
@@ -215,14 +213,14 @@ bool OfaAutocorrOptionsPage::FillItemSet( SfxItemSet* )
|
||||
ACFlags nFlags = pAutoCorrect->GetFlags();
|
||||
|
||||
int nPos = 0;
|
||||
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);
|
||||
pAutoCorrect->SetAutoCorrFlag(ACFlags::Autocorrect, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
|
||||
pAutoCorrect->SetAutoCorrFlag(ACFlags::CapitalStartWord, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
|
||||
pAutoCorrect->SetAutoCorrFlag(ACFlags::CapitalStartSentence, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
|
||||
pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgWeightUnderl, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
|
||||
pAutoCorrect->SetAutoCorrFlag(ACFlags::SetINetAttr, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
|
||||
pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgToEnEmDash, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
|
||||
pAutoCorrect->SetAutoCorrFlag(ACFlags::IgnoreDoubleSpace, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
|
||||
pAutoCorrect->SetAutoCorrFlag(ACFlags::CorrectCapsLock, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
|
||||
|
||||
bool bReturn = nFlags != pAutoCorrect->GetFlags();
|
||||
if(bReturn )
|
||||
@@ -243,8 +241,8 @@ void OfaAutocorrOptionsPage::InsertEntry(const OUString& rTxt)
|
||||
{
|
||||
m_xCheckLB->append();
|
||||
const int nRow = m_xCheckLB->n_children() - 1;
|
||||
m_xCheckLB->set_toggle(nRow, TRISTATE_FALSE, CBCOL_FIRST);
|
||||
m_xCheckLB->set_text(nRow, rTxt, 1);
|
||||
m_xCheckLB->set_toggle(nRow, TRISTATE_FALSE);
|
||||
m_xCheckLB->set_text(nRow, rTxt, 0);
|
||||
}
|
||||
|
||||
void OfaAutocorrOptionsPage::Reset( const SfxItemSet* )
|
||||
@@ -265,14 +263,14 @@ void OfaAutocorrOptionsPage::Reset( const SfxItemSet* )
|
||||
InsertEntry(m_sAccidentalCaps);
|
||||
|
||||
int nPos = 0;
|
||||
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->set_toggle( nPos++, bool(nFlags & ACFlags::Autocorrect) ? TRISTATE_TRUE : TRISTATE_FALSE );
|
||||
m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::CapitalStartWord) ? TRISTATE_TRUE : TRISTATE_FALSE );
|
||||
m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::CapitalStartSentence) ? TRISTATE_TRUE : TRISTATE_FALSE );
|
||||
m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::ChgWeightUnderl) ? TRISTATE_TRUE : TRISTATE_FALSE );
|
||||
m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::SetINetAttr) ? TRISTATE_TRUE : TRISTATE_FALSE );
|
||||
m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::ChgToEnEmDash) ? TRISTATE_TRUE : TRISTATE_FALSE );
|
||||
m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::IgnoreDoubleSpace) ? TRISTATE_TRUE : TRISTATE_FALSE );
|
||||
m_xCheckLB->set_toggle( nPos++, bool(nFlags & ACFlags::CorrectCapsLock) ? TRISTATE_TRUE : TRISTATE_FALSE );
|
||||
|
||||
m_xCheckLB->thaw();
|
||||
}
|
||||
@@ -374,6 +372,7 @@ OfaSwAutoFmtOptionsPage::OfaSwAutoFmtOptionsPage(weld::Container* pPage, weld::D
|
||||
{
|
||||
m_xCheckLB->connect_changed(LINK(this, OfaSwAutoFmtOptionsPage, SelectHdl));
|
||||
m_xCheckLB->connect_row_activated(LINK(this, OfaSwAutoFmtOptionsPage, DoubleClickEditHdl));
|
||||
m_xCheckLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xCheckLB->get_pixel_size(m_xCheckLB->get_column_title(0)).Width() * 2);
|
||||
@@ -1578,6 +1577,7 @@ OfaQuoteTabPage::OfaQuoteTabPage(weld::Container* pPage, weld::DialogController*
|
||||
|
||||
if ( bShowSWOptions )
|
||||
{
|
||||
m_xSwCheckLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xSwCheckLB->get_pixel_size(m_xSwCheckLB->get_column_title(0)).Width() * 2);
|
||||
aWidths.push_back(m_xSwCheckLB->get_pixel_size(m_xSwCheckLB->get_column_title(1)).Width() * 2);
|
||||
@@ -1586,9 +1586,7 @@ OfaQuoteTabPage::OfaQuoteTabPage(weld::Container* pPage, weld::DialogController*
|
||||
}
|
||||
else
|
||||
{
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xSwCheckLB->get_checkbox_column_width());
|
||||
m_xCheckLB->set_column_fixed_widths(aWidths);
|
||||
m_xCheckLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
m_xSwCheckLB->hide();
|
||||
}
|
||||
|
||||
@@ -1619,9 +1617,9 @@ bool OfaQuoteTabPage::FillItemSet( SfxItemSet* )
|
||||
if (m_xCheckLB->get_visible())
|
||||
{
|
||||
int nPos = 0;
|
||||
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);
|
||||
pAutoCorrect->SetAutoCorrFlag(ACFlags::TransliterateRTL, m_xCheckLB->get_toggle(nPos++, CBCOL_FIRST) == TRISTATE_TRUE);
|
||||
pAutoCorrect->SetAutoCorrFlag(ACFlags::AddNonBrkSpace, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
|
||||
pAutoCorrect->SetAutoCorrFlag(ACFlags::ChgOrdinalNumber, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
|
||||
pAutoCorrect->SetAutoCorrFlag(ACFlags::TransliterateRTL, m_xCheckLB->get_toggle(nPos++) == TRISTATE_TRUE);
|
||||
}
|
||||
|
||||
bool bModified = false;
|
||||
@@ -1723,14 +1721,16 @@ void OfaQuoteTabPage::Reset( const SfxItemSet* )
|
||||
m_xCheckLB->freeze();
|
||||
m_xCheckLB->clear();
|
||||
|
||||
CreateEntry(*m_xCheckLB, sNonBrkSpace, CBCOL_FIRST, 1);
|
||||
CreateEntry(*m_xCheckLB, sOrdinal, CBCOL_FIRST, 1);
|
||||
CreateEntry(*m_xCheckLB, sTransliterateRTL, CBCOL_FIRST, 1);
|
||||
|
||||
int nPos = 0;
|
||||
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->set_toggle(nPos++, bool(nFlags & ACFlags::TransliterateRTL) ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
|
||||
m_xCheckLB->append();
|
||||
m_xCheckLB->set_toggle(nPos, bool(nFlags & ACFlags::AddNonBrkSpace) ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xCheckLB->set_text(nPos++, sNonBrkSpace, 0);
|
||||
m_xCheckLB->append();
|
||||
m_xCheckLB->set_toggle(nPos, bool(nFlags & ACFlags::ChgOrdinalNumber) ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xCheckLB->set_text(nPos++, sOrdinal, 0);
|
||||
m_xCheckLB->append();
|
||||
m_xCheckLB->set_toggle(nPos, bool(nFlags & ACFlags::TransliterateRTL) ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xCheckLB->set_text(nPos++, sTransliterateRTL, 0);
|
||||
|
||||
m_xCheckLB->thaw();
|
||||
}
|
||||
@@ -2134,9 +2134,7 @@ OfaSmartTagOptionsTabPage::OfaSmartTagOptionsTabPage(weld::Container* pPage, wel
|
||||
m_xSmartTagTypesLB->set_size_request(m_xSmartTagTypesLB->get_approximate_digit_width() * 50,
|
||||
m_xSmartTagTypesLB->get_height_rows(6));
|
||||
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xSmartTagTypesLB->get_checkbox_column_width());
|
||||
m_xSmartTagTypesLB->set_column_fixed_widths(aWidths);
|
||||
m_xSmartTagTypesLB->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
|
||||
// set the handlers:
|
||||
m_xMainCB->connect_toggled(LINK(this, OfaSmartTagOptionsTabPage, CheckHdl));
|
||||
@@ -2218,8 +2216,8 @@ 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 ? TRISTATE_TRUE : TRISTATE_FALSE, CBCOL_FIRST);
|
||||
m_xSmartTagTypesLB->set_text(nRow, aLBEntry, 1);
|
||||
m_xSmartTagTypesLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xSmartTagTypesLB->set_text(nRow, aLBEntry, 0);
|
||||
m_xSmartTagTypesLB->set_id(nRow, OUString::number(reinterpret_cast<sal_Int64>(new ImplSmartTagLBUserData(aSmartTagType, xRec, j))));
|
||||
}
|
||||
}
|
||||
@@ -2293,7 +2291,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) == TRISTATE_TRUE;
|
||||
const bool bChecked = m_xSmartTagTypesLB->get_toggle(i) == TRISTATE_TRUE;
|
||||
const bool bIsCurrentlyEnabled = pSmartTagMgr->IsSmartTagTypeEnabled( pUserData->maSmartTagType );
|
||||
|
||||
bModifiedSmartTagTypes = bModifiedSmartTagTypes || ( !bChecked != !bIsCurrentlyEnabled );
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.22.1 -->
|
||||
<!-- Generated with glade 3.22.2 -->
|
||||
<interface domain="cui">
|
||||
<requires lib="gtk+" version="3.18"/>
|
||||
<object class="GtkTreeStore" id="liststore1">
|
||||
@@ -8,6 +8,8 @@
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name check2 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name check3 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name text -->
|
||||
<column type="gchararray"/>
|
||||
<!-- column-name id -->
|
||||
@@ -16,10 +18,14 @@
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checkvis2 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checkvis3 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checktri1 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checktri2 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checktri3 -->
|
||||
<column type="gboolean"/>
|
||||
</columns>
|
||||
</object>
|
||||
<object class="GtkBox" id="ApplyAutoFmtPage">
|
||||
@@ -121,11 +127,18 @@
|
||||
<property name="spacing">6</property>
|
||||
<property name="title" translatable="yes" context="applyautofmtpage|m">[M]</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="cellrenderer0"/>
|
||||
<attributes>
|
||||
<attribute name="visible">5</attribute>
|
||||
<attribute name="active">0</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="cellrenderer1"/>
|
||||
<attributes>
|
||||
<attribute name="visible">4</attribute>
|
||||
<attribute name="active">0</attribute>
|
||||
<attribute name="visible">6</attribute>
|
||||
<attribute name="active">1</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
@@ -139,8 +152,8 @@
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="cellrenderer2"/>
|
||||
<attributes>
|
||||
<attribute name="visible">5</attribute>
|
||||
<attribute name="active">1</attribute>
|
||||
<attribute name="visible">7</attribute>
|
||||
<attribute name="active">2</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
@@ -152,7 +165,7 @@
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderer3"/>
|
||||
<attributes>
|
||||
<attribute name="text">2</attribute>
|
||||
<attribute name="text">3</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.22.1 -->
|
||||
<!-- Generated with glade 3.22.2 -->
|
||||
<interface domain="cui">
|
||||
<requires lib="gtk+" version="3.18"/>
|
||||
<object class="GtkTreeStore" id="liststore1">
|
||||
@@ -8,6 +8,8 @@
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name check2 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name check3 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name text -->
|
||||
<column type="gchararray"/>
|
||||
<!-- column-name id -->
|
||||
@@ -16,10 +18,14 @@
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checkvis2 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checkvis3 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checktri1 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checktri2 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checktri3 -->
|
||||
<column type="gboolean"/>
|
||||
</columns>
|
||||
</object>
|
||||
<object class="GtkTreeStore" id="liststore2">
|
||||
@@ -86,10 +92,17 @@
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="cellrenderer1"/>
|
||||
<attributes>
|
||||
<attribute name="visible">4</attribute>
|
||||
<attribute name="visible">5</attribute>
|
||||
<attribute name="active">0</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="cellrenderer9"/>
|
||||
<attributes>
|
||||
<attribute name="visible">6</attribute>
|
||||
<attribute name="active">1</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -101,8 +114,8 @@
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="cellrenderer2"/>
|
||||
<attributes>
|
||||
<attribute name="visible">5</attribute>
|
||||
<attribute name="active">1</attribute>
|
||||
<attribute name="visible">7</attribute>
|
||||
<attribute name="active">2</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
@@ -114,7 +127,7 @@
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderer3"/>
|
||||
<attributes>
|
||||
<attribute name="text">2</attribute>
|
||||
<attribute name="text">3</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.22.1 -->
|
||||
<!-- Generated with glade 3.22.2 -->
|
||||
<interface domain="cui">
|
||||
<requires lib="gtk+" version="3.18"/>
|
||||
<object class="GtkTreeStore" id="liststore1">
|
||||
@@ -26,7 +26,7 @@
|
||||
<property name="default_width">0</property>
|
||||
<property name="type_hint">normal</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<child>
|
||||
<child type="titlebar">
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child internal-child="vbox">
|
||||
@@ -193,6 +193,7 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="vexpand">True</property>
|
||||
<property name="model">liststore1</property>
|
||||
<property name="search_column">0</property>
|
||||
@@ -204,7 +205,7 @@
|
||||
<object class="GtkTreeViewColumn" id="treeviewcolumn4">
|
||||
<property name="resizable">True</property>
|
||||
<property name="spacing">6</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<property name="title" translatable="yes" context="certdialog|profile">Profile</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="cellrenderer5">
|
||||
<property name="radio">True</property>
|
||||
@@ -214,13 +215,6 @@
|
||||
<attribute name="active">0</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="treeviewcolumn5">
|
||||
<property name="resizable">True</property>
|
||||
<property name="spacing">6</property>
|
||||
<property name="title" translatable="yes" context="certdialog|profile">Profile</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderer4"/>
|
||||
<attributes>
|
||||
|
||||
@@ -557,22 +557,12 @@
|
||||
<attribute name="active">0</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="treeviewcolumn9">
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererPixbuf" id="cellrenderertext9"/>
|
||||
<attributes>
|
||||
<attribute name="pixbuf">1</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="treeviewcolumn10">
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderertext10"/>
|
||||
<attributes>
|
||||
@@ -620,10 +610,6 @@
|
||||
<attribute name="pixbuf">0</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="treeviewcolumn33">
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderertext22"/>
|
||||
<attributes>
|
||||
|
||||
@@ -181,7 +181,7 @@
|
||||
<object class="GtkTreeViewColumn" id="treeviewcolumn4">
|
||||
<property name="resizable">True</property>
|
||||
<property name="spacing">6</property>
|
||||
<property name="alignment">0.5</property>
|
||||
<property name="title" translatable="yes" context="multipathdialog|pathlist">Path list</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="cellrenderer5">
|
||||
<property name="radio">True</property>
|
||||
@@ -191,13 +191,6 @@
|
||||
<attribute name="active">0</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="treeviewcolumn5">
|
||||
<property name="resizable">True</property>
|
||||
<property name="spacing">6</property>
|
||||
<property name="title" translatable="yes" context="multipathdialog|pathlist">Path list</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderer4"/>
|
||||
<attributes>
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.22.1 -->
|
||||
<!-- Generated with glade 3.22.2 -->
|
||||
<interface domain="cui">
|
||||
<requires lib="gtk+" version="3.18"/>
|
||||
<object class="GtkTreeStore" id="liststore1">
|
||||
<columns>
|
||||
<!-- column-name check1 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name check2 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name text -->
|
||||
<column type="gchararray"/>
|
||||
<!-- column-name text2 -->
|
||||
@@ -14,8 +16,12 @@
|
||||
<column type="gchararray"/>
|
||||
<!-- column-name checkvis1 -->
|
||||
<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="OptAdvancedPage">
|
||||
@@ -194,10 +200,19 @@
|
||||
<property name="radio">True</property>
|
||||
</object>
|
||||
<attributes>
|
||||
<attribute name="visible">4</attribute>
|
||||
<attribute name="visible">5</attribute>
|
||||
<attribute name="active">0</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="cellrenderer9">
|
||||
<property name="radio">True</property>
|
||||
</object>
|
||||
<attributes>
|
||||
<attribute name="visible">6</attribute>
|
||||
<attribute name="active">1</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -208,7 +223,7 @@
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderer4"/>
|
||||
<attributes>
|
||||
<attribute name="text">1</attribute>
|
||||
<attribute name="text">2</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
@@ -221,7 +236,7 @@
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderer1"/>
|
||||
<attributes>
|
||||
<attribute name="text">2</attribute>
|
||||
<attribute name="text">3</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
@@ -275,6 +290,9 @@
|
||||
<property name="top_attach">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.22.1 -->
|
||||
<!-- Generated with glade 3.22.2 -->
|
||||
<interface domain="cui">
|
||||
<requires lib="gtk+" version="3.18"/>
|
||||
<object class="GtkTreeStore" id="liststore1">
|
||||
@@ -8,18 +8,24 @@
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name check2 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name check3 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name text -->
|
||||
<column type="gchararray"/>
|
||||
<!-- column-name id -->
|
||||
<column type="gchararray"/>
|
||||
<!-- column-name checkvis1 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checktri1 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checkvis2 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checkvis3 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checktri1 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checktri2 -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name checktri3 -->
|
||||
<column type="gboolean"/>
|
||||
</columns>
|
||||
</object>
|
||||
<object class="GtkGrid" id="OptFilterPage">
|
||||
@@ -84,10 +90,17 @@
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="cellrenderer5"/>
|
||||
<attributes>
|
||||
<attribute name="visible">4</attribute>
|
||||
<attribute name="visible">5</attribute>
|
||||
<attribute name="active">0</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="cellrenderer8"/>
|
||||
<attributes>
|
||||
<attribute name="visible">6</attribute>
|
||||
<attribute name="active">1</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -99,8 +112,8 @@
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="cellrenderer7"/>
|
||||
<attributes>
|
||||
<attribute name="visible">4</attribute>
|
||||
<attribute name="active">1</attribute>
|
||||
<attribute name="visible">7</attribute>
|
||||
<attribute name="active">2</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
@@ -112,7 +125,7 @@
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderer4"/>
|
||||
<attributes>
|
||||
<attribute name="text">2</attribute>
|
||||
<attribute name="text">3</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
@@ -137,6 +137,7 @@
|
||||
<object class="GtkTreeViewColumn" id="treeviewcolumn1">
|
||||
<property name="resizable">True</property>
|
||||
<property name="spacing">6</property>
|
||||
<property name="title" translatable="yes" context="optfontspage|always">Always</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="cellrenderer1"/>
|
||||
<attributes>
|
||||
@@ -144,13 +145,6 @@
|
||||
<attribute name="active">0</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="treeviewcolumn4">
|
||||
<property name="resizable">True</property>
|
||||
<property name="spacing">6</property>
|
||||
<property name="title" translatable="yes" context="optfontspage|always">Always</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="cellrenderer5"/>
|
||||
<attributes>
|
||||
|
||||
@@ -68,9 +68,9 @@ TableTreeListBox::TableTreeListBox(std::unique_ptr<weld::TreeView> xTreeView)
|
||||
, m_bVirtualRoot(false)
|
||||
, m_bNoEmptyFolders(false)
|
||||
, m_bShowToggles(true)
|
||||
, m_nTextColumn(1)
|
||||
, m_xTreeView(std::move(xTreeView))
|
||||
{
|
||||
m_xTreeView->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
}
|
||||
|
||||
void OTableTreeListBox::implSetDefaultImages()
|
||||
@@ -359,7 +359,6 @@ void OTableTreeListBox::UpdateTableList( const Reference< XConnection >& _rxConn
|
||||
void TableTreeListBox::DisableCheckButtons()
|
||||
{
|
||||
m_bShowToggles = false;
|
||||
m_nTextColumn = 0;
|
||||
}
|
||||
|
||||
void TableTreeListBox::UpdateTableList( const Reference< XConnection >& _rxConnection, const TNames& _rTables )
|
||||
@@ -389,8 +388,9 @@ void TableTreeListBox::UpdateTableList( const Reference< XConnection >& _rxConne
|
||||
m_xTreeView->insert(nullptr, -1, nullptr, &sId, nullptr, nullptr, false, xRet.get());
|
||||
m_xTreeView->set_image(*xRet, sImageId, -1);
|
||||
if (m_bShowToggles)
|
||||
m_xTreeView->set_toggle(*xRet, TRISTATE_FALSE, 0);
|
||||
m_xTreeView->set_text(*xRet, sRootEntryText, m_nTextColumn);
|
||||
m_xTreeView->set_toggle(*xRet, TRISTATE_FALSE);
|
||||
m_xTreeView->set_text(*xRet, sRootEntryText, 0);
|
||||
m_xTreeView->set_text_emphasis(*xRet, false, 0);
|
||||
}
|
||||
|
||||
if ( _rTables.empty() )
|
||||
@@ -434,8 +434,9 @@ void TableTreeListBox::UpdateTableList( const Reference< XConnection >& _rxConne
|
||||
m_xTreeView->insert(xRootEntry.get(), -1, nullptr, &sId, nullptr, nullptr, false, xRet.get());
|
||||
m_xTreeView->set_image(*xRet, sImageId, -1);
|
||||
if (m_bShowToggles)
|
||||
m_xTreeView->set_toggle(*xRet, TRISTATE_FALSE, 0);
|
||||
m_xTreeView->set_text(*xRet, folderName, m_nTextColumn);
|
||||
m_xTreeView->set_toggle(*xRet, TRISTATE_FALSE);
|
||||
m_xTreeView->set_text(*xRet, folderName, 0);
|
||||
m_xTreeView->set_text_emphasis(*xRet, false, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -451,14 +452,14 @@ void TableTreeListBox::UpdateTableList( const Reference< XConnection >& _rxConne
|
||||
|
||||
bool TableTreeListBox::isWildcardChecked(const weld::TreeIter& rEntry)
|
||||
{
|
||||
return m_xTreeView->get_text_emphasis(rEntry, m_nTextColumn);
|
||||
return m_xTreeView->get_text_emphasis(rEntry, 0);
|
||||
}
|
||||
|
||||
void TableTreeListBox::checkWildcard(weld::TreeIter& rEntry)
|
||||
{
|
||||
if (!m_bShowToggles)
|
||||
return;
|
||||
m_xTreeView->set_toggle(rEntry, TRISTATE_TRUE, 0);
|
||||
m_xTreeView->set_toggle(rEntry, TRISTATE_TRUE);
|
||||
checkedButton_noBroadcast(rEntry);
|
||||
}
|
||||
|
||||
@@ -489,7 +490,7 @@ void TableTreeListBox::checkedButton_noBroadcast(const weld::TreeIter& rEntry)
|
||||
{
|
||||
if (!m_bShowToggles)
|
||||
return;
|
||||
TriState eState = m_xTreeView->get_toggle(rEntry, 0);
|
||||
TriState eState = m_xTreeView->get_toggle(rEntry);
|
||||
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
|
||||
@@ -500,7 +501,7 @@ void TableTreeListBox::checkedButton_noBroadcast(const weld::TreeIter& rEntry)
|
||||
bool bSiblingEntry = m_xTreeView->iter_next_sibling(*xSiblingEntry);
|
||||
while (bChildEntry && (!bSiblingEntry || !xChildEntry->equal(*xSiblingEntry)))
|
||||
{
|
||||
m_xTreeView->set_toggle(*xChildEntry, eState, 0);
|
||||
m_xTreeView->set_toggle(*xChildEntry, eState);
|
||||
bChildEntry = m_xTreeView->iter_next(*xChildEntry);
|
||||
}
|
||||
}
|
||||
@@ -508,7 +509,7 @@ void TableTreeListBox::checkedButton_noBroadcast(const weld::TreeIter& rEntry)
|
||||
if (m_xTreeView->is_selected(rEntry))
|
||||
{
|
||||
m_xTreeView->selected_foreach([this, eState](weld::TreeIter& rSelected){
|
||||
m_xTreeView->set_toggle(rSelected, eState, 0);
|
||||
m_xTreeView->set_toggle(rSelected, eState);
|
||||
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));
|
||||
@@ -517,7 +518,7 @@ void TableTreeListBox::checkedButton_noBroadcast(const weld::TreeIter& rEntry)
|
||||
bool bSiblingEntry = m_xTreeView->iter_next_sibling(*xSiblingEntry);
|
||||
while (bChildEntry && (!bSiblingEntry || !xChildEntry->equal(*xSiblingEntry)))
|
||||
{
|
||||
m_xTreeView->set_toggle(*xChildEntry, eState, 0);
|
||||
m_xTreeView->set_toggle(*xChildEntry, eState);
|
||||
bChildEntry = m_xTreeView->iter_next(*xChildEntry);
|
||||
}
|
||||
}
|
||||
@@ -572,7 +573,7 @@ void TableTreeListBox::implEmphasize(const weld::TreeIter& rEntry, bool _bChecke
|
||||
|| bAllObjectsEntryAffected // or it is the "all objects" entry
|
||||
)
|
||||
{
|
||||
m_xTreeView->set_text_emphasis(rEntry, _bChecked, m_nTextColumn);
|
||||
m_xTreeView->set_text_emphasis(rEntry, _bChecked, 0);
|
||||
}
|
||||
|
||||
if (_bUpdateDescendants)
|
||||
@@ -710,8 +711,9 @@ void TableTreeListBox::implAddEntry(
|
||||
m_xTreeView->insert(xParentEntry.get(), -1, nullptr, &sId, nullptr, nullptr, false, xFolder.get());
|
||||
m_xTreeView->set_image(*xFolder, sImageId, -1);
|
||||
if (m_bShowToggles)
|
||||
m_xTreeView->set_toggle(*xFolder, TRISTATE_FALSE, 0);
|
||||
m_xTreeView->set_text(*xFolder, rFirstName, m_nTextColumn);
|
||||
m_xTreeView->set_toggle(*xFolder, TRISTATE_FALSE);
|
||||
m_xTreeView->set_text(*xFolder, rFirstName, 0);
|
||||
m_xTreeView->set_text_emphasis(*xFolder, false, 0);
|
||||
}
|
||||
xParentEntry = std::move(xFolder);
|
||||
}
|
||||
@@ -727,8 +729,9 @@ void TableTreeListBox::implAddEntry(
|
||||
m_xTreeView->insert(xParentEntry.get(), -1, nullptr, &sId, nullptr, nullptr, false, xFolder.get());
|
||||
m_xTreeView->set_image(*xFolder, sImageId, -1);
|
||||
if (m_bShowToggles)
|
||||
m_xTreeView->set_toggle(*xFolder, TRISTATE_FALSE, 0);
|
||||
m_xTreeView->set_text(*xFolder, rSecondName, m_nTextColumn);
|
||||
m_xTreeView->set_toggle(*xFolder, TRISTATE_FALSE);
|
||||
m_xTreeView->set_text(*xFolder, rSecondName, 0);
|
||||
m_xTreeView->set_text_emphasis(*xFolder, false, 0);
|
||||
}
|
||||
xParentEntry = std::move(xFolder);
|
||||
}
|
||||
@@ -745,8 +748,9 @@ void TableTreeListBox::implAddEntry(
|
||||
m_xTreeView->set_image(*xEntry, sImageId, -1);
|
||||
}
|
||||
if (m_bShowToggles)
|
||||
m_xTreeView->set_toggle(*xEntry, TRISTATE_FALSE, 0);
|
||||
m_xTreeView->set_text(*xEntry, sName, m_nTextColumn);
|
||||
m_xTreeView->set_toggle(*xEntry, TRISTATE_FALSE);
|
||||
m_xTreeView->set_text(*xEntry, sName, 0);
|
||||
m_xTreeView->set_text_emphasis(*xEntry, false, 0);
|
||||
}
|
||||
|
||||
NamedDatabaseObject OTableTreeListBox::describeObject( SvTreeListEntry* _pEntry )
|
||||
@@ -935,7 +939,7 @@ TriState TableTreeListBox::implDetermineState(weld::TreeIter& rEntry)
|
||||
if (!m_bShowToggles)
|
||||
return TRISTATE_FALSE;
|
||||
|
||||
TriState eState = m_xTreeView->get_toggle(rEntry, 0);
|
||||
TriState eState = m_xTreeView->get_toggle(rEntry);
|
||||
if (!m_xTreeView->iter_has_child(rEntry))
|
||||
// nothing to do in this bottom-up routine if there are no children ...
|
||||
return eState;
|
||||
@@ -996,7 +1000,7 @@ TriState TableTreeListBox::implDetermineState(weld::TreeIter& rEntry)
|
||||
}
|
||||
|
||||
// finally set the entry to the state we just determined
|
||||
m_xTreeView->set_toggle(rEntry, eState, 0);
|
||||
m_xTreeView->set_toggle(rEntry, eState);
|
||||
|
||||
return eState;
|
||||
}
|
||||
|
||||
@@ -138,7 +138,7 @@ namespace dbaui
|
||||
|
||||
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_xTablesList->GetWidget().set_toggle(*xEntry, TRISTATE_TRUE);
|
||||
}
|
||||
m_xTablesList->CheckButtons();
|
||||
}
|
||||
@@ -299,7 +299,7 @@ namespace dbaui
|
||||
{
|
||||
do
|
||||
{
|
||||
m_xTablesList->GetWidget().set_toggle(*xEntry, _bCheck ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xTablesList->GetWidget().set_toggle(*xEntry, _bCheck ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
}
|
||||
while (m_xTablesList->GetWidget().iter_next(*xEntry));
|
||||
}
|
||||
@@ -350,7 +350,7 @@ namespace dbaui
|
||||
std::unique_ptr<weld::TreeIter> xSchema;
|
||||
std::unique_ptr<weld::TreeIter> xCatalog;
|
||||
|
||||
if (m_xTablesList->GetWidget().get_toggle(*xEntry, 0) == TRISTATE_TRUE && !m_xTablesList->GetWidget().iter_has_child(*xEntry))
|
||||
if (m_xTablesList->GetWidget().get_toggle(*xEntry) == 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;
|
||||
|
||||
@@ -143,7 +143,6 @@ class TableTreeListBox
|
||||
bool m_bVirtualRoot; // should the first entry be visible
|
||||
bool m_bNoEmptyFolders; // should empty catalogs/schematas be prevented from being displayed?
|
||||
bool m_bShowToggles; // show toggle buttons
|
||||
int m_nTextColumn; // column text is in, depends on if toggles are shown
|
||||
std::unique_ptr<weld::TreeView> m_xTreeView;
|
||||
|
||||
public:
|
||||
|
||||
@@ -58,9 +58,7 @@ OWizNameMatching::OWizNameMatching(weld::Container* pPage, OCopyTableWizard* pWi
|
||||
m_xAll->connect_clicked(LINK(this,OWizNameMatching,AllNoneClickHdl));
|
||||
m_xNone->connect_clicked(LINK(this,OWizNameMatching,AllNoneClickHdl));
|
||||
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xCTRL_LEFT->get_checkbox_column_width());
|
||||
m_xCTRL_LEFT->set_column_fixed_widths(aWidths);
|
||||
m_xCTRL_LEFT->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
|
||||
m_xCTRL_LEFT->connect_changed(LINK(this,OWizNameMatching,TableListClickHdl));
|
||||
m_xCTRL_RIGHT->connect_changed(LINK(this,OWizNameMatching,TableListRightSelectHdl));
|
||||
@@ -132,7 +130,7 @@ bool OWizNameMatching::LeavePage()
|
||||
++nPos;
|
||||
}
|
||||
|
||||
if (m_xCTRL_LEFT->get_toggle(*xLeftEntry, 0) == TRISTATE_TRUE)
|
||||
if (m_xCTRL_LEFT->get_toggle(*xLeftEntry) == TRISTATE_TRUE)
|
||||
{
|
||||
OFieldDescription* pDestField = reinterpret_cast<OFieldDescription*>(m_xCTRL_RIGHT->get_id(*xRightEntry).toInt64());
|
||||
OSL_ENSURE(pDestField,"OWizNameMatching: OColumn can not be null!");
|
||||
@@ -301,7 +299,7 @@ IMPL_LINK(OWizNameMatching, AllNoneClickHdl, weld::Button&, rButton, void)
|
||||
{
|
||||
bool bAll = &rButton == m_xAll.get();
|
||||
m_xCTRL_LEFT->all_foreach([this, bAll](weld::TreeIter& rEntry){
|
||||
m_xCTRL_LEFT->set_toggle(rEntry, bAll ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xCTRL_LEFT->set_toggle(rEntry, bAll ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
@@ -312,17 +310,15 @@ void OWizNameMatching::FillListBox(weld::TreeView& rTreeView, const ODatabaseExp
|
||||
|
||||
int nRow(0);
|
||||
|
||||
const int nTextCol = bCheckButtons ? 1 : 0;
|
||||
|
||||
for (auto const& elem : rList)
|
||||
{
|
||||
rTreeView.append();
|
||||
if (bCheckButtons)
|
||||
{
|
||||
bool bChecked = !elem->second->IsAutoIncrement();
|
||||
rTreeView.set_toggle(nRow, bChecked ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
rTreeView.set_toggle(nRow, bChecked ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
}
|
||||
rTreeView.set_text(nRow, elem->first, nTextCol);
|
||||
rTreeView.set_text(nRow, elem->first, 0);
|
||||
rTreeView.set_id(nRow, OUString::number(reinterpret_cast<sal_Int64>(elem->second)));
|
||||
++nRow;
|
||||
}
|
||||
|
||||
@@ -455,9 +455,7 @@ UpdateDialog::UpdateDialog(
|
||||
m_xDescriptions->set_size_request(nWidth, nHeight);
|
||||
m_xUpdates->set_size_request(nWidth, nHeight);
|
||||
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xUpdates->get_checkbox_column_width());
|
||||
m_xUpdates->set_column_fixed_widths(aWidths);
|
||||
m_xUpdates->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
|
||||
OSL_ASSERT(updateData != nullptr);
|
||||
|
||||
@@ -492,7 +490,7 @@ IMPL_LINK(UpdateDialog, entryToggled, const weld::TreeView::iter_col&, rRowCol,
|
||||
// error's can't be enabled
|
||||
const UpdateDialog::Index* p = reinterpret_cast<UpdateDialog::Index const *>(m_xUpdates->get_id(rRowCol.first).toInt64());
|
||||
if (p->m_eKind == SPECIFIC_ERROR)
|
||||
m_xUpdates->set_toggle(rRowCol.first, TRISTATE_FALSE, 0);
|
||||
m_xUpdates->set_toggle(rRowCol.first, TRISTATE_FALSE);
|
||||
|
||||
enableOk();
|
||||
}
|
||||
@@ -501,8 +499,8 @@ void UpdateDialog::insertItem(UpdateDialog::Index *pEntry, bool bEnabledCheckBox
|
||||
{
|
||||
int nEntry = m_xUpdates->n_children();
|
||||
m_xUpdates->append();
|
||||
m_xUpdates->set_toggle(nEntry, bEnabledCheckBox ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xUpdates->set_text(nEntry, pEntry->m_aName, 1);
|
||||
m_xUpdates->set_toggle(nEntry, bEnabledCheckBox ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xUpdates->set_text(nEntry, pEntry->m_aName, 0);
|
||||
m_xUpdates->set_id(nEntry, OUString::number(reinterpret_cast<sal_Int64>(pEntry)));
|
||||
}
|
||||
|
||||
@@ -587,7 +585,7 @@ void UpdateDialog::enableOk() {
|
||||
if (!m_xChecking->get_visible()) {
|
||||
int nChecked = 0;
|
||||
for (int i = 0, nCount = m_xUpdates->n_children(); i < nCount; ++i) {
|
||||
if (m_xUpdates->get_toggle(i, 0) == TRISTATE_TRUE)
|
||||
if (m_xUpdates->get_toggle(i) == TRISTATE_TRUE)
|
||||
++nChecked;
|
||||
}
|
||||
m_xOk->set_sensitive(nChecked != 0);
|
||||
@@ -987,7 +985,7 @@ IMPL_LINK_NOARG(UpdateDialog, okHandler, weld::Button&, void)
|
||||
UpdateDialog::Index const * p =
|
||||
reinterpret_cast< UpdateDialog::Index const * >(
|
||||
m_xUpdates->get_id(i).toInt64());
|
||||
if (p->m_eKind == ENABLED_UPDATE && m_xUpdates->get_toggle(i, 0) == TRISTATE_TRUE) {
|
||||
if (p->m_eKind == ENABLED_UPDATE && m_xUpdates->get_toggle(i) == TRISTATE_TRUE) {
|
||||
m_updateData.push_back( m_enabledUpdates[ p->m_nIndex ] );
|
||||
}
|
||||
}
|
||||
|
||||
+31
-9
@@ -747,6 +747,12 @@ public:
|
||||
virtual void set_mru_entries(const OUString& rEntries) = 0;
|
||||
};
|
||||
|
||||
enum class ColumnToggleType
|
||||
{
|
||||
Check,
|
||||
Radio
|
||||
};
|
||||
|
||||
class VCL_DLLPUBLIC TreeIter
|
||||
{
|
||||
private:
|
||||
@@ -759,6 +765,11 @@ public:
|
||||
virtual ~TreeIter() {}
|
||||
};
|
||||
|
||||
/* Model column indexes are considered to begin at 0, but with special columns
|
||||
before index 0. A expander image column (and an additional optional toggle
|
||||
button column when enable_toggle_buttons is used). Column index -1 is
|
||||
reserved to access those columns.
|
||||
*/
|
||||
class VCL_DLLPUBLIC TreeView : virtual public Container
|
||||
{
|
||||
public:
|
||||
@@ -899,8 +910,7 @@ public:
|
||||
*/
|
||||
void connect_row_activated(const Link<TreeView&, bool>& rLink) { m_aRowActivatedHdl = rLink; }
|
||||
|
||||
// Argument is a pair of row, col describing the node in non-tree mode.
|
||||
// If in tree mode, then retrieve the toggled node with get_cursor
|
||||
// Argument is a pair of iter, col describing the toggled node
|
||||
void connect_toggled(const Link<const iter_col&, void>& rLink) { m_aRadioToggleHdl = rLink; }
|
||||
|
||||
void connect_column_clicked(const Link<int, void>& rLink) { m_aColumnClickedHdl = rLink; }
|
||||
@@ -909,18 +919,28 @@ public:
|
||||
virtual OUString get_selected_text() const = 0;
|
||||
virtual OUString get_selected_id() const = 0;
|
||||
|
||||
// call before inserting any content and connecting to toggle signals,
|
||||
// an pre-inserted checkbutton column will exist at the start of every row
|
||||
// inserted after this call which can be accessed with col index -1
|
||||
virtual void enable_toggle_buttons(ColumnToggleType eType) = 0;
|
||||
|
||||
//by index
|
||||
virtual int get_selected_index() const = 0;
|
||||
//Don't select when frozen, select after thaw. Note selection doesn't survive a freeze.
|
||||
virtual void select(int pos) = 0;
|
||||
virtual void unselect(int pos) = 0;
|
||||
virtual void remove(int pos) = 0;
|
||||
// col index -1 gets the first text column
|
||||
virtual OUString get_text(int row, int col = -1) const = 0;
|
||||
// col index -1 sets the first text column
|
||||
virtual void set_text(int row, const OUString& rText, int col = -1) = 0;
|
||||
// col index -1 sets the first text column
|
||||
virtual void set_sensitive(int row, bool bSensitive, int col = -1) = 0;
|
||||
virtual void set_id(int row, const OUString& rId) = 0;
|
||||
virtual void set_toggle(int row, TriState eState, int col) = 0;
|
||||
virtual TriState get_toggle(int row, int col) const = 0;
|
||||
// col index -1 sets the expander toggle, enable_toggle_buttons must have been called to create that column
|
||||
virtual void set_toggle(int row, TriState eState, int col = -1) = 0;
|
||||
// col index -1 gets the expander toggle, enable_toggle_buttons must have been called to create that column
|
||||
virtual TriState get_toggle(int row, int col = -1) const = 0;
|
||||
// col index -1 sets the expander image
|
||||
virtual void set_image(int row, const OUString& rImage, int col = -1) = 0;
|
||||
// col index -1 sets the expander image
|
||||
@@ -1015,13 +1035,18 @@ public:
|
||||
virtual void set_extra_row_indent(const TreeIter& rIter, int nIndentLevel) = 0;
|
||||
virtual void expand_row(const TreeIter& rIter) = 0;
|
||||
virtual void collapse_row(const TreeIter& rIter) = 0;
|
||||
// col index -1 sets the first text column
|
||||
virtual void set_text(const TreeIter& rIter, const OUString& rStr, int col = -1) = 0;
|
||||
// col index -1 sets the first text column
|
||||
virtual void set_sensitive(const TreeIter& rIter, bool bSensitive, int col = -1) = 0;
|
||||
virtual void set_text_emphasis(const TreeIter& rIter, bool bOn, int col) = 0;
|
||||
virtual bool get_text_emphasis(const TreeIter& rIter, int col) const = 0;
|
||||
virtual void set_text_align(const TreeIter& rIter, double fAlign, int col) = 0;
|
||||
virtual void set_toggle(const TreeIter& rIter, TriState bOn, int col) = 0;
|
||||
virtual TriState get_toggle(const TreeIter& rIter, int col) const = 0;
|
||||
// col index -1 sets the expander toggle, enable_toggle_buttons must have been called to create that column
|
||||
virtual void set_toggle(const TreeIter& rIter, TriState bOn, int col = -1) = 0;
|
||||
// col index -1 gets the expander toggle, enable_toggle_buttons must have been called to create that column
|
||||
virtual TriState get_toggle(const TreeIter& rIter, int col = -1) const = 0;
|
||||
// col index -1 gets the first text column
|
||||
virtual OUString get_text(const TreeIter& rIter, int col = -1) const = 0;
|
||||
virtual void set_id(const TreeIter& rIter, const OUString& rId) = 0;
|
||||
virtual OUString get_id(const TreeIter& rIter) const = 0;
|
||||
@@ -1138,9 +1163,6 @@ public:
|
||||
// remove the selected nodes
|
||||
virtual void remove_selection() = 0;
|
||||
|
||||
// call before inserting any content
|
||||
virtual void set_toggle_columns_as_radio() = 0;
|
||||
|
||||
virtual void vadjustment_set_value(int value) = 0;
|
||||
virtual int vadjustment_get_value() const = 0;
|
||||
|
||||
|
||||
@@ -216,17 +216,15 @@ ScDPDateGroupDlg::ScDPDateGroupDlg(weld::Window* pParent,
|
||||
maStartHelper.SetValue( rInfo.mbAutoStart, rInfo.mfStart );
|
||||
maEndHelper.SetValue( rInfo.mbAutoEnd, rInfo.mfEnd );
|
||||
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(mxLbUnits->get_checkbox_column_width());
|
||||
mxLbUnits->set_column_fixed_widths(aWidths);
|
||||
mxLbUnits->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
|
||||
if( nDatePart == 0 )
|
||||
nDatePart = css::sheet::DataPilotFieldGroupBy::MONTHS;
|
||||
for (size_t nIdx = 0; nIdx < SAL_N_ELEMENTS(aDatePartResIds); ++nIdx)
|
||||
{
|
||||
mxLbUnits->append();
|
||||
mxLbUnits->set_toggle(nIdx, (nDatePart & spnDateParts[ nIdx ]) ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
mxLbUnits->set_text(nIdx, ScResId(aDatePartResIds[nIdx]), 1);
|
||||
mxLbUnits->set_toggle(nIdx, (nDatePart & spnDateParts[ nIdx ]) ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
mxLbUnits->set_text(nIdx, ScResId(aDatePartResIds[nIdx]), 0);
|
||||
}
|
||||
|
||||
if( rInfo.mbDateValues )
|
||||
@@ -296,7 +294,7 @@ sal_Int32 ScDPDateGroupDlg::GetDatePart() const
|
||||
// return listbox contents for "units" mode
|
||||
sal_Int32 nDatePart = 0;
|
||||
for (int nIdx = 0, nCount = mxLbUnits->n_children(); nIdx < nCount; ++nIdx )
|
||||
if (mxLbUnits->get_toggle(nIdx, 0) == TRISTATE_TRUE)
|
||||
if (mxLbUnits->get_toggle(nIdx) == TRISTATE_TRUE)
|
||||
nDatePart |= spnDateParts[ nIdx ];
|
||||
return nDatePart;
|
||||
}
|
||||
@@ -328,7 +326,7 @@ namespace
|
||||
{
|
||||
for (int i = 0; i < rView.n_children(); ++i)
|
||||
{
|
||||
if (rView.get_toggle(i, 0) == TRISTATE_TRUE)
|
||||
if (rView.get_toggle(i) == TRISTATE_TRUE)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -94,13 +94,13 @@ bool lclFillListBox(weld::TreeView& rLBox, const vector<ScDPLabelData::Member>&
|
||||
{
|
||||
rLBox.append();
|
||||
int pos = rLBox.n_children() - 1;
|
||||
rLBox.set_toggle(pos, TRISTATE_FALSE, 0);
|
||||
rLBox.set_toggle(pos, TRISTATE_FALSE);
|
||||
OUString aName = rMember.getDisplayName();
|
||||
if (!aName.isEmpty())
|
||||
rLBox.set_text(pos, aName, 1);
|
||||
rLBox.set_text(pos, aName, 0);
|
||||
else
|
||||
{
|
||||
rLBox.set_text(pos, ScResId(STR_EMPTYDATA), 1);
|
||||
rLBox.set_text(pos, ScResId(STR_EMPTYDATA), 0);
|
||||
bEmpty = true;
|
||||
}
|
||||
}
|
||||
@@ -628,9 +628,7 @@ ScDPSubtotalOptDlg::ScDPSubtotalOptDlg(weld::Window* pParent, ScDPObject& rDPObj
|
||||
, mrDPObj(rDPObj)
|
||||
, maLabelData(rLabelData)
|
||||
{
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xLbHide->get_checkbox_column_width());
|
||||
m_xLbHide->set_column_fixed_widths(aWidths);
|
||||
m_xLbHide->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
|
||||
m_xLbSortBy->set_size_request(m_xLbSortBy->get_approximate_digit_width() * 18, -1);
|
||||
m_xLbHide->set_size_request(-1, m_xLbHide->get_height_rows(5));
|
||||
@@ -683,7 +681,7 @@ void ScDPSubtotalOptDlg::FillLabelData( ScDPLabelData& rLabelData ) const
|
||||
rLabelData.maMembers = maLabelData.maMembers;
|
||||
int nVisCount = m_xLbHide->n_children();
|
||||
for (int nPos = 0; nPos < nVisCount; ++nPos)
|
||||
rLabelData.maMembers[nPos].mbVisible = m_xLbHide->get_toggle(nPos, 0) == TRISTATE_FALSE;
|
||||
rLabelData.maMembers[nPos].mbVisible = m_xLbHide->get_toggle(nPos) == TRISTATE_FALSE;
|
||||
|
||||
// *** HIERARCHY ***
|
||||
|
||||
@@ -791,7 +789,7 @@ void ScDPSubtotalOptDlg::InitHideListBox()
|
||||
lclFillListBox(*m_xLbHide, maLabelData.maMembers);
|
||||
size_t n = maLabelData.maMembers.size();
|
||||
for (size_t i = 0; i < n; ++i)
|
||||
m_xLbHide->set_toggle(i, maLabelData.maMembers[i].mbVisible ? TRISTATE_FALSE : TRISTATE_TRUE, 0);
|
||||
m_xLbHide->set_toggle(i, maLabelData.maMembers[i].mbVisible ? TRISTATE_FALSE : TRISTATE_TRUE);
|
||||
bool bEnable = m_xLbHide->n_children() > 0;
|
||||
m_xHideFrame->set_sensitive(bEnable);
|
||||
}
|
||||
|
||||
@@ -57,9 +57,7 @@ ScTpSubTotalGroup::ScTpSubTotalGroup(weld::Container* pPage, weld::DialogControl
|
||||
mxLbColumns->set_size_request(-1, nHeight);
|
||||
mxLbFunctions->set_size_request(-1, nHeight);
|
||||
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(mxLbColumns->get_checkbox_column_width());
|
||||
mxLbColumns->set_column_fixed_widths(aWidths);
|
||||
mxLbColumns->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
|
||||
Init();
|
||||
}
|
||||
@@ -102,7 +100,7 @@ bool ScTpSubTotalGroup::DoReset( sal_uInt16 nGroupNo,
|
||||
// first we have to clear the listboxes...
|
||||
for (int nLbEntry = 0, nCount = mxLbColumns->n_children(); nLbEntry < nCount; ++nLbEntry)
|
||||
{
|
||||
mxLbColumns->set_toggle(nLbEntry, TRISTATE_FALSE, 0);
|
||||
mxLbColumns->set_toggle(nLbEntry, TRISTATE_FALSE);
|
||||
mxLbColumns->set_id(nLbEntry, "0");
|
||||
}
|
||||
mxLbFunctions->select(0);
|
||||
@@ -125,7 +123,7 @@ bool ScTpSubTotalGroup::DoReset( sal_uInt16 nGroupNo,
|
||||
{
|
||||
sal_uInt16 nCheckPos = GetFieldSelPos( pSubTotals[i] );
|
||||
|
||||
mxLbColumns->set_toggle(nCheckPos, TRISTATE_TRUE, 0);
|
||||
mxLbColumns->set_toggle(nCheckPos, TRISTATE_TRUE);
|
||||
mxLbColumns->set_id(nCheckPos, OUString::number(FuncToLbPos(pFunctions[i])));
|
||||
|
||||
if (i == 0 || nCheckPos < nFirstChecked)
|
||||
@@ -151,7 +149,7 @@ namespace
|
||||
int nRet = 0;
|
||||
for (sal_Int32 i=0, nEntryCount = rTreeView.n_children(); i < nEntryCount; ++i)
|
||||
{
|
||||
if (rTreeView.get_toggle(i, 0) == TRISTATE_TRUE)
|
||||
if (rTreeView.get_toggle(i) == TRISTATE_TRUE)
|
||||
++nRet;
|
||||
}
|
||||
return nRet;
|
||||
@@ -211,7 +209,7 @@ bool ScTpSubTotalGroup::DoFillItemSet( sal_uInt16 nGroupNo,
|
||||
|
||||
for ( sal_Int32 i=0, nCheck=0; i<nEntryCount; i++ )
|
||||
{
|
||||
if (mxLbColumns->get_toggle(i, 0) == TRISTATE_TRUE)
|
||||
if (mxLbColumns->get_toggle(i) == TRISTATE_TRUE)
|
||||
{
|
||||
OSL_ENSURE( nCheck <= nCheckCount,
|
||||
"Range error :-(" );
|
||||
@@ -261,8 +259,8 @@ void ScTpSubTotalGroup::FillListBoxes()
|
||||
nFieldArr[i] = col;
|
||||
mxLbGroup->insert_text(i+1, aFieldName);
|
||||
mxLbColumns->insert(i);
|
||||
mxLbColumns->set_toggle(i, TRISTATE_FALSE, 0);
|
||||
mxLbColumns->set_text(i, aFieldName, 1);
|
||||
mxLbColumns->set_toggle(i, TRISTATE_FALSE);
|
||||
mxLbColumns->set_text(i, aFieldName, 0);
|
||||
mxLbColumns->set_id(i, "0");
|
||||
i++;
|
||||
}
|
||||
@@ -359,7 +357,7 @@ void ScTpSubTotalGroup::SelectHdl(const weld::Widget *pLb)
|
||||
else if ( pLb == mxLbFunctions.get() )
|
||||
{
|
||||
mxLbColumns->set_id(nColumn, OUString::number(nFunction));
|
||||
mxLbColumns->set_toggle(nColumn, TRISTATE_TRUE, 0);
|
||||
mxLbColumns->set_toggle(nColumn, TRISTATE_TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,9 +59,7 @@ ScTableProtectionDlg::ScTableProtectionDlg(weld::Window* pParent)
|
||||
m_aDeleteColumns = m_xDeleteColumns->get_label();
|
||||
m_aDeleteRows = m_xDeleteRows->get_label();
|
||||
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xOptionsListBox->get_checkbox_column_width());
|
||||
m_xOptionsListBox->set_column_fixed_widths(aWidths);
|
||||
m_xOptionsListBox->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
|
||||
Init();
|
||||
}
|
||||
@@ -73,7 +71,7 @@ ScTableProtectionDlg::~ScTableProtectionDlg()
|
||||
void ScTableProtectionDlg::SetDialogData(const ScTableProtection& rData)
|
||||
{
|
||||
for (size_t i = 0; i < aOptions.size(); ++i)
|
||||
m_xOptionsListBox->set_toggle(i, rData.isOptionEnabled(aOptions[i]) ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xOptionsListBox->set_toggle(i, rData.isOptionEnabled(aOptions[i]) ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
}
|
||||
|
||||
void ScTableProtectionDlg::WriteData(ScTableProtection& rData) const
|
||||
@@ -84,15 +82,15 @@ void ScTableProtectionDlg::WriteData(ScTableProtection& rData) const
|
||||
rData.setPassword(m_xPassword1Edit->get_text());
|
||||
|
||||
for (size_t i = 0; i < aOptions.size(); ++i)
|
||||
rData.setOption(aOptions[i], m_xOptionsListBox->get_toggle(i, 0) == TRISTATE_TRUE);
|
||||
rData.setOption(aOptions[i], m_xOptionsListBox->get_toggle(i) == TRISTATE_TRUE);
|
||||
}
|
||||
|
||||
void ScTableProtectionDlg::InsertEntry(const OUString& rTxt)
|
||||
{
|
||||
m_xOptionsListBox->append();
|
||||
const int nRow = m_xOptionsListBox->n_children() - 1;
|
||||
m_xOptionsListBox->set_toggle(nRow, TRISTATE_FALSE, 0);
|
||||
m_xOptionsListBox->set_text(nRow, rTxt, 1);
|
||||
m_xOptionsListBox->set_toggle(nRow, TRISTATE_FALSE);
|
||||
m_xOptionsListBox->set_text(nRow, rTxt, 0);
|
||||
}
|
||||
|
||||
void ScTableProtectionDlg::Init()
|
||||
@@ -115,8 +113,8 @@ void ScTableProtectionDlg::Init()
|
||||
InsertEntry(m_aDeleteColumns);
|
||||
InsertEntry(m_aDeleteRows);
|
||||
|
||||
m_xOptionsListBox->set_toggle(0, TRISTATE_TRUE, 0);
|
||||
m_xOptionsListBox->set_toggle(1, TRISTATE_TRUE, 0);
|
||||
m_xOptionsListBox->set_toggle(0, TRISTATE_TRUE);
|
||||
m_xOptionsListBox->set_toggle(1, TRISTATE_TRUE);
|
||||
|
||||
m_xOptionsListBox->thaw();
|
||||
|
||||
|
||||
@@ -70,9 +70,7 @@ ScSolverOptionsDialog::ScSolverOptionsDialog(weld::Window* pParent,
|
||||
m_xLbSettings->set_size_request(m_xLbSettings->get_approximate_digit_width() * 32,
|
||||
m_xLbSettings->get_height_rows(6));
|
||||
|
||||
std::vector<int> aWidths;
|
||||
aWidths.push_back(m_xLbSettings->get_checkbox_column_width());
|
||||
m_xLbSettings->set_column_fixed_widths(aWidths);
|
||||
m_xLbSettings->enable_toggle_buttons(weld::ColumnToggleType::Check);
|
||||
|
||||
m_xLbEngine->connect_changed( LINK( this, ScSolverOptionsDialog, EngineSelectHdl ) );
|
||||
|
||||
@@ -138,7 +136,7 @@ const uno::Sequence<beans::PropertyValue>& ScSolverOptionsDialog::GetProperties(
|
||||
rValue <<= pStringItem->GetIntValue();
|
||||
}
|
||||
else
|
||||
rValue <<= m_xLbSettings->get_toggle(nEntryPos, 0) == TRISTATE_TRUE;
|
||||
rValue <<= m_xLbSettings->get_toggle(nEntryPos) == TRISTATE_TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -194,13 +192,13 @@ void ScSolverOptionsDialog::FillListBox()
|
||||
if ( eClass == uno::TypeClass_BOOLEAN )
|
||||
{
|
||||
// check box entry
|
||||
m_xLbSettings->set_toggle(nPos, ScUnoHelpFunctions::GetBoolFromAny(aValue) ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xLbSettings->set_text(nPos, aVisName, 1);
|
||||
m_xLbSettings->set_toggle(nPos, ScUnoHelpFunctions::GetBoolFromAny(aValue) ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
m_xLbSettings->set_text(nPos, aVisName, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
// value entry
|
||||
m_xLbSettings->set_text(nPos, aVisName, 1);
|
||||
m_xLbSettings->set_text(nPos, aVisName, 0);
|
||||
m_aOptions.emplace_back(new ScSolverOptionsString(aVisName));
|
||||
if (eClass == uno::TypeClass_DOUBLE)
|
||||
{
|
||||
@@ -213,7 +211,7 @@ void ScSolverOptionsDialog::FillListBox()
|
||||
rtl_math_StringFormat_Automatic, rtl_math_DecimalPlaces_Max,
|
||||
ScGlobal::getLocaleDataPtr()->getNumDecimalSep()[0], true );
|
||||
|
||||
m_xLbSettings->set_text(nPos, sTxt, 1);
|
||||
m_xLbSettings->set_text(nPos, sTxt, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -223,7 +221,7 @@ void ScSolverOptionsDialog::FillListBox()
|
||||
|
||||
OUString sTxt = aVisName + ": " + OUString::number(nIntValue);
|
||||
|
||||
m_xLbSettings->set_text(nPos, sTxt, 1);
|
||||
m_xLbSettings->set_text(nPos, sTxt, 0);
|
||||
}
|
||||
m_xLbSettings->set_id(nPos, OUString::number(reinterpret_cast<sal_Int64>(m_aOptions.back().get())));
|
||||
}
|
||||
@@ -261,7 +259,7 @@ void ScSolverOptionsDialog::EditOption()
|
||||
rtl_math_StringFormat_Automatic, rtl_math_DecimalPlaces_Max,
|
||||
ScGlobal::getLocaleDataPtr()->getNumDecimalSep()[0], true );
|
||||
|
||||
m_xLbSettings->set_text(nEntry, sTxt, 1);
|
||||
m_xLbSettings->set_text(nEntry, sTxt, 0);
|
||||
}
|
||||
m_xValDialog.reset();
|
||||
});
|
||||
@@ -279,7 +277,7 @@ void ScSolverOptionsDialog::EditOption()
|
||||
OUString sTxt(pStringItem->GetText() + ": ");
|
||||
sTxt += OUString::number(pStringItem->GetIntValue());
|
||||
|
||||
m_xLbSettings->set_text(nEntry, sTxt, 1);
|
||||
m_xLbSettings->set_text(nEntry, sTxt, 0);
|
||||
}
|
||||
m_xIntDialog.reset();
|
||||
});
|
||||
|
||||
@@ -61,10 +61,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; i < static_cast<int>(SvtCompatibilityEntry::Index::INVALID); ++i )
|
||||
@@ -73,8 +71,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;
|
||||
}
|
||||
|
||||
@@ -88,8 +86,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();
|
||||
|
||||
@@ -279,7 +277,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 );
|
||||
@@ -297,7 +295,7 @@ void SwCompatibilityOptPage::SetCurrentOptions( sal_uInt32 nOptions )
|
||||
for (int i = 0; i < nCount; ++i)
|
||||
{
|
||||
bool bChecked = ( ( nOptions & 0x00000001 ) == 0x00000001 );
|
||||
m_xOptionsLB->set_toggle(i, bChecked ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
|
||||
m_xOptionsLB->set_toggle(i, bChecked ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||
nOptions = nOptions >> 1;
|
||||
}
|
||||
}
|
||||
@@ -351,7 +349,7 @@ bool SwCompatibilityOptPage::FillItemSet( SfxItemSet* )
|
||||
|
||||
for (int i = 0; i < nCount; ++i)
|
||||
{
|
||||
bool bChecked = m_xOptionsLB->get_toggle(i, 0) == TRISTATE_TRUE;
|
||||
bool bChecked = m_xOptionsLB->get_toggle(i) == TRISTATE_TRUE;
|
||||
bool bSavedChecked = ( ( nSavedOptions & 0x00000001 ) == 0x00000001 );
|
||||
if ( bChecked != bSavedChecked )
|
||||
{
|
||||
@@ -431,7 +429,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);
|
||||
@@ -460,7 +458,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();
|
||||
}
|
||||
|
||||
|
||||
@@ -459,9 +459,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);
|
||||
@@ -554,7 +552,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);
|
||||
@@ -582,16 +580,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
|
||||
@@ -615,8 +613,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(
|
||||
@@ -635,7 +633,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
|
||||
{
|
||||
@@ -657,7 +655,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;
|
||||
@@ -780,7 +778,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("");
|
||||
@@ -845,7 +843,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();
|
||||
|
||||
@@ -498,8 +498,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));
|
||||
m_xHeaderTree->set_toggle_columns_as_radio();
|
||||
m_xHeaderTree->enable_toggle_buttons(weld::ColumnToggleType::Radio);
|
||||
m_xHeaderTree->connect_toggled(LINK(this, SwAddStylesDlg_Impl, RadioToggleOnHdl));
|
||||
|
||||
std::vector<int> aWidths;
|
||||
@@ -744,16 +745,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);
|
||||
}
|
||||
m_xFromObjCLB->set_size_request(-1, std::max<int>(m_xFromObjCLB->get_preferred_size().Height(),
|
||||
@@ -966,7 +965,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)
|
||||
@@ -1061,7 +1060,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;
|
||||
|
||||
+144
-97
@@ -3156,33 +3156,6 @@ struct SalInstanceTreeIter : public weld::TreeIter
|
||||
SvTreeListEntry* iter;
|
||||
};
|
||||
|
||||
TriState get_toggle(SvTreeListEntry* pEntry, int col)
|
||||
{
|
||||
++col; //skip dummy/expander column
|
||||
|
||||
if (static_cast<size_t>(col) == pEntry->ItemCount())
|
||||
return TRISTATE_FALSE;
|
||||
|
||||
assert(col >= 0 && o3tl::make_unsigned(col) < pEntry->ItemCount());
|
||||
SvLBoxItem& rItem = pEntry->GetItem(col);
|
||||
assert(dynamic_cast<SvLBoxButton*>(&rItem));
|
||||
SvLBoxButton& rToggle = static_cast<SvLBoxButton&>(rItem);
|
||||
if (rToggle.IsStateTristate())
|
||||
return TRISTATE_INDET;
|
||||
else if (rToggle.IsStateChecked())
|
||||
return TRISTATE_TRUE;
|
||||
return TRISTATE_FALSE;
|
||||
}
|
||||
|
||||
bool get_text_emphasis(SvTreeListEntry* pEntry, int col)
|
||||
{
|
||||
++col; //skip dummy/expander column
|
||||
|
||||
assert(col >= 0 && o3tl::make_unsigned(col) < pEntry->ItemCount());
|
||||
SvLBoxItem& rItem = pEntry->GetItem(col);
|
||||
assert(dynamic_cast<SvLBoxString*>(&rItem));
|
||||
return static_cast<SvLBoxString&>(rItem).IsEmphasized();
|
||||
}
|
||||
}
|
||||
|
||||
class SalInstanceTreeView;
|
||||
@@ -3226,6 +3199,25 @@ private:
|
||||
DECL_LINK(CustomRenderHdl, svtree_render_args, void);
|
||||
DECL_LINK(CustomMeasureHdl, svtree_measure_args, Size);
|
||||
|
||||
// Each row has a cell for the expander image, (and an optional cell for a
|
||||
// checkbutton if enable_toggle_buttons has been called) which preceed
|
||||
// index 0
|
||||
int to_internal_model(int col) const
|
||||
{
|
||||
if (m_xTreeView->nTreeFlags & SvTreeFlags::CHKBTN)
|
||||
++col; // skip checkbutton column
|
||||
++col; //skip expander column
|
||||
return col;
|
||||
}
|
||||
|
||||
int to_external_model(int col) const
|
||||
{
|
||||
if (m_xTreeView->nTreeFlags & SvTreeFlags::CHKBTN)
|
||||
--col; // skip checkbutton column
|
||||
--col; //skip expander column
|
||||
return col;
|
||||
}
|
||||
|
||||
bool IsDummyEntry(SvTreeListEntry* pEntry) const
|
||||
{
|
||||
return m_xTreeView->GetEntryText(pEntry).trim() == "<dummy>";
|
||||
@@ -3280,6 +3272,10 @@ private:
|
||||
SvTreeListEntry* pEntry = new SvTreeListEntry;
|
||||
if (bIsSeparator)
|
||||
pEntry->SetFlags(pEntry->GetFlags() | SvTLEntryFlags::IS_SEPARATOR);
|
||||
|
||||
if (m_xTreeView->nTreeFlags & SvTreeFlags::CHKBTN)
|
||||
AddStringItem(pEntry, "", -1);
|
||||
|
||||
if (pIconName || pImageSurface)
|
||||
{
|
||||
Image aImage(pIconName ? createImage(*pIconName) : createImage(*pImageSurface));
|
||||
@@ -3317,6 +3313,105 @@ private:
|
||||
enable_notify_events();
|
||||
}
|
||||
|
||||
void update_checkbutton_column_width(SvTreeListEntry* pEntry)
|
||||
{
|
||||
SvViewDataEntry* pViewData = m_xTreeView->GetViewDataEntry(pEntry);
|
||||
m_xTreeView->InitViewData(pViewData, pEntry);
|
||||
if (!m_bDisableCheckBoxAutoWidth)
|
||||
m_xTreeView->CheckBoxInserted(pEntry);
|
||||
}
|
||||
|
||||
void do_set_toggle(SvTreeListEntry* pEntry, TriState eState, int col)
|
||||
{
|
||||
assert(col >= 0 && o3tl::make_unsigned(col) < pEntry->ItemCount());
|
||||
// if its the placeholder to allow a blank column, replace it now
|
||||
if (pEntry->GetItem(col).GetType() != SvLBoxItemType::Button)
|
||||
{
|
||||
SvLBoxButtonData* pData = m_bTogglesAsRadio ? &m_aRadioButtonData : &m_aCheckButtonData;
|
||||
pEntry->ReplaceItem(std::make_unique<SvLBoxButton>(pData), 0);
|
||||
update_checkbutton_column_width(pEntry);
|
||||
|
||||
}
|
||||
SvLBoxItem& rItem = pEntry->GetItem(col);
|
||||
assert(dynamic_cast<SvLBoxButton*>(&rItem));
|
||||
switch (eState)
|
||||
{
|
||||
case TRISTATE_TRUE:
|
||||
static_cast<SvLBoxButton&>(rItem).SetStateChecked();
|
||||
break;
|
||||
case TRISTATE_FALSE:
|
||||
static_cast<SvLBoxButton&>(rItem).SetStateUnchecked();
|
||||
break;
|
||||
case TRISTATE_INDET:
|
||||
static_cast<SvLBoxButton&>(rItem).SetStateTristate();
|
||||
break;
|
||||
}
|
||||
|
||||
m_xTreeView->ModelHasEntryInvalidated(pEntry);
|
||||
}
|
||||
|
||||
static TriState do_get_toggle(SvTreeListEntry* pEntry, int col)
|
||||
{
|
||||
if (static_cast<size_t>(col) == pEntry->ItemCount())
|
||||
return TRISTATE_FALSE;
|
||||
|
||||
assert(col >= 0 && o3tl::make_unsigned(col) < pEntry->ItemCount());
|
||||
SvLBoxItem& rItem = pEntry->GetItem(col);
|
||||
assert(dynamic_cast<SvLBoxButton*>(&rItem));
|
||||
SvLBoxButton& rToggle = static_cast<SvLBoxButton&>(rItem);
|
||||
if (rToggle.IsStateTristate())
|
||||
return TRISTATE_INDET;
|
||||
else if (rToggle.IsStateChecked())
|
||||
return TRISTATE_TRUE;
|
||||
return TRISTATE_FALSE;
|
||||
}
|
||||
|
||||
TriState get_toggle(SvTreeListEntry* pEntry, int col) const
|
||||
{
|
||||
if (col == -1)
|
||||
{
|
||||
assert(m_xTreeView->nTreeFlags & SvTreeFlags::CHKBTN);
|
||||
return do_get_toggle(pEntry, 0);
|
||||
}
|
||||
col = to_internal_model(col);
|
||||
return do_get_toggle(pEntry, col);
|
||||
}
|
||||
|
||||
void set_toggle(SvTreeListEntry* pEntry, TriState eState, int col)
|
||||
{
|
||||
if (col == -1)
|
||||
{
|
||||
assert(m_xTreeView->nTreeFlags & SvTreeFlags::CHKBTN);
|
||||
do_set_toggle(pEntry, eState, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
col = to_internal_model(col);
|
||||
|
||||
// blank out missing entries
|
||||
for (int i = pEntry->ItemCount(); i < col; ++i)
|
||||
AddStringItem(pEntry, "", i - 1);
|
||||
|
||||
if (static_cast<size_t>(col) == pEntry->ItemCount())
|
||||
{
|
||||
SvLBoxButtonData* pData = m_bTogglesAsRadio ? &m_aRadioButtonData : &m_aCheckButtonData;
|
||||
pEntry->AddItem(std::make_unique<SvLBoxButton>(pData));
|
||||
update_checkbutton_column_width(pEntry);
|
||||
}
|
||||
|
||||
do_set_toggle(pEntry, eState, col);
|
||||
}
|
||||
|
||||
bool get_text_emphasis(SvTreeListEntry* pEntry, int col) const
|
||||
{
|
||||
col = to_internal_model(col);
|
||||
|
||||
assert(col >= 0 && o3tl::make_unsigned(col) < pEntry->ItemCount());
|
||||
SvLBoxItem& rItem = pEntry->GetItem(col);
|
||||
assert(dynamic_cast<SvLBoxString*>(&rItem));
|
||||
return static_cast<SvLBoxString&>(rItem).IsEmphasized();
|
||||
}
|
||||
|
||||
public:
|
||||
SalInstanceTreeView(SvTabListBox* pTreeView, SalInstanceBuilder* pBuilder, bool bTakeOwnership)
|
||||
: SalInstanceContainer(pTreeView, pBuilder, bTakeOwnership)
|
||||
@@ -3522,6 +3617,8 @@ public:
|
||||
for (int i = 0; i < nSourceCount; ++i)
|
||||
{
|
||||
aVclIter.iter = new SvTreeListEntry;
|
||||
if (m_xTreeView->nTreeFlags & SvTreeFlags::CHKBTN)
|
||||
AddStringItem(aVclIter.iter, "", -1);
|
||||
aVclIter.iter->AddItem(std::make_unique<SvLBoxContextBmp>(aDummy, aDummy, false));
|
||||
m_xTreeView->Insert(aVclIter.iter, nullptr, TREELIST_APPEND);
|
||||
func(aVclIter, i);
|
||||
@@ -3694,12 +3791,12 @@ public:
|
||||
return aRows;
|
||||
}
|
||||
|
||||
static OUString get_text(SvTreeListEntry* pEntry, int col)
|
||||
OUString get_text(SvTreeListEntry* pEntry, int col) const
|
||||
{
|
||||
if (col == -1)
|
||||
return SvTabListBox::GetEntryText(pEntry, 0);
|
||||
|
||||
++col; //skip dummy/expander column
|
||||
col = to_internal_model(col);
|
||||
|
||||
if (static_cast<size_t>(col) == pEntry->ItemCount())
|
||||
return OUString();
|
||||
@@ -3724,7 +3821,7 @@ public:
|
||||
return;
|
||||
}
|
||||
|
||||
++col; //skip dummy/expander column
|
||||
col = to_internal_model(col);
|
||||
|
||||
// blank out missing entries
|
||||
for (int i = pEntry->ItemCount(); i < col; ++i)
|
||||
@@ -3774,7 +3871,7 @@ public:
|
||||
return;
|
||||
}
|
||||
|
||||
++col; //skip dummy/expander column
|
||||
col = to_internal_model(col);
|
||||
|
||||
assert(col >= 0 && o3tl::make_unsigned(col) < pEntry->ItemCount());
|
||||
SvLBoxItem& rItem = pEntry->GetItem(col);
|
||||
@@ -3800,72 +3897,24 @@ public:
|
||||
virtual TriState get_toggle(int pos, int col) const override
|
||||
{
|
||||
SvTreeListEntry* pEntry = m_xTreeView->GetEntry(nullptr, pos);
|
||||
return ::get_toggle(pEntry, col);
|
||||
return get_toggle(pEntry, col);
|
||||
}
|
||||
|
||||
virtual TriState get_toggle(const weld::TreeIter& rIter, int col) const override
|
||||
{
|
||||
const SalInstanceTreeIter& rVclIter = static_cast<const SalInstanceTreeIter&>(rIter);
|
||||
return ::get_toggle(rVclIter.iter, col);
|
||||
return get_toggle(rVclIter.iter, col);
|
||||
}
|
||||
|
||||
virtual void set_toggle_columns_as_radio() override
|
||||
virtual void enable_toggle_buttons(weld::ColumnToggleType eType) override
|
||||
{
|
||||
m_bTogglesAsRadio = true;
|
||||
}
|
||||
assert(n_children() == 0 && "tree must be empty");
|
||||
m_bTogglesAsRadio = eType == weld::ColumnToggleType::Radio;
|
||||
|
||||
void set_toggle(SvTreeListEntry* pEntry, TriState eState, int col)
|
||||
{
|
||||
++col; //skip dummy/expander column
|
||||
|
||||
// blank out missing entries
|
||||
for (int i = pEntry->ItemCount(); i < col; ++i)
|
||||
AddStringItem(pEntry, "", i - 1);
|
||||
|
||||
if (static_cast<size_t>(col) == pEntry->ItemCount())
|
||||
{
|
||||
SvLBoxButtonData* pData = m_bTogglesAsRadio ? &m_aRadioButtonData : &m_aCheckButtonData;
|
||||
|
||||
// if we want to have the implicit auto-sizing of the checkbox
|
||||
// column we need to call EnableCheckButton and CheckBoxInserted to
|
||||
// let it figure out that width. But we don't want to override any
|
||||
// explicitly set column width, so disable this if we've set
|
||||
// explicit column widths
|
||||
if (!m_bDisableCheckBoxAutoWidth)
|
||||
{
|
||||
if (!(m_xTreeView->GetTreeFlags() & SvTreeFlags::CHKBTN))
|
||||
{
|
||||
m_xTreeView->EnableCheckButton(pData);
|
||||
// EnableCheckButton clobbered this, restore it
|
||||
pData->SetLink(LINK(this, SalInstanceTreeView, ToggleHdl));
|
||||
}
|
||||
}
|
||||
|
||||
pEntry->AddItem(std::make_unique<SvLBoxButton>(pData));
|
||||
SvViewDataEntry* pViewData = m_xTreeView->GetViewDataEntry(pEntry);
|
||||
m_xTreeView->InitViewData(pViewData, pEntry);
|
||||
|
||||
if (!m_bDisableCheckBoxAutoWidth)
|
||||
m_xTreeView->CheckBoxInserted(pEntry);
|
||||
}
|
||||
|
||||
assert(col >= 0 && o3tl::make_unsigned(col) < pEntry->ItemCount());
|
||||
SvLBoxItem& rItem = pEntry->GetItem(col);
|
||||
assert(dynamic_cast<SvLBoxButton*>(&rItem));
|
||||
switch (eState)
|
||||
{
|
||||
case TRISTATE_TRUE:
|
||||
static_cast<SvLBoxButton&>(rItem).SetStateChecked();
|
||||
break;
|
||||
case TRISTATE_FALSE:
|
||||
static_cast<SvLBoxButton&>(rItem).SetStateUnchecked();
|
||||
break;
|
||||
case TRISTATE_INDET:
|
||||
static_cast<SvLBoxButton&>(rItem).SetStateTristate();
|
||||
break;
|
||||
}
|
||||
|
||||
m_xTreeView->ModelHasEntryInvalidated(pEntry);
|
||||
SvLBoxButtonData* pData = m_bTogglesAsRadio ? &m_aRadioButtonData : &m_aCheckButtonData;
|
||||
m_xTreeView->EnableCheckButton(pData);
|
||||
// EnableCheckButton clobbered this, restore it
|
||||
pData->SetLink(LINK(this, SalInstanceTreeView, ToggleHdl));
|
||||
}
|
||||
|
||||
virtual void set_toggle(int pos, TriState eState, int col) override
|
||||
@@ -3889,7 +3938,7 @@ public:
|
||||
|
||||
void set_text_emphasis(SvTreeListEntry* pEntry, bool bOn, int col)
|
||||
{
|
||||
++col; //skip dummy/expander column
|
||||
col = to_internal_model(col);
|
||||
|
||||
assert(col >= 0 && o3tl::make_unsigned(col) < pEntry->ItemCount());
|
||||
SvLBoxItem& rItem = pEntry->GetItem(col);
|
||||
@@ -3914,18 +3963,18 @@ public:
|
||||
virtual bool get_text_emphasis(const weld::TreeIter& rIter, int col) const override
|
||||
{
|
||||
const SalInstanceTreeIter& rVclIter = static_cast<const SalInstanceTreeIter&>(rIter);
|
||||
return ::get_text_emphasis(rVclIter.iter, col);
|
||||
return get_text_emphasis(rVclIter.iter, col);
|
||||
}
|
||||
|
||||
virtual bool get_text_emphasis(int pos, int col) const override
|
||||
{
|
||||
SvTreeListEntry* pEntry = m_xTreeView->GetEntry(nullptr, pos);
|
||||
return ::get_text_emphasis(pEntry, col);
|
||||
return get_text_emphasis(pEntry, col);
|
||||
}
|
||||
|
||||
void set_text_align(SvTreeListEntry* pEntry, double fAlign, int col)
|
||||
{
|
||||
++col; //skip dummy/expander column
|
||||
col = to_internal_model(col);
|
||||
|
||||
assert(col >= 0 && o3tl::make_unsigned(col) < pEntry->ItemCount());
|
||||
SvLBoxItem& rItem = pEntry->GetItem(col);
|
||||
@@ -3972,7 +4021,7 @@ public:
|
||||
return;
|
||||
}
|
||||
|
||||
++col; //skip dummy/expander column
|
||||
col = to_internal_model(col);
|
||||
|
||||
// blank out missing entries
|
||||
for (int i = pEntry->ItemCount(); i < col; ++i)
|
||||
@@ -4659,9 +4708,7 @@ IMPL_LINK(SalInstanceTreeView, CompareHdl, const SvSortData&, rSortData, sal_Int
|
||||
|
||||
if (m_nSortColumn != -1)
|
||||
{
|
||||
size_t col = m_nSortColumn;
|
||||
|
||||
++col; //skip dummy/expander column
|
||||
size_t col = to_internal_model(m_nSortColumn);
|
||||
|
||||
if (col < pLHS->ItemCount())
|
||||
{
|
||||
@@ -4740,7 +4787,7 @@ IMPL_LINK(SalInstanceTreeView, ToggleHdl, SvLBoxButtonData*, pData, void)
|
||||
SvLBoxItem& rItem = pEntry->GetItem(i);
|
||||
if (&rItem == pBox)
|
||||
{
|
||||
int nCol = i - 1; // less dummy/expander column
|
||||
int nCol = to_external_model(i);
|
||||
signal_toggled(iter_col(SalInstanceTreeIter(pEntry), nCol));
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -9112,6 +9112,7 @@ private:
|
||||
gint m_nTextCol;
|
||||
gint m_nTextView;
|
||||
gint m_nImageCol;
|
||||
gint m_nExpanderToggleCol;
|
||||
gint m_nExpanderImageCol;
|
||||
gint m_nIdCol;
|
||||
int m_nPendingVAdjustment;
|
||||
@@ -9532,21 +9533,25 @@ private:
|
||||
}
|
||||
|
||||
// The outside concept of a column maps to a gtk CellRenderer, rather than
|
||||
// a TreeViewColumn. If the first TreeViewColumn has two CellRenderers, and
|
||||
// the first CellRenderer is an image, that CellRenderer is considered to
|
||||
// be index -1.
|
||||
// a TreeViewColumn. If the first TreeViewColumn has a leading Toggle Renderer
|
||||
// and/or a leading Image Renderer, those are considered special expander
|
||||
// columns and preceed index 0 and can be accessed via outside index -1
|
||||
int to_external_model(int modelcol) const
|
||||
{
|
||||
if (m_nExpanderImageCol == -1)
|
||||
return modelcol;
|
||||
return modelcol - 1;
|
||||
if (m_nExpanderToggleCol != -1)
|
||||
--modelcol;
|
||||
if (m_nExpanderImageCol != -1)
|
||||
--modelcol;
|
||||
return modelcol;
|
||||
}
|
||||
|
||||
int to_internal_model(int modelcol) const
|
||||
{
|
||||
if (m_nExpanderImageCol == -1)
|
||||
return modelcol;
|
||||
return modelcol + 1;
|
||||
if (m_nExpanderToggleCol != -1)
|
||||
++modelcol;
|
||||
if (m_nExpanderImageCol != -1)
|
||||
++modelcol;
|
||||
return modelcol;
|
||||
}
|
||||
|
||||
void set_column_editable(int nCol, bool bEditable)
|
||||
@@ -9783,6 +9788,7 @@ public:
|
||||
, m_nTextCol(-1)
|
||||
, m_nTextView(-1)
|
||||
, m_nImageCol(-1)
|
||||
, m_nExpanderToggleCol(-1)
|
||||
, m_nExpanderImageCol(-1)
|
||||
, m_nPendingVAdjustment(-1)
|
||||
, m_nChangedSignalId(g_signal_connect(gtk_tree_view_get_selection(pTreeView), "changed",
|
||||
@@ -9798,9 +9804,9 @@ public:
|
||||
, m_pChangeEvent(nullptr)
|
||||
{
|
||||
/* The outside concept of a column maps to a gtk CellRenderer, rather than
|
||||
a TreeViewColumn. If the first TreeViewColumn has two CellRenderers, and
|
||||
the first CellRenderer is an image, that CellRenderer is considered to
|
||||
be index -1.
|
||||
a TreeViewColumn. If the first TreeViewColumn has a leading Toggle Renderer
|
||||
and/or a leading Image Renderer, those are considered special expander
|
||||
columns and preceed index 0 and can be accessed via outside index -1
|
||||
*/
|
||||
m_pColumns = gtk_tree_view_get_columns(m_pTreeView);
|
||||
int nIndex(0);
|
||||
@@ -9830,6 +9836,9 @@ public:
|
||||
}
|
||||
else if (GTK_IS_CELL_RENDERER_TOGGLE(pCellRenderer))
|
||||
{
|
||||
const bool bExpander = nIndex == 0 || (nIndex == 1 && m_nExpanderImageCol == 0);
|
||||
if (bExpander)
|
||||
m_nExpanderToggleCol = nIndex;
|
||||
g_signal_connect(G_OBJECT(pCellRenderer), "toggled", G_CALLBACK(signalCellToggled), this);
|
||||
m_aToggleVisMap[nIndex] = -1;
|
||||
m_aToggleTriStateMap[nIndex] = -1;
|
||||
@@ -10379,7 +10388,11 @@ public:
|
||||
|
||||
virtual TriState get_toggle(int pos, int col) const override
|
||||
{
|
||||
col = to_internal_model(col);
|
||||
if (col == -1)
|
||||
col = m_nExpanderToggleCol;
|
||||
else
|
||||
col = to_internal_model(col);
|
||||
|
||||
if (get_bool(pos, m_aToggleTriStateMap.find(col)->second))
|
||||
return TRISTATE_INDET;
|
||||
return get_bool(pos, col) ? TRISTATE_TRUE : TRISTATE_FALSE;
|
||||
@@ -10387,7 +10400,11 @@ public:
|
||||
|
||||
virtual TriState get_toggle(const weld::TreeIter& rIter, int col) const override
|
||||
{
|
||||
col = to_internal_model(col);
|
||||
if (col == -1)
|
||||
col = m_nExpanderToggleCol;
|
||||
else
|
||||
col = to_internal_model(col);
|
||||
|
||||
const GtkInstanceTreeIter& rGtkIter = static_cast<const GtkInstanceTreeIter&>(rIter);
|
||||
if (get_bool(rGtkIter.iter, m_aToggleTriStateMap.find(col)->second))
|
||||
return TRISTATE_INDET;
|
||||
@@ -10396,7 +10413,11 @@ public:
|
||||
|
||||
virtual void set_toggle(int pos, TriState eState, int col) override
|
||||
{
|
||||
col = to_internal_model(col);
|
||||
if (col == -1)
|
||||
col = m_nExpanderToggleCol;
|
||||
else
|
||||
col = to_internal_model(col);
|
||||
|
||||
// checkbuttons are invisible until toggled on or off
|
||||
set(pos, m_aToggleVisMap[col], true);
|
||||
if (eState == TRISTATE_INDET)
|
||||
@@ -10411,7 +10432,12 @@ public:
|
||||
virtual void set_toggle(const weld::TreeIter& rIter, TriState eState, int col) override
|
||||
{
|
||||
const GtkInstanceTreeIter& rGtkIter = static_cast<const GtkInstanceTreeIter&>(rIter);
|
||||
col = to_internal_model(col);
|
||||
|
||||
if (col == -1)
|
||||
col = m_nExpanderToggleCol;
|
||||
else
|
||||
col = to_internal_model(col);
|
||||
|
||||
// checkbuttons are invisible until toggled on or off
|
||||
set(rGtkIter.iter, m_aToggleVisMap[col], true);
|
||||
if (eState == TRISTATE_INDET)
|
||||
@@ -10423,7 +10449,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
virtual void set_toggle_columns_as_radio() override
|
||||
virtual void enable_toggle_buttons(weld::ColumnToggleType eType) override
|
||||
{
|
||||
for (GList* pEntry = g_list_first(m_pColumns); pEntry; pEntry = g_list_next(pEntry))
|
||||
{
|
||||
@@ -10435,7 +10461,7 @@ public:
|
||||
if (!GTK_IS_CELL_RENDERER_TOGGLE(pCellRenderer))
|
||||
continue;
|
||||
GtkCellRendererToggle* pToggle = GTK_CELL_RENDERER_TOGGLE(pCellRenderer);
|
||||
gtk_cell_renderer_toggle_set_radio(pToggle, true);
|
||||
gtk_cell_renderer_toggle_set_radio(pToggle, eType == weld::ColumnToggleType::Radio);
|
||||
}
|
||||
g_list_free(pRenderers);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user