From 2f382d6c2579a25c68dbd121af7f1f5dc7ec9852 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Thu, 27 Mar 2003 16:59:30 +0000 Subject: MWS_SRX644: migrate branch mws_srx644 -> HEAD --- vcl/source/window/dialog.cxx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'vcl/source/window/dialog.cxx') diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx index 02a3297f8ad7..9b5c523d2db1 100644 --- a/vcl/source/window/dialog.cxx +++ b/vcl/source/window/dialog.cxx @@ -2,9 +2,9 @@ * * $RCSfile: dialog.cxx,v $ * - * $Revision: 1.24 $ + * $Revision: 1.25 $ * - * last change: $Author: pl $ $Date: 2002-12-10 16:50:31 $ + * last change: $Author: hr $ $Date: 2003-03-27 17:58:20 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -138,6 +138,9 @@ static ByteString ImplGetDialogText( Dialog* pDialog ) static BOOL ImplIsMnemonicCtrl( Window* pWindow ) { + if( ! pWindow->GetSettings().GetStyleSettings().GetAutoMnemonic() ) + return FALSE; + if ( (pWindow->GetType() == WINDOW_RADIOBUTTON) || (pWindow->GetType() == WINDOW_CHECKBOX) || (pWindow->GetType() == WINDOW_TRISTATEBOX) || @@ -193,7 +196,7 @@ void ImplWindowAutoMnemonic( Window* pWindow ) if ( (pParent->GetStyle() & (WB_DIALOGCONTROL | WB_NODIALOGCONTROL)) == WB_DIALOGCONTROL ) { - pGetChild = pWindow->GetWindow( WINDOW_FIRSTCHILD ); + pGetChild = pParent->GetWindow( WINDOW_FIRSTCHILD ); while ( pGetChild ) { pChild = pGetChild->ImplGetWindow(); @@ -531,7 +534,7 @@ void Dialog::StateChanged( StateChangedType nType ) if ( nType == STATE_CHANGE_INITSHOW ) { - if ( Application::IsAutoMnemonicEnabled() ) + if ( GetSettings().GetStyleSettings().GetAutoMnemonic() ) ImplWindowAutoMnemonic( this ); //if ( IsDefaultPos() && !mbFrame ) @@ -695,9 +698,14 @@ short Dialog::Execute() ImplDelData aDelData; ImplAddDel( &aDelData ); pSVData->maAppData.mnModalMode++; + //DBG_ASSERT( mpDialogParent, "Dialog::Execute() - no Parent: cannot set modal count!" ); + if( mpDialogParent ) + mpDialogParent->ImplIncModalCount(); // #106303# support frame based modal count while ( !aDelData.IsDelete() && mbInExecute ) Application::Yield(); pSVData->maAppData.mnModalMode--; + if( mpDialogParent ) + mpDialogParent->ImplDecModalCount(); // #106303# support frame based modal count if ( !aDelData.IsDelete() ) ImplRemoveDel( &aDelData ); #ifdef DBG_UTIL -- cgit