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
7ab5fcfb
Kaydet (Commit)
7ab5fcfb
authored
Tem 10, 2014
tarafından
Miklos Vajna
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
DOCX import: handle exact end of w:sdt tags
Change-Id: I5b6158281782fc07ffe0eef73ab94345563498f9
üst
f136890d
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
28 additions
and
0 deletions
+28
-0
DomainMapper.cxx
writerfilter/source/dmapper/DomainMapper.cxx
+10
-0
DomainMapper_Impl.cxx
writerfilter/source/dmapper/DomainMapper_Impl.cxx
+10
-0
DomainMapper_Impl.hxx
writerfilter/source/dmapper/DomainMapper_Impl.hxx
+6
-0
PropertyIds.cxx
writerfilter/source/dmapper/PropertyIds.cxx
+1
-0
PropertyIds.hxx
writerfilter/source/dmapper/PropertyIds.hxx
+1
-0
No files found.
writerfilter/source/dmapper/DomainMapper.cxx
Dosyayı görüntüle @
7ab5fcfb
...
@@ -902,6 +902,11 @@ void DomainMapper::lcl_attribute(Id nName, Value & val)
...
@@ -902,6 +902,11 @@ void DomainMapper::lcl_attribute(Id nName, Value & val)
break
;
break
;
case
NS_ooxml
:
:
LN_CT_SdtBlock_sdtEndContent
:
case
NS_ooxml
:
:
LN_CT_SdtBlock_sdtEndContent
:
m_pImpl
->
SetSdt
(
false
);
m_pImpl
->
SetSdt
(
false
);
// It's not possible to insert the relevant property to the character context here:
// the previous, already sent character context may be still active, so the property would be lost.
m_pImpl
->
setSdtEndDeferred
(
true
);
if
(
!
m_pImpl
->
m_pSdtHelper
->
getDropDownItems
().
empty
())
if
(
!
m_pImpl
->
m_pSdtHelper
->
getDropDownItems
().
empty
())
m_pImpl
->
m_pSdtHelper
->
createDropDownControl
();
m_pImpl
->
m_pSdtHelper
->
createDropDownControl
();
break
;
break
;
...
@@ -2653,6 +2658,11 @@ void DomainMapper::lcl_startCharacterGroup()
...
@@ -2653,6 +2658,11 @@ void DomainMapper::lcl_startCharacterGroup()
if
(
m_pImpl
->
m_bFrameBtLr
)
if
(
m_pImpl
->
m_bFrameBtLr
)
// No support for this in core, work around by char rotation, as we do so for table cells already.
// No support for this in core, work around by char rotation, as we do so for table cells already.
m_pImpl
->
GetTopContext
()
->
Insert
(
PROP_CHAR_ROTATION
,
uno
::
makeAny
(
sal_Int16
(
900
)));
m_pImpl
->
GetTopContext
()
->
Insert
(
PROP_CHAR_ROTATION
,
uno
::
makeAny
(
sal_Int16
(
900
)));
if
(
m_pImpl
->
isSdtEndDeferred
())
{
m_pImpl
->
GetTopContext
()
->
Insert
(
PROP_SDT_END_BEFORE
,
uno
::
makeAny
(
true
),
true
,
CHAR_GRAB_BAG
);
m_pImpl
->
setSdtEndDeferred
(
false
);
}
}
}
void
DomainMapper
::
lcl_endCharacterGroup
()
void
DomainMapper
::
lcl_endCharacterGroup
()
...
...
writerfilter/source/dmapper/DomainMapper_Impl.cxx
Dosyayı görüntüle @
7ab5fcfb
...
@@ -160,6 +160,7 @@ DomainMapper_Impl::DomainMapper_Impl(
...
@@ -160,6 +160,7 @@ DomainMapper_Impl::DomainMapper_Impl(
m_bIsFirstSection
(
true
),
m_bIsFirstSection
(
true
),
m_bIsColumnBreakDeferred
(
false
),
m_bIsColumnBreakDeferred
(
false
),
m_bIsPageBreakDeferred
(
false
),
m_bIsPageBreakDeferred
(
false
),
m_bSdtEndDeferred
(
false
),
m_bStartTOC
(
false
),
m_bStartTOC
(
false
),
m_bStartTOCHeaderFooter
(
false
),
m_bStartTOCHeaderFooter
(
false
),
m_bStartedTOC
(
false
),
m_bStartedTOC
(
false
),
...
@@ -706,6 +707,15 @@ void DomainMapper_Impl::clearDeferredBreaks()
...
@@ -706,6 +707,15 @@ void DomainMapper_Impl::clearDeferredBreaks()
m_bIsPageBreakDeferred
=
false
;
m_bIsPageBreakDeferred
=
false
;
}
}
void
DomainMapper_Impl
::
setSdtEndDeferred
(
bool
bSdtEndDeferred
)
{
m_bSdtEndDeferred
=
bSdtEndDeferred
;
}
bool
DomainMapper_Impl
::
isSdtEndDeferred
()
{
return
m_bSdtEndDeferred
;
}
void
lcl_MoveBorderPropertiesToFrame
(
comphelper
::
SequenceAsHashMap
&
rFrameProperties
,
void
lcl_MoveBorderPropertiesToFrame
(
comphelper
::
SequenceAsHashMap
&
rFrameProperties
,
uno
::
Reference
<
text
::
XTextRange
>
xStartTextRange
,
uno
::
Reference
<
text
::
XTextRange
>
xStartTextRange
,
...
...
writerfilter/source/dmapper/DomainMapper_Impl.hxx
Dosyayı görüntüle @
7ab5fcfb
...
@@ -319,6 +319,8 @@ private:
...
@@ -319,6 +319,8 @@ private:
bool
m_bIsFirstSection
;
bool
m_bIsFirstSection
;
bool
m_bIsColumnBreakDeferred
;
bool
m_bIsColumnBreakDeferred
;
bool
m_bIsPageBreakDeferred
;
bool
m_bIsPageBreakDeferred
;
/// If we want to set "sdt end" on the next character contet.
bool
m_bSdtEndDeferred
;
bool
m_bStartTOC
;
bool
m_bStartTOC
;
bool
m_bStartTOCHeaderFooter
;
bool
m_bStartTOCHeaderFooter
;
/// If we got any text that is the pre-rendered result of the TOC field.
/// If we got any text that is the pre-rendered result of the TOC field.
...
@@ -489,6 +491,10 @@ public:
...
@@ -489,6 +491,10 @@ public:
bool
isBreakDeferred
(
BreakType
deferredBreakType
);
bool
isBreakDeferred
(
BreakType
deferredBreakType
);
void
clearDeferredBreaks
();
void
clearDeferredBreaks
();
void
clearDeferredBreak
(
BreakType
deferredBreakType
);
void
clearDeferredBreak
(
BreakType
deferredBreakType
);
void
setSdtEndDeferred
(
bool
bSdtEndDeferred
);
bool
isSdtEndDeferred
();
void
finishParagraph
(
PropertyMapPtr
pPropertyMap
);
void
finishParagraph
(
PropertyMapPtr
pPropertyMap
);
void
appendTextPortion
(
const
OUString
&
rString
,
PropertyMapPtr
pPropertyMap
);
void
appendTextPortion
(
const
OUString
&
rString
,
PropertyMapPtr
pPropertyMap
);
void
appendTextContent
(
const
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
text
::
XTextContent
>
,
void
appendTextContent
(
const
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
text
::
XTextContent
>
,
...
...
writerfilter/source/dmapper/PropertyIds.cxx
Dosyayı görüntüle @
7ab5fcfb
...
@@ -393,6 +393,7 @@ OUString PropertyNameSupplier::GetName( PropertyIds eId ) const
...
@@ -393,6 +393,7 @@ OUString PropertyNameSupplier::GetName( PropertyIds eId ) const
case
PROP_TABLE_INTEROP_GRAB_BAG
:
sName
=
"TableInteropGrabBag"
;
break
;
case
PROP_TABLE_INTEROP_GRAB_BAG
:
sName
=
"TableInteropGrabBag"
;
break
;
case
PROP_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING
:
sName
=
"ApplyParagraphMarkFormatToNumbering"
;
break
;
case
PROP_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING
:
sName
=
"ApplyParagraphMarkFormatToNumbering"
;
break
;
case
PROP_CELL_DIRECTION
:
sName
=
"CellDirection"
;
break
;
case
PROP_CELL_DIRECTION
:
sName
=
"CellDirection"
;
break
;
case
PROP_SDT_END_BEFORE
:
sName
=
"SdtEndBefore"
;
break
;
}
}
::
std
::
pair
<
PropertyNameMap_t
::
iterator
,
bool
>
aInsertIt
=
::
std
::
pair
<
PropertyNameMap_t
::
iterator
,
bool
>
aInsertIt
=
m_pImpl
->
aNameMap
.
insert
(
PropertyNameMap_t
::
value_type
(
eId
,
sName
));
m_pImpl
->
aNameMap
.
insert
(
PropertyNameMap_t
::
value_type
(
eId
,
sName
));
...
...
writerfilter/source/dmapper/PropertyIds.hxx
Dosyayı görüntüle @
7ab5fcfb
...
@@ -365,6 +365,7 @@ enum PropertyIds
...
@@ -365,6 +365,7 @@ enum PropertyIds
,
PROP_INDEX_ENTRY_TYPE
,
PROP_INDEX_ENTRY_TYPE
,
PROP_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING
,
PROP_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING
,
PROP_CELL_DIRECTION
,
PROP_CELL_DIRECTION
,
PROP_SDT_END_BEFORE
};
};
struct
PropertyNameSupplier_Impl
;
struct
PropertyNameSupplier_Impl
;
class
PropertyNameSupplier
class
PropertyNameSupplier
...
...
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