diff options
-rw-r--r-- | sc/UIConfig_scalc.mk | 4 | ||||
-rw-r--r-- | sc/inc/scres.hrc | 8 | ||||
-rw-r--r-- | sc/qa/uitest/calc_tests9/tdf142763.py | 69 | ||||
-rw-r--r-- | sc/source/ui/attrdlg/scdlgfact.cxx | 12 | ||||
-rw-r--r-- | sc/source/ui/inc/hfedtdlg.hxx | 42 | ||||
-rw-r--r-- | sc/source/ui/inc/scuitphfedit.hxx | 14 | ||||
-rw-r--r-- | sc/source/ui/pagedlg/hfedtdlg.cxx | 90 | ||||
-rw-r--r-- | sc/source/ui/pagedlg/scuitphfedit.cxx | 26 | ||||
-rw-r--r-- | sc/source/ui/pagedlg/tphf.cxx | 28 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/footerdialog.ui | 46 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/headerdialog.ui | 46 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/sharedfirstfooterdialog.ui | 209 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/sharedfirstheaderdialog.ui | 209 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/sharedleftfooterdialog.ui | 205 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/sharedleftheaderdialog.ui | 205 | ||||
-rw-r--r-- | svx/source/dialog/hdft.cxx | 16 |
16 files changed, 1202 insertions, 27 deletions
diff --git a/sc/UIConfig_scalc.mk b/sc/UIConfig_scalc.mk index e19172e49bd3..c7ddfa38f88f 100644 --- a/sc/UIConfig_scalc.mk +++ b/sc/UIConfig_scalc.mk @@ -217,6 +217,10 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/scalc,\ sc/uiconfig/scalc/ui/selectsource \ sc/uiconfig/scalc/ui/sheetprintpage \ sc/uiconfig/scalc/ui/sharedocumentdlg \ + sc/uiconfig/scalc/ui/sharedfirstfooterdialog \ + sc/uiconfig/scalc/ui/sharedfirstheaderdialog \ + sc/uiconfig/scalc/ui/sharedleftfooterdialog \ + sc/uiconfig/scalc/ui/sharedleftheaderdialog \ sc/uiconfig/scalc/ui/sharedfooterdialog \ sc/uiconfig/scalc/ui/sharedheaderdialog \ sc/uiconfig/scalc/ui/sharedwarningdialog \ diff --git a/sc/inc/scres.hrc b/sc/inc/scres.hrc index 57ac75843530..8089d41258f0 100644 --- a/sc/inc/scres.hrc +++ b/sc/inc/scres.hrc @@ -39,8 +39,12 @@ #define RID_SCDLG_HFEDIT_RIGHTHEADER (SC_DIALOGS_START + 65) #define RID_SCDLG_HFEDIT_LEFTFOOTER (SC_DIALOGS_START + 66) #define RID_SCDLG_HFEDIT_RIGHTFOOTER (SC_DIALOGS_START + 67) -#define RID_SCDLG_HFEDIT_HEADER (SC_DIALOGS_START + 68) -#define RID_SCDLG_HFEDIT_FOOTER (SC_DIALOGS_START + 69) +#define RID_SCDLG_HFEDIT_SHAREDFIRSTHEADER (SC_DIALOGS_START + 68) +#define RID_SCDLG_HFEDIT_SHAREDLEFTHEADER (SC_DIALOGS_START + 69) +#define RID_SCDLG_HFEDIT_SHAREDFIRSTFOOTER (SC_DIALOGS_START + 70) +#define RID_SCDLG_HFEDIT_SHAREDLEFTFOOTER (SC_DIALOGS_START + 71) +#define RID_SCDLG_HFEDIT_HEADER (SC_DIALOGS_START + 72) +#define RID_SCDLG_HFEDIT_FOOTER (SC_DIALOGS_START + 73) #define WID_CONDFRMT_REF (SC_DIALOGS_START + 163) diff --git a/sc/qa/uitest/calc_tests9/tdf142763.py b/sc/qa/uitest/calc_tests9/tdf142763.py new file mode 100644 index 000000000000..5808dd1df624 --- /dev/null +++ b/sc/qa/uitest/calc_tests9/tdf142763.py @@ -0,0 +1,69 @@ +# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*- +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +from uitest.framework import UITestCase +from uitest.uihelper.common import get_state_as_dict, get_url_for_data_file, select_pos +from libreoffice.uno.propertyvalue import mkPropertyValues +from libreoffice.calc.document import get_cell_by_position +import time + +class Tdf142763(UITestCase): + + def test_tdf142763_header(self): + with self.ui_test.create_doc_in_start_center("calc"): + xCalcDoc = self.xUITest.getTopFocusWindow() + gridwin = xCalcDoc.getChild("grid_window") + gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "A1"})) + + with self.ui_test.execute_dialog_through_command(".uno:PageFormatDialog") as xPageFormatDialog: + xTabControl = xPageFormatDialog.getChild("tabcontrol") + select_pos(xTabControl, "4") + + xHeaderOnBtn = xPageFormatDialog.getChild("checkHeaderOn") + xHeaderOnBtn.executeAction("CLICK", tuple()) + xFirstHeaderSameBtn = xPageFormatDialog.getChild("checkSameFP") + xFirstHeaderSameBtn.executeAction("CLICK", tuple()) + + with self.ui_test.execute_dialog_through_command(".uno:EditHeaderAndFooter") as xHeaderDialog: + xLeftTextWindow = xHeaderDialog.getChild("textviewWND_LEFT") + xLeftTextWindow.executeAction("TYPE", mkPropertyValues({"TEXT": "first"})) + xCenterTextWindow = xHeaderDialog.getChild("textviewWND_CENTER") + xCenterTextWindow.executeAction("TYPE", mkPropertyValues({"TEXT": "page | "})) + xRightTextWindow = xHeaderDialog.getChild("textviewWND_RIGHT") + xRightTextWindow.executeAction("TYPE", mkPropertyValues({"TEXT": "header"})) + + self.assertEqual("first", get_state_as_dict(xLeftTextWindow)["Text"]) + self.assertEqual("page | Sheet1", get_state_as_dict(xCenterTextWindow)["Text"]) + self.assertEqual("header", get_state_as_dict(xRightTextWindow)["Text"]) + + def test_tdf142763_footer(self): + with self.ui_test.create_doc_in_start_center("calc"): + xCalcDoc = self.xUITest.getTopFocusWindow() + gridwin = xCalcDoc.getChild("grid_window") + gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "A1"})) + + with self.ui_test.execute_dialog_through_command(".uno:PageFormatDialog") as xPageFormatDialog: + xTabControl = xPageFormatDialog.getChild("tabcontrol") + select_pos(xTabControl, "5") + + xFooterOnBtn = xPageFormatDialog.getChild("checkFooterOn") + xFooterOnBtn.executeAction("CLICK", tuple()) + xFirstFooterSameBtn = xPageFormatDialog.getChild("checkSameFP") + xFirstFooterSameBtn.executeAction("CLICK", tuple()) + + with self.ui_test.execute_dialog_through_command(".uno:EditHeaderAndFooter") as xFooterDialog: + xLeftTextWindow = xFooterDialog.getChild("textviewWND_LEFT") + xLeftTextWindow.executeAction("TYPE", mkPropertyValues({"TEXT": "first"})) + xCenterTextWindow = xFooterDialog.getChild("textviewWND_CENTER") + xCenterTextWindow.executeAction("TYPE", mkPropertyValues({"TEXT": "page | "})) + xRightTextWindow = xFooterDialog.getChild("textviewWND_RIGHT") + xRightTextWindow.executeAction("TYPE", mkPropertyValues({"TEXT": "footer"})) + + self.assertEqual("first", get_state_as_dict(xLeftTextWindow)["Text"]) + self.assertEqual("page | Sheet1", get_state_as_dict(xCenterTextWindow)["Text"]) + self.assertEqual("footer", get_state_as_dict(xRightTextWindow)["Text"]) + +# vim: set shiftwidth=4 softtabstop=4 expandtab: diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx b/sc/source/ui/attrdlg/scdlgfact.cxx index 14e4f6920e2f..9fbfccaa4d38 100644 --- a/sc/source/ui/attrdlg/scdlgfact.cxx +++ b/sc/source/ui/attrdlg/scdlgfact.cxx @@ -1232,6 +1232,18 @@ VclPtr<SfxAbstractTabDialog> ScAbstractDialogFactory_Impl::CreateScHFEditDlg( we case RID_SCDLG_HFEDIT_FOOTER: xDlg = std::make_shared<ScHFEditFooterDlg>(pParent, rCoreSet, rPageStyle); break; + case RID_SCDLG_HFEDIT_SHAREDFIRSTHEADER: + xDlg = std::make_shared<ScHFEditSharedFirstHeaderDlg>(pParent, rCoreSet, rPageStyle); + break; + case RID_SCDLG_HFEDIT_SHAREDLEFTHEADER: + xDlg = std::make_shared<ScHFEditSharedLeftHeaderDlg>(pParent, rCoreSet, rPageStyle); + break; + case RID_SCDLG_HFEDIT_SHAREDFIRSTFOOTER: + xDlg = std::make_shared<ScHFEditSharedFirstFooterDlg>(pParent, rCoreSet, rPageStyle); + break; + case RID_SCDLG_HFEDIT_SHAREDLEFTFOOTER: + xDlg = std::make_shared<ScHFEditSharedLeftFooterDlg>(pParent, rCoreSet, rPageStyle); + break; case RID_SCDLG_HFEDIT_LEFTHEADER: xDlg = std::make_shared<ScHFEditLeftHeaderDlg>(pParent, rCoreSet, rPageStyle); break; diff --git a/sc/source/ui/inc/hfedtdlg.hxx b/sc/source/ui/inc/hfedtdlg.hxx index dba0cf346126..61d02f9c6f5c 100644 --- a/sc/source/ui/inc/hfedtdlg.hxx +++ b/sc/source/ui/inc/hfedtdlg.hxx @@ -51,6 +51,41 @@ public: const SfxItemSet& rCoreSet, std::u16string_view rPageStyle); }; +class ScHFEditSharedFirstHeaderDlg : public ScHFEditDlg +{ +public: + ScHFEditSharedFirstHeaderDlg(weld::Window* pParent, + const SfxItemSet& rCoreSet, std::u16string_view rPageStyle); +}; + +class ScHFEditSharedFirstFooterDlg : public ScHFEditDlg +{ +public: + ScHFEditSharedFirstFooterDlg(weld::Window* pParent, + const SfxItemSet& rCoreSet, std::u16string_view rPageStyle); +}; + +class ScHFEditSharedLeftHeaderDlg : public ScHFEditDlg +{ +public: + ScHFEditSharedLeftHeaderDlg(weld::Window* pParent, + const SfxItemSet& rCoreSet, std::u16string_view rPageStyle); +}; + +class ScHFEditSharedLeftFooterDlg : public ScHFEditDlg +{ +public: + ScHFEditSharedLeftFooterDlg(weld::Window* pParent, + const SfxItemSet& rCoreSet, std::u16string_view rPageStyle); +}; + +class ScHFEditFirstHeaderDlg : public ScHFEditDlg +{ +public: + ScHFEditFirstHeaderDlg(weld::Window* pParent, + const SfxItemSet& rCoreSet, std::u16string_view rPageStyle); +}; + class ScHFEditLeftHeaderDlg : public ScHFEditDlg { public: @@ -65,6 +100,13 @@ public: const SfxItemSet& rCoreSet, std::u16string_view rPageStyle); }; +class ScHFEditFirstFooterDlg : public ScHFEditDlg +{ +public: + ScHFEditFirstFooterDlg(weld::Window* pParent, + const SfxItemSet& rCoreSet, std::u16string_view rPageStyle); +}; + class ScHFEditLeftFooterDlg : public ScHFEditDlg { public: diff --git a/sc/source/ui/inc/scuitphfedit.hxx b/sc/source/ui/inc/scuitphfedit.hxx index 6b06b27ff509..4d84365f85d6 100644 --- a/sc/source/ui/inc/scuitphfedit.hxx +++ b/sc/source/ui/inc/scuitphfedit.hxx @@ -113,6 +113,13 @@ private: DECL_LINK( MenuHdl, const OString&, void ); }; +class ScFirstHeaderEditPage : public ScHFEditPage +{ +public: + static std::unique_ptr<SfxTabPage> Create( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rCoreSet ); + ScFirstHeaderEditPage( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet ); +}; + class ScRightHeaderEditPage : public ScHFEditPage { public: @@ -127,6 +134,13 @@ public: ScLeftHeaderEditPage( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet ); }; +class ScFirstFooterEditPage : public ScHFEditPage +{ +public: + static std::unique_ptr<SfxTabPage> Create( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rCoreSet ); + ScFirstFooterEditPage( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet ); +}; + class ScRightFooterEditPage : public ScHFEditPage { public: diff --git a/sc/source/ui/pagedlg/hfedtdlg.cxx b/sc/source/ui/pagedlg/hfedtdlg.cxx index 3bda901ed0fc..820115749880 100644 --- a/sc/source/ui/pagedlg/hfedtdlg.cxx +++ b/sc/source/ui/pagedlg/hfedtdlg.cxx @@ -51,23 +51,79 @@ ScHFEditHeaderDlg::ScHFEditHeaderDlg( : ScHFEditDlg( pParent, rCoreSet, rPageStyle, "modules/scalc/ui/headerdialog.ui", "HeaderDialog") { + AddTabPage("headerfirst", ScFirstHeaderEditPage::Create, nullptr); AddTabPage("headerright", ScRightHeaderEditPage::Create, nullptr); AddTabPage("headerleft", ScLeftHeaderEditPage::Create, nullptr); } ScHFEditFooterDlg::ScHFEditFooterDlg( - weld::Window* pParent, + weld::Window* pParent, const SfxItemSet& rCoreSet, std::u16string_view rPageStyle) : ScHFEditDlg( pParent, rCoreSet, rPageStyle, "modules/scalc/ui/footerdialog.ui", "FooterDialog" ) { + AddTabPage("footerfirst", ScFirstFooterEditPage::Create, nullptr); AddTabPage("footerright", ScRightFooterEditPage::Create, nullptr); AddTabPage("footerleft", ScLeftFooterEditPage::Create, nullptr); } +ScHFEditSharedFirstHeaderDlg::ScHFEditSharedFirstHeaderDlg( + weld::Window* pParent, + const SfxItemSet& rCoreSet, + std::u16string_view rPageStyle) + : ScHFEditDlg( pParent, rCoreSet, rPageStyle, + "modules/scalc/ui/sharedfirstheaderdialog.ui", "SharedFirstHeaderDialog" ) +{ + AddTabPage("headerright", ScRightHeaderEditPage::Create, nullptr); + AddTabPage("headerleft", ScLeftHeaderEditPage::Create, nullptr); +} + +ScHFEditSharedFirstFooterDlg::ScHFEditSharedFirstFooterDlg( + weld::Window* pParent, + const SfxItemSet& rCoreSet, + std::u16string_view rPageStyle) + : ScHFEditDlg( pParent, rCoreSet, rPageStyle, + "modules/scalc/ui/sharedfirstfooterdialog.ui", "SharedFirstFooterDialog" ) +{ + AddTabPage("footerright", ScRightFooterEditPage::Create, nullptr); + AddTabPage("footerleft", ScLeftFooterEditPage::Create, nullptr); +} + +ScHFEditSharedLeftHeaderDlg::ScHFEditSharedLeftHeaderDlg( + weld::Window* pParent, + const SfxItemSet& rCoreSet, + std::u16string_view rPageStyle) + : ScHFEditDlg( pParent, rCoreSet, rPageStyle, + "modules/scalc/ui/sharedleftheaderdialog.ui", "SharedLeftHeaderDialog" ) +{ + AddTabPage("headerfirst", ScFirstHeaderEditPage::Create, nullptr); + AddTabPage("headerright", ScRightHeaderEditPage::Create, nullptr); +} + +ScHFEditSharedLeftFooterDlg::ScHFEditSharedLeftFooterDlg( + weld::Window* pParent, + const SfxItemSet& rCoreSet, + std::u16string_view rPageStyle) + : ScHFEditDlg( pParent, rCoreSet, rPageStyle, + "modules/scalc/ui/sharedleftfooterdialog.ui", "SharedLeftFooterDialog" ) +{ + AddTabPage("footerfirst", ScFirstFooterEditPage::Create, nullptr); + AddTabPage("footerright", ScRightFooterEditPage::Create, nullptr); +} + +ScHFEditFirstHeaderDlg::ScHFEditFirstHeaderDlg( + weld::Window* pParent, + const SfxItemSet& rCoreSet, + std::u16string_view rPageStyle) + : ScHFEditDlg( pParent, rCoreSet, rPageStyle, + "modules/scalc/ui/firstheaderdialog.ui", "FirstHeaderDialog" ) +{ + AddTabPage("headerfirst", ScFirstHeaderEditPage::Create, nullptr); +} + ScHFEditLeftHeaderDlg::ScHFEditLeftHeaderDlg( - weld::Window* pParent, + weld::Window* pParent, const SfxItemSet& rCoreSet, std::u16string_view rPageStyle) : ScHFEditDlg( pParent, rCoreSet, rPageStyle, @@ -77,7 +133,7 @@ ScHFEditLeftHeaderDlg::ScHFEditLeftHeaderDlg( } ScHFEditRightHeaderDlg::ScHFEditRightHeaderDlg( - weld::Window* pParent, + weld::Window* pParent, const SfxItemSet& rCoreSet, std::u16string_view rPageStyle) : ScHFEditDlg( pParent, rCoreSet, rPageStyle, @@ -86,8 +142,18 @@ ScHFEditRightHeaderDlg::ScHFEditRightHeaderDlg( AddTabPage("headerright", ScRightHeaderEditPage::Create, nullptr); } +ScHFEditFirstFooterDlg::ScHFEditFirstFooterDlg( + weld::Window* pParent, + const SfxItemSet& rCoreSet, + std::u16string_view rPageStyle) + : ScHFEditDlg( pParent, rCoreSet, rPageStyle, + "modules/scalc/ui/firstfooterdialog.ui", "FirstFooterDialog" ) +{ + AddTabPage("footerfirst", ScFirstFooterEditPage::Create, nullptr); +} + ScHFEditLeftFooterDlg::ScHFEditLeftFooterDlg( - weld::Window* pParent, + weld::Window* pParent, const SfxItemSet& rCoreSet, std::u16string_view rPageStyle) : ScHFEditDlg( pParent, rCoreSet, rPageStyle, @@ -97,7 +163,7 @@ ScHFEditLeftFooterDlg::ScHFEditLeftFooterDlg( } ScHFEditRightFooterDlg::ScHFEditRightFooterDlg( - weld::Window* pParent, + weld::Window* pParent, const SfxItemSet& rCoreSet, std::u16string_view rPageStyle) : ScHFEditDlg( pParent, rCoreSet, rPageStyle, @@ -107,44 +173,50 @@ ScHFEditRightFooterDlg::ScHFEditRightFooterDlg( } ScHFEditSharedHeaderDlg::ScHFEditSharedHeaderDlg( - weld::Window* pParent, + weld::Window* pParent, const SfxItemSet& rCoreSet, std::u16string_view rPageStyle) : ScHFEditDlg( pParent, rCoreSet, rPageStyle, "modules/scalc/ui/sharedheaderdialog.ui", "SharedHeaderDialog" ) { + AddTabPage("headerfirst", ScFirstHeaderEditPage::Create, nullptr); AddTabPage("header", ScRightHeaderEditPage::Create, nullptr); + AddTabPage("footerfirst", ScFirstFooterEditPage::Create, nullptr); AddTabPage("footerright", ScRightFooterEditPage::Create, nullptr); AddTabPage("footerleft", ScLeftFooterEditPage::Create, nullptr); } ScHFEditSharedFooterDlg::ScHFEditSharedFooterDlg( - weld::Window* pParent, + weld::Window* pParent, const SfxItemSet& rCoreSet, std::u16string_view rPageStyle) : ScHFEditDlg( pParent, rCoreSet, rPageStyle, "modules/scalc/ui/sharedfooterdialog.ui", "SharedFooterDialog" ) { + AddTabPage("headerfirst", ScFirstFooterEditPage::Create, nullptr); AddTabPage("headerright", ScRightHeaderEditPage::Create, nullptr); AddTabPage("headerleft", ScLeftHeaderEditPage::Create, nullptr); + AddTabPage("footerfirst", ScFirstFooterEditPage::Create, nullptr); AddTabPage("footer", ScRightFooterEditPage::Create, nullptr); } ScHFEditAllDlg::ScHFEditAllDlg( - weld::Window* pParent, + weld::Window* pParent, const SfxItemSet& rCoreSet, std::u16string_view rPageStyle) : ScHFEditDlg( pParent, rCoreSet, rPageStyle, "modules/scalc/ui/allheaderfooterdialog.ui", "AllHeaderFooterDialog" ) { + AddTabPage("headerfirst", ScFirstHeaderEditPage::Create, nullptr); AddTabPage("headerright", ScRightHeaderEditPage::Create, nullptr); AddTabPage("headerleft", ScLeftHeaderEditPage::Create, nullptr); + AddTabPage("footerfirst", ScFirstFooterEditPage::Create, nullptr); AddTabPage("footerright", ScRightFooterEditPage::Create, nullptr); AddTabPage("footerleft", ScLeftFooterEditPage::Create, nullptr); } ScHFEditActiveDlg::ScHFEditActiveDlg( - weld::Window* pParent, + weld::Window* pParent, const SfxItemSet& rCoreSet, std::u16string_view rPageStyle) : ScHFEditDlg( pParent, rCoreSet, rPageStyle, diff --git a/sc/source/ui/pagedlg/scuitphfedit.cxx b/sc/source/ui/pagedlg/scuitphfedit.cxx index cb100995f112..38d5fae13e83 100644 --- a/sc/source/ui/pagedlg/scuitphfedit.cxx +++ b/sc/source/ui/pagedlg/scuitphfedit.cxx @@ -778,6 +778,19 @@ IMPL_LINK(ScHFEditPage, MenuHdl, const OString&, rSelectedId, void) } +ScFirstHeaderEditPage::ScFirstHeaderEditPage( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet ) + : ScHFEditPage( pPage, pController, + rCoreSet, + rCoreSet.GetPool()->GetWhich(SID_SCATTR_PAGE_HEADERFIRST ), + true ) + {} + +std::unique_ptr<SfxTabPage> ScFirstHeaderEditPage::Create( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rCoreSet ) +{ + return std::make_unique<ScFirstHeaderEditPage>( pPage, pController, *rCoreSet ); +} + + ScRightHeaderEditPage::ScRightHeaderEditPage( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet ) : ScHFEditPage( pPage, pController, rCoreSet, @@ -804,6 +817,19 @@ std::unique_ptr<SfxTabPage> ScLeftHeaderEditPage::Create( weld::Container* pPage } +ScFirstFooterEditPage::ScFirstFooterEditPage( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet ) + : ScHFEditPage( pPage, pController, + rCoreSet, + rCoreSet.GetPool()->GetWhich(SID_SCATTR_PAGE_FOOTERFIRST ), + false ) + {} + +std::unique_ptr<SfxTabPage> ScFirstFooterEditPage::Create( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rCoreSet ) +{ + return std::make_unique<ScFirstFooterEditPage>( pPage, pController, *rCoreSet ); +} + + ScRightFooterEditPage::ScRightFooterEditPage( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet ) : ScHFEditPage( pPage, pController, rCoreSet, diff --git a/sc/source/ui/pagedlg/tphf.cxx b/sc/source/ui/pagedlg/tphf.cxx index bc4457870c76..cdf4802af3e9 100644 --- a/sc/source/ui/pagedlg/tphf.cxx +++ b/sc/source/ui/pagedlg/tphf.cxx @@ -150,11 +150,31 @@ IMPL_LINK_NOARG(ScHFPage, BtnHdl, weld::Button&, void) return; } - if (m_xCntSharedBox->get_sensitive() && !m_xCntSharedBox->get_active()) + if ( (m_xCntSharedBox->get_sensitive() && !m_xCntSharedBox->get_active()) || + (m_xCntSharedFirstBox->get_sensitive() && !m_xCntSharedFirstBox->get_active()) ) { - sal_uInt16 nResId = ( nId == SID_ATTR_PAGE_HEADERSET ) - ? RID_SCDLG_HFED_HEADER - : RID_SCDLG_HFED_FOOTER; + sal_uInt16 nResId; + + if ( m_xCntSharedBox->get_sensitive() && !m_xCntSharedBox->get_active() && + m_xCntSharedFirstBox->get_sensitive() && !m_xCntSharedFirstBox->get_active() ) + { + nResId = ( nId == SID_ATTR_PAGE_HEADERSET ) + ? RID_SCDLG_HFED_HEADER + : RID_SCDLG_HFED_FOOTER; + } + else if (m_xCntSharedBox->get_sensitive() && !m_xCntSharedBox->get_active()) + { + nResId = ( nId == SID_ATTR_PAGE_HEADERSET ) + ? RID_SCDLG_HFEDIT_SHAREDFIRSTHEADER + : RID_SCDLG_HFEDIT_SHAREDFIRSTFOOTER; + } + else + { + OSL_ENSURE( m_xCntSharedFirstBox->get_sensitive() && !m_xCntSharedFirstBox->get_active(), "This should be logically impossible." ); + nResId = ( nId == SID_ATTR_PAGE_HEADERSET ) + ? RID_SCDLG_HFEDIT_SHAREDLEFTHEADER + : RID_SCDLG_HFEDIT_SHAREDLEFTFOOTER; + } ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create(); diff --git a/sc/uiconfig/scalc/ui/footerdialog.ui b/sc/uiconfig/scalc/ui/footerdialog.ui index af7abe28b6c9..4d009c4cc9b7 100644 --- a/sc/uiconfig/scalc/ui/footerdialog.ui +++ b/sc/uiconfig/scalc/ui/footerdialog.ui @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> +<!-- Generated with glade 3.38.0 --> <interface domain="sc"> <requires lib="gtk+" version="3.20"/> <object class="GtkDialog" id="FooterDialog"> @@ -133,6 +133,50 @@ </object> </child> <child type="tab"> + <object class="GtkLabel" id="footerfirst"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="footerdialog|footerfirst">Footer (first)</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <!-- n-columns=1 n-rows=1 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <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"> <object class="GtkLabel" id="footerright"> <property name="visible">True</property> <property name="can_focus">False</property> diff --git a/sc/uiconfig/scalc/ui/headerdialog.ui b/sc/uiconfig/scalc/ui/headerdialog.ui index df5624b990c6..d5668c12d29b 100644 --- a/sc/uiconfig/scalc/ui/headerdialog.ui +++ b/sc/uiconfig/scalc/ui/headerdialog.ui @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> +<!-- Generated with glade 3.38.0 --> <interface domain="sc"> <requires lib="gtk+" version="3.20"/> <object class="GtkDialog" id="HeaderDialog"> @@ -133,6 +133,50 @@ </object> </child> <child type="tab"> + <object class="GtkLabel" id="headerfirst"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="headerdialog|headerfirst">Header (first)</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <!-- n-columns=1 n-rows=1 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <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"> <object class="GtkLabel" id="headerright"> <property name="visible">True</property> <property name="can_focus">False</property> diff --git a/sc/uiconfig/scalc/ui/sharedfirstfooterdialog.ui b/sc/uiconfig/scalc/ui/sharedfirstfooterdialog.ui new file mode 100644 index 000000000000..dd716a7f8a8d --- /dev/null +++ b/sc/uiconfig/scalc/ui/sharedfirstfooterdialog.ui @@ -0,0 +1,209 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.38.0 --> +<interface domain="sc"> + <requires lib="gtk+" version="3.20"/> + <object class="GtkDialog" id="SharedFirstFooterDialog"> + <property name="can_focus">False</property> + <property name="border_width">6</property> + <property name="title" translatable="yes" context="sharedfirstfooterdialog|SharedFirstFooterDialog">Footers</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> + <placeholder/> + </child> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox1"> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area1"> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="reset"> + <property name="label" translatable="yes" context="stock">_Reset</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ok"> + <property name="label" translatable="yes" context="stock">_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-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="cancel"> + <property name="label" translatable="yes" context="stock">_Cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkButton" id="help"> + <property name="label" translatable="yes" context="stock">_Help</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">3</property> + <property name="secondary">True</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkNotebook" id="tabcontrol"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="scrollable">True</property> + <property name="enable_popup">True</property> + <child> + <!-- n-columns=1 n-rows=1 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <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"> + <object class="GtkLabel" id="footerright"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="sharedfirstfooterdialog|footerright">Footer (right)</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <!-- n-columns=1 n-rows=1 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <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> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="footerleft"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="sharedfirstfooterdialog|footerleft">Footer (left)</property> + </object> + <packing> + <property name="position">1</property> + <property name="tab_fill">False</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="100">reset</action-widget> + <action-widget response="-5">ok</action-widget> + <action-widget response="-6">cancel</action-widget> + <action-widget response="-11">help</action-widget> + </action-widgets> + </object> +</interface> diff --git a/sc/uiconfig/scalc/ui/sharedfirstheaderdialog.ui b/sc/uiconfig/scalc/ui/sharedfirstheaderdialog.ui new file mode 100644 index 000000000000..1d23a12f320a --- /dev/null +++ b/sc/uiconfig/scalc/ui/sharedfirstheaderdialog.ui @@ -0,0 +1,209 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.38.0 --> +<interface domain="sc"> + <requires lib="gtk+" version="3.20"/> + <object class="GtkDialog" id="SharedFirstHeaderDialog"> + <property name="can_focus">False</property> + <property name="border_width">6</property> + <property name="title" translatable="yes" context="sharedfirstheaderdialog|SharedFirstHeaderDialog">Headers</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> + <placeholder/> + </child> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox1"> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area1"> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="reset"> + <property name="label" translatable="yes" context="stock">_Reset</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ok"> + <property name="label" translatable="yes" context="stock">_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-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="cancel"> + <property name="label" translatable="yes" context="stock">_Cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkButton" id="help"> + <property name="label" translatable="yes" context="stock">_Help</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">3</property> + <property name="secondary">True</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkNotebook" id="tabcontrol"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="scrollable">True</property> + <property name="enable_popup">True</property> + <child> + <!-- n-columns=1 n-rows=1 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <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"> + <object class="GtkLabel" id="headerright"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="sharedfirstheaderdialog|headerright">Header (right)</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <!-- n-columns=1 n-rows=1 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <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> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="headerleft"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="sharedfirstheaderdialog|headerleft">Header (left)</property> + </object> + <packing> + <property name="position">1</property> + <property name="tab_fill">False</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="100">reset</action-widget> + <action-widget response="-5">ok</action-widget> + <action-widget response="-6">cancel</action-widget> + <action-widget response="-11">help</action-widget> + </action-widgets> + </object> +</interface> diff --git a/sc/uiconfig/scalc/ui/sharedleftfooterdialog.ui b/sc/uiconfig/scalc/ui/sharedleftfooterdialog.ui new file mode 100644 index 000000000000..3875e35eaaa5 --- /dev/null +++ b/sc/uiconfig/scalc/ui/sharedleftfooterdialog.ui @@ -0,0 +1,205 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.38.0 --> +<interface domain="sc"> + <requires lib="gtk+" version="3.20"/> + <object class="GtkDialog" id="SharedLeftFooterDialog"> + <property name="can_focus">False</property> + <property name="border_width">6</property> + <property name="title" translatable="yes" context="sharedleftfooterdialog|SharedLeftFooterDialog">Footers</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> + <placeholder/> + </child> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox1"> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area1"> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="reset"> + <property name="label" translatable="yes" context="stock">_Reset</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ok"> + <property name="label" translatable="yes" context="stock">_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-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="cancel"> + <property name="label" translatable="yes" context="stock">_Cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkButton" id="help"> + <property name="label" translatable="yes" context="stock">_Help</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">3</property> + <property name="secondary">True</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkNotebook" id="tabcontrol"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="scrollable">True</property> + <property name="enable_popup">True</property> + <child> + <!-- n-columns=1 n-rows=1 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <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"> + <object class="GtkLabel" id="footerfirst"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="sharedleftfooterdialog|footerfirst">Footer (first)</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <!-- n-columns=1 n-rows=1 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <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"> + <object class="GtkLabel" id="footerright"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="sharedleftfooterdialog|footerright">Footer (rest)</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="100">reset</action-widget> + <action-widget response="-5">ok</action-widget> + <action-widget response="-6">cancel</action-widget> + <action-widget response="-11">help</action-widget> + </action-widgets> + </object> +</interface> diff --git a/sc/uiconfig/scalc/ui/sharedleftheaderdialog.ui b/sc/uiconfig/scalc/ui/sharedleftheaderdialog.ui new file mode 100644 index 000000000000..305767acebcb --- /dev/null +++ b/sc/uiconfig/scalc/ui/sharedleftheaderdialog.ui @@ -0,0 +1,205 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.38.0 --> +<interface domain="sc"> + <requires lib="gtk+" version="3.20"/> + <object class="GtkDialog" id="SharedLeftHeaderDialog"> + <property name="can_focus">False</property> + <property name="border_width">6</property> + <property name="title" translatable="yes" context="sharedleftheaderdialog|SharedLeftHeaderDialog">Headers</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> + <placeholder/> + </child> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox1"> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area1"> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="reset"> + <property name="label" translatable="yes" context="stock">_Reset</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ok"> + <property name="label" translatable="yes" context="stock">_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-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="cancel"> + <property name="label" translatable="yes" context="stock">_Cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkButton" id="help"> + <property name="label" translatable="yes" context="stock">_Help</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use-underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">3</property> + <property name="secondary">True</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkNotebook" id="tabcontrol"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="scrollable">True</property> + <property name="enable_popup">True</property> + <child> + <!-- n-columns=1 n-rows=1 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <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"> + <object class="GtkLabel" id="headerfirst"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="sharedleftheaderdialog|headerfirst">Header (first)</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <!-- n-columns=1 n-rows=1 --> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <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"> + <object class="GtkLabel" id="headerright"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="sharedleftheaderdialog|headerright">Header (rest)</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="100">reset</action-widget> + <action-widget response="-5">ok</action-widget> + <action-widget response="-6">cancel</action-widget> + <action-widget response="-11">help</action-widget> + </action-widgets> + </object> +</interface> diff --git a/svx/source/dialog/hdft.cxx b/svx/source/dialog/hdft.cxx index 9ab8f6b9dcdd..40956cdc6572 100644 --- a/svx/source/dialog/hdft.cxx +++ b/svx/source/dialog/hdft.cxx @@ -324,14 +324,6 @@ void SvxHFPage::Reset( const SfxItemSet* rSet ) DBG_ASSERT( pPool, "Where is the pool" ); MapUnit eUnit = pPool->GetMetric( GetWhich( SID_ATTR_PAGE_SIZE ) ); - //hide "same content on first page when this is calc - bool bIsCalc = false; - const SfxPoolItem* pExt1 = GetItem(*rSet, SID_ATTR_PAGE_EXT1); - const SfxPoolItem* pExt2 = GetItem(*rSet, SID_ATTR_PAGE_EXT2); - if (dynamic_cast<const SfxBoolItem*>(pExt1) && dynamic_cast<const SfxBoolItem*>(pExt2) ) - bIsCalc = true; - m_xCntSharedFirstBox->set_visible(!bIsCalc); - // Evaluate header-/footer- attributes const SvxSetItem* pSetItem = nullptr; @@ -384,14 +376,18 @@ void SvxHFPage::Reset( const SfxItemSet* rSet ) m_xCntSharedBox->set_active(rShared.GetValue()); if (pSharedFirst) m_xCntSharedFirstBox->set_active(pSharedFirst->GetValue()); - else - m_xCntSharedFirstBox->hide(); } else pSetItem = nullptr; } else { + bool bIsCalc = false; + const SfxPoolItem* pExt1 = GetItem(*rSet, SID_ATTR_PAGE_EXT1); + const SfxPoolItem* pExt2 = GetItem(*rSet, SID_ATTR_PAGE_EXT2); + if (dynamic_cast<const SfxBoolItem*>(pExt1) && dynamic_cast<const SfxBoolItem*>(pExt2) ) + bIsCalc = true; + // defaults for distance and height tools::Long nDefaultDist = bIsCalc ? DEF_DIST_CALC : DEF_DIST_WRITER; SetMetricValue( *m_xDistEdit, nDefaultDist, MapUnit::Map100thMM ); |