Kaydet (Commit) e0ea1b52 authored tarafından Kohei Yoshida's avatar Kohei Yoshida

Fixed the validation message popup disappearing when scrolling etc.

When the popup goes outside the visible area & get scrolled back in,
it would disappear.  Also, when setting the hint message on in the
dialog and clicking OK should show the popup right away.
üst c7c65bc0
...@@ -911,6 +911,7 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq ) ...@@ -911,6 +911,7 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq )
aData.ResetError(); // reset only bShowError aData.ResetError(); // reset only bShowError
pTabViewShell->SetValidation( aData ); pTabViewShell->SetValidation( aData );
pTabViewShell->TestHintWindow();
rReq.Done( *pOutSet ); rReq.Done( *pOutSet );
} }
//after end execute from !IsModalInputMode, it is safer to delay deleting //after end execute from !IsModalInputMode, it is safer to delay deleting
......
...@@ -1301,10 +1301,6 @@ IMPL_LINK( ScTabView, ScrollHdl, ScrollBar*, pScroll ) ...@@ -1301,10 +1301,6 @@ IMPL_LINK( ScTabView, ScrollHdl, ScrollBar*, pScroll )
void ScTabView::ScrollX( long nDeltaX, ScHSplitPos eWhich, bool bUpdBars ) void ScTabView::ScrollX( long nDeltaX, ScHSplitPos eWhich, bool bUpdBars )
{ {
bool bHasHint = HasHintWindow();
if (bHasHint)
RemoveHintWindow();
SCCOL nOldX = aViewData.GetPosX(eWhich); SCCOL nOldX = aViewData.GetPosX(eWhich);
SCsCOL nNewX = static_cast<SCsCOL>(nOldX) + static_cast<SCsCOL>(nDeltaX); SCsCOL nNewX = static_cast<SCsCOL>(nOldX) + static_cast<SCsCOL>(nDeltaX);
if ( nNewX < 0 ) if ( nNewX < 0 )
...@@ -1384,16 +1380,11 @@ void ScTabView::ScrollX( long nDeltaX, ScHSplitPos eWhich, bool bUpdBars ) ...@@ -1384,16 +1380,11 @@ void ScTabView::ScrollX( long nDeltaX, ScHSplitPos eWhich, bool bUpdBars )
SetNewVisArea(); // MapMode muss schon gesetzt sein SetNewVisArea(); // MapMode muss schon gesetzt sein
if (bHasHint) TestHintWindow();
TestHintWindow(); // neu positionieren
} }
void ScTabView::ScrollY( long nDeltaY, ScVSplitPos eWhich, bool bUpdBars ) void ScTabView::ScrollY( long nDeltaY, ScVSplitPos eWhich, bool bUpdBars )
{ {
bool bHasHint = HasHintWindow();
if (bHasHint)
RemoveHintWindow();
SCROW nOldY = aViewData.GetPosY(eWhich); SCROW nOldY = aViewData.GetPosY(eWhich);
SCsROW nNewY = static_cast<SCsROW>(nOldY) + static_cast<SCsROW>(nDeltaY); SCsROW nNewY = static_cast<SCsROW>(nOldY) + static_cast<SCsROW>(nDeltaY);
if ( nNewY < 0 ) if ( nNewY < 0 )
...@@ -1474,8 +1465,7 @@ void ScTabView::ScrollY( long nDeltaY, ScVSplitPos eWhich, bool bUpdBars ) ...@@ -1474,8 +1465,7 @@ void ScTabView::ScrollY( long nDeltaY, ScVSplitPos eWhich, bool bUpdBars )
SetNewVisArea(); // MapMode muss schon gesetzt sein SetNewVisArea(); // MapMode muss schon gesetzt sein
if (bHasHint) TestHintWindow();
TestHintWindow(); // neu positionieren
} }
void ScTabView::ScrollLines( long nDeltaX, long nDeltaY ) void ScTabView::ScrollLines( long nDeltaX, long nDeltaY )
......
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