diff options
Diffstat (limited to 'cui/source/dialogs/cuihyperdlg.cxx')
-rw-r--r-- | cui/source/dialogs/cuihyperdlg.cxx | 51 |
1 files changed, 30 insertions, 21 deletions
diff --git a/cui/source/dialogs/cuihyperdlg.cxx b/cui/source/dialogs/cuihyperdlg.cxx index 91ec19f7725f..4fec600441fd 100644 --- a/cui/source/dialogs/cuihyperdlg.cxx +++ b/cui/source/dialogs/cuihyperdlg.cxx @@ -79,6 +79,9 @@ void SvxHlinkCtrl::StateChangedAtToolBoxControl( sal_uInt16 nSID, SfxItemState e } } +// tdf#90496 - remember last used view in hyperlink dialog +OUString SvxHpLinkDlg::msRememberedPageId("internet"); + //# # //# Hyperlink - Dialog # //# # @@ -106,19 +109,29 @@ SvxHpLinkDlg::SvxHpLinkDlg(SfxBindings* pBindings, SfxChildWindow* pChild, weld: // Buttons m_xOKBtn->show(); - m_xApplyBtn->show(); m_xCancelBtn->show(); - m_xHelpBtn->show(); - m_xResetBtn->show(); + + if (comphelper::LibreOfficeKit::isActive()) + { + m_xApplyBtn->hide(); + m_xHelpBtn->hide(); + m_xResetBtn->hide(); + } + else + { + m_xApplyBtn->show(); + m_xHelpBtn->show(); + m_xResetBtn->show(); + } mbGrabFocus = true; // set OK/Cancel - button - m_xCancelBtn->set_label(CuiResId(RID_SVXSTR_HYPDLG_CLOSEBUT)); + m_xCancelBtn->set_label(CuiResId(RID_CUISTR_HYPDLG_CLOSEBUT)); // create itemset for tabpages - mpItemSet = std::make_unique<SfxItemSet>( SfxGetpApp()->GetPool(), svl::Items<SID_HYPERLINK_GETLINK, - SID_HYPERLINK_SETLINK>{} ); + mpItemSet = std::make_unique<SfxItemSetFixed<SID_HYPERLINK_GETLINK, + SID_HYPERLINK_SETLINK>>( SfxGetpApp()->GetPool()); SvxHyperlinkItem aItem(SID_HYPERLINK_GETLINK); mpItemSet->Put(aItem); @@ -134,7 +147,8 @@ SvxHpLinkDlg::SvxHpLinkDlg(SfxBindings* pBindings, SfxChildWindow* pChild, weld: AddTabPage("newdocument", SvxHyperlinkNewDocTp::Create); } - SetCurPageId("internet"); + // tdf#90496 - remember last used view in hyperlink dialog + SetCurPageId(msRememberedPageId); // Init Dialog Start(); @@ -177,30 +191,25 @@ void SvxHpLinkDlg::Close() { if (IsClosing()) return; - SfxViewFrame* pViewFrame = SfxViewFrame::Current(); - if (pViewFrame) + if (SfxViewFrame* pViewFrame = SfxViewFrame::Current()) pViewFrame->ToggleChildWindow(SID_HYPERLINK_DIALOG); } void SvxHpLinkDlg::Apply() { - SfxItemSet aItemSet( SfxGetpApp()->GetPool(), svl::Items<SID_HYPERLINK_GETLINK, - SID_HYPERLINK_SETLINK>{} ); + SfxItemSetFixed<SID_HYPERLINK_GETLINK, SID_HYPERLINK_SETLINK> aItemSet( SfxGetpApp()->GetPool() ); SvxHyperlinkTabPageBase* pCurrentPage = static_cast<SvxHyperlinkTabPageBase*>( GetTabPage( GetCurPageId() ) ); - if ( pCurrentPage->AskApply() ) - { - pCurrentPage->FillItemSet( &aItemSet ); + pCurrentPage->FillItemSet( &aItemSet ); - const SvxHyperlinkItem *aItem = aItemSet.GetItem(SID_HYPERLINK_SETLINK); - if ( !aItem->GetURL().isEmpty() ) - GetDispatcher()->ExecuteList(SID_HYPERLINK_SETLINK, - SfxCallMode::ASYNCHRON | SfxCallMode::RECORD, { aItem }); + const SvxHyperlinkItem *aItem = aItemSet.GetItem(SID_HYPERLINK_SETLINK); + if ( !aItem->GetURL().isEmpty() ) + GetDispatcher()->ExecuteList(SID_HYPERLINK_SETLINK, + SfxCallMode::ASYNCHRON | SfxCallMode::RECORD, { aItem }); - static_cast<SvxHyperlinkTabPageBase*>( GetTabPage( GetCurPageId() ) )->DoApply(); - } + static_cast<SvxHyperlinkTabPageBase*>( GetTabPage( GetCurPageId() ) )->DoApply(); } /// Click on OK button @@ -227,7 +236,7 @@ IMPL_LINK_NOARG(SvxHpLinkDlg, ClickApplyHdl_Impl, weld::Button&, void) |************************************************************************/ void SvxHpLinkDlg::SetPage ( SvxHyperlinkItem const * pItem ) { - OString sPageId("internet"); + OUString sPageId("internet"); OUString aStrURL(pItem->GetURL()); INetURLObject aURL(aStrURL); |