Merge pull request #760 from ONLYOFFICE/fix/v7.0.0-fix-bugs

Fix/v7.0.0 fix bugs
This commit is contained in:
Elena Subbotina
2021-11-02 17:02:52 +03:00
committed by GitHub
5 changed files with 109 additions and 102 deletions

View File

@ -890,10 +890,10 @@ public:
std::wstring sType; std::wstring sType;
switch(byteType) switch(byteType)
{ {
case styletype_Character: sType = _T("character");break; case styletype_Character: sType = _T("character");break;
case styletype_Numbering: sType = _T("numbering");break; case styletype_Numbering: sType = _T("numbering");break;
case styletype_Table: sType = _T("table");break; case styletype_Table: sType = _T("table");break;
default: sType = _T("paragraph");break; default: sType = _T("paragraph");break;
} }
if(!Id.empty()) if(!Id.empty())
{ {
@ -915,12 +915,31 @@ public:
sStyle += L">"; sStyle += L">";
pCStringWriter->WriteString(sStyle); pCStringWriter->WriteString(sStyle);
if(!Aliases.empty())
if(!Name.empty())
{
pCStringWriter->WriteString(L"<w:name w:val=\"" + Name + L"\"/>");
}
if (!Aliases.empty())
{ {
pCStringWriter->WriteString(L"<w:aliases w:val=\""); pCStringWriter->WriteString(L"<w:aliases w:val=\"");
pCStringWriter->WriteEncodeXmlString(Aliases); pCStringWriter->WriteEncodeXmlString(Aliases);
pCStringWriter->WriteString(L"\"/>"); pCStringWriter->WriteString(L"\"/>");
} }
if (!BasedOn.empty())
{
pCStringWriter->WriteString(L"<w:basedOn w:val=\"" + BasedOn + L"\"/>");
}
if (!NextId.empty())
{
pCStringWriter->WriteString(L"<w:next w:val=\"" + NextId + L"\"/>");
}
if (!Link.empty())
{
pCStringWriter->WriteString(L"<w:link w:val=\"");
pCStringWriter->WriteEncodeXmlString(Link);
pCStringWriter->WriteString(L"\"/>");
}
if(bautoRedefine) if(bautoRedefine)
{ {
if(autoRedefine) if(autoRedefine)
@ -928,17 +947,44 @@ public:
else else
pCStringWriter->WriteString(L"<w:autoRedefine val=\"false\"/>"); pCStringWriter->WriteString(L"<w:autoRedefine val=\"false\"/>");
} }
if(!Name.empty()) if (bhidden)
{ {
pCStringWriter->WriteString(L"<w:name w:val=\"" + Name + L"\"/>"); if (hidden)
pCStringWriter->WriteString(L"<w:hidden/>");
else
pCStringWriter->WriteString(L"<w:hidden val=\"false\"/>");
} }
if(!BasedOn.empty()) if (buiPriority)
{ {
pCStringWriter->WriteString(L"<w:basedOn w:val=\"" + BasedOn + L"\"/>"); pCStringWriter->WriteString(L"<w:uiPriority w:val=\"" + std::to_wstring(uiPriority) + L"\"/>");
} }
if(!NextId.empty()) if (bsemiHidden)
{ {
pCStringWriter->WriteString(L"<w:next w:val=\"" + NextId + L"\"/>"); if (semiHidden)
pCStringWriter->WriteString(L"<w:semiHidden/>");
else
pCStringWriter->WriteString(L"<w:semiHidden val=\"false\"/>");
}
if (bunhideWhenUsed)
{
if (unhideWhenUsed)
pCStringWriter->WriteString(L"<w:unhideWhenUsed/>");
else
pCStringWriter->WriteString(L"<w:unhideWhenUsed val=\"false\"/>");
}
if (bqFormat)
{
if (qFormat)
pCStringWriter->WriteString(L"<w:qFormat/>");
else
pCStringWriter->WriteString(L"<w:qFormat val=\"false\"/>");
}
if (blocked)
{
if (locked)
pCStringWriter->WriteString(L"<w:locked/>");
else
pCStringWriter->WriteString(L"<w:locked val=\"false\"/>");
} }
if(bpersonal) if(bpersonal)
{ {
@ -961,61 +1007,17 @@ public:
else else
pCStringWriter->WriteString(L"<w:personalReply val=\"false\"/>"); pCStringWriter->WriteString(L"<w:personalReply val=\"false\"/>");
} }
if(!Link.empty())
{
pCStringWriter->WriteString(L"<w:link w:val=\"");
pCStringWriter->WriteEncodeXmlString(Link);
pCStringWriter->WriteString(L"\"/>");
}
if(blocked)
{
if(locked)
pCStringWriter->WriteString(L"<w:locked/>");
else
pCStringWriter->WriteString(L"<w:locked val=\"false\"/>");
}
if(bqFormat)
{
if(qFormat)
pCStringWriter->WriteString(L"<w:qFormat/>");
else
pCStringWriter->WriteString(L"<w:qFormat val=\"false\"/>");
}
if(buiPriority)
{
pCStringWriter->WriteString(L"<w:uiPriority w:val=\"" + std::to_wstring(uiPriority) + L"\"/>");
}
if(bhidden)
{
if(hidden)
pCStringWriter->WriteString(L"<w:hidden/>");
else
pCStringWriter->WriteString(L"<w:hidden val=\"false\"/>");
}
if(bsemiHidden)
{
if(semiHidden)
pCStringWriter->WriteString(L"<w:semiHidden/>");
else
pCStringWriter->WriteString(L"<w:semiHidden val=\"false\"/>");
}
if(bunhideWhenUsed)
{
if(unhideWhenUsed)
pCStringWriter->WriteString(L"<w:unhideWhenUsed/>");
else
pCStringWriter->WriteString(L"<w:unhideWhenUsed val=\"false\"/>");
}
if(!TextPr.empty())
{
pCStringWriter->WriteString(TextPr);
}
if(!ParaPr.empty()) if(!ParaPr.empty())
{ {
pCStringWriter->WriteString(L"<w:pPr>"); pCStringWriter->WriteString(L"<w:pPr>");
pCStringWriter->WriteString(ParaPr); pCStringWriter->WriteString(ParaPr);
pCStringWriter->WriteString(L"</w:pPr>"); pCStringWriter->WriteString(L"</w:pPr>");
} }
if(!TextPr.empty())
{
pCStringWriter->WriteString(TextPr);
}
if(!TablePr.empty()) if(!TablePr.empty())
pCStringWriter->WriteString(TablePr); pCStringWriter->WriteString(TablePr);
if(!RowPr.empty()) if(!RowPr.empty())

View File

@ -1466,37 +1466,41 @@ void style_page_layout_properties::xlsx_serialize(std::wostream & strm, oox::xls
CP_XML_NODE(L"pageSetup") CP_XML_NODE(L"pageSetup")
{ {
double h = 0, w = 0; double h = 0, w = 0;
if (attlist_.fo_page_height_)
{
h = attlist_.fo_page_height_->get_value_unit(length::mm);
CP_XML_ATTR(L"paperHeight", (int)h);
}
if (attlist_.fo_page_width_) if (attlist_.fo_page_width_)
{ {
w = attlist_.fo_page_width_->get_value_unit(length::mm); w = attlist_.fo_page_width_->get_value_unit(length::mm);
CP_XML_ATTR(L"paperWidth", (int)w); CP_XML_ATTR(L"paperWidth", (int)w);
} }
if (attlist_.fo_page_height_)
{
h = attlist_.fo_page_height_->get_value_unit(length::mm);
CP_XML_ATTR(L"paperHeight", (int)h);
}
CP_XML_ATTR(L"paperUnits", L"mm"); CP_XML_ATTR(L"paperUnits", L"mm");
if (attlist_.style_print_orientation_)
if (attlist_.style_scale_to_)
{ {
CP_XML_ATTR(L"orientation", *attlist_.style_print_orientation_); CP_XML_ATTR(L"scale", (int)attlist_.style_scale_to_->get_value());
} }
if (attlist_.loext_scale_to_X_) if (attlist_.loext_scale_to_X_)
{ {
CP_XML_ATTR(L"fitToWidth", *attlist_.loext_scale_to_X_); CP_XML_ATTR(L"fitToWidth", *attlist_.loext_scale_to_X_);
} }
if (attlist_.common_page_number_attlist_.style_first_page_number_)
{
CP_XML_ATTR(L"firstPageNumber", *attlist_.common_page_number_attlist_.style_first_page_number_);
}
if (attlist_.loext_scale_to_Y_) if (attlist_.loext_scale_to_Y_)
{ {
CP_XML_ATTR(L"fitToHeight", *attlist_.loext_scale_to_Y_); CP_XML_ATTR(L"fitToHeight", *attlist_.loext_scale_to_Y_);
} }
if (attlist_.style_scale_to_) if (attlist_.style_print_orientation_)
{ {
CP_XML_ATTR(L"scale", (int)attlist_.style_scale_to_->get_value()); CP_XML_ATTR(L"orientation", *attlist_.style_print_orientation_);
} }
if (attlist_.common_page_number_attlist_.style_first_page_number_) if (attlist_.common_page_number_attlist_.style_first_page_number_)
{ {
CP_XML_ATTR(L"useFirstPageNumber", 1); CP_XML_ATTR(L"useFirstPageNumber", 1);
CP_XML_ATTR(L"firstPageNumber", *attlist_.common_page_number_attlist_.style_first_page_number_);
} }
} }
} }

View File

@ -258,19 +258,20 @@ int PAGESETUP::serialize(std::wostream & stream)
CP_XML_ATTR(L"firstPageNumber", setup->iPageStart); CP_XML_ATTR(L"firstPageNumber", setup->iPageStart);
CP_XML_ATTR(L"scale", setup->iScale); CP_XML_ATTR(L"scale", setup->iScale);
CP_XML_ATTR(L"orientation", setup->fPortrait ? L"portrait" : L"landscape");
CP_XML_ATTR(L"horizontalDpi", setup->iRes);
CP_XML_ATTR(L"verticalDpi", setup->iVRes);
if (setup->fUsePage)
CP_XML_ATTR(L"useFirstPageNumber", true);
if (setup->iFitWidth > 0 && setup->iFitWidth < 32767) if (setup->iFitWidth > 0 && setup->iFitWidth < 32767)
CP_XML_ATTR(L"fitToWidth", setup->iFitWidth); CP_XML_ATTR(L"fitToWidth", setup->iFitWidth);
if (setup->iFitHeight > 0 && setup->iFitHeight < 32767) if (setup->iFitHeight > 0 && setup->iFitHeight < 32767)
CP_XML_ATTR(L"fitToHeight", setup->iFitHeight); CP_XML_ATTR(L"fitToHeight", setup->iFitHeight);
CP_XML_ATTR(L"orientation", setup->fPortrait ? L"portrait" : L"landscape");
if (setup->fUsePage)
CP_XML_ATTR(L"useFirstPageNumber", true);
CP_XML_ATTR(L"horizontalDpi", setup->iRes);
CP_XML_ATTR(L"verticalDpi", setup->iVRes);
} }
} }
} }

