[Libreoffice-commits] core.git: include/sfx2 include/vcl sfx2/source starmath/source sw/inc sw/source sw/uiconfig vcl/source vcl/unx
Caolán McNamara
caolanm at redhat.com
Fri May 4 20:13:12 UTC 2018
include/sfx2/tabdlg.hxx | 4
include/vcl/weld.hxx | 6
sfx2/source/dialog/tabdlg.cxx | 5
starmath/source/dialog.cxx | 4
sw/inc/swabstdlg.hxx | 2
sw/source/ui/dialog/swdlgfact.cxx | 5
sw/source/ui/dialog/swdlgfact.hxx | 2
sw/source/ui/misc/num.cxx | 8
sw/source/ui/misc/outline.cxx | 94 +++-----
sw/source/uibase/inc/num.hxx | 4
sw/source/uibase/inc/outline.hxx | 20 -
sw/source/uibase/uiview/view0.cxx | 2
sw/uiconfig/swriter/ui/outlinenumbering.ui | 268 +++++++++++++++----------
sw/uiconfig/swriter/ui/outlinenumberingpage.ui | 5
sw/uiconfig/swriter/ui/outlinepositionpage.ui | 20 +
vcl/source/app/salvtables.cxx | 20 +
vcl/source/window/builder.cxx | 2
vcl/unx/gtk3/gtk3gtkinst.cxx | 174 +++++++++-------
18 files changed, 379 insertions(+), 266 deletions(-)
New commits:
commit 0920b04bca3d58d89b026bcf999ea43d0e855715
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri May 4 14:53:11 2018 +0100
weld SwOutlineTabDialog
Change-Id: I55c0e9a62dd9dd970a87ef295bb5fbb82c80d2d8
Reviewed-on: https://gerrit.libreoffice.org/53848
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/include/sfx2/tabdlg.hxx b/include/sfx2/tabdlg.hxx
index 2d9b449112d5..cf7ecc4022bb 100644
--- a/include/sfx2/tabdlg.hxx
+++ b/include/sfx2/tabdlg.hxx
@@ -279,6 +279,8 @@ public:
void RemoveTabPage( const OString& rName ); // Name of the label for the page in the notebook .ui
void SetCurPageId(const OString& rName);
+ OString GetCurPageId() const;
+ SfxTabPage* GetCurTabPage() const { return GetTabPage(GetCurPageId()); }
// may provide local slots converted by Map
const sal_uInt16* GetInputRanges( const SfxItemPool& );
@@ -287,6 +289,8 @@ public:
const weld::Button& GetOKButton() const { return *m_xOKBtn; }
weld::Button& GetOKButton() { return *m_xOKBtn; }
+ const weld::Button& GetCancelButton() const { return *m_xCancelBtn; }
+ weld::Button& GetCancelButton() { return *m_xCancelBtn; }
const weld::Button* GetUserButton() const { return m_xUserBtn.get(); }
weld::Button* GetUserButton() { return m_xUserBtn.get(); }
diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index 6c1078a04457..448a592fb15c 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -365,8 +365,10 @@ protected:
public:
void connect_selected(const Link<const OString&, void>& rLink) { m_aSelectHdl = rLink; }
-
- virtual void set_active(const OString& rIdent, bool bActive) = 0;
+ virtual void set_item_active(const OString& rIdent, bool bActive) = 0;
+ virtual void set_item_label(const OString& rIdent, const OUString& rLabel) = 0;
+ virtual void set_item_help_id(const OString& rIdent, const OString& rHelpId) = 0;
+ virtual OString get_item_help_id(const OString& rIdent) const = 0;
};
class VCL_DLLPUBLIC ToggleButton : virtual public Button
diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx
index 8c4e04983358..160af8d6af54 100644
--- a/sfx2/source/dialog/tabdlg.cxx
+++ b/sfx2/source/dialog/tabdlg.cxx
@@ -2015,6 +2015,11 @@ void SfxTabDialogController::SetCurPageId(const OString& rIdent)
m_xTabCtrl->set_current_page(rIdent);
}
+OString SfxTabDialogController::GetCurPageId() const
+{
+ return m_xTabCtrl->get_current_page_ident();
+}
+
short SfxTabDialogController::execute()
{
Start_Impl();
diff --git a/starmath/source/dialog.cxx b/starmath/source/dialog.cxx
index 7713cd475b05..6843cebfaea8 100644
--- a/starmath/source/dialog.cxx
+++ b/starmath/source/dialog.cxx
@@ -725,7 +725,7 @@ void SmDistanceDialog::SetCategory(sal_uInt16 nCategory)
if (nActiveCategory == 5)
bScaleAllBrackets = m_xCheckBox1->get_active();
- m_xMenuButton->set_active("menuitem" + OString::number(nActiveCategory + 1), false);
+ m_xMenuButton->set_item_active("menuitem" + OString::number(nActiveCategory + 1), false);
}
// activation/deactivation of the associated controls depending on the chosen category
@@ -784,7 +784,7 @@ void SmDistanceDialog::SetCategory(sal_uInt16 nCategory)
m_xMetricField4->set_sensitive( bChecked );
}
- m_xMenuButton->set_active("menuitem" + OString::number(nCategory + 1), true);
+ m_xMenuButton->set_item_active("menuitem" + OString::number(nCategory + 1), true);
m_xFrame->set_label(Categories[nCategory]->GetName());
nActiveCategory = nCategory;
diff --git a/sw/inc/swabstdlg.hxx b/sw/inc/swabstdlg.hxx
index 3ed9b295a0b3..67aecd817661 100644
--- a/sw/inc/swabstdlg.hxx
+++ b/sw/inc/swabstdlg.hxx
@@ -463,7 +463,7 @@ public:
virtual VclPtr<AbstractMailMergeCreateFromDlg> CreateMailMergeCreateFromDlg(vcl::Window* pParent) = 0;
virtual VclPtr<AbstractMailMergeFieldConnectionsDlg> CreateMailMergeFieldConnectionsDlg(vcl::Window* pParent) = 0;
virtual VclPtr<VclAbstractDialog> CreateMultiTOXMarkDlg(weld::Window* pParent, SwTOXMgr &rTOXMgr) = 0;
- virtual VclPtr<SfxAbstractTabDialog> CreateOutlineTabDialog(vcl::Window* pParent,
+ virtual VclPtr<SfxAbstractTabDialog> CreateOutlineTabDialog(weld::Window* pParent,
const SfxItemSet* pSwItemSet,
SwWrtShell &) = 0;
virtual VclPtr<SfxAbstractTabDialog> CreateSvxNumBulletTabDialog(vcl::Window* pParent,
diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx
index 60485e2137e4..c569a59652c0 100644
--- a/sw/source/ui/dialog/swdlgfact.cxx
+++ b/sw/source/ui/dialog/swdlgfact.cxx
@@ -1007,12 +1007,11 @@ VclPtr<SfxAbstractTabDialog> SwAbstractDialogFactory_Impl::CreateSvxNumBulletTab
return VclPtr<AbstractTabDialog_Impl>::Create( pDlg );
}
-VclPtr<SfxAbstractTabDialog> SwAbstractDialogFactory_Impl::CreateOutlineTabDialog(vcl::Window* pParent,
+VclPtr<SfxAbstractTabDialog> SwAbstractDialogFactory_Impl::CreateOutlineTabDialog(weld::Window* pParent,
const SfxItemSet* pSwItemSet,
SwWrtShell & rWrtSh )
{
- VclPtr<SfxTabDialog> pDlg = VclPtr<SwOutlineTabDialog>::Create(pParent, pSwItemSet, rWrtSh);
- return VclPtr<AbstractTabDialog_Impl>::Create( pDlg );
+ return VclPtr<AbstractTabController_Impl>::Create(new SwOutlineTabDialog(pParent, pSwItemSet, rWrtSh));
}
VclPtr<AbstractMultiTOXTabDialog> SwAbstractDialogFactory_Impl::CreateMultiTOXTabDialog(
diff --git a/sw/source/ui/dialog/swdlgfact.hxx b/sw/source/ui/dialog/swdlgfact.hxx
index f2f10176493f..dd6147e22c1c 100644
--- a/sw/source/ui/dialog/swdlgfact.hxx
+++ b/sw/source/ui/dialog/swdlgfact.hxx
@@ -636,7 +636,7 @@ public:
virtual VclPtr<AbstractMailMergeCreateFromDlg> CreateMailMergeCreateFromDlg(vcl::Window* pParent) override;
virtual VclPtr<AbstractMailMergeFieldConnectionsDlg> CreateMailMergeFieldConnectionsDlg(vcl::Window* pParent) override;
virtual VclPtr<VclAbstractDialog> CreateMultiTOXMarkDlg(weld::Window* pParent, SwTOXMgr &rTOXMgr) override;
- virtual VclPtr<SfxAbstractTabDialog> CreateOutlineTabDialog(vcl::Window* pParent, const SfxItemSet* pSwItemSet,
+ virtual VclPtr<SfxAbstractTabDialog> CreateOutlineTabDialog(weld::Window* pParent, const SfxItemSet* pSwItemSet,
SwWrtShell &) override;
virtual VclPtr<SfxAbstractTabDialog> CreateSvxNumBulletTabDialog(vcl::Window* pParent,
const SfxItemSet* pSwItemSet,
diff --git a/sw/source/ui/misc/num.cxx b/sw/source/ui/misc/num.cxx
index 28b4ba9ca185..906d46d580f0 100644
--- a/sw/source/ui/misc/num.cxx
+++ b/sw/source/ui/misc/num.cxx
@@ -142,7 +142,7 @@ SwNumPositionTabPage::~SwNumPositionTabPage()
void SwNumPositionTabPage::dispose()
{
delete pActNum;
- pOutlineDlg.clear();
+ pOutlineDlg = nullptr;
SfxTabPage::dispose();
}
@@ -155,9 +155,9 @@ void SwNumPositionTabPage::InitControls()
USHRT_MAX != nActNumLvl;
m_xDistBorderMF->set_sensitive( !bLabelAlignmentPosAndSpaceModeActive &&
- ( bSingleSelection || bRelative || pOutlineDlg.get() != nullptr ) );
+ ( bSingleSelection || bRelative || pOutlineDlg != nullptr ) );
m_xDistBorderFT->set_sensitive( !bLabelAlignmentPosAndSpaceModeActive &&
- ( bSingleSelection || bRelative || pOutlineDlg.get() != nullptr ) );
+ ( bSingleSelection || bRelative || pOutlineDlg != nullptr ) );
bool bSetDistEmpty = false;
bool bSameDistBorderNum = !bLabelAlignmentPosAndSpaceModeActive;
@@ -349,7 +349,7 @@ void SwNumPositionTabPage::ActivatePage(const SfxItemSet& )
const SfxPoolItem* pItem;
sal_uInt16 nTmpNumLvl =
pOutlineDlg ? SwOutlineTabDialog::GetActNumLevel() : 0;
- const SfxItemSet* pExampleSet = GetTabDialog()->GetExampleSet();
+ const SfxItemSet* pExampleSet = GetDialogController()->GetExampleSet();
if(pExampleSet && pExampleSet->GetItemState(FN_PARAM_NUM_PRESET, false, &pItem) != SfxItemState::UNKNOWN)
{
bPreset = static_cast<const SfxBoolItem*>(pItem)->GetValue();
diff --git a/sw/source/ui/misc/outline.cxx b/sw/source/ui/misc/outline.cxx
index 6baa4cc17535..8f225ec20ba2 100644
--- a/sw/source/ui/misc/outline.cxx
+++ b/sw/source/ui/misc/outline.cxx
@@ -124,7 +124,6 @@ SwNumNamesDlg::SwNumNamesDlg(weld::Window *pParent)
m_xFormBox->connect_changed(LINK(this, SwNumNamesDlg, SelectHdl));
m_xFormBox->connect_row_activated(LINK(this, SwNumNamesDlg, DoubleClickHdl));
m_xFormBox->set_size_request(-1, m_xFormBox->get_height_rows(9));
- SelectHdl(*m_xFormBox);
}
static sal_uInt16 lcl_BitToLevel(sal_uInt16 nActLevel)
@@ -138,23 +137,22 @@ static sal_uInt16 lcl_BitToLevel(sal_uInt16 nActLevel)
sal_uInt16 SwOutlineTabDialog::nNumLevel = 1;
-SwOutlineTabDialog::SwOutlineTabDialog(vcl::Window* pParent, const SfxItemSet* pSwItemSet,
+SwOutlineTabDialog::SwOutlineTabDialog(weld::Window* pParent, const SfxItemSet* pSwItemSet,
SwWrtShell &rSh)
- : SfxTabDialog(pParent, "OutlineNumberingDialog",
- "modules/swriter/ui/outlinenumbering.ui", pSwItemSet)
+ : SfxTabDialogController(pParent, "modules/swriter/ui/outlinenumbering.ui", "OutlineNumberingDialog", pSwItemSet)
, rWrtSh(rSh)
, pChapterNumRules(SW_MOD()->GetChapterNumRules())
, bModified(rWrtSh.IsModified())
+ , m_xMenuButton(m_xBuilder->weld_menu_button("format"))
{
- PushButton* pUserButton = GetUserButton();
- pUserButton->SetClickHdl(LINK(this, SwOutlineTabDialog, FormHdl));
- pUserButton->SetAccessibleRole( css::accessibility::AccessibleRole::BUTTON_MENU );
+ m_xMenuButton->connect_clicked(LINK(this, SwOutlineTabDialog, FormHdl));
+ m_xMenuButton->connect_selected(LINK(this, SwOutlineTabDialog, MenuSelectHdl));
xNumRule.reset(new SwNumRule(*rSh.GetOutlineNumRule()));
- GetCancelButton().SetClickHdl(LINK(this, SwOutlineTabDialog, CancelHdl));
+ GetCancelButton().connect_clicked(LINK(this, SwOutlineTabDialog, CancelHdl));
- m_nNumPosId = AddTabPage("position", &SwNumPositionTabPage::Create, nullptr);
- m_nOutlineId = AddTabPage("numbering", &SwOutlineSettingsTabPage::Create, nullptr);
+ AddTabPage("position", &SwNumPositionTabPage::Create, nullptr);
+ AddTabPage("numbering", &SwOutlineSettingsTabPage::Create, nullptr);
OUString sHeadline;
sal_uInt16 i;
@@ -186,82 +184,71 @@ SwOutlineTabDialog::SwOutlineTabDialog(vcl::Window* pParent, const SfxItemSet* p
SwOutlineTabDialog::~SwOutlineTabDialog()
{
- disposeOnce();
-}
-
-void SwOutlineTabDialog::dispose()
-{
- xNumRule.reset();
- SfxTabDialog::dispose();
}
-void SwOutlineTabDialog::PageCreated(sal_uInt16 nPageId, SfxTabPage& rPage)
+void SwOutlineTabDialog::PageCreated(const OString& rPageId, SfxTabPage& rPage)
{
- if (nPageId == m_nNumPosId)
+ if (rPageId == "position")
{
static_cast<SwNumPositionTabPage&>(rPage).SetWrtShell(&rWrtSh);
static_cast<SwNumPositionTabPage&>(rPage).SetOutlineTabDialog(this);
}
- else if (nPageId == m_nOutlineId)
+ else if (rPageId == "numbering")
{
static_cast<SwOutlineSettingsTabPage&>(rPage).SetWrtShell(&rWrtSh);
}
}
-IMPL_LINK_NOARG(SwOutlineTabDialog, CancelHdl, Button*, void)
+IMPL_LINK_NOARG(SwOutlineTabDialog, CancelHdl, weld::Button&, void)
{
if (!bModified)
rWrtSh.ResetModified();
- EndDialog();
+ m_xDialog->response(RET_CANCEL);
}
-IMPL_LINK( SwOutlineTabDialog, FormHdl, Button *, pBtn, void )
+IMPL_LINK_NOARG(SwOutlineTabDialog, FormHdl, weld::Button&, void)
{
- PopupMenu *pFormMenu = get_menu("form");
// fill PopupMenu
- for( sal_uInt16 i = 0; i < SwChapterNumRules::nMaxRules; ++i )
+ for(sal_uInt16 i = 0; i < SwChapterNumRules::nMaxRules; ++i)
{
const SwNumRulesWithName *pRules = pChapterNumRules->GetRules(i);
- if( pRules )
- pFormMenu->SetItemText(pFormMenu->GetItemId(i), pRules->GetName());
+ if (!pRules)
+ continue;
+ m_xMenuButton->set_item_label("form" + OString::number(i + 1), pRules->GetName());
}
- OString sHelpId(pFormMenu->GetHelpId(pFormMenu->GetItemId("form1")));
+ OString sHelpId(m_xMenuButton->get_item_help_id("form1"));
for (sal_Int32 i = 2; i <= 9; ++i)
{
- pFormMenu->SetHelpId(pFormMenu->GetItemId("form" + OString::number(i)), sHelpId);
+ m_xMenuButton->set_item_help_id("form" + OString::number(i), sHelpId);
}
-
- pFormMenu->SetSelectHdl(LINK(this, SwOutlineTabDialog, MenuSelectHdl));
- pFormMenu->Execute(pBtn, tools::Rectangle(Point(0,0), pBtn->GetSizePixel()), PopupMenuFlags::ExecuteDown);
}
-IMPL_LINK( SwOutlineTabDialog, MenuSelectHdl, Menu *, pMenu, bool )
+IMPL_LINK(SwOutlineTabDialog, MenuSelectHdl, const OString&, rIdent, void)
{
sal_uInt8 nLevelNo = 0;
- OString sIdent = pMenu->GetCurItemIdent();
- if (sIdent == "form1")
+ if (rIdent == "form1")
nLevelNo = 1;
- else if (sIdent == "form2")
+ else if (rIdent == "form2")
nLevelNo = 2;
- else if (sIdent == "form3")
+ else if (rIdent == "form3")
nLevelNo = 3;
- else if (sIdent == "form4")
+ else if (rIdent == "form4")
nLevelNo = 4;
- else if (sIdent == "form5")
+ else if (rIdent == "form5")
nLevelNo = 5;
- else if (sIdent == "form6")
+ else if (rIdent == "form6")
nLevelNo = 6;
- else if (sIdent == "form7")
+ else if (rIdent == "form7")
nLevelNo = 7;
- else if (sIdent == "form8")
+ else if (rIdent == "form8")
nLevelNo = 8;
- else if (sIdent == "form9")
+ else if (rIdent == "form9")
nLevelNo = 9;
- else if (sIdent == "saveas")
+ else if (rIdent == "saveas")
{
- SwNumNamesDlg aDlg(GetFrameWeld());
+ SwNumNamesDlg aDlg(m_xDialog.get());
const OUString *aStrArr[SwChapterNumRules::nMaxRules];
for(sal_uInt16 i = 0; i < SwChapterNumRules::nMaxRules; ++i)
{
@@ -277,9 +264,9 @@ IMPL_LINK( SwOutlineTabDialog, MenuSelectHdl, Menu *, pMenu, bool )
const OUString aName(aDlg.GetName());
pChapterNumRules->ApplyNumRules( SwNumRulesWithName(
*xNumRule, aName ), aDlg.GetCurEntryPos() );
- pMenu->SetItemText(pMenu->GetItemId(aDlg.GetCurEntryPos()), aName);
+ m_xMenuButton->set_item_label("form" + OString::number(aDlg.GetCurEntryPos() + 1), aName);
}
- return false;
+ return;
}
if( nLevelNo-- )
@@ -289,7 +276,7 @@ IMPL_LINK( SwOutlineTabDialog, MenuSelectHdl, Menu *, pMenu, bool )
{
xNumRule.reset(pRules->MakeNumRule(rWrtSh));
xNumRule->SetRuleType( OUTLINE_RULE );
- SfxTabPage* pOutlinePage = GetTabPage(m_nOutlineId);
+ SfxTabPage* pOutlinePage = GetTabPage("numbering");
assert(pOutlinePage);
static_cast<SwOutlineSettingsTabPage*>(pOutlinePage)->SetNumRule(xNumRule.get());
}
@@ -297,11 +284,8 @@ IMPL_LINK( SwOutlineTabDialog, MenuSelectHdl, Menu *, pMenu, bool )
*xNumRule = *rWrtSh.GetOutlineNumRule();
}
- sal_uInt16 nPageId = GetCurPageId();
- SfxTabPage* pPage = GetTabPage( nPageId );
+ SfxTabPage* pPage = GetCurTabPage();
pPage->Reset(GetOutputItemSet());
-
- return false;
}
sal_uInt16 SwOutlineTabDialog::GetLevel(const OUString &rFormatName) const
@@ -316,7 +300,7 @@ sal_uInt16 SwOutlineTabDialog::GetLevel(const OUString &rFormatName) const
short SwOutlineTabDialog::Ok()
{
- SfxTabDialog::Ok();
+ SfxTabDialogController::Ok();
// set levels for all created templates; has to be done in order to
// delete possibly cancelled assignments again.
@@ -736,8 +720,8 @@ void SwOutlineSettingsTabPage::SetWrtShell(SwWrtShell* pShell)
{
pSh = pShell;
// query this document's NumRules
- pNumRule = static_cast<SwOutlineTabDialog*>(GetTabDialog())->GetNumRule();
- pCollNames = static_cast<SwOutlineTabDialog*>(GetTabDialog())->GetCollNames();
+ pNumRule = static_cast<SwOutlineTabDialog*>(GetDialogController())->GetNumRule();
+ pCollNames = static_cast<SwOutlineTabDialog*>(GetDialogController())->GetCollNames();
m_xPreviewWIN->SetNumRule(pNumRule);
m_xPreviewWIN->SetOutlineNames(pCollNames);
diff --git a/sw/source/uibase/inc/num.hxx b/sw/source/uibase/inc/num.hxx
index 5d0817cd273e..6bedc870255f 100644
--- a/sw/source/uibase/inc/num.hxx
+++ b/sw/source/uibase/inc/num.hxx
@@ -41,8 +41,8 @@ class SwNumPositionTabPage : public SfxTabPage
SwNumRule* pSaveNum;
SwWrtShell* pWrtSh;
- VclPtr<SwOutlineTabDialog> pOutlineDlg;
- sal_uInt16 nActNumLvl;
+ SwOutlineTabDialog* pOutlineDlg;
+ sal_uInt16 nActNumLvl;
bool bModified : 1;
bool bPreset : 1;
diff --git a/sw/source/uibase/inc/outline.hxx b/sw/source/uibase/inc/outline.hxx
index e788738a2c9e..da5c0e94fddf 100644
--- a/sw/source/uibase/inc/outline.hxx
+++ b/sw/source/uibase/inc/outline.hxx
@@ -43,13 +43,10 @@ class SwWrtShell;
class SwNumRule;
class SwChapterNumRules;
-class SwOutlineTabDialog final : public SfxTabDialog
+class SwOutlineTabDialog final : public SfxTabDialogController
{
static sal_uInt16 nNumLevel;
- sal_uInt16 m_nNumPosId;
- sal_uInt16 m_nOutlineId;
-
OUString aCollNames[MAXLEVEL];
SwWrtShell& rWrtSh;
@@ -58,19 +55,18 @@ class SwOutlineTabDialog final : public SfxTabDialog
bool bModified : 1;
- DECL_LINK(CancelHdl, Button*, void);
- DECL_LINK( FormHdl, Button *, void );
- DECL_LINK( MenuSelectHdl, Menu *, bool );
+ std::unique_ptr<weld::MenuButton> m_xMenuButton;
+
+ DECL_LINK(CancelHdl, weld::Button&, void);
+ DECL_LINK(FormHdl, weld::Button&, void);
+ DECL_LINK(MenuSelectHdl, const OString&, void);
- virtual void PageCreated(sal_uInt16 nPageId, SfxTabPage& rPage) override;
+ virtual void PageCreated(const OString& rPageId, SfxTabPage& rPage) override;
virtual short Ok() override;
public:
- SwOutlineTabDialog(vcl::Window* pParent,
- const SfxItemSet* pSwItemSet,
- SwWrtShell &);
+ SwOutlineTabDialog(weld::Window* pParent, const SfxItemSet* pSwItemSet, SwWrtShell &);
virtual ~SwOutlineTabDialog() override;
- virtual void dispose() override;
SwNumRule* GetNumRule() { return xNumRule.get(); }
sal_uInt16 GetLevel(const OUString &rFormatName) const;
diff --git a/sw/source/uibase/uiview/view0.cxx b/sw/source/uibase/uiview/view0.cxx
index 4b7694b49584..f4913d84c9b9 100644
--- a/sw/source/uibase/uiview/view0.cxx
+++ b/sw/source/uibase/uiview/view0.cxx
@@ -610,7 +610,7 @@ void SwView::ExecNumberingOutline(SfxItemPool & rPool)
SfxItemSet aTmp(rPool, svl::Items<FN_PARAM_1, FN_PARAM_1>{});
SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
assert(pFact && "Dialog creation failed!");
- ScopedVclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateOutlineTabDialog(GetWindow(), &aTmp, GetWrtShell()));
+ ScopedVclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateOutlineTabDialog(GetFrameWeld(), &aTmp, GetWrtShell()));
assert(pDlg && "Dialog creation failed!");
pDlg->Execute();
}
diff --git a/sw/uiconfig/swriter/ui/outlinenumbering.ui b/sw/uiconfig/swriter/ui/outlinenumbering.ui
index ffb495c9280f..ae5abdf63a8f 100644
--- a/sw/uiconfig/swriter/ui/outlinenumbering.ui
+++ b/sw/uiconfig/swriter/ui/outlinenumbering.ui
@@ -1,13 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.20.0 -->
+<!-- Generated with glade 3.20.4 -->
<interface domain="sw">
<requires lib="gtk+" version="3.18"/>
+ <object class="GtkMenu" id="form">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkMenuItem" id="form1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="outlinenumbering|form1">Untitled 1</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="form2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="outlinenumbering|form2">Untitled 2</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="form3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="outlinenumbering|form3">Untitled 3</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="form4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="outlinenumbering|form4">Untitled 4</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="form5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="outlinenumbering|form5">Untitled 5</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="form6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="outlinenumbering|form6">Untitled 6</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="form7">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="outlinenumbering|form7">Untitled 7</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="form8">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="outlinenumbering|form8">Untitled 8</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="form9">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="outlinenumbering|form9">Untitled 9</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparatorMenuItem" id="menuitem10">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="saveas">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="outlinenumbering|saveas">Save _As...</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ </object>
<object class="GtkDialog" id="OutlineNumberingDialog">
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes" context="outlinenumbering|OutlineNumberingDialog">Chapter Numbering</property>
<property name="resizable">False</property>
<property name="modal">True</property>
+ <property name="default_width">0</property>
+ <property name="default_height">0</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
@@ -19,14 +111,16 @@
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
- <object class="GtkButton" id="ok">
- <property name="label">gtk-ok</property>
+ <object class="GtkMenuButton" id="format">
+ <property name="label" translatable="yes" context="outlinenumbering|user">_Format</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="has_default">True</property>
<property name="receives_default">True</property>
- <property name="use_stock">True</property>
+ <property name="use_underline">True</property>
+ <property name="popup">form</property>
+ <child>
+ <placeholder/>
+ </child>
</object>
<packing>
<property name="expand">False</property>
@@ -35,12 +129,12 @@
</packing>
</child>
<child>
- <object class="GtkButton" id="user">
- <property name="label" translatable="yes" context="outlinenumbering|user">_Format</property>
+ <object class="GtkButton" id="reset">
+ <property name="label">gtk-revert-to-saved</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
</object>
<packing>
<property name="expand">False</property>
@@ -49,10 +143,12 @@
</packing>
</child>
<child>
- <object class="GtkButton" id="cancel">
- <property name="label">gtk-cancel</property>
+ <object class="GtkButton" id="ok">
+ <property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
@@ -63,8 +159,8 @@
</packing>
</child>
<child>
- <object class="GtkButton" id="help">
- <property name="label">gtk-help</property>
+ <object class="GtkButton" id="cancel">
+ <property name="label">gtk-cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
@@ -74,12 +170,11 @@
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
- <property name="secondary">True</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="reset">
- <property name="label">gtk-revert-to-saved</property>
+ <object class="GtkButton" id="help">
+ <property name="label">gtk-help</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
@@ -89,6 +184,7 @@
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
+ <property name="secondary">True</property>
</packing>
</child>
</object>
@@ -112,6 +208,30 @@
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</object>
</child>
<child type="tab">
@@ -131,6 +251,30 @@
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</object>
<packing>
<property name="position">1</property>
@@ -157,101 +301,13 @@
</object>
</child>
<action-widgets>
+ <action-widget response="0">reset</action-widget>
<action-widget response="-5">ok</action-widget>
- <action-widget response="0">user</action-widget>
<action-widget response="-6">cancel</action-widget>
<action-widget response="-11">help</action-widget>
- <action-widget response="0">reset</action-widget>
</action-widgets>
- </object>
- <object class="GtkMenu" id="form">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkMenuItem" id="form1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="outlinenumbering|form1">Untitled 1</property>
- <property name="use_underline">True</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="form2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="outlinenumbering|form2">Untitled 2</property>
- <property name="use_underline">True</property>
- </object>
- </child>
<child>
- <object class="GtkMenuItem" id="form3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="outlinenumbering|form3">Untitled 3</property>
- <property name="use_underline">True</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="form4">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="outlinenumbering|form4">Untitled 4</property>
- <property name="use_underline">True</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="form5">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="outlinenumbering|form5">Untitled 5</property>
- <property name="use_underline">True</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="form6">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="outlinenumbering|form6">Untitled 6</property>
- <property name="use_underline">True</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="form7">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="outlinenumbering|form7">Untitled 7</property>
- <property name="use_underline">True</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="form8">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="outlinenumbering|form8">Untitled 8</property>
- <property name="use_underline">True</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="form9">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="outlinenumbering|form9">Untitled 9</property>
- <property name="use_underline">True</property>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="menuitem10">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="saveas">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="outlinenumbering|saveas">Save _As...</property>
- <property name="use_underline">True</property>
- </object>
+ <placeholder/>
</child>
</object>
</interface>
diff --git a/sw/uiconfig/swriter/ui/outlinenumberingpage.ui b/sw/uiconfig/swriter/ui/outlinenumberingpage.ui
index a85ac72b6cc7..63ca632a366b 100644
--- a/sw/uiconfig/swriter/ui/outlinenumberingpage.ui
+++ b/sw/uiconfig/swriter/ui/outlinenumberingpage.ui
@@ -2,7 +2,6 @@
<!-- Generated with glade 3.20.4 -->
<interface domain="sw">
<requires lib="gtk+" version="3.18"/>
- <requires lib="LibreOffice" version="1.0"/>
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">999</property>
<property name="step_increment">1</property>
@@ -26,6 +25,8 @@
<object class="GtkBox" id="OutlineNumberingPage">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
<property name="border_width">6</property>
<property name="spacing">12</property>
<child>
@@ -44,8 +45,6 @@
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="hexpand">True</property>
- <property name="vexpand">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="level">
diff --git a/sw/uiconfig/swriter/ui/outlinepositionpage.ui b/sw/uiconfig/swriter/ui/outlinepositionpage.ui
index b310ef8bfa19..d0f356a36a33 100644
--- a/sw/uiconfig/swriter/ui/outlinepositionpage.ui
+++ b/sw/uiconfig/swriter/ui/outlinepositionpage.ui
@@ -18,6 +18,21 @@
<property name="step_increment">0.050000000000000003</property>
<property name="page_increment">10</property>
</object>
+ <object class="GtkAdjustment" id="adjustment4">
+ <property name="upper">100</property>
+ <property name="step_increment">0.01</property>
+ <property name="page_increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment5">
+ <property name="upper">100</property>
+ <property name="step_increment">0.01</property>
+ <property name="page_increment">1</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment6">
+ <property name="upper">100</property>
+ <property name="step_increment">0.01</property>
+ <property name="page_increment">1</property>
+ </object>
<object class="GtkListStore" id="liststore1">
<columns>
<!-- column-name text -->
@@ -49,8 +64,6 @@
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="hexpand">True</property>
- <property name="vexpand">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="levellb">
@@ -275,6 +288,7 @@ numbering and text:</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="activates_default">True</property>
+ <property name="adjustment">adjustment6</property>
<property name="digits">2</property>
</object>
<packing>
@@ -325,6 +339,7 @@ numbering and text:</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="activates_default">True</property>
+ <property name="adjustment">adjustment4</property>
<property name="digits">2</property>
</object>
<packing>
@@ -351,6 +366,7 @@ numbering and text:</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="activates_default">True</property>
+ <property name="adjustment">adjustment5</property>
<property name="digits">2</property>
</object>
<packing>
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 0ff54771656b..a2dfb0f45e41 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -915,12 +915,30 @@ public:
m_xMenuButton->SetSelectHdl(LINK(this, SalInstanceMenuButton, MenuSelectHdl));
}
- virtual void set_active(const OString& rIdent, bool bActive) override
+ virtual void set_item_active(const OString& rIdent, bool bActive) override
{
PopupMenu* pMenu = m_xMenuButton->GetPopupMenu();
pMenu->CheckItem(pMenu->GetItemId(rIdent), bActive);
}
+ virtual void set_item_label(const OString& rIdent, const OUString& rText) override
+ {
+ PopupMenu* pMenu = m_xMenuButton->GetPopupMenu();
+ pMenu->SetItemText(pMenu->GetItemId(rIdent), rText);
+ }
+
+ virtual void set_item_help_id(const OString& rIdent, const OString& rHelpId) override
+ {
+ PopupMenu* pMenu = m_xMenuButton->GetPopupMenu();
+ pMenu->SetHelpId(pMenu->GetItemId(rIdent), rHelpId);
+ }
+
+ virtual OString get_item_help_id(const OString& rIdent) const override
+ {
+ PopupMenu* pMenu = m_xMenuButton->GetPopupMenu();
+ return pMenu->GetHelpId(pMenu->GetItemId(rIdent));
+ }
+
virtual ~SalInstanceMenuButton() override
{
m_xMenuButton->SetSelectHdl(Link<::MenuButton*, void>());
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 65e31948aa0b..1b6b7726cf38 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -8,6 +8,7 @@
*/
#include <memory>
+#include <com/sun/star/accessibility/AccessibleRole.hpp>
#include <com/sun/star/packages/zip/ZipFileAccess.hpp>
#include <i18nutil/unicode.hxx>
@@ -1426,6 +1427,7 @@ VclPtr<vcl::Window> VclBuilder::makeObject(vcl::Window *pParent, const OString &
assert(!sMenu.isEmpty());
m_pParserState->m_aButtonMenuMaps.emplace_back(id, sMenu);
xButton->SetImageAlign(ImageAlign::Left); //default to left
+ xButton->SetAccessibleRole(css::accessibility::AccessibleRole::BUTTON_MENU);
setupFromActionName(xButton, rMap, m_xFrame);
xWindow = xButton;
}
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 845e15ad15e4..d881155c7d40 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -1449,6 +1449,75 @@ public:
}
};
+namespace
+{
+ OString MapToGtkAccelerator(const OUString &rStr)
+ {
+ return OUStringToOString(rStr.replaceFirst("~", "_"), RTL_TEXTENCODING_UTF8);
+ }
+
+ OUString get_label(GtkLabel* pLabel)
+ {
+ const gchar* pStr = gtk_label_get_label(pLabel);
+ return OUString(pStr, pStr ? strlen(pStr) : 0, RTL_TEXTENCODING_UTF8);
+ }
+
+ void set_label(GtkLabel* pLabel, const OUString& rText)
+ {
+ gtk_label_set_label(pLabel, MapToGtkAccelerator(rText).getStr());
+ }
+
+ OUString get_label(GtkButton* pButton)
+ {
+ const gchar* pStr = gtk_button_get_label(pButton);
+ return OUString(pStr, pStr ? strlen(pStr) : 0, RTL_TEXTENCODING_UTF8);
+ }
+
+ void set_label(GtkButton* pButton, const OUString& rText)
+ {
+ gtk_button_set_label(pButton, MapToGtkAccelerator(rText).getStr());
+ }
+
+ OUString get_title(GtkWindow* pWindow)
+ {
+ const gchar* pStr = gtk_window_get_title(pWindow);
+ return OUString(pStr, pStr ? strlen(pStr) : 0, RTL_TEXTENCODING_UTF8);
+ }
+
+ void set_title(GtkWindow* pWindow, const OUString& rTitle)
+ {
+ gtk_window_set_title(pWindow, OUStringToOString(rTitle, RTL_TEXTENCODING_UTF8).getStr());
+ }
+
+ OUString get_primary_text(GtkMessageDialog* pMessageDialog)
+ {
+ gchar* pText = nullptr;
+ g_object_get(G_OBJECT(pMessageDialog), "text", &pText, nullptr);
+ return OUString(pText, pText ? strlen(pText) : 0, RTL_TEXTENCODING_UTF8);
+ }
+
+ void set_primary_text(GtkMessageDialog* pMessageDialog, const OUString& rText)
+ {
+ g_object_set(G_OBJECT(pMessageDialog), "text",
+ OUStringToOString(rText, RTL_TEXTENCODING_UTF8).getStr(),
+ nullptr);
+ }
+
+ void set_secondary_text(GtkMessageDialog* pMessageDialog, const OUString& rText)
+ {
+ g_object_set(G_OBJECT(pMessageDialog), "secondary-text",
+ OUStringToOString(rText, RTL_TEXTENCODING_UTF8).getStr(),
+ nullptr);
+ }
+
+ OUString get_secondary_text(GtkMessageDialog* pMessageDialog)
+ {
+ gchar* pText = nullptr;
+ g_object_get(G_OBJECT(pMessageDialog), "secondary-text", &pText, nullptr);
+ return OUString(pText, pText ? strlen(pText) : 0, RTL_TEXTENCODING_UTF8);
+ }
+}
+
class MenuHelper
{
protected:
@@ -1519,6 +1588,21 @@ public:
enable_item_notify_events();
}
+ void set_item_label(const OString& rIdent, const OUString& rText)
+ {
+ gtk_menu_item_set_label(m_aMap[rIdent], MapToGtkAccelerator(rText).getStr());
+ }
+
+ void set_item_help_id(const OString& rIdent, const OString& rHelpId)
+ {
+ set_help_id(GTK_WIDGET(m_aMap[rIdent]), rHelpId);
+ }
+
+ OString get_item_help_id(const OString& rIdent) const
+ {
+ return get_help_id(GTK_WIDGET(m_aMap.find(rIdent)->second));
+ }
+
void show_item(const OString& rIdent, bool bShow)
{
GtkWidget* pWidget = GTK_WIDGET(m_aMap[rIdent]);
@@ -1666,75 +1750,6 @@ weld::Container* GtkInstanceWidget::weld_parent() const
return pParent ? new GtkInstanceContainer(GTK_CONTAINER(pParent), false) : nullptr;
}
-namespace
-{
- OString MapToGtkAccelerator(const OUString &rStr)
- {
- return OUStringToOString(rStr.replaceFirst("~", "_"), RTL_TEXTENCODING_UTF8);
- }
-
- OUString get_label(GtkLabel* pLabel)
- {
- const gchar* pStr = gtk_label_get_label(pLabel);
- return OUString(pStr, pStr ? strlen(pStr) : 0, RTL_TEXTENCODING_UTF8);
- }
-
- void set_label(GtkLabel* pLabel, const OUString& rText)
- {
- gtk_label_set_label(pLabel, MapToGtkAccelerator(rText).getStr());
- }
-
- OUString get_label(GtkButton* pButton)
- {
- const gchar* pStr = gtk_button_get_label(pButton);
- return OUString(pStr, pStr ? strlen(pStr) : 0, RTL_TEXTENCODING_UTF8);
- }
-
- void set_label(GtkButton* pButton, const OUString& rText)
- {
- gtk_button_set_label(pButton, MapToGtkAccelerator(rText).getStr());
- }
-
- OUString get_title(GtkWindow* pWindow)
- {
- const gchar* pStr = gtk_window_get_title(pWindow);
- return OUString(pStr, pStr ? strlen(pStr) : 0, RTL_TEXTENCODING_UTF8);
- }
-
- void set_title(GtkWindow* pWindow, const OUString& rTitle)
- {
- gtk_window_set_title(pWindow, OUStringToOString(rTitle, RTL_TEXTENCODING_UTF8).getStr());
- }
-
- OUString get_primary_text(GtkMessageDialog* pMessageDialog)
- {
- gchar* pText = nullptr;
- g_object_get(G_OBJECT(pMessageDialog), "text", &pText, nullptr);
- return OUString(pText, pText ? strlen(pText) : 0, RTL_TEXTENCODING_UTF8);
- }
-
- void set_primary_text(GtkMessageDialog* pMessageDialog, const OUString& rText)
- {
- g_object_set(G_OBJECT(pMessageDialog), "text",
- OUStringToOString(rText, RTL_TEXTENCODING_UTF8).getStr(),
- nullptr);
- }
-
- void set_secondary_text(GtkMessageDialog* pMessageDialog, const OUString& rText)
- {
- g_object_set(G_OBJECT(pMessageDialog), "secondary-text",
- OUStringToOString(rText, RTL_TEXTENCODING_UTF8).getStr(),
- nullptr);
- }
-
- OUString get_secondary_text(GtkMessageDialog* pMessageDialog)
- {
- gchar* pText = nullptr;
- g_object_get(G_OBJECT(pMessageDialog), "secondary-text", &pText, nullptr);
- return OUString(pText, pText ? strlen(pText) : 0, RTL_TEXTENCODING_UTF8);
- }
-}
-
class GtkInstanceWindow : public GtkInstanceContainer, public virtual weld::Window
{
private:
@@ -2578,9 +2593,24 @@ public:
{
}
- virtual void set_active(const OString& rIdent, bool bActive) override
+ virtual void set_item_active(const OString& rIdent, bool bActive) override
{
- set_item_active(rIdent, bActive);
+ MenuHelper::set_item_active(rIdent, bActive);
+ }
+
+ virtual void set_item_label(const OString& rIdent, const OUString& rLabel) override
+ {
+ MenuHelper::set_item_label(rIdent, rLabel);
+ }
+
+ virtual void set_item_help_id(const OString& rIdent, const OString& rHelpId) override
+ {
+ MenuHelper::set_item_help_id(rIdent, rHelpId);
+ }
+
+ virtual OString get_item_help_id(const OString& rIdent) const override
+ {
+ return MenuHelper::get_item_help_id(rIdent);
}
virtual void signal_activate(GtkMenuItem* pItem) override
@@ -3211,7 +3241,9 @@ public:
virtual void set_selection_mode(bool bMultiple) override
{
+ disable_notify_events();
gtk_tree_selection_set_mode(gtk_tree_view_get_selection(m_pTreeView), bMultiple ? GTK_SELECTION_MULTIPLE : GTK_SELECTION_SINGLE);
+ enable_notify_events();
}
virtual int count_selected_rows() const override
More information about the Libreoffice-commits
mailing list