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

New commits:
commit f0b83ae615ea5832d63558ff1c4efaa0e6844150
Author: Katarina Behrens <katarina.behr...@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;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to