summaryrefslogtreecommitdiff
path: root/vcl/os2
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2008-07-22 16:29:22 +0000
committerOliver Bolte <obo@openoffice.org>2008-07-22 16:29:22 +0000
commitd333afc08a3ee0d95c4eb9d542b190f0844e28cd (patch)
treeeb9d7b204dda4e7febd77dcc15534a50e9720e2f /vcl/os2
parenta9b34fea3aa9ffacf0c738564f4ab01c5cd7aaff (diff)
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
Diffstat (limited to 'vcl/os2')
-rw-r--r--vcl/os2/source/window/salframe.cxx37
1 files changed, 29 insertions, 8 deletions
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 );
+}
+
+// -----------------------------------------------------------------------