[Libreoffice-commits] core.git: include/sfx2 sfx2/source sw/inc sw/source sw/uiconfig
Caolán McNamara
caolanm at redhat.com
Sun Apr 29 13:34:30 UTC 2018
include/sfx2/tabdlg.hxx | 14 +++--
sfx2/source/dialog/tabdlg.cxx | 20 +++++++
sw/inc/swabstdlg.hxx | 2
sw/source/ui/dialog/swdlgfact.cxx | 5 -
sw/source/ui/dialog/swdlgfact.hxx | 2
sw/source/ui/misc/docfnote.cxx | 25 ++++-----
sw/source/uibase/inc/docfnote.hxx | 13 +---
sw/source/uibase/uiview/view0.cxx | 2
sw/uiconfig/swriter/ui/footendnotedialog.ui | 75 ++++++++++++++++++++++++++--
9 files changed, 123 insertions(+), 35 deletions(-)
New commits:
commit b32a54d6da5c51a5d0d607d4d97a3fdbede20e03
Author: Caolán McNamara <caolanm at redhat.com>
Date: Sat Apr 28 15:27:47 2018 +0100
weld SwFootNoteOptionDlg
Change-Id: I00713527deab7f8cb9f137c35db7d28c5a896171
Reviewed-on: https://gerrit.libreoffice.org/53609
Tested-by: Jenkins <ci at libreoffice.org>
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 d3fda57a3d32..e4df01acbc9a 100644
--- a/include/sfx2/tabdlg.hxx
+++ b/include/sfx2/tabdlg.hxx
@@ -229,6 +229,11 @@ class SFX2_DLLPUBLIC SfxTabDialogController : public weld::GenericDialogControll
{
protected:
std::unique_ptr<weld::Notebook> m_xTabCtrl;
+
+ DECL_LINK(OkHdl, weld::Button&, void);
+ DECL_LINK(ResetHdl, weld::Button&, void);
+ DECL_LINK(UserHdl, weld::Button&, void);
+ DECL_LINK(CancelHdl, weld::Button&, void);
private:
std::unique_ptr<weld::Button> m_xOKBtn;
std::unique_ptr<weld::Button> m_xApplyBtn;
@@ -244,10 +249,6 @@ private:
DECL_DLLPRIVATE_LINK(ActivatePageHdl, const OString&, void);
DECL_DLLPRIVATE_LINK(DeactivatePageHdl, const OString&, bool);
- DECL_DLLPRIVATE_LINK(OkHdl, weld::Button&, void);
- DECL_DLLPRIVATE_LINK(ResetHdl, weld::Button&, void);
- DECL_DLLPRIVATE_LINK(UserHdl, weld::Button&, void);
- DECL_DLLPRIVATE_LINK(CancelHdl, weld::Button&, void);
SAL_DLLPRIVATE void Init_Impl(bool bFmtFlag);
protected:
@@ -257,6 +258,7 @@ protected:
SfxItemSet* m_pExampleSet;
SfxItemSet* GetInputSetImpl();
+ SfxTabPage* GetTabPage(const OString& rPageId) const;
/** prepare to leave the current page. Calls the DeactivatePage method of the current page, (if necessary),
handles the item sets to copy.
@@ -285,8 +287,12 @@ public:
void SetInputSet( const SfxItemSet* pInSet );
const SfxItemSet* GetOutputItemSet() const { return m_pOutSet.get(); }
+ const weld::Button& GetOKButton() const { return *m_xOKBtn; }
+ weld::Button& GetOKButton() { return *m_xOKBtn; }
+
const weld::Button* GetUserButton() const { return m_xUserBtn.get(); }
weld::Button* GetUserButton() { return m_xUserBtn.get(); }
+ void RemoveResetButton();
short execute();
diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx
index 9fc31515b861..9e6e9155cd9a 100644
--- a/sfx2/source/dialog/tabdlg.cxx
+++ b/sfx2/source/dialog/tabdlg.cxx
@@ -2057,4 +2057,24 @@ SfxItemSet* SfxTabDialogController::GetInputSetImpl()
return m_pSet;
}
+void SfxTabDialogController::RemoveResetButton()
+{
+ m_xResetBtn->hide();
+ m_pImpl->bHideResetBtn = true;
+}
+
+SfxTabPage* SfxTabDialogController::GetTabPage(const OString& rPageId) const
+
+/* [Description]
+
+ Return TabPage with the specified Id.
+*/
+
+{
+ Data_Impl* pDataObject = Find(m_pImpl->aData, rPageId);
+ if (pDataObject)
+ return pDataObject->pTabPage;
+ return nullptr;
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/inc/swabstdlg.hxx b/sw/inc/swabstdlg.hxx
index 4fb601dc76a9..3ed9b295a0b3 100644
--- a/sw/inc/swabstdlg.hxx
+++ b/sw/inc/swabstdlg.hxx
@@ -384,7 +384,7 @@ public:
css::uno::Reference< css::sdbc::XDataSource> rxSource,
css::uno::Reference<css::sdbcx::XColumnsSupplier> xColSupp,
const SwDBData& rData) = 0;
- virtual VclPtr<SfxAbstractTabDialog> CreateSwFootNoteOptionDlg(vcl::Window *pParent, SwWrtShell &rSh) = 0;
+ virtual VclPtr<SfxAbstractTabDialog> CreateSwFootNoteOptionDlg(weld::Window *pParent, SwWrtShell &rSh) = 0;
virtual VclPtr<AbstractDropDownFieldDialog> CreateDropDownFieldDialog(weld::Window* pParent, SwWrtShell &rSh,
SwField* pField, bool bPrevButton, bool bNextButton) = 0;
diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx
index a0b0d95e3897..60485e2137e4 100644
--- a/sw/source/ui/dialog/swdlgfact.cxx
+++ b/sw/source/ui/dialog/swdlgfact.cxx
@@ -776,10 +776,9 @@ VclPtr<AbstractSwInsertDBColAutoPilot> SwAbstractDialogFactory_Impl::CreateSwIns
return VclPtr<AbstractSwInsertDBColAutoPilot_Impl>::Create( pDlg );
}
-VclPtr<SfxAbstractTabDialog> SwAbstractDialogFactory_Impl::CreateSwFootNoteOptionDlg(vcl::Window *pParent, SwWrtShell &rSh)
+VclPtr<SfxAbstractTabDialog> SwAbstractDialogFactory_Impl::CreateSwFootNoteOptionDlg(weld::Window *pParent, SwWrtShell &rSh)
{
- VclPtr<SfxTabDialog> pDlg = VclPtr<SwFootNoteOptionDlg>::Create( pParent, rSh );
- return VclPtr<AbstractTabDialog_Impl>::Create( pDlg );
+ return VclPtr<AbstractTabController_Impl>::Create(new SwFootNoteOptionDlg(pParent, rSh));
}
VclPtr<AbstractDropDownFieldDialog> SwAbstractDialogFactory_Impl::CreateDropDownFieldDialog(weld::Window *pParent,
diff --git a/sw/source/ui/dialog/swdlgfact.hxx b/sw/source/ui/dialog/swdlgfact.hxx
index 3afdec171700..f2f10176493f 100644
--- a/sw/source/ui/dialog/swdlgfact.hxx
+++ b/sw/source/ui/dialog/swdlgfact.hxx
@@ -564,7 +564,7 @@ public:
css::uno::Reference< css::sdbc::XDataSource> rxSource,
css::uno::Reference<css::sdbcx::XColumnsSupplier> xColSupp,
const SwDBData& rData) override;
- virtual VclPtr<SfxAbstractTabDialog> CreateSwFootNoteOptionDlg(vcl::Window *pParent, SwWrtShell &rSh) override;
+ virtual VclPtr<SfxAbstractTabDialog> CreateSwFootNoteOptionDlg(weld::Window *pParent, SwWrtShell &rSh) override;
virtual VclPtr<AbstractDropDownFieldDialog> CreateDropDownFieldDialog(weld::Window* pParent, SwWrtShell &rSh,
SwField* pField, bool bPrevButton, bool bNextButton) override;
diff --git a/sw/source/ui/misc/docfnote.cxx b/sw/source/ui/misc/docfnote.cxx
index afa467580c4f..4de40de6f68a 100644
--- a/sw/source/ui/misc/docfnote.cxx
+++ b/sw/source/ui/misc/docfnote.cxx
@@ -34,34 +34,33 @@
#include <SwStyleNameMapper.hxx>
#include <memory>
-SwFootNoteOptionDlg::SwFootNoteOptionDlg(vcl::Window *pParent, SwWrtShell &rS)
- : SfxTabDialog(pParent, "FootEndnoteDialog", "modules/swriter/ui/footendnotedialog.ui")
+SwFootNoteOptionDlg::SwFootNoteOptionDlg(weld::Window *pParent, SwWrtShell &rS)
+ : SfxTabDialogController(pParent, "modules/swriter/ui/footendnotedialog.ui", "FootEndnoteDialog")
, rSh( rS )
{
RemoveResetButton();
- aOldOkHdl = GetOKButton().GetClickHdl();
- GetOKButton().SetClickHdl( LINK( this, SwFootNoteOptionDlg, OkHdl ) );
+ GetOKButton().connect_clicked(LINK(this, SwFootNoteOptionDlg, OkHdl));
- m_nFootNoteId = AddTabPage( "footnotes", SwFootNoteOptionPage::Create, nullptr );
- m_nEndNoteId = AddTabPage( "endnotes", SwEndNoteOptionPage::Create, nullptr );
+ AddTabPage("footnotes", SwFootNoteOptionPage::Create, nullptr);
+ AddTabPage("endnotes", SwEndNoteOptionPage::Create, nullptr);
}
-void SwFootNoteOptionDlg::PageCreated( sal_uInt16 /*nId*/, SfxTabPage &rPage )
+void SwFootNoteOptionDlg::PageCreated(const OString& /*rId*/, SfxTabPage &rPage)
{
- static_cast<SwEndNoteOptionPage&>(rPage).SetShell( rSh );
+ static_cast<SwEndNoteOptionPage&>(rPage).SetShell(rSh);
}
-IMPL_LINK( SwFootNoteOptionDlg, OkHdl, Button *, pBtn, void )
+IMPL_LINK(SwFootNoteOptionDlg, OkHdl, weld::Button&, rBtn, void)
{
SfxItemSet aDummySet(rSh.GetAttrPool(), svl::Items<1, 1>{} );
- SfxTabPage *pPage = GetTabPage( m_nFootNoteId );
+ SfxTabPage *pPage = GetTabPage("footnotes");
if ( pPage )
pPage->FillItemSet( &aDummySet );
- pPage = GetTabPage( m_nEndNoteId );
+ pPage = GetTabPage("endnotes");
if ( pPage )
pPage->FillItemSet( &aDummySet );
- aOldOkHdl.Call( pBtn );
+ SfxTabDialogController::OkHdl(rBtn);
}
SwEndNoteOptionPage::SwEndNoteOptionPage(TabPageParent pParent, bool bEN,
@@ -82,7 +81,7 @@ SwEndNoteOptionPage::SwEndNoteOptionPage(TabPageParent pParent, bool bEN,
, m_xPosFT(m_xBuilder->weld_label("pos"))
, m_xPosPageBox(m_xBuilder->weld_radio_button("pospagecb"))
, m_xPosChapterBox(m_xBuilder->weld_radio_button("posdoccb"))
- , m_xStylesContainer(m_xBuilder->weld_combo_box_text("allstyles"))
+ , m_xStylesContainer(m_xBuilder->weld_widget("allstyles"))
, m_xParaTemplBox(m_xBuilder->weld_combo_box_text("parastylelb"))
, m_xPageTemplLbl(m_xBuilder->weld_label("pagestyleft"))
, m_xPageTemplBox(m_xBuilder->weld_combo_box_text("pagestylelb"))
diff --git a/sw/source/uibase/inc/docfnote.hxx b/sw/source/uibase/inc/docfnote.hxx
index 61393659cc51..471169505b7b 100644
--- a/sw/source/uibase/inc/docfnote.hxx
+++ b/sw/source/uibase/inc/docfnote.hxx
@@ -23,20 +23,17 @@
class SwWrtShell;
-class SwFootNoteOptionDlg :public SfxTabDialog
+class SwFootNoteOptionDlg : public SfxTabDialogController
{
SwWrtShell &rSh;
- Link<Button*, void> aOldOkHdl;
+ Link<weld::Button&, void> aOldOkHdl;
- sal_uInt16 m_nFootNoteId;
- sal_uInt16 m_nEndNoteId;
+ virtual void PageCreated(const OString& rId, SfxTabPage &rPage) override;
- virtual void PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) override;
-
- DECL_LINK( OkHdl, Button *, void );
+ DECL_LINK(OkHdl, weld::Button&, void);
public:
- SwFootNoteOptionDlg(vcl::Window *pParent, SwWrtShell &rSh );
+ SwFootNoteOptionDlg(weld::Window *pParent, SwWrtShell &rSh);
};
#endif
diff --git a/sw/source/uibase/uiview/view0.cxx b/sw/source/uibase/uiview/view0.cxx
index 5367ac4c4507..4b7694b49584 100644
--- a/sw/source/uibase/uiview/view0.cxx
+++ b/sw/source/uibase/uiview/view0.cxx
@@ -600,7 +600,7 @@ void SwView::ExecFormatFootnote()
SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "SwAbstractDialogFactory fail!");
- ScopedVclPtr<VclAbstractDialog> pDlg(pFact->CreateSwFootNoteOptionDlg(GetWindow(), GetWrtShell()));
+ ScopedVclPtr<VclAbstractDialog> pDlg(pFact->CreateSwFootNoteOptionDlg(GetFrameWeld(), GetWrtShell()));
OSL_ENSURE(pDlg, "Dialog creation failed!");
pDlg->Execute();
}
diff --git a/sw/uiconfig/swriter/ui/footendnotedialog.ui b/sw/uiconfig/swriter/ui/footendnotedialog.ui
index a38aca365a45..6a74cfe800e5 100644
--- a/sw/uiconfig/swriter/ui/footendnotedialog.ui
+++ b/sw/uiconfig/swriter/ui/footendnotedialog.ui
@@ -1,5 +1,5 @@
<?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="GtkDialog" id="FootEndnoteDialog">
@@ -7,6 +7,9 @@
<property name="border_width">6</property>
<property name="title" translatable="yes" context="footendnotedialog|FootEndnoteDialog">Footnotes/Endnotes Settings</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">
@@ -18,6 +21,19 @@
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
+ <object class="GtkButton" id="reset">
+ <property name="label">gtk-revert-to-saved</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkButton" id="ok">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
@@ -30,7 +46,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">0</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
@@ -44,7 +60,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
<child>
@@ -58,7 +74,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">2</property>
+ <property name="position">3</property>
<property name="secondary">True</property>
</packing>
</child>
@@ -83,6 +99,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">
@@ -102,6 +142,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>
@@ -132,5 +196,8 @@
<action-widget response="-6">cancel</action-widget>
<action-widget response="-11">help</action-widget>
</action-widgets>
+ <child>
+ <placeholder/>
+ </child>
</object>
</interface>
More information about the Libreoffice-commits
mailing list