From d333afc08a3ee0d95c4eb9d542b190f0844e28cd Mon Sep 17 00:00:00 2001 From: Oliver Bolte Date: Tue, 22 Jul 2008 16:29:22 +0000 Subject: INTEGRATION: CWS os2port03 (1.5.116); FILE MERGED 2008/07/16 13:38:57 obr 1.5.116.3: RESYNC: (1.5-1.6); FILE MERGED 2008/04/15 14:42:28 ydario 1.5.116.2: Issue number: i85203 Submitted by: ydario Reviewed by: ydario 2008/01/29 15:21:51 ydario 1.5.116.1: os2 compile fixes. Issue number:i85203 Submitted by:ydario --- vcl/os2/source/window/salframe.cxx | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) (limited to 'vcl/os2/source') diff --git a/vcl/os2/source/window/salframe.cxx b/vcl/os2/source/window/salframe.cxx index 1250d98d5c8f..474a87f9d1bf 100644 --- a/vcl/os2/source/window/salframe.cxx +++ b/vcl/os2/source/window/salframe.cxx @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: salframe.cxx,v $ - * $Revision: 1.6 $ + * $Revision: 1.7 $ * * This file is part of OpenOffice.org. * @@ -81,6 +81,8 @@ static void ImplSalCalcFrameSize( HWND hWnd, LONG& nFrameX, LONG& nFrameY, LONG& nCaptionY ); static void ImplSalCalcFrameSize( const Os2SalFrame* pFrame, LONG& nFrameX, LONG& nFrameY, LONG& nCaptionY ); +MRESULT EXPENTRY SalFrameSubClassWndProc( HWND hWnd, ULONG nMsg, + MPARAM nMP1, MPARAM nMP2 ); // ======================================================================= @@ -712,6 +714,9 @@ SalFrame* ImplSalCreateFrame( Os2SalInstance* pInst, HWND hWndParent, ULONG nSal } } + // ticket#124 subclass frame window: we need to intercept TRACK message + aSalShlData.mpFrameProc = WinSubclassWindow( hWndFrame, SalFrameSubClassWndProc); + // init OS/2 frame data pFrame->mhAB = pInst->mhAB; @@ -2752,13 +2757,7 @@ static long ImplHandleKeyMsg( HWND hWnd, if ( nFlags & KC_CTRL ) nModCode |= KEY_MOD1; if ( nFlags & KC_ALT ) - { nModCode |= KEY_MOD2; - // Nur wenn nicht Control und kein auswertbarer CharCode - // Wegen AltGr (vorallem wegen 122-Tastaturen auch KC_CHAR testen) - if ( !(nModCode & KEY_MOD1) && !(nFlags & KC_CHAR) ) - nModCode |= KEY_CONTROLMOD; - } // Bei Shift, Control und Alt schicken wir einen KeyModChange-Event if ( (nOS2KeyCode == VK_SHIFT) || (nOS2KeyCode == VK_CTRL) || @@ -3703,7 +3702,6 @@ MRESULT EXPENTRY SalFrameWndProc( HWND hWnd, ULONG nMsg, // ----------------------------------------------------------------------- - void Os2SalFrame::ResetClipRegion() { } @@ -3720,3 +3718,26 @@ void Os2SalFrame::EndSetClipRegion() { } +// ----------------------------------------------------------------------- + +MRESULT EXPENTRY SalFrameSubClassWndProc( HWND hWnd, ULONG nMsg, + MPARAM nMP1, MPARAM nMP2 ) +{ + MRESULT mReturn = 0L; + + // ticket#124 min size of 132 px is too much + if (nMsg == WM_QUERYTRACKINFO) { + PTRACKINFO pti; + // first, let PM initialize TRACKINFO + mReturn = aSalShlData.mpFrameProc( hWnd, nMsg, nMP1, nMP2 ); + // now change default min size + pti = (PTRACKINFO) nMP2; + pti->ptlMinTrackSize.x = 64L; + // now return to PM + return mReturn; + } + + return aSalShlData.mpFrameProc( hWnd, nMsg, nMP1, nMP2 ); +} + +// ----------------------------------------------------------------------- -- cgit