View File

@ -270,26 +270,26 @@ namespace OOX
if(m_oPaperSize.IsInit() || m_oOrientation.IsInit()) if(m_oPaperSize.IsInit() || m_oOrientation.IsInit())
{ {
writer.WriteString(L"<pageSetup"); writer.WriteString(L"<pageSetup");
WritingStringNullableAttrBool(L"blackAndWhite", m_oBlackAndWhite);
WritingStringNullableAttrString(L"cellComments", m_oCellComments, m_oCellComments->ToString());
WritingStringNullableAttrInt(L"copies", m_oCopies, m_oCopies->GetValue());
WritingStringNullableAttrBool(L"draft", m_oDraft);
WritingStringNullableAttrString(L"errors", m_oErrors, m_oErrors->ToString());
WritingStringNullableAttrInt(L"firstPageNumber", m_oFirstPageNumber, m_oFirstPageNumber->GetValue());
WritingStringNullableAttrInt(L"fitToHeight", m_oFitToHeight, m_oFitToHeight->GetValue());
WritingStringNullableAttrInt(L"fitToWidth", m_oFitToWidth, m_oFitToWidth->GetValue());
WritingStringNullableAttrInt(L"horizontalDpi", m_oHorizontalDpi, m_oHorizontalDpi->GetValue());
WritingStringNullableAttrString(L"r:id", m_oRId, m_oRId->ToString());
WritingStringNullableAttrString(L"orientation", m_oOrientation, m_oOrientation->ToString());
WritingStringNullableAttrString(L"pageOrder", m_oPageOrder, m_oPageOrder->ToString());
WritingStringNullableAttrDouble(L"paperHeight", m_oPaperHeight, m_oPaperHeight->GetValue());
WritingStringNullableAttrString(L"paperSize", m_oPaperSize, m_oPaperSize->ToString()); WritingStringNullableAttrString(L"paperSize", m_oPaperSize, m_oPaperSize->ToString());
WritingStringNullableAttrDouble(L"paperHeight", m_oPaperHeight, m_oPaperHeight->GetValue());
WritingStringNullableAttrDouble(L"paperWidth", m_oPaperWidth, m_oPaperWidth->GetValue()); WritingStringNullableAttrDouble(L"paperWidth", m_oPaperWidth, m_oPaperWidth->GetValue());
WritingStringNullableAttrString(L"paperUnits", m_oPaperUnits, m_oPaperUnits->ToString()); WritingStringNullableAttrUInt(L"scale", m_oScale, m_oScale->GetValue());
WritingStringNullableAttrInt(L"scale", m_oScale, m_oScale->GetValue()); WritingStringNullableAttrUInt(L"firstPageNumber", m_oFirstPageNumber, m_oFirstPageNumber->GetValue());
WritingStringNullableAttrBool(L"useFirstPageNumber", m_oUseFirstPageNumber); WritingStringNullableAttrInt(L"fitToWidth", m_oFitToWidth, m_oFitToWidth->GetValue());
WritingStringNullableAttrInt(L"fitToHeight", m_oFitToHeight, m_oFitToHeight->GetValue());
WritingStringNullableAttrString(L"pageOrder", m_oPageOrder, m_oPageOrder->ToString());
WritingStringNullableAttrString(L"orientation", m_oOrientation, m_oOrientation->ToString());
WritingStringNullableAttrBool(L"usePrinterDefaults", m_oUsePrinterDefaults); WritingStringNullableAttrBool(L"usePrinterDefaults", m_oUsePrinterDefaults);
WritingStringNullableAttrInt(L"verticalDpi", m_oVerticalDpi, m_oVerticalDpi->GetValue()); WritingStringNullableAttrBool(L"blackAndWhite", m_oBlackAndWhite);
WritingStringNullableAttrBool(L"draft", m_oDraft);
WritingStringNullableAttrString(L"cellComments", m_oCellComments, m_oCellComments->ToString());
WritingStringNullableAttrBool(L"useFirstPageNumber", m_oUseFirstPageNumber);
WritingStringNullableAttrString(L"errors", m_oErrors, m_oErrors->ToString());
WritingStringNullableAttrUInt(L"horizontalDpi", m_oHorizontalDpi, m_oHorizontalDpi->GetValue());
WritingStringNullableAttrUInt(L"verticalDpi", m_oVerticalDpi, m_oVerticalDpi->GetValue());
WritingStringNullableAttrUInt(L"copies", m_oCopies, m_oCopies->GetValue());
WritingStringNullableAttrString(L"paperUnits", m_oPaperUnits, m_oPaperUnits->ToString());
WritingStringNullableAttrString(L"r:id", m_oRId, m_oRId->ToString());
writer.WriteString(L"/>"); writer.WriteString(L"/>");
} }
} }

