diff options
author | Maxim Monastirsky <momonasmon@gmail.com> | 2014-11-21 00:50:18 +0200 |
---|---|---|
committer | Maxim Monastirsky <momonasmon@gmail.com> | 2014-11-21 01:57:20 +0200 |
commit | 917c52f3219149741199015fce1740c5b13d814e (patch) | |
tree | eca321654be3591001c36d2dc334e9a4337ba5e7 | |
parent | 0ab8ef7095530652efb4ed2ae2365580c358025a (diff) |
fdo#78980 i#98931 Accept args for .uno:InsertAnnotation
Change-Id: I27b1b966135767d204a11a9d9f38ad6cc943ee61
-rw-r--r-- | sw/source/uibase/shells/textfld.cxx | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/sw/source/uibase/shells/textfld.cxx b/sw/source/uibase/shells/textfld.cxx index 10575a71a463..e4ba7d82454a 100644 --- a/sw/source/uibase/shells/textfld.cxx +++ b/sw/source/uibase/shells/textfld.cxx @@ -376,11 +376,22 @@ void SwTextShell::ExecField(SfxRequest &rReq) bool bNew = !(pPostIt && pPostIt->GetTyp()->Which() == RES_POSTITFLD); if (bNew || GetView().GetPostItMgr()->IsAnswer()) { - SvtUserOptions aUserOpt; + SFX_REQUEST_ARG( rReq, pAuthorItem, SvxPostItAuthorItem, SID_ATTR_POSTIT_AUTHOR, false ); OUString sAuthor; - if( (sAuthor = aUserOpt.GetFullName()).isEmpty()) - if( (sAuthor = aUserOpt.GetID()).isEmpty() ) - sAuthor = SW_RES( STR_REDLINE_UNKNOWN_AUTHOR ); + if ( pAuthorItem ) + sAuthor = pAuthorItem->GetValue(); + else + { + SvtUserOptions aUserOpt; + if( (sAuthor = aUserOpt.GetFullName()).isEmpty()) + if( (sAuthor = aUserOpt.GetID()).isEmpty() ) + sAuthor = SW_RES( STR_REDLINE_UNKNOWN_AUTHOR ); + } + + SFX_REQUEST_ARG( rReq, pTextItem, SvxPostItTextItem, SID_ATTR_POSTIT_TEXT, false ); + OUString sText; + if ( pTextItem ) + sText = pTextItem->GetValue(); if ( rSh.HasSelection() && !rSh.IsTableMode() ) { @@ -391,14 +402,14 @@ void SwTextShell::ExecField(SfxRequest &rReq) // --> suggestion has to be removed before GetView().GetEditWin().StopQuickHelp(); - SwInsertFld_Data aData(TYP_POSTITFLD, 0, sAuthor, OUString(), 0); + SwInsertFld_Data aData(TYP_POSTITFLD, 0, sAuthor, sText, 0); aFldMgr.InsertFld( aData ); rSh.Push(); rSh.SwCrsrShell::Left(1, CRSR_SKIP_CHARS, false); pPostIt = (SwPostItField*)aFldMgr.GetCurFld(); rSh.Pop(false); // Restore cursor position - } + } if (pPostIt) { |