diff options
author | Vojtěch Doležal <dolezvo1@cvut.cz> | 2023-04-06 00:25:34 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2023-04-20 08:35:57 +0200 |
commit | 9ce48c5992ca7ae2b68edfc1f558ccfa3289264d (patch) | |
tree | 1eb1caf0dd24ccf658e9c03c3bac3fd4ca188487 /sw/qa/uibase | |
parent | b4b3a0d40707f9ec126d7238b2974ac6ff7ee359 (diff) |
Allow Copy Hyperlink Location in protected fields
This change aims to make it possible to copy hyperlinks from protected fields.
That includes showing command and fixing it's broken behaviour, which wasn't detectable because it was hidden.
Change-Id: I119e7617fcd7261e437411c86d4c920931e9fe84
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150070
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'sw/qa/uibase')
-rw-r--r-- | sw/qa/uibase/shells/data/protectedLinkCopy.fodt | 536 | ||||
-rw-r--r-- | sw/qa/uibase/shells/shells.cxx | 58 |
2 files changed, 591 insertions, 3 deletions
diff --git a/sw/qa/uibase/shells/data/protectedLinkCopy.fodt b/sw/qa/uibase/shells/data/protectedLinkCopy.fodt new file mode 100644 index 000000000000..495f7523764d --- /dev/null +++ b/sw/qa/uibase/shells/data/protectedLinkCopy.fodt @@ -0,0 +1,536 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<office:document xmlns:css3t="http://www.w3.org/TR/css3-text/" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:rpt="http://openoffice.org/2005/report" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text"> + <office:meta><meta:creation-date>2023-04-19T10:13:19.940360871</meta:creation-date><dc:date>2023-04-19T10:20:31.730384611</dc:date><meta:editing-duration>PT7M24S</meta:editing-duration><meta:editing-cycles>1</meta:editing-cycles><meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="5" meta:word-count="5" meta:character-count="72" meta:non-whitespace-character-count="72"/><meta:generator>LibreOfficeDev/7.6.0.0.alpha0$Linux_X86_64 LibreOffice_project/57ff98147490ea69eb2968bcaf75edfe72f88645</meta:generator></office:meta> + <office:settings> + <config:config-item-set config:name="ooo:view-settings"> + <config:config-item config:name="ViewAreaTop" config:type="long">0</config:config-item> + <config:config-item config:name="ViewAreaLeft" config:type="long">0</config:config-item> + <config:config-item config:name="ViewAreaWidth" config:type="long">26615</config:config-item> + <config:config-item config:name="ViewAreaHeight" config:type="long">15436</config:config-item> + <config:config-item config:name="ShowRedlineChanges" config:type="boolean">true</config:config-item> + <config:config-item config:name="InBrowseMode" config:type="boolean">false</config:config-item> + <config:config-item-map-indexed config:name="Views"> + <config:config-item-map-entry> + <config:config-item config:name="ViewId" config:type="string">view2</config:config-item> + <config:config-item config:name="ViewLeft" config:type="long">4807</config:config-item> + <config:config-item config:name="ViewTop" config:type="long">7195</config:config-item> + <config:config-item config:name="VisibleLeft" config:type="long">0</config:config-item> + <config:config-item config:name="VisibleTop" config:type="long">0</config:config-item> + <config:config-item config:name="VisibleRight" config:type="long">26614</config:config-item> + <config:config-item config:name="VisibleBottom" config:type="long">15434</config:config-item> + <config:config-item config:name="ZoomType" config:type="short">0</config:config-item> + <config:config-item config:name="ViewLayoutColumns" config:type="short">1</config:config-item> + <config:config-item config:name="ViewLayoutBookMode" config:type="boolean">false</config:config-item> + <config:config-item config:name="ZoomFactor" config:type="short">120</config:config-item> + <config:config-item config:name="IsSelectedFrame" config:type="boolean">false</config:config-item> + <config:config-item config:name="KeepRatio" config:type="boolean">false</config:config-item> + <config:config-item config:name="AnchoredTextOverflowLegacy" config:type="boolean">false</config:config-item> + <config:config-item config:name="LegacySingleLineFontwork" config:type="boolean">false</config:config-item> + <config:config-item config:name="ConnectorUseSnapRect" config:type="boolean">false</config:config-item> + <config:config-item config:name="IgnoreBreakAfterMultilineField" config:type="boolean">false</config:config-item> + </config:config-item-map-entry> + </config:config-item-map-indexed> + </config:config-item-set> + <config:config-item-set config:name="ooo:configuration-settings"> + <config:config-item config:name="PrintRightPages" config:type="boolean">true</config:config-item> + <config:config-item config:name="PrintProspectRTL" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintLeftPages" config:type="boolean">true</config:config-item> + <config:config-item config:name="PrintPaperFromSetup" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintControls" config:type="boolean">true</config:config-item> + <config:config-item config:name="PrintProspect" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintBlackFonts" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintEmptyPages" config:type="boolean">true</config:config-item> + <config:config-item config:name="PrintSingleJobs" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintAnnotationMode" config:type="short">0</config:config-item> + <config:config-item config:name="WordLikeWrapForAsCharFlys" config:type="boolean">false</config:config-item> + <config:config-item config:name="AutoFirstLineIndentDisregardLineSpace" config:type="boolean">true</config:config-item> + <config:config-item config:name="HeaderSpacingBelowLastPara" config:type="boolean">false</config:config-item> + <config:config-item config:name="ProtectBookmarks" config:type="boolean">false</config:config-item> + <config:config-item config:name="ContinuousEndnotes" config:type="boolean">false</config:config-item> + <config:config-item config:name="DisableOffPagePositioning" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintTables" config:type="boolean">true</config:config-item> + <config:config-item config:name="SubtractFlysAnchoredAtFlys" config:type="boolean">false</config:config-item> + <config:config-item config:name="ApplyParagraphMarkFormatToNumbering" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintFaxName" config:type="string"/> + <config:config-item config:name="SurroundTextWrapSmall" config:type="boolean">false</config:config-item> + <config:config-item config:name="TreatSingleColumnBreakAsPageBreak" config:type="boolean">false</config:config-item> + <config:config-item config:name="PropLineSpacingShrinksFirstLine" config:type="boolean">true</config:config-item> + <config:config-item config:name="TabOverSpacing" config:type="boolean">false</config:config-item> + <config:config-item config:name="TabOverMargin" config:type="boolean">false</config:config-item> + <config:config-item config:name="EmbedComplexScriptFonts" config:type="boolean">true</config:config-item> + <config:config-item config:name="EmbedLatinScriptFonts" config:type="boolean">true</config:config-item> + <config:config-item config:name="EmbedOnlyUsedFonts" config:type="boolean">false</config:config-item> + <config:config-item config:name="EmbedFonts" config:type="boolean">false</config:config-item> + <config:config-item config:name="ClippedPictures" config:type="boolean">false</config:config-item> + <config:config-item config:name="FrameAutowidthWithMorePara" config:type="boolean">false</config:config-item> + <config:config-item config:name="FloattableNomargins" config:type="boolean">false</config:config-item> + <config:config-item config:name="UnbreakableNumberings" config:type="boolean">false</config:config-item> + <config:config-item config:name="AllowPrintJobCancel" config:type="boolean">true</config:config-item> + <config:config-item config:name="UseFormerObjectPositioning" config:type="boolean">false</config:config-item> + <config:config-item config:name="UseOldNumbering" config:type="boolean">false</config:config-item> + <config:config-item config:name="RsidRoot" config:type="int">472471</config:config-item> + <config:config-item config:name="PrinterPaperFromSetup" config:type="boolean">false</config:config-item> + <config:config-item config:name="CurrentDatabaseDataSource" config:type="string"/> + <config:config-item config:name="UpdateFromTemplate" config:type="boolean">true</config:config-item> + <config:config-item config:name="AddFrameOffsets" config:type="boolean">false</config:config-item> + <config:config-item config:name="LoadReadonly" config:type="boolean">false</config:config-item> + <config:config-item config:name="Rsid" config:type="int">472471</config:config-item> + <config:config-item config:name="FootnoteInColumnToPageEnd" config:type="boolean">true</config:config-item> + <config:config-item config:name="ProtectFields" config:type="boolean">false</config:config-item> + <config:config-item config:name="SaveGlobalDocumentLinks" config:type="boolean">false</config:config-item> + <config:config-item config:name="ClipAsCharacterAnchoredWriterFlyFrames" config:type="boolean">false</config:config-item> + <config:config-item config:name="LinkUpdateMode" config:type="short">1</config:config-item> + <config:config-item config:name="AddExternalLeading" config:type="boolean">true</config:config-item> + <config:config-item config:name="PrintGraphics" config:type="boolean">true</config:config-item> + <config:config-item config:name="EmbedSystemFonts" config:type="boolean">false</config:config-item> + <config:config-item config:name="IsLabelDocument" config:type="boolean">false</config:config-item> + <config:config-item config:name="AddParaLineSpacingToTableCells" config:type="boolean">true</config:config-item> + <config:config-item config:name="UseFormerTextWrapping" config:type="boolean">false</config:config-item> + <config:config-item config:name="HyphenateURLs" config:type="boolean">false</config:config-item> + <config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">true</config:config-item> + <config:config-item config:name="TabsRelativeToIndent" config:type="boolean">true</config:config-item> + <config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item> + <config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item> + <config:config-item config:name="ChartAutoUpdate" config:type="boolean">true</config:config-item> + <config:config-item config:name="ImagePreferredDPI" config:type="int">0</config:config-item> + <config:config-item config:name="PrinterSetup" config:type="base64Binary"/> + <config:config-item config:name="SmallCapsPercentage66" config:type="boolean">false</config:config-item> + <config:config-item config:name="AlignTabStopPosition" config:type="boolean">true</config:config-item> + <config:config-item config:name="DropCapPunctuation" config:type="boolean">true</config:config-item> + <config:config-item config:name="MathBaselineAlignment" config:type="boolean">true</config:config-item> + <config:config-item config:name="PrinterName" config:type="string"/> + <config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item> + <config:config-item config:name="AddParaTableSpacing" config:type="boolean">true</config:config-item> + <config:config-item config:name="DoNotJustifyLinesWithManualBreak" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintHiddenText" config:type="boolean">false</config:config-item> + <config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrinterIndependentLayout" config:type="string">high-resolution</config:config-item> + <config:config-item config:name="TabOverflow" config:type="boolean">true</config:config-item> + <config:config-item config:name="AddParaSpacingToTableCells" config:type="boolean">true</config:config-item> + <config:config-item config:name="AddVerticalFrameOffsets" config:type="boolean">false</config:config-item> + <config:config-item config:name="TabAtLeftIndentForParagraphsInList" config:type="boolean">false</config:config-item> + <config:config-item config:name="ApplyUserData" config:type="boolean">true</config:config-item> + <config:config-item config:name="MsWordCompMinLineHeightByFly" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintTextPlaceholder" config:type="boolean">false</config:config-item> + <config:config-item config:name="IgnoreFirstLineIndentInNumbering" config:type="boolean">false</config:config-item> + <config:config-item config:name="UseFormerLineSpacing" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintPageBackground" config:type="boolean">true</config:config-item> + <config:config-item config:name="RedlineProtectionKey" config:type="base64Binary"/> + <config:config-item config:name="EmbedAsianScriptFonts" config:type="boolean">true</config:config-item> + <config:config-item config:name="BackgroundParaOverDrawings" config:type="boolean">false</config:config-item> + <config:config-item config:name="SaveThumbnail" config:type="boolean">true</config:config-item> + <config:config-item config:name="ConsiderTextWrapOnObjPos" config:type="boolean">false</config:config-item> + <config:config-item config:name="EmbeddedDatabaseName" config:type="string"/> + <config:config-item config:name="ProtectForm" config:type="boolean">false</config:config-item> + <config:config-item config:name="DoNotResetParaAttrsForNumFont" config:type="boolean">false</config:config-item> + <config:config-item config:name="MsWordCompTrailingBlanks" config:type="boolean">false</config:config-item> + <config:config-item config:name="EmptyDbFieldHidesPara" config:type="boolean">true</config:config-item> + <config:config-item config:name="TableRowKeep" config:type="boolean">false</config:config-item> + <config:config-item config:name="NoNumberingShowFollowBy" config:type="boolean">false</config:config-item> + <config:config-item config:name="InvertBorderSpacing" config:type="boolean">false</config:config-item> + <config:config-item config:name="IgnoreTabsAndBlanksForLineCalculation" config:type="boolean">false</config:config-item> + <config:config-item config:name="DoNotCaptureDrawObjsOnPage" config:type="boolean">false</config:config-item> + <config:config-item config:name="GutterAtTop" config:type="boolean">false</config:config-item> + <config:config-item config:name="StylesNoDefault" config:type="boolean">false</config:config-item> + <config:config-item config:name="UnxForceZeroExtLeading" config:type="boolean">false</config:config-item> + <config:config-item config:name="PrintReversed" config:type="boolean">false</config:config-item> + <config:config-item config:name="UseOldPrinterMetrics" config:type="boolean">false</config:config-item> + <config:config-item config:name="CurrentDatabaseCommandType" config:type="int">0</config:config-item> + <config:config-item config:name="PrintDrawings" config:type="boolean">true</config:config-item> + <config:config-item config:name="OutlineLevelYieldsNumbering" config:type="boolean">false</config:config-item> + <config:config-item config:name="CurrentDatabaseCommand" config:type="string"/> + <config:config-item config:name="CollapseEmptyCellPara" config:type="boolean">true</config:config-item> + </config:config-item-set> + </office:settings> + <office:scripts> + <office:script script:language="ooo:Basic"> + <ooo:libraries xmlns:ooo="http://openoffice.org/2004/office" xmlns:xlink="http://www.w3.org/1999/xlink"/> + </office:script> + </office:scripts> + <office:font-face-decls> + <style:font-face style:name="Droid Sans Devanagari" svg:font-family="'Droid Sans Devanagari'" style:font-family-generic="swiss"/> + <style:font-face style:name="Droid Sans Devanagari1" svg:font-family="'Droid Sans Devanagari'" style:font-family-generic="system" style:font-pitch="variable"/> + <style:font-face style:name="Droid Sans Fallback" svg:font-family="'Droid Sans Fallback'" style:font-family-generic="system" style:font-pitch="variable"/> + <style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/> + <style:font-face style:name="Liberation Serif" svg:font-family="'Liberation Serif'" style:font-family-generic="roman" style:font-pitch="variable"/> + <style:font-face style:name="Source Han Sans CN" svg:font-family="'Source Han Sans CN'" style:font-family-generic="system" style:font-pitch="variable"/> + </office:font-face-decls> + <office:styles> + <style:default-style style:family="graphic"> + <style:graphic-properties svg:stroke-color="#3465a4" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/> + <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" loext:tab-stop-distance="0cm" style:writing-mode="lr-tb" style:font-independent-line-spacing="false"> + <style:tab-stops/> + </style:paragraph-properties> + <style:text-properties style:use-window-font-color="true" loext:opacity="0%" style:font-name="Liberation Serif" fo:font-size="12pt" fo:language="cs" fo:country="CZ" style:letter-kerning="true" style:font-name-asian="Droid Sans Fallback" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Droid Sans Devanagari1" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN"/> + </style:default-style> + <style:default-style style:family="paragraph"> + <style:paragraph-properties fo:orphans="2" fo:widows="2" fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="1.251cm" style:writing-mode="page"/> + <style:text-properties style:use-window-font-color="true" loext:opacity="0%" style:font-name="Liberation Serif" fo:font-size="12pt" fo:language="cs" fo:country="CZ" style:letter-kerning="true" style:font-name-asian="Droid Sans Fallback" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Droid Sans Devanagari1" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2" loext:hyphenation-no-caps="false" loext:hyphenation-no-last-word="false" loext:hyphenation-word-char-count="5" loext:hyphenation-zone="no-limit"/> + </style:default-style> + <style:default-style style:family="table"> + <style:table-properties table:border-model="collapsing"/> + </style:default-style> + <style:default-style style:family="table-row"> + <style:table-row-properties fo:keep-together="auto"/> + </style:default-style> + <style:style style:name="Standard" style:family="paragraph" style:class="text"/> + <style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="text"> + <style:paragraph-properties fo:margin-top="0.423cm" fo:margin-bottom="0.212cm" style:contextual-spacing="false" fo:keep-with-next="always"/> + <style:text-properties style:font-name="Liberation Sans" fo:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable" fo:font-size="14pt" style:font-name-asian="Source Han Sans CN" style:font-family-asian="'Source Han Sans CN'" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="14pt" style:font-name-complex="Droid Sans Devanagari1" style:font-family-complex="'Droid Sans Devanagari'" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="14pt"/> + </style:style> + <style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text"> + <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.247cm" style:contextual-spacing="false" fo:line-height="115%"/> + </style:style> + <style:style style:name="List" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="list"> + <style:text-properties style:font-size-asian="12pt" style:font-name-complex="Droid Sans Devanagari" style:font-family-complex="'Droid Sans Devanagari'" style:font-family-generic-complex="swiss"/> + </style:style> + <style:style style:name="Caption" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> + <style:paragraph-properties fo:margin-top="0.212cm" fo:margin-bottom="0.212cm" style:contextual-spacing="false" text:number-lines="false" text:line-number="0"/> + <style:text-properties fo:font-size="12pt" fo:font-style="italic" style:font-size-asian="12pt" style:font-style-asian="italic" style:font-name-complex="Droid Sans Devanagari" style:font-family-complex="'Droid Sans Devanagari'" style:font-family-generic-complex="swiss" style:font-size-complex="12pt" style:font-style-complex="italic"/> + </style:style> + <style:style style:name="Index" style:family="paragraph" style:parent-style-name="Standard" style:class="index"> + <style:paragraph-properties text:number-lines="false" text:line-number="0"/> + <style:text-properties style:font-size-asian="12pt" style:font-name-complex="Droid Sans Devanagari" style:font-family-complex="'Droid Sans Devanagari'" style:font-family-generic-complex="swiss"/> + </style:style> + <style:style style:name="Index_20_Heading" style:display-name="Index Heading" style:family="paragraph" style:parent-style-name="Heading" style:class="index"> + <style:paragraph-properties fo:margin-left="0cm" fo:text-indent="0cm" style:auto-text-indent="false" text:number-lines="false" text:line-number="0"/> + <style:text-properties fo:font-size="16pt" fo:font-weight="bold" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/> + </style:style> + <style:style style:name="Bibliography_20_Heading" style:display-name="Bibliography Heading" style:family="paragraph" style:parent-style-name="Index_20_Heading" style:class="index"> + <style:paragraph-properties fo:margin-left="0cm" fo:text-indent="0cm" style:auto-text-indent="false" text:number-lines="false" text:line-number="0"/> + <style:text-properties fo:font-size="16pt" fo:font-weight="bold" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/> + </style:style> + <style:style style:name="Bibliography_20_1" style:display-name="Bibliography 1" style:family="paragraph" style:parent-style-name="Index" style:class="index"> + <style:paragraph-properties fo:margin-left="0cm" fo:text-indent="0cm" style:auto-text-indent="false"> + <style:tab-stops> + <style:tab-stop style:position="17cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> + </style:tab-stops> + </style:paragraph-properties> + </style:style> + <style:style style:name="Internet_20_link" style:display-name="Internet link" style:family="text"> + <style:text-properties fo:color="#000080" loext:opacity="100%" style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color"/> + </style:style> + <text:outline-style style:name="Outline"> + <text:outline-level-style text:level="1" style:num-format=""> + <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> + <style:list-level-label-alignment text:label-followed-by="listtab"/> + </style:list-level-properties> + </text:outline-level-style> + <text:outline-level-style text:level="2" style:num-format=""> + <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> + <style:list-level-label-alignment text:label-followed-by="listtab"/> + </style:list-level-properties> + </text:outline-level-style> + <text:outline-level-style text:level="3" style:num-format=""> + <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> + <style:list-level-label-alignment text:label-followed-by="listtab"/> + </style:list-level-properties> + </text:outline-level-style> + <text:outline-level-style text:level="4" style:num-format=""> + <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> + <style:list-level-label-alignment text:label-followed-by="listtab"/> + </style:list-level-properties> + </text:outline-level-style> + <text:outline-level-style text:level="5" style:num-format=""> + <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> + <style:list-level-label-alignment text:label-followed-by="listtab"/> + </style:list-level-properties> + </text:outline-level-style> + <text:outline-level-style text:level="6" style:num-format=""> + <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> + <style:list-level-label-alignment text:label-followed-by="listtab"/> + </style:list-level-properties> + </text:outline-level-style> + <text:outline-level-style text:level="7" style:num-format=""> + <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> + <style:list-level-label-alignment text:label-followed-by="listtab"/> + </style:list-level-properties> + </text:outline-level-style> + <text:outline-level-style text:level="8" style:num-format=""> + <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> + <style:list-level-label-alignment text:label-followed-by="listtab"/> + </style:list-level-properties> + </text:outline-level-style> + <text:outline-level-style text:level="9" style:num-format=""> + <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> + <style:list-level-label-alignment text:label-followed-by="listtab"/> + </style:list-level-properties> + </text:outline-level-style> + <text:outline-level-style text:level="10" style:num-format=""> + <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> + <style:list-level-label-alignment text:label-followed-by="listtab"/> + </style:list-level-properties> + </text:outline-level-style> + </text:outline-style> + <text:notes-configuration text:note-class="footnote" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document"/> + <text:notes-configuration text:note-class="endnote" style:num-format="i" text:start-value="0"/> + <text:bibliography-configuration text:prefix="[" text:suffix="]" text:sort-algorithm="alphanumeric" fo:language="cs" fo:country="CZ"/> + <text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/> + <loext:theme loext:name="Office"> + <loext:color-table loext:name="LibreOffice"> + <loext:color loext:name="dk1" loext:color="#000000"/> + <loext:color loext:name="lt1" loext:color="#ffffff"/> + <loext:color loext:name="dk2" loext:color="#000000"/> + <loext:color loext:name="lt2" loext:color="#ffffff"/> + <loext:color loext:name="accent1" loext:color="#18a303"/> + <loext:color loext:name="accent2" loext:color="#0369a3"/> + <loext:color loext:name="accent3" loext:color="#a33e03"/> + <loext:color loext:name="accent4" loext:color="#8e03a3"/> + <loext:color loext:name="accent5" loext:color="#c99c00"/> + <loext:color loext:name="accent6" loext:color="#c9211e"/> + <loext:color loext:name="hlink" loext:color="#0000ee"/> + <loext:color loext:name="folHlink" loext:color="#551a8b"/> + </loext:color-table> + </loext:theme> + </office:styles> + <office:automatic-styles> + <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Bibliography_20_1"> + <style:paragraph-properties> + <style:tab-stops/> + </style:paragraph-properties> + </style:style> + <style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard"> + <style:text-properties officeooo:paragraph-rsid="00073597"/> + </style:style> + <style:style style:name="T1" style:family="text"> + <style:text-properties officeooo:rsid="00073597"/> + </style:style> + <style:style style:name="Sect1" style:family="section"> + <style:section-properties style:editable="false"> + <style:columns fo:column-count="1" fo:column-gap="0cm"/> + </style:section-properties> + </style:style> + <style:page-layout style:name="pm1"> + <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm" loext:margin-gutter="0cm"> + <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> + </style:page-layout-properties> + <style:header-style/> + <style:footer-style/> + </style:page-layout> + </office:automatic-styles> + <office:master-styles> + <style:master-page style:name="Standard" style:page-layout-name="pm1"/> + </office:master-styles> + <office:body> + <office:text> + <text:sequence-decls> + <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/> + <text:sequence-decl text:display-outline-level="0" text:name="Table"/> + <text:sequence-decl text:display-outline-level="0" text:name="Text"/> + <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/> + <text:sequence-decl text:display-outline-level="0" text:name="Figure"/> + </text:sequence-decls> + <text:p text:style-name="Standard"><text:a xlink:type="simple" xlink:href="http://reset.url/1" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link"><text:span text:style-name="T1">reset.url.1</text:span></text:a></text:p> + <text:p text:style-name="Standard"/> + <text:p text:style-name="Standard"><text:bibliography-mark text:identifier="Test" text:bibliography-type="www" text:url="https://test.url/1">[Test]</text:bibliography-mark></text:p> + <text:p text:style-name="Standard"/> + <text:p text:style-name="P2"><text:a xlink:type="simple" xlink:href="http://reset.url/2" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link"><text:span text:style-name="T1">reset.url.2</text:span></text:a></text:p> + <text:p text:style-name="P2"/> + <text:bibliography text:style-name="Sect1" text:protected="true" text:name="Bibliography1"> + <text:bibliography-source> + <text:index-title-template text:style-name="Bibliography_20_Heading">Bibliography</text:index-title-template> + <text:bibliography-entry-template text:bibliography-type="article" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="book" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="booklet" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="conference" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="custom1" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="custom2" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="custom3" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="custom4" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="custom5" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="email" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="inbook" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="incollection" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="inproceedings" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="journal" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="manual" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="mastersthesis" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="misc" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="url"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="phdthesis" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="proceedings" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="techreport" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="unpublished" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + <text:bibliography-entry-template text:bibliography-type="www" text:style-name="Bibliography_20_1"> + <text:index-entry-bibliography text:bibliography-data-field="identifier"/> + <text:index-entry-span>: </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="author"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="title"/> + <text:index-entry-span>, </text:index-entry-span> + <text:index-entry-bibliography text:bibliography-data-field="year"/> + </text:bibliography-entry-template> + </text:bibliography-source> + <text:index-body> + <text:index-title text:style-name="Sect1" text:name="Bibliography1_Head"> + <text:p text:style-name="Bibliography_20_Heading">Bibliography</text:p> + </text:index-title> + <text:p text:style-name="P1"><text:a xlink:type="simple" xlink:href="https://test.url/1" text:style-name="Internet_20_link" text:visited-style-name="Internet_20_link"><text:span text:style-name="Internet_20_link">https://test.url/1</text:span></text:a></text:p> + </text:index-body> + </text:bibliography> + <text:p text:style-name="P2"/> + </office:text> + </office:body> +</office:document>
\ No newline at end of file diff --git a/sw/qa/uibase/shells/shells.cxx b/sw/qa/uibase/shells/shells.cxx index 68118fb760b8..8c251cb09f87 100644 --- a/sw/qa/uibase/shells/shells.cxx +++ b/sw/qa/uibase/shells/shells.cxx @@ -192,14 +192,66 @@ CPPUNIT_TEST_FIXTURE(SwUibaseShellsTest, testBibliographyUrlContextMenu) pWrtShell->Left(SwCursorSkipMode::Chars, /*bSelect=*/true, 1, /*bBasicCall=*/false); SfxDispatcher* pDispatcher = pDocShell->GetViewShell()->GetViewFrame().GetDispatcher(); css::uno::Any aState; - SfxItemState eState = pDispatcher->QueryState(SID_OPEN_HYPERLINK, aState); + SfxItemState eStateOpen = pDispatcher->QueryState(SID_OPEN_HYPERLINK, aState); + SfxItemState eStateCopy = pDispatcher->QueryState(SID_COPY_HYPERLINK_LOCATION, aState); - // Then the "open hyperlink" menu item should be visible: + // Then the "open hyperlink" and "copy hyperlink location" menu items should be visible: // Without the accompanying fix in place, this test would have failed with: // - Expected: 32 (SfxItemState::DEFAULT) // - Actual : 1 (SfxItemState::DISABLED) // i.e. the menu item was not visible for biblio entry fields with an URL. - CPPUNIT_ASSERT_EQUAL(SfxItemState::DEFAULT, eState); + CPPUNIT_ASSERT_EQUAL(SfxItemState::DEFAULT, eStateOpen); + CPPUNIT_ASSERT_EQUAL(SfxItemState::DEFAULT, eStateCopy); +} + +CPPUNIT_TEST_FIXTURE(SwUibaseShellsTest, testProtectedFieldsCopyHyperlinkLocation) +{ + // Given a test document document that contains: + // - generic url + // - empty line + // - bibliography mark + // - empty line + // - generic url + // - empty line + // - bibliography table heading + // - bibliography entry containing only url + // - empty line + createSwDoc("protectedLinkCopy.fodt"); + + // Copy generic hyperlink + dispatchCommand(mxComponent, ".uno:CopyHyperlinkLocation", {}); + dispatchCommand(mxComponent, ".uno:GoDown", {}); + dispatchCommand(mxComponent, ".uno:Paste", {}); + // Assert generic hyperlink was correctly copied and pasted + CPPUNIT_ASSERT_EQUAL(OUString("http://reset.url/1"), getParagraph(2)->getString()); + + dispatchCommand(mxComponent, ".uno:GoDown", {}); + dispatchCommand(mxComponent, ".uno:GoLeft", {}); + // Copy bibliography mark hyperlink + dispatchCommand(mxComponent, ".uno:CopyHyperlinkLocation", {}); + dispatchCommand(mxComponent, ".uno:GoDown", {}); + dispatchCommand(mxComponent, ".uno:Paste", {}); + // Assert bibliography mark hyperlink was correctly copied and pasted + CPPUNIT_ASSERT_EQUAL(OUString("https://test.url/1"), getParagraph(4)->getString()); + + dispatchCommand(mxComponent, ".uno:GoDown", {}); + dispatchCommand(mxComponent, ".uno:GoLeft", {}); + // Copy generic hyperlink + dispatchCommand(mxComponent, ".uno:CopyHyperlinkLocation", {}); + dispatchCommand(mxComponent, ".uno:GoDown", {}); + dispatchCommand(mxComponent, ".uno:Paste", {}); + // Assert generic hyperlink was correctly copied and pasted + CPPUNIT_ASSERT_EQUAL(OUString("http://reset.url/2"), getParagraph(6)->getString()); + + dispatchCommand(mxComponent, ".uno:GoDown", {}); + dispatchCommand(mxComponent, ".uno:GoDown", {}); + dispatchCommand(mxComponent, ".uno:GoLeft", {}); + // Copy bibliography table hyperlink + dispatchCommand(mxComponent, ".uno:CopyHyperlinkLocation", {}); + dispatchCommand(mxComponent, ".uno:GoDown", {}); + dispatchCommand(mxComponent, ".uno:Paste", {}); + // Assert bibliography table entry hyperlink was correctly copied and pasted + CPPUNIT_ASSERT_EQUAL(OUString("https://test.url/1"), getParagraph(9)->getString()); } CPPUNIT_TEST_FIXTURE(SwUibaseShellsTest, testBibliographyLocalCopyContextMenu) |