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

Исправлен баг с обновлением информации о секциях после удаления(баг 25284)....

Исправлен баг с обновлением информации о секциях после удаления(баг 25284). Сделано, чтобы при добавлении буквицы, если выделено более 1 параграфа, в буквицу добавлялся ровно 1 символ (баг 25286). Исправлен баг с селектом (баг 25276). 

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@57209 954022d7-b5bf-4e40-9824-e11837661b57
parent 504eaf7b
...@@ -10209,7 +10209,7 @@ CDocument.prototype = ...@@ -10209,7 +10209,7 @@ CDocument.prototype =
NextObj = null; NextObj = null;
for ( var Index = 0; Index < Count; Index++ ) for ( var Index = 0; Index < Count; Index++ )
{ {
this.Content[Position + Index].PreDelete(); this.Content[Position + Index].PreDelete();
} }
...@@ -13455,7 +13455,7 @@ CDocumentSectionsInfo.prototype = ...@@ -13455,7 +13455,7 @@ CDocumentSectionsInfo.prototype =
{ {
var CurPos = this.Elements[Index].Index; var CurPos = this.Elements[Index].Index;
if ( CurPos === Pos && CurPos < Pos + Count ) if ( CurPos >= Pos && CurPos < Pos + Count )
{ {
this.Elements.splice( Index, 1 ); this.Elements.splice( Index, 1 );
Len--; Len--;
......
...@@ -4630,13 +4630,13 @@ Paragraph.prototype = ...@@ -4630,13 +4630,13 @@ Paragraph.prototype =
} }
} }
} }
else if ( true !== this.Selection_IsEmpty(true) ) else if ( true !== this.Selection_IsEmpty(true) && ( ( 1 === Direction && true === this.Selection.StartManually ) || ( 1 !== Direction && true === this.Selection.EndManually ) ) )
{ {
// Эта ветка нужна для снятие выделения с плавающих объектов, стоящих в начале параграфа, когда параграф // Эта ветка нужна для снятие выделения с плавающих объектов, стоящих в начале параграфа, когда параграф
// выделен не весь. Заметим, что это ветка имеет смысл, только при direction = 1, поэтому выделен весь // выделен не весь. Заметим, что это ветка имеет смысл, только при direction = 1, поэтому выделен весь
// параграф или нет, проверяется попаданием para_End в селект. Кроме того, ничего не делаем с селектом, // параграф или нет, проверяется попаданием para_End в селект. Кроме того, ничего не делаем с селектом,
// если он пустой. // если он пустой.
var bNeedCorrectLeftPos = true; var bNeedCorrectLeftPos = true;
var _StartPos = Math.min( StartPos, EndPos ); var _StartPos = Math.min( StartPos, EndPos );
var _EndPos = Math.max( StartPos, EndPos ); var _EndPos = Math.max( StartPos, EndPos );
...@@ -6592,7 +6592,8 @@ Paragraph.prototype = ...@@ -6592,7 +6592,8 @@ Paragraph.prototype =
this.Selection.Use = true; this.Selection.Use = true;
this.Selection.Start = true; this.Selection.Start = true;
this.Selection.Flag = selectionflag_Common; this.Selection.Flag = selectionflag_Common;
this.Selection.StartManually = true;
// Выставим текущую позицию // Выставим текущую позицию
this.Set_ParaContentPos( SearchPosXY2.Pos, true, SearchPosXY2.Line, SearchPosXY2.Range ); this.Set_ParaContentPos( SearchPosXY2.Pos, true, SearchPosXY2.Line, SearchPosXY2.Range );
...@@ -6613,6 +6614,8 @@ Paragraph.prototype = ...@@ -6613,6 +6614,8 @@ Paragraph.prototype =
this.CurPos.RealX = X; this.CurPos.RealX = X;
this.CurPos.RealY = Y; this.CurPos.RealY = Y;
this.Selection.EndManually = true;
// Найдем позицию в контенте, в которую мы попали (для селекта ищем и за знаком параграфа, для курсора только перед) // Найдем позицию в контенте, в которую мы попали (для селекта ищем и за знаком параграфа, для курсора только перед)
var SearchPosXY = this.Get_ParaContentPosByXY( X, Y, PageNum, false, true ); var SearchPosXY = this.Get_ParaContentPosByXY( X, Y, PageNum, false, true );
var SearchPosXY2 = this.Get_ParaContentPosByXY( X, Y, PageNum, false, false ); var SearchPosXY2 = this.Get_ParaContentPosByXY( X, Y, PageNum, false, false );
...@@ -7003,10 +7006,12 @@ Paragraph.prototype = ...@@ -7003,10 +7006,12 @@ Paragraph.prototype =
if ( true === StartSelection ) if ( true === StartSelection )
{ {
this.Set_SelectionContentPos( ContentPos, this.Get_ParaContentPos( true, false ), false ); this.Set_SelectionContentPos( ContentPos, this.Get_ParaContentPos( true, false ), false );
this.Selection.StartManually = false;
} }
else else
{ {
this.Set_SelectionContentPos( this.Get_ParaContentPos( true, true ), ContentPos, false ); this.Set_SelectionContentPos( this.Get_ParaContentPos( true, true ), ContentPos, false );
this.Selection.EndManually = false;
} }
}, },
...@@ -7028,6 +7033,9 @@ Paragraph.prototype = ...@@ -7028,6 +7033,9 @@ Paragraph.prototype =
EndPos = this.Get_EndPos( true ); EndPos = this.Get_EndPos( true );
} }
this.Selection.StartManually = false;
this.Selection.EndManually = false;
this.Set_SelectionContentPos( StartPos, EndPos ); this.Set_SelectionContentPos( StartPos, EndPos );
}, },
...@@ -9827,7 +9835,7 @@ Paragraph.prototype = ...@@ -9827,7 +9835,7 @@ Paragraph.prototype =
// конца выделения, кроме этого в буквицу добавляем все табы идущие в начале. // конца выделения, кроме этого в буквицу добавляем все табы идущие в начале.
var DropCapText = new CParagraphGetDropCapText(); var DropCapText = new CParagraphGetDropCapText();
if ( true == this.Selection.Use ) if ( true == this.Selection.Use && true === this.Parent.Selection_Is_OneElement() )
{ {
var SelSP = this.Get_ParaContentPos( true, true ); var SelSP = this.Get_ParaContentPos( true, true );
var SelEP = this.Get_ParaContentPos( true, false ); var SelEP = this.Get_ParaContentPos( true, false );
...@@ -13369,6 +13377,9 @@ function CParagraphSelection() ...@@ -13369,6 +13377,9 @@ function CParagraphSelection()
this.StartPos = 0; this.StartPos = 0;
this.EndPos = 0; this.EndPos = 0;
this.Flag = selectionflag_Common; this.Flag = selectionflag_Common;
this.StartManually = true; // true - через Selection_SetStart, false - через Selection_SetBegEnd
this.EndManually = true; // true - через Selection_SetEnd, афдыу - через Selection_SetBegEnd
} }
CParagraphSelection.prototype = CParagraphSelection.prototype =
......
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