Commit c352309c authored by Ilya.Kirillov's avatar Ilya.Kirillov Committed by Alexander.Trofimov

Исправлен баг с текущим местом просмотра документа (как следствие баг 24358)....

Исправлен баг с текущим местом просмотра документа (как следствие баг 24358). Исправлен баг с обновлением интерфейса после применения удаления рамки (баг 24361). Сделано, чтобы когда в документе было выделение перехода по ссылке не происходило как в Word(баг 24355). Исправлен баг со снятием выделения с ссылки. Исправлен баг с копированием CDocumentShd (баг 24344). 

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@56496 954022d7-b5bf-4e40-9824-e11837661b57
parent a825b397
......@@ -1811,10 +1811,11 @@ CDocument.prototype =
{
if ( docpostype_Content === this.CurPos.Type )
{
if ( this.CurPos.ContentPos >= 0 && "undefined" != typeof(this.Content[this.CurPos.ContentPos].RecalculateCurPos) && ( null === this.FullRecalc.Id || this.FullRecalc.StartIndex > this.CurPos.ContentPos ) )
var Pos = ( true === this.Selection.Use ? this.Selection.EndPos : this.CurPos.ContentPos );
if ( Pos >= 0 && undefined !== this.Content[Pos].RecalculateCurPos && ( null === this.FullRecalc.Id || this.FullRecalc.StartIndex > Pos ) )
{
this.Internal_CheckCurPage();
this.Content[this.CurPos.ContentPos].RecalculateCurPos();
this.Content[Pos].RecalculateCurPos();
}
}
else if ( docpostype_DrawingObjects === this.CurPos.Type )
......@@ -1828,22 +1829,19 @@ CDocument.prototype =
},
Internal_CheckCurPage : function()
{
if ( this.CurPos.ContentPos >= 0 && ( null === this.FullRecalc.Id || this.FullRecalc.StartIndex > this.CurPos.ContentPos ) )
{
if ( docpostype_DrawingObjects === this.CurPos.Type )
{
var ParaDrawing = this.DrawingObjects.getMajorParaDrawing();
if ( null != ParaDrawing )
{
this.CurPage = ParaDrawing.PageNum;
//var Paragraph = ParaDrawing.Parent;
//this.CurPage = Paragraph.Get_CurrentPage_Absolute();
}
}
else if ( this.CurPos.ContentPos >= 0 )
else
{
this.CurPage = this.Content[this.CurPos.ContentPos].Get_CurrentPage_Absolute();
var Pos = ( true === this.Selection.Use ? this.Selection.EndPos : this.CurPos.ContentPos );
if ( Pos >= 0 && ( null === this.FullRecalc.Id || this.FullRecalc.StartIndex > Pos ) )
{
this.CurPage = this.Content[Pos].Get_CurrentPage_Absolute();
}
}
},
......@@ -2626,6 +2624,7 @@ CDocument.prototype =
}
this.Recalculate();
this.Document_UpdateInterfaceState();
this.Document_UpdateRulersState();
}
}
......@@ -2678,6 +2677,7 @@ CDocument.prototype =
Last.Document_SetThisElementCurrent(true);
this.Recalculate();
this.Document_UpdateInterfaceState();
this.Document_UpdateRulersState();
}
}
......@@ -2693,6 +2693,7 @@ CDocument.prototype =
}
this.Recalculate();
this.Document_UpdateInterfaceState();
this.Document_UpdateRulersState();
}
}
......@@ -11328,6 +11329,12 @@ CDocument.prototype =
this.DrawingDocument.TargetEnd();
this.DrawingDocument.SelectEnabled(true);
this.DrawingDocument.SelectShow();
if ( true !== this.Selection.Start )
{
this.Internal_CheckCurPage();
this.RecalculateCurPos();
}
}
else
{
......
......@@ -459,6 +459,9 @@ ParaHyperlink.prototype =
if ( true === this.Content[StartPos].Is_Empty() )
this.Remove_FromContent( StartPos, true );
}
this.Selection_Remove();
this.State.ContentPos = StartPos;
}
else
{
......
......@@ -12581,53 +12581,33 @@ Paragraph.prototype =
},
Hyperlink_Check : function(bCheckEnd)
{
if ( true !== Debug_ParaRunMode )
{
if ( true === this.Selection.Use )
{
var Hyper_start = this.Check_Hyperlink2( this.Selection.StartPos );
var Hyper_end = this.Check_Hyperlink2( this.Selection.EndPos );
if ( Hyper_start === Hyper_end && null != Hyper_start )
return Hyper_start
}
else
{
var Hyper_cur = this.Check_Hyperlink2( this.CurPos.ContentPos, bCheckEnd );
if ( null != Hyper_cur )
return Hyper_cur;
}
return null;
}
else
{
var Hyper = null;
if ( true === this.Selection.Use )
{
var StartPos = this.Selection.StartPos;
var EndPos = this.Selection.EndPos;
// TODO: Если есть выделение, тогда Word не проверяем попадаение в гиперссылку
//var StartPos = this.Selection.StartPos;
//var EndPos = this.Selection.EndPos;
if ( StartPos > EndPos )
{
StartPos = this.Selection.EndPos;
EndPos = this.Selection.StartPos;
}
//if ( StartPos > EndPos )
//{
// StartPos = this.Selection.EndPos;
// EndPos = this.Selection.StartPos;
//}
for ( var CurPos = StartPos; CurPos <= EndPos; CurPos++ )
{
var Element = this.Content[CurPos];
//for ( var CurPos = StartPos; CurPos <= EndPos; CurPos++ )
//{
// var Element = this.Content[CurPos];
if ( para_Hyperlink === Element.Type && true !== Element.Selection_IsEmpty() )
{
if ( null === Hyper )
Hyper = Element;
else
return null;
}
}
// if ( para_Hyperlink === Element.Type && true !== Element.Selection_IsEmpty() )
// {
// if ( null === Hyper )
// Hyper = Element;
// else
// return null;
// }
//}
}
else
{
......@@ -12638,7 +12618,6 @@ Paragraph.prototype =
}
return Hyper;
}
},
Selection_SetStart : function(X,Y,PageNum, bTableBorder)
......
......@@ -4556,11 +4556,13 @@ CDocumentShd.prototype =
{
var Shd = new CDocumentShd();
Shd.Value = this.Value;
if ( undefined !== this.Color )
Shd.Color.Set( this.Color.r, this.Color.g, this.Color.b );
if(this.Unifill)
{
if( undefined !== this.Unifill )
Shd.Unifill = this.Unifill.createDuplicate();
}
return Shd;
},
......
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