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 = ...@@ -8667,6 +8667,9 @@ CDocument.prototype =
this.Document_UpdateInterfaceState(); this.Document_UpdateInterfaceState();
this.Document_UpdateRulersState(); this.Document_UpdateRulersState();
this.Selection.Start = false; this.Selection.Start = false;
// Отдельно обрабатываем это событие, потому что внутри него идет проверка на this.Selection.Start !== true
this.Document_UpdateCopyCutState();
}, },
On_DragTextEnd : function(NearPos, bCopy) On_DragTextEnd : function(NearPos, bCopy)
......
...@@ -793,7 +793,7 @@ ParaMath.prototype.Check_PageBreak = function() ...@@ -793,7 +793,7 @@ ParaMath.prototype.Check_PageBreak = function()
ParaMath.prototype.Check_BreakPageEnd = function(PBChecker) ParaMath.prototype.Check_BreakPageEnd = function(PBChecker)
{ {
return false; return true;
}; };
ParaMath.prototype.Get_ParaPosByContentPos = function(ContentPos, Depth) ParaMath.prototype.Get_ParaPosByContentPos = function(ContentPos, Depth)
......
...@@ -670,6 +670,17 @@ Paragraph.prototype.private_RecalculatePageBreak = function(CurLine, CurPa ...@@ -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; return true;
}; };
...@@ -730,20 +741,20 @@ Paragraph.prototype.private_RecalculateLine = function(CurLine, CurPa ...@@ -730,20 +741,20 @@ Paragraph.prototype.private_RecalculateLine = function(CurLine, CurPa
return; 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)) this.private_RecalculateLineBaseLine(CurLine, CurPage, PRS, ParaPr);
return;
//------------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------------------
// 12. Проверяем особую ситуацию, когда у нас параграф заканчивается элементом PageBreak // 12. Проверяем не съехала ли вся строка из-за обтекания
//------------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------------------
if (false === this.private_RecalculateLineBreakPageEnd(CurLine, CurPage, PRS, ParaPr)) if (false === this.private_RecalculateLineCheckRangeY(CurLine, CurPage, PRS, ParaPr))
return; 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