View File

@ -4746,22 +4746,22 @@ int BinaryWorksheetsTableReader::ReadPageSetup(BYTE type, long length, void* poR
else if(c_oSer_PageSetup::FirstPageNumber == type) else if(c_oSer_PageSetup::FirstPageNumber == type)
{ {
pPageSetup->m_oFirstPageNumber.Init(); pPageSetup->m_oFirstPageNumber.Init();
pPageSetup->m_oFirstPageNumber->SetValue(m_oBufferedStream.GetLong()); pPageSetup->m_oFirstPageNumber->SetValue(m_oBufferedStream.GetULong());
} }
else if(c_oSer_PageSetup::FitToHeight == type) else if(c_oSer_PageSetup::FitToHeight == type)
{ {
pPageSetup->m_oFitToHeight.Init(); pPageSetup->m_oFitToHeight.Init();
pPageSetup->m_oFitToHeight->SetValue(m_oBufferedStream.GetLong()); pPageSetup->m_oFitToHeight->SetValue(m_oBufferedStream.GetULong());
} }
else if(c_oSer_PageSetup::FitToWidth == type) else if(c_oSer_PageSetup::FitToWidth == type)
{ {
pPageSetup->m_oFitToWidth.Init(); pPageSetup->m_oFitToWidth.Init();
pPageSetup->m_oFitToWidth->SetValue(m_oBufferedStream.GetLong()); pPageSetup->m_oFitToWidth->SetValue(m_oBufferedStream.GetULong());
} }
else if(c_oSer_PageSetup::HorizontalDpi == type) else if(c_oSer_PageSetup::HorizontalDpi == type)
{ {
pPageSetup->m_oHorizontalDpi.Init(); pPageSetup->m_oHorizontalDpi.Init();
pPageSetup->m_oHorizontalDpi->SetValue(m_oBufferedStream.GetLong()); pPageSetup->m_oHorizontalDpi->SetValue(m_oBufferedStream.GetULong());
} }
else if(c_oSer_PageSetup::Orientation == type) else if(c_oSer_PageSetup::Orientation == type)
{ {
@ -4796,7 +4796,7 @@ int BinaryWorksheetsTableReader::ReadPageSetup(BYTE type, long length, void* poR
else if(c_oSer_PageSetup::Scale == type) else if(c_oSer_PageSetup::Scale == type)
{ {
pPageSetup->m_oScale.Init(); pPageSetup->m_oScale.Init();
pPageSetup->m_oScale->SetValue(m_oBufferedStream.GetLong()); pPageSetup->m_oScale->SetValue(m_oBufferedStream.GetULong());
} }
else if(c_oSer_PageSetup::UseFirstPageNumber == type) else if(c_oSer_PageSetup::UseFirstPageNumber == type)
{ {
@ -4811,7 +4811,7 @@ int BinaryWorksheetsTableReader::ReadPageSetup(BYTE type, long length, void* poR
else if(c_oSer_PageSetup::VerticalDpi == type) else if(c_oSer_PageSetup::VerticalDpi == type)
{ {
pPageSetup->m_oVerticalDpi.Init(); pPageSetup->m_oVerticalDpi.Init();
pPageSetup->m_oVerticalDpi->SetValue(m_oBufferedStream.GetLong()); pPageSetup->m_oVerticalDpi->SetValue(m_oBufferedStream.GetULong());
} }
else else
res = c_oSerConstants::ReadUnknown; res = c_oSerConstants::ReadUnknown;