summaryrefslogtreecommitdiff
path: root/sw/source/uibase/docvw/HeaderFooterWin.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-04-12 14:30:36 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-04-12 14:43:05 +0100
commitd74689c15170b5bad3e2230b4ea99bb1d9dd1e60 (patch)
treebe281eb744f56052ebaa061049919051fb2dc9d3 /sw/source/uibase/docvw/HeaderFooterWin.cxx
parent4f55dfb564e56515b6ebb4d10b089f67ad628fb6 (diff)
convert header/footer menu to .ui
Change-Id: Ia1aed81bfd806fbca78acc3b23886056a23ade4d
Diffstat (limited to 'sw/source/uibase/docvw/HeaderFooterWin.cxx')
-rw-r--r--sw/source/uibase/docvw/HeaderFooterWin.cxx138
1 files changed, 65 insertions, 73 deletions
diff --git a/sw/source/uibase/docvw/HeaderFooterWin.cxx b/sw/source/uibase/docvw/HeaderFooterWin.cxx
index f686d8c4fc04..85e2836ab08e 100644
--- a/sw/source/uibase/docvw/HeaderFooterWin.cxx
+++ b/sw/source/uibase/docvw/HeaderFooterWin.cxx
@@ -126,8 +126,9 @@ namespace
SwHeaderFooterWin::SwHeaderFooterWin( SwEditWin* pEditWin, const SwFrame *pFrame, bool bHeader ) :
SwFrameMenuButtonBase( pEditWin, pFrame ),
+ m_aBuilder(nullptr, VclBuilderContainer::getUIRootDir(), "modules/swriter/ui/headerfootermenu.ui", ""),
m_bIsHeader( bHeader ),
- m_pPopupMenu( nullptr ),
+ m_pPopupMenu(m_aBuilder.get_menu("menu")),
m_pLine( nullptr ),
m_bIsAppearing( false ),
m_nFadeRate( 100 ),
@@ -143,19 +144,17 @@ SwHeaderFooterWin::SwHeaderFooterWin( SwEditWin* pEditWin, const SwFrame *pFrame
m_pLine = VclPtr<SwDashedLine>::Create(GetEditWin(), &SwViewOption::GetHeaderFooterMarkColor);
m_pLine->SetZOrder(this, ZOrderFlags::Before);
- // Create and set the PopupMenu
- m_pPopupMenu = VclPtr<PopupMenu>::Create(SW_RES(MN_HEADERFOOTER_BUTTON));
-
+ // set the PopupMenu
// Rewrite the menu entries' text
if (m_bIsHeader)
{
- m_pPopupMenu->SetItemText(FN_HEADERFOOTER_EDIT, SW_RESSTR(STR_FORMAT_HEADER));
- m_pPopupMenu->SetItemText(FN_HEADERFOOTER_DELETE, SW_RESSTR(STR_DELETE_HEADER));
+ m_pPopupMenu->SetItemText(m_pPopupMenu->GetItemId("edit"), SW_RESSTR(STR_FORMAT_HEADER));
+ m_pPopupMenu->SetItemText(m_pPopupMenu->GetItemId("delete"), SW_RESSTR(STR_DELETE_HEADER));
}
else
{
- m_pPopupMenu->SetItemText(FN_HEADERFOOTER_EDIT, SW_RESSTR(STR_FORMAT_FOOTER));
- m_pPopupMenu->SetItemText(FN_HEADERFOOTER_DELETE, SW_RESSTR(STR_DELETE_FOOTER));
+ m_pPopupMenu->SetItemText(m_pPopupMenu->GetItemId("edit"), SW_RESSTR(STR_FORMAT_FOOTER));
+ m_pPopupMenu->SetItemText(m_pPopupMenu->GetItemId("delete"), SW_RESSTR(STR_DELETE_FOOTER));
}
SetPopupMenu(m_pPopupMenu);
@@ -171,7 +170,8 @@ SwHeaderFooterWin::~SwHeaderFooterWin( )
void SwHeaderFooterWin::dispose()
{
- m_pPopupMenu.disposeAndClear();
+ m_pPopupMenu.clear();
+ m_aBuilder.disposeBuilder();
m_pLine.disposeAndClear();
SwFrameMenuButtonBase::dispose();
}
@@ -402,78 +402,70 @@ bool SwHeaderFooterWin::IsEmptyHeaderFooter( )
return bResult;
}
-void SwHeaderFooterWin::ExecuteCommand( sal_uInt16 nSlot )
+void SwHeaderFooterWin::ExecuteCommand(const OString& rIdent)
{
SwView& rView = GetEditWin()->GetView();
SwWrtShell& rSh = rView.GetWrtShell();
const OUString& rStyleName = GetPageFrame()->GetPageDesc()->GetName();
- switch ( nSlot )
+ if (rIdent == "edit")
+ {
+ OString sPageId = m_bIsHeader ? OString("header") : OString("footer");
+ rView.GetDocShell()->FormatPage(rStyleName, sPageId, rSh);
+ }
+ else if (rIdent == "borderback")
{
- case FN_HEADERFOOTER_EDIT:
+ const SwPageDesc* pDesc = GetPageFrame()->GetPageDesc();
+ const SwFrameFormat& rMaster = pDesc->GetMaster();
+ SwFrameFormat* pHFFormat = const_cast< SwFrameFormat* >( rMaster.GetFooter().GetFooterFormat() );
+ if ( m_bIsHeader )
+ pHFFormat = const_cast< SwFrameFormat* >( rMaster.GetHeader().GetHeaderFormat() );
+
+ SfxItemPool* pPool = pHFFormat->GetAttrSet().GetPool();
+ SfxItemSet aSet( *pPool,
+ RES_BACKGROUND, RES_BACKGROUND,
+ RES_BOX, RES_BOX,
+ SID_ATTR_BORDER_INNER, SID_ATTR_BORDER_INNER,
+ RES_SHADOW, RES_SHADOW, 0 );
+
+ aSet.Put( pHFFormat->GetAttrSet() );
+
+ // Create a box info item... needed by the dialog
+ SvxBoxInfoItem aBoxInfo( SID_ATTR_BORDER_INNER );
+ const SfxPoolItem *pBoxInfo;
+ if ( SfxItemState::SET == pHFFormat->GetAttrSet().GetItemState( SID_ATTR_BORDER_INNER,
+ true, &pBoxInfo) )
+ aBoxInfo = *static_cast<const SvxBoxInfoItem*>(pBoxInfo);
+
+ aBoxInfo.SetTable( false );
+ aBoxInfo.SetDist( true);
+ aBoxInfo.SetMinDist( false );
+ aBoxInfo.SetDefDist( MIN_BORDER_DIST );
+ aBoxInfo.SetValid( SvxBoxInfoItemValidFlags::DISABLE );
+ aSet.Put( aBoxInfo );
+
+ if ( svx::ShowBorderBackgroundDlg( this, &aSet, true ) )
{
- OString sPageId = m_bIsHeader ? OString("header") : OString("footer");
- rView.GetDocShell()->FormatPage(rStyleName, sPageId, rSh);
- }
- break;
- case FN_HEADERFOOTER_BORDERBACK:
- {
- const SwPageDesc* pDesc = GetPageFrame()->GetPageDesc();
- const SwFrameFormat& rMaster = pDesc->GetMaster();
- SwFrameFormat* pHFFormat = const_cast< SwFrameFormat* >( rMaster.GetFooter().GetFooterFormat() );
- if ( m_bIsHeader )
- pHFFormat = const_cast< SwFrameFormat* >( rMaster.GetHeader().GetHeaderFormat() );
-
- SfxItemPool* pPool = pHFFormat->GetAttrSet().GetPool();
- SfxItemSet aSet( *pPool,
- RES_BACKGROUND, RES_BACKGROUND,
- RES_BOX, RES_BOX,
- SID_ATTR_BORDER_INNER, SID_ATTR_BORDER_INNER,
- RES_SHADOW, RES_SHADOW, 0 );
-
- aSet.Put( pHFFormat->GetAttrSet() );
-
- // Create a box info item... needed by the dialog
- SvxBoxInfoItem aBoxInfo( SID_ATTR_BORDER_INNER );
- const SfxPoolItem *pBoxInfo;
- if ( SfxItemState::SET == pHFFormat->GetAttrSet().GetItemState( SID_ATTR_BORDER_INNER,
- true, &pBoxInfo) )
- aBoxInfo = *static_cast<const SvxBoxInfoItem*>(pBoxInfo);
-
- aBoxInfo.SetTable( false );
- aBoxInfo.SetDist( true);
- aBoxInfo.SetMinDist( false );
- aBoxInfo.SetDefDist( MIN_BORDER_DIST );
- aBoxInfo.SetValid( SvxBoxInfoItemValidFlags::DISABLE );
- aSet.Put( aBoxInfo );
-
- if ( svx::ShowBorderBackgroundDlg( this, &aSet, true ) )
- {
- const SfxPoolItem* pItem;
- if ( SfxItemState::SET == aSet.GetItemState( RES_BACKGROUND, false, &pItem ) ) {
- pHFFormat->SetFormatAttr( *pItem );
- rView.GetDocShell()->SetModified();
- }
-
- if ( SfxItemState::SET == aSet.GetItemState( RES_BOX, false, &pItem ) ) {
- pHFFormat->SetFormatAttr( *pItem );
- rView.GetDocShell()->SetModified();
- }
-
- if ( SfxItemState::SET == aSet.GetItemState( RES_SHADOW, false, &pItem ) ) {
- pHFFormat->SetFormatAttr( *pItem );
- rView.GetDocShell()->SetModified();
- }
+ const SfxPoolItem* pItem;
+ if ( SfxItemState::SET == aSet.GetItemState( RES_BACKGROUND, false, &pItem ) ) {
+ pHFFormat->SetFormatAttr( *pItem );
+ rView.GetDocShell()->SetModified();
+ }
+
+ if ( SfxItemState::SET == aSet.GetItemState( RES_BOX, false, &pItem ) ) {
+ pHFFormat->SetFormatAttr( *pItem );
+ rView.GetDocShell()->SetModified();
+ }
+
+ if ( SfxItemState::SET == aSet.GetItemState( RES_SHADOW, false, &pItem ) ) {
+ pHFFormat->SetFormatAttr( *pItem );
+ rView.GetDocShell()->SetModified();
}
}
- break;
- case FN_HEADERFOOTER_DELETE:
- {
- rSh.ChangeHeaderOrFooter( rStyleName, m_bIsHeader, false, true );
- }
- break;
- default:
- break;
+ }
+ else if (rIdent == "delete")
+ {
+ rSh.ChangeHeaderOrFooter( rStyleName, m_bIsHeader, false, true );
}
}
@@ -498,7 +490,7 @@ void SwHeaderFooterWin::MouseButtonDown( const MouseEvent& rMEvt )
void SwHeaderFooterWin::Select()
{
- ExecuteCommand(GetCurItemId());
+ ExecuteCommand(GetCurItemIdent());
}
IMPL_LINK_NOARG(SwHeaderFooterWin, FadeHandler, Timer *, void)