[Libreoffice-commits] core.git: Branch 'feature/screenshotannotation' - cui/source

Katarina Behrens Katarina.Behrens at cib.de
Fri Oct 21 08:06:33 UTC 2016


 cui/source/dialogs/screenshotannotationdlg.cxx |   23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

New commits:
commit f0b83ae615ea5832d63558ff1c4efaa0e6844150
Author: Katarina Behrens <Katarina.Behrens at cib.de>
Date:   Thu Oct 20 20:31:40 2016 +0200

    screenshot annotation: insert markup for annotated widgets
    
    Change-Id: I82b8c541239271e3acfa6d8ad45b752fa1554931

diff --git a/cui/source/dialogs/screenshotannotationdlg.cxx b/cui/source/dialogs/screenshotannotationdlg.cxx
index d44806b..0f34928 100644
--- a/cui/source/dialogs/screenshotannotationdlg.cxx
+++ b/cui/source/dialogs/screenshotannotationdlg.cxx
@@ -78,6 +78,15 @@ namespace
                         OUString("</paragraph>");
         return aRet;
     }
+
+    OUString lcl_Bookmark( const OUString& rWidgetId )
+    {
+        OUString aRet = "<!-- Bookmark for widget " + rWidgetId + " -->"  + SAL_NEWLINE_STRING;
+        aRet += OUString("<bookmark xml-lang=en-US branch=hid/") + rWidgetId + OUString(" ") +
+                        lcl_genRandom( "bm_id" ) + OUString(" localize=false") +
+                        OUString("</bookmark>") + SAL_NEWLINE_STRING;
+        return aRet;
+    }
 }
 
 class ControlDataEntry
@@ -101,6 +110,8 @@ public:
         return maB2IRange;
     }
 
+    const OString GetHelpId() const { return mrControl.GetHelpId(); }
+
 private:
     const vcl::Window&  mrControl;
     basegfx::B2IRange   maB2IRange;
@@ -165,6 +176,7 @@ private:
 
     // save as text
     OUString                    maSaveAsText;
+    OUString                    maMainMarkupText;
 
     // folder URL
     static OUString             maLastFolderURL;
@@ -246,7 +258,8 @@ ScreenshotAnnotationDlg_Impl::ScreenshotAnnotationDlg_Impl(
     if (mpText)
     {
         OUString aHelpId = OStringToOUString( mrParentDialog.GetHelpId(), RTL_TEXTENCODING_UTF8 );
-        mpText->SetText( lcl_ParagraphWithImage( aHelpId) );
+        maMainMarkupText = lcl_ParagraphWithImage( aHelpId);
+        mpText->SetText( maMainMarkupText );
         mpText->SetReadOnly(true);
     }
 
@@ -589,6 +602,14 @@ IMPL_LINK_TYPED(ScreenshotAnnotationDlg_Impl, pictureFrameListener, VclWindowEve
                         maSelected.insert(mpHilighted);
                     }
 
+                    OUString aBookmarks;
+                    for (auto&& rCandidate : maSelected)
+                    {
+                        OUString aHelpId = OStringToOUString( rCandidate->GetHelpId(), RTL_TEXTENCODING_UTF8 );
+                        aBookmarks += lcl_Bookmark( aHelpId );
+                    }
+
+                    mpText->SetText( maMainMarkupText + aBookmarks );
                     bRepaint = true;
                 }
                 break;


More information about the Libreoffice-commits mailing list