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

Исправлен баг, что не активировалась кнопка копирования после Ctrl+A (баги...

Исправлен баг, что не активировалась кнопка копирования после Ctrl+A (баги 26923, 26865). Исправлен баг с неправильным рассчетом PageBreak в параграфе с формулами (баг 26892). Исправлен баг с неправильным рассчетом нескольких PageBreak подряд (баг 26859). 

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@58983 954022d7-b5bf-4e40-9824-e11837661b57
parent b4ca4ed1
......@@ -8667,6 +8667,9 @@ CDocument.prototype =
this.Document_UpdateInterfaceState();
this.Document_UpdateRulersState();
this.Selection.Start = false;
// Отдельно обрабатываем это событие, потому что внутри него идет проверка на this.Selection.Start !== true
this.Document_UpdateCopyCutState();
},
On_DragTextEnd : function(NearPos, bCopy)
......
......@@ -793,7 +793,7 @@ ParaMath.prototype.Check_PageBreak = function()
ParaMath.prototype.Check_BreakPageEnd = function(PBChecker)
{
return false;
return true;
};
ParaMath.prototype.Get_ParaPosByContentPos = function(ContentPos, Depth)
......
......@@ -670,6 +670,17 @@ Paragraph.prototype.private_RecalculatePageBreak = function(CurLine, CurPa
}
}
// Эта проверка на случай, если предыдущий параграф закончился PageBreak
if (PRS.YStart > PRS.YLimit - 0.001)
{
this.Pages[CurPage].Set_EndLine( CurLine - 1 );
if ( 0 === CurLine )
this.Lines[-1] = new CParaLine( 0 );
PRS.RecalcResult = recalcresult_NextPage;
return false;
}
return true;
};
......@@ -730,20 +741,20 @@ Paragraph.prototype.private_RecalculateLine = function(CurLine, CurPa
return;
//-------------------------------------------------------------------------------------------------------------
// 10. Выставляем вертикальное смещение данной строки
// 10. Проверяем особую ситуацию, когда у нас параграф заканчивается элементом PageBreak
//-------------------------------------------------------------------------------------------------------------
this.private_RecalculateLineBaseLine(CurLine, CurPage, PRS, ParaPr);
if (false === this.private_RecalculateLineBreakPageEnd(CurLine, CurPage, PRS, ParaPr))
return;
//-------------------------------------------------------------------------------------------------------------
// 11. Проверяем не съехала ли вся строка из-за обтекания
// 11. Выставляем вертикальное смещение данной строки
//-------------------------------------------------------------------------------------------------------------
if (false === this.private_RecalculateLineCheckRangeY(CurLine, CurPage, PRS, ParaPr))
return;
this.private_RecalculateLineBaseLine(CurLine, CurPage, PRS, ParaPr);
//-------------------------------------------------------------------------------------------------------------
// 12. Проверяем особую ситуацию, когда у нас параграф заканчивается элементом PageBreak
// 12. Проверяем не съехала ли вся строка из-за обтекания
//-------------------------------------------------------------------------------------------------------------
if (false === this.private_RecalculateLineBreakPageEnd(CurLine, CurPage, PRS, ParaPr))
if (false === this.private_RecalculateLineCheckRangeY(CurLine, CurPage, PRS, ParaPr))
return;
//-------------------------------------------------------------------------------------------------------------
......
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