Commit d9fea845 authored by Sergey.Konovalov's avatar Sergey.Konovalov Committed by Alexander Trofimov

(2.0.0.161): ASCOfficeDocxFile2

Bug 12802 - Не сохраняется “Current Position” при конвертации в определенные форматы.

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@54343 954022d7-b5bf-4e40-9824-e11837661b57
parent 385a24ef
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Version="8.00"
Name="ASCOfficeDocxFile2"
ProjectGUID="{D02A88E6-5B2B-4A15-A4F6-C057F698FC53}"
RootNamespace="ASCOfficeDocxFile2"
......@@ -127,7 +127,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="..\Redist\VersionControl.exe &quot;$(ProjectDir)\version.h&quot;"
CommandLine=""
/>
<Tool
Name="VCCustomBuildTool"
......@@ -228,7 +228,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(SolutionDir)/../../../Redist/VersionControl.exe $(ProjectDir)version.h"
CommandLine=""
ExcludedFromBuild="true"
/>
<Tool
......@@ -478,10 +478,6 @@
<Filter
Name="Writer"
>
<File
RelativePath=".\BinReader\AbstractWriter.h"
>
</File>
<File
RelativePath=".\BinReader\ChartWriter.h"
>
......@@ -532,10 +528,6 @@
</File>
</Filter>
</Filter>
<File
RelativePath=".\DocIncluder.h"
>
</File>
<File
RelativePath=".\DocxFile2.h"
>
......
......@@ -5108,29 +5108,55 @@ public:
else if(c_oSerRunType::fldstart == type)
{
CommitFirstRun();
CString sHyperlink((wchar_t*)m_oBufferedStream.ReadPointer(length), length / 2);
RELEASEOBJECT(m_pCurHyperlink);
m_pCurHyperlink = WriteHyperlink::Parse(sHyperlink);
if(NULL != m_pCurHyperlink)
CString sField((wchar_t*)m_oBufferedStream.ReadPointer(length), length / 2);
if(-1 != sField.Find(_T("HYPERLINK")))
{
long rId;
CString sHref = m_pCurHyperlink->href;
CorrectString(sHref);
BSTR bstrHref = sHref.AllocSysString();
m_oFileWriter.m_pDrawingConverter->WriteRels(_T("http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"), bstrHref, _T("External"), &rId);
SysFreeString(bstrHref);
CString srId;srId.Format(_T("rId%d"), rId);
m_pCurHyperlink->rId = srId;
RELEASEOBJECT(m_pCurHyperlink);
m_pCurHyperlink = WriteHyperlink::Parse(sField);
if(NULL != m_pCurHyperlink)
{
long rId;
CString sHref = m_pCurHyperlink->href;
CorrectString(sHref);
BSTR bstrHref = sHref.AllocSysString();
m_oFileWriter.m_pDrawingConverter->WriteRels(_T("http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"), bstrHref, _T("External"), &rId);
SysFreeString(bstrHref);
CString srId;srId.Format(_T("rId%d"), rId);
m_pCurHyperlink->rId = srId;
}
}
else
{
CorrectString(sField);
GetRunStringWriter().WriteString(CString(_T("<w:r>")));
if(m_oCur_rPr.IsNoEmpty())
m_oCur_rPr.Write(&GetRunStringWriter());
GetRunStringWriter().WriteString(CString(_T("<w:fldChar w:fldCharType=\"begin\"/></w:r><w:r>")));
if(m_oCur_rPr.IsNoEmpty())
m_oCur_rPr.Write(&GetRunStringWriter());
GetRunStringWriter().WriteString(CString(_T("<w:instrText xml:space=\"preserve\">")));
GetRunStringWriter().WriteString(sField);
GetRunStringWriter().WriteString(CString(_T("</w:instrText></w:r><w:r>")));
if(m_oCur_rPr.IsNoEmpty())
m_oCur_rPr.Write(&GetRunStringWriter());
GetRunStringWriter().WriteString(CString(_T("<w:fldChar w:fldCharType=\"separate\"/></w:r>")));
}
}
else if(c_oSerRunType::fldend == type)
{
CommitFirstRun();
if(NULL != m_pCurHyperlink)
{
CommitFirstRun();
m_pCurHyperlink->Write(m_oDocumentWriter.m_oContent);
RELEASEOBJECT(m_pCurHyperlink);
}
else
{
GetRunStringWriter().WriteString(CString(_T("<w:r>")));
if(m_oCur_rPr.IsNoEmpty())
m_oCur_rPr.Write(&GetRunStringWriter());
GetRunStringWriter().WriteString(CString(_T("<w:fldChar w:fldCharType=\"end\"/></w:r>")));
}
}
else if ( c_oSerRunType::CommentReference == type )
{
......
......@@ -2,6 +2,6 @@
//2
//0
//0
//159
#define INTVER 2,0,0,159
#define STRVER "2,0,0,159\0"
//160
#define INTVER 2,0,0,160
#define STRVER "2,0,0,160\0"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment