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