Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
eac3e6e7
Kaydet (Commit)
eac3e6e7
authored
Kas 14, 2012
tarafından
Miklos Vajna
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
n#789482 DOCX: export track change data after w:hyperlink
Change-Id: If204523d7da544b11b2d809993ada180476104ef
üst
dd77f79f
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
29 additions
and
6 deletions
+29
-6
n789482.docx
sw/qa/extras/ooxmlexport/data/n789482.docx
+0
-0
ooxmlexport.cxx
sw/qa/extras/ooxmlexport/ooxmlexport.cxx
+20
-0
docxattributeoutput.cxx
sw/source/filter/ww8/docxattributeoutput.cxx
+8
-5
docxattributeoutput.hxx
sw/source/filter/ww8/docxattributeoutput.hxx
+1
-1
No files found.
sw/qa/extras/ooxmlexport/data/n789482.docx
0 → 100755
Dosyayı görüntüle @
eac3e6e7
File added
sw/qa/extras/ooxmlexport/ooxmlexport.cxx
Dosyayı görüntüle @
eac3e6e7
...
...
@@ -66,6 +66,7 @@ public:
void
testFdo47669
();
void
testTableBorders
();
void
testFdo51550
();
void
testN789482
();
CPPUNIT_TEST_SUITE
(
Test
);
#if !defined(MACOSX) && !defined(WNT)
...
...
@@ -103,6 +104,7 @@ void Test::run()
{
"fdo47669.docx"
,
&
Test
::
testFdo47669
},
{
"table-borders.docx"
,
&
Test
::
testTableBorders
},
{
"fdo51550.odt"
,
&
Test
::
testFdo51550
},
{
"n789482.docx"
,
&
Test
::
testN789482
},
};
// Don't test the first import of these, for some reason those tests fail
const
char
*
aBlacklist
[]
=
{
...
...
@@ -482,6 +484,24 @@ void Test::testFdo51550()
CPPUNIT_ASSERT_EQUAL
(
sal_Int32
(
1
),
xDraws
->
getCount
());
}
void
Test
::
testN789482
()
{
// The problem was that w:del was exported before w:hyperlink, resulting in an invalid XML.
uno
::
Reference
<
text
::
XTextRange
>
xParagraph
=
getParagraph
(
1
);
getRun
(
xParagraph
,
1
,
"Before. "
);
CPPUNIT_ASSERT_EQUAL
(
OUString
(
"Delete"
),
getProperty
<
OUString
>
(
getRun
(
xParagraph
,
2
),
"RedlineType"
));
CPPUNIT_ASSERT_EQUAL
(
sal_True
,
getProperty
<
sal_Bool
>
(
getRun
(
xParagraph
,
2
),
"IsStart"
));
getRun
(
xParagraph
,
3
,
"www.test.com"
);
CPPUNIT_ASSERT_EQUAL
(
OUString
(
"http://www.test.com/"
),
getProperty
<
OUString
>
(
getRun
(
xParagraph
,
3
),
"HyperLinkURL"
));
CPPUNIT_ASSERT_EQUAL
(
OUString
(
"Delete"
),
getProperty
<
OUString
>
(
getRun
(
xParagraph
,
4
),
"RedlineType"
));
CPPUNIT_ASSERT_EQUAL
(
sal_False
,
getProperty
<
sal_Bool
>
(
getRun
(
xParagraph
,
4
),
"IsStart"
));
getRun
(
xParagraph
,
5
,
" After."
);
}
CPPUNIT_TEST_SUITE_REGISTRATION
(
Test
);
CPPUNIT_PLUGIN_IMPLEMENT
();
...
...
sw/source/filter/ww8/docxattributeoutput.cxx
Dosyayı görüntüle @
eac3e6e7
...
...
@@ -461,8 +461,9 @@ void DocxAttributeOutput::EndParagraphProperties()
void
DocxAttributeOutput
::
StartRun
(
const
SwRedlineData
*
pRedlineData
,
bool
/*bSingleEmptyRun*/
)
{
// if there is some redlining in the document, output it
StartRedline
(
pRedlineData
);
// Don't start redline data here, possibly there is a hyperlink later, and
// that has to be started first.
m_pRedlineData
=
pRedlineData
;
// postpone the output of the start of a run (there are elements that need
// to be written before the start of the run, but we learn which they are
...
...
@@ -539,6 +540,9 @@ void DocxAttributeOutput::EndRun()
m_startedHyperlink
=
true
;
}
// if there is some redlining in the document, output it
StartRedline
();
DoWriteBookmarks
(
);
WriteCommentRanges
();
...
...
@@ -1237,12 +1241,11 @@ void DocxAttributeOutput::Redline( const SwRedlineData* /*pRedline*/ )
OSL_TRACE
(
"TODO DocxAttributeOutput::Redline( const SwRedlineData* pRedline )"
);
}
void
DocxAttributeOutput
::
StartRedline
(
const
SwRedlineData
*
pRedlineData
)
void
DocxAttributeOutput
::
StartRedline
()
{
m_pRedlineData
=
pRedlineData
;
if
(
!
m_pRedlineData
)
return
;
const
SwRedlineData
*
pRedlineData
=
m_pRedlineData
;
// FIXME check if it's necessary to travel over the Next()'s in pRedlineData
...
...
sw/source/filter/ww8/docxattributeoutput.hxx
Dosyayı görüntüle @
eac3e6e7
...
...
@@ -132,7 +132,7 @@ public:
///
/// Start of the tag that encloses the run, fills the info according to
/// the value of m_pRedlineData.
void
StartRedline
(
const
SwRedlineData
*
pRedlineData
);
void
StartRedline
();
/// Output redlining.
///
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment