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

Исправлен баг с корреткировкой содержимого параграфа после вставки (баг...

Исправлен баг с корреткировкой содержимого параграфа после вставки (баг 25268). Исправлен баг с размером текста после отмены буквицы (баг 25271). Сделано, чтобы при двойном клике в пустую область можно было создать параграф без какого-либо отступа по горизонтали (25272). Исправлен баг в работе клавиш Ctrl+M/ Ctrl+Shift+M (баг 25273).

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@57222 954022d7-b5bf-4e40-9824-e11837661b57
parent 04e01e73
...@@ -2799,7 +2799,7 @@ CDocument.prototype = ...@@ -2799,7 +2799,7 @@ CDocument.prototype =
FramePara.Set_Spacing( Spacing, true ); FramePara.Set_Spacing( Spacing, true );
FramePara.Select_All(); FramePara.Select_All();
FramePara.Clear_TextFormatting(); FramePara.Clear_TextFormatting();
FramePara.Apply_TextPr(TextPr, false); FramePara.Apply_TextPr(TextPr, undefined);
} }
...@@ -8540,6 +8540,9 @@ CDocument.prototype = ...@@ -8540,6 +8540,9 @@ CDocument.prototype =
Item.Select_All(); Item.Select_All();
} }
if ( PrevClass.Correct_Content )
PrevClass.Correct_Content();
if ( true === bNeedSelect ) if ( true === bNeedSelect )
{ {
PrevClass.Selection.Use = true; PrevClass.Selection.Use = true;
......
...@@ -3923,6 +3923,9 @@ CDocumentContent.prototype = ...@@ -3923,6 +3923,9 @@ CDocumentContent.prototype =
Item.Select_All(); Item.Select_All();
} }
if ( PrevClass.Correct_Content )
PrevClass.Correct_Content();
if ( true === bNeedSelect ) if ( true === bNeedSelect )
{ {
PrevClass.Selection.Use = true; PrevClass.Selection.Use = true;
......
...@@ -4141,58 +4141,9 @@ Paragraph.prototype = ...@@ -4141,58 +4141,9 @@ Paragraph.prototype =
{ {
var NumPr = this.Numbering_Get(); var NumPr = this.Numbering_Get();
if ( undefined != NumPr ) if ( undefined !== this.Numbering_Get() )
{
if ( true != this.Selection.Use )
{ {
var NumId = NumPr.NumId; this.Shift_NumberingLvl( bShift );
var Lvl = NumPr.Lvl;
var NumInfo = this.Parent.Internal_GetNumInfo( this.Id, NumPr );
if ( 0 === Lvl && NumInfo[Lvl] <= 1 )
{
var Numbering = this.Parent.Get_Numbering();
var AbstractNum = Numbering.Get_AbstractNum(NumId);
var NumLvl = AbstractNum.Lvl[Lvl];
var NumParaPr = NumLvl.ParaPr;
var ParaPr = this.Get_CompiledPr2(false).ParaPr;
if ( undefined != NumParaPr.Ind && undefined != NumParaPr.Ind.Left )
{
var NewX = ParaPr.Ind.Left;
if ( true != bShift )
NewX += Default_Tab_Stop;
else
{
NewX -= Default_Tab_Stop;
if ( NewX < 0 )
NewX = 0;
if ( ParaPr.Ind.FirstLine < 0 && NewX + ParaPr.Ind.FirstLine < 0 )
NewX = -ParaPr.Ind.FirstLine;
}
AbstractNum.Change_LeftInd( NewX );
History.Add( this, { Type : historyitem_Paragraph_Ind_First, Old : ( undefined != this.Pr.Ind.FirstLine ? this.Pr.Ind.FirstLine : undefined ), New : undefined } );
History.Add( this, { Type : historyitem_Paragraph_Ind_Left, Old : ( undefined != this.Pr.Ind.Left ? this.Pr.Ind.Left : undefined ), New : undefined } );
// При добавлении списка в параграф, удаляем все собственные сдвиги
this.Pr.Ind.FirstLine = undefined;
this.Pr.Ind.Left = undefined;
// Надо пересчитать конечный стиль
this.CompiledPr.NeedRecalc = true;
}
}
else
this.Numbering_IndDec_Level( !bShift );
}
else
this.Numbering_IndDec_Level( !bShift );
} }
else if ( true === this.Is_SelectionUse() ) else if ( true === this.Is_SelectionUse() )
{ {
...@@ -4264,6 +4215,9 @@ Paragraph.prototype = ...@@ -4264,6 +4215,9 @@ Paragraph.prototype =
var X1 = Page.XLimit - X0; var X1 = Page.XLimit - X0;
var X = _X - X0; var X = _X - X0;
if ( X < 10 )
return false;
if ( true === this.IsEmpty() ) if ( true === this.IsEmpty() )
{ {
if ( Math.abs(X - X1 / 2) < 12.5 ) if ( Math.abs(X - X1 / 2) < 12.5 )
...@@ -4287,6 +4241,8 @@ Paragraph.prototype = ...@@ -4287,6 +4241,8 @@ Paragraph.prototype =
this.Set_ParaContentPos( this.Get_EndPos( false ), false, -1, -1 ); this.Set_ParaContentPos( this.Get_EndPos( false ), false, -1, -1 );
this.Add( new ParaTab() ); this.Add( new ParaTab() );
return true;
}, },
IncDec_FontSize : function(bIncrease) IncDec_FontSize : function(bIncrease)
...@@ -4368,12 +4324,67 @@ Paragraph.prototype = ...@@ -4368,12 +4324,67 @@ Paragraph.prototype =
return true; return true;
}, },
IncDec_Indent : function(bIncrease) Shift_NumberingLvl : function(bShift)
{ {
var NumPr = this.Numbering_Get(); var NumPr = this.Numbering_Get();
if ( undefined != NumPr )
if ( true != this.Selection.Use )
{
var NumId = NumPr.NumId;
var Lvl = NumPr.Lvl;
var NumInfo = this.Parent.Internal_GetNumInfo( this.Id, NumPr );
if ( 0 === Lvl && NumInfo[Lvl] <= 1 )
{
var Numbering = this.Parent.Get_Numbering();
var AbstractNum = Numbering.Get_AbstractNum(NumId);
var NumLvl = AbstractNum.Lvl[Lvl];
var NumParaPr = NumLvl.ParaPr;
var ParaPr = this.Get_CompiledPr2(false).ParaPr;
if ( undefined != NumParaPr.Ind && undefined != NumParaPr.Ind.Left )
{
var NewX = ParaPr.Ind.Left;
if ( true != bShift )
NewX += Default_Tab_Stop;
else
{
NewX -= Default_Tab_Stop;
if ( NewX < 0 )
NewX = 0;
if ( ParaPr.Ind.FirstLine < 0 && NewX + ParaPr.Ind.FirstLine < 0 )
NewX = -ParaPr.Ind.FirstLine;
}
AbstractNum.Change_LeftInd( NewX );
History.Add( this, { Type : historyitem_Paragraph_Ind_First, Old : ( undefined != this.Pr.Ind.FirstLine ? this.Pr.Ind.FirstLine : undefined ), New : undefined } );
History.Add( this, { Type : historyitem_Paragraph_Ind_Left, Old : ( undefined != this.Pr.Ind.Left ? this.Pr.Ind.Left : undefined ), New : undefined } );
// При добавлении списка в параграф, удаляем все собственные сдвиги
this.Pr.Ind.FirstLine = undefined;
this.Pr.Ind.Left = undefined;
// Надо пересчитать конечный стиль
this.CompiledPr.NeedRecalc = true;
}
}
else
this.Numbering_IndDec_Level( !bShift );
}
else
this.Numbering_IndDec_Level( !bShift );
},
IncDec_Indent : function(bIncrease)
{ {
this.Numbering_IndDec_Level( bIncrease ); if ( undefined !== this.Numbering_Get() )
{
this.Shift_NumberingLvl( !bIncrease );
} }
else else
{ {
...@@ -6009,8 +6020,9 @@ Paragraph.prototype = ...@@ -6009,8 +6020,9 @@ Paragraph.prototype =
} }
else else
{ {
if ( true === CurElement.Is_Empty() && CurPos < this.Content.length - 1 && para_Run === this.Content[CurPos + 1].Type && true === this.Content[CurPos + 1].Is_Empty() ) // TODO (Para_End): Предпоследний элемент мы не проверяем, т.к. на ран с Para_End мы не ориентируемся
this.Internal_Content_Remove( CurPos + 1 ); if ( true === CurElement.Is_Empty() && CurPos < this.Content.length - 2 && para_Run === this.Content[CurPos + 1].Type )
this.Internal_Content_Remove( CurPos );
} }
} }
...@@ -6625,19 +6637,24 @@ Paragraph.prototype = ...@@ -6625,19 +6637,24 @@ Paragraph.prototype =
if ( true === SearchPosXY.End ) if ( true === SearchPosXY.End )
{ {
if ( PageNum - this.PageNum >= PagesCount - 1 && X > this.Lines[this.Lines.length - 1].Ranges[this.Lines[this.Lines.length - 1].Ranges.length - 1].W && MouseEvent.ClickCount >= 2 && Y <= this.Pages[PagesCount - 1].Bounds.Bottom ) var LastRange = this.Lines[this.Lines.length - 1].Ranges[this.Lines[this.Lines.length - 1].Ranges.length - 1];
if ( PageNum - this.PageNum >= PagesCount - 1 && X > LastRange.W && MouseEvent.ClickCount >= 2 && Y <= this.Pages[PagesCount - 1].Bounds.Bottom && X > LastRange.X + 10 && X > LastRange.XVisible + 10 )
{ {
if ( this.bFromDocument && false === editor.isViewMode && false === editor.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_None, { Type : changestype_2_Element_and_Type, Element : this, CheckType : changestype_Paragraph_Content } ) ) if ( this.bFromDocument && false === editor.isViewMode && false === editor.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_None, { Type : changestype_2_Element_and_Type, Element : this, CheckType : changestype_Paragraph_Content } ) )
{ {
History.Create_NewPoint(); History.Create_NewPoint();
History.Set_Additional_ExtendDocumentToPos(); History.Set_Additional_ExtendDocumentToPos();
this.Extend_ToPos( X ); if ( true === this.Extend_ToPos( X ) )
{
this.Cursor_MoveToEndPos(); this.Cursor_MoveToEndPos();
this.Document_SetThisElementCurrent(true); this.Document_SetThisElementCurrent(true);
editor.WordControl.m_oLogicDocument.Recalculate(); editor.WordControl.m_oLogicDocument.Recalculate();
return; return;
} }
else
History.Remove_LastPoint();
}
} }
} }
......
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