diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 6b7d88b5be..b3fb7f0afe 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,13 @@ The license applies to all entries newer than 2009-04-28. */ +2011-03-04 17:50 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) + * contrib/hbxbp/xbpappevent.prg + + Added: XbpAppEventToQKeyEvent() and XbpAppEventModifier() + * contrib/hbxbp/xbpgeneric.prg + + Implemented: PostAppEvent( nEventType, mp1, mp2, oXbp ) + Currently it is implemented for nEventType == xbeP_Keyboard. + 2011-03-04 13:07 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * debian/control * debian/compat diff --git a/harbour/contrib/hbxbp/xbpappevent.prg b/harbour/contrib/hbxbp/xbpappevent.prg index 3aa45a0ca9..697bd0acf9 100644 --- a/harbour/contrib/hbxbp/xbpappevent.prg +++ b/harbour/contrib/hbxbp/xbpappevent.prg @@ -519,3 +519,549 @@ FUNCTION XbpQKeyEventToAppEvent( oKeyEvent ) RETURN c /*----------------------------------------------------------------------*/ + +FUNCTION XbpAppEventToQKeyEvent( key ) + + SWITCH( key ) + CASE xbeK_ESC + CASE xbeK_SH_ESC + RETURN Qt_Key_Escape + CASE xbeK_ENTER + CASE xbeK_ALT_ENTER + CASE xbeK_CTRL_ENTER + RETURN Qt_Key_Enter + CASE xbeK_TAB + CASE xbeK_SH_TAB + RETURN Qt_Key_Backtab + CASE xbeK_CTRL_TAB + RETURN Qt_Key_Tab + CASE xbeK_BS + CASE xbeK_SH_BS + CASE xbeK_ALT_BS + CASE xbeK_CTRL_BS + RETURN Qt_Key_Backspace + CASE xbeK_INS + CASE xbeK_SH_INS + CASE xbeK_ALT_INS + CASE xbeK_CTRL_INS + RETURN Qt_Key_Insert + CASE xbeK_DEL + CASE xbeK_SH_DEL + CASE xbeK_ALT_DEL + CASE xbeK_CTRL_DEL + RETURN Qt_Key_Delete + CASE xbeK_HOME + CASE xbeK_SH_HOME + CASE xbeK_ALT_HOME + CASE xbeK_CTRL_HOME + CASE xbeK_SH_CTRL_HOME + RETURN Qt_Key_Home + CASE xbeK_END + CASE xbeK_SH_END + CASE xbeK_ALT_END + CASE xbeK_CTRL_END + CASE xbeK_SH_CTRL_END + RETURN Qt_Key_End + CASE xbeK_LEFT + CASE xbeK_SH_LEFT + CASE xbeK_ALT_LEFT + CASE xbeK_CTRL_LEFT + CASE xbeK_SH_CTRL_LEFT + RETURN Qt_Key_Left + CASE xbeK_UP + CASE xbeK_SH_UP + CASE xbeK_ALT_UP + CASE xbeK_CTRL_UP + CASE xbeK_SH_CTRL_UP + RETURN Qt_Key_Up + CASE xbeK_RIGHT + CASE xbeK_SH_RIGHT + CASE xbeK_ALT_RIGHT + CASE xbeK_CTRL_RIGHT + CASE xbeK_SH_CTRL_RIGHT + RETURN Qt_Key_Right + CASE xbeK_DOWN + CASE xbeK_SH_DOWN + CASE xbeK_ALT_DOWN + CASE xbeK_CTRL_DOWN + CASE xbeK_SH_CTRL_DOWN + RETURN Qt_Key_Down + CASE xbeK_PGUP + CASE xbeK_SH_PGUP + CASE xbeK_ALT_PGUP + CASE xbeK_CTRL_PGUP + CASE xbeK_SH_CTRL_PGUP + RETURN Qt_Key_PageUp + CASE xbeK_PGDN + CASE xbeK_SH_PGDN + CASE xbeK_ALT_PGDN + CASE xbeK_CTRL_PGDN + CASE xbeK_SH_CTRL_PGDN + RETURN Qt_Key_PageDown + CASE xbeK_F1 + CASE xbeK_SH_F1 + CASE xbeK_ALT_F1 + CASE xbeK_CTRL_F1 + RETURN Qt_Key_F1 + CASE xbeK_F2 + CASE xbeK_SH_F2 + CASE xbeK_ALT_F2 + CASE xbeK_CTRL_F2 + RETURN Qt_Key_F2 + CASE xbeK_F3 + CASE xbeK_SH_F3 + CASE xbeK_ALT_F3 + CASE xbeK_CTRL_F3 + RETURN Qt_Key_F3 + CASE xbeK_F4 + CASE xbeK_SH_F4 + CASE xbeK_ALT_F4 + CASE xbeK_CTRL_F4 + RETURN Qt_Key_F4 + CASE xbeK_F5 + CASE xbeK_SH_F5 + CASE xbeK_ALT_F5 + CASE xbeK_CTRL_F5 + RETURN Qt_Key_F5 + CASE xbeK_F6 + CASE xbeK_SH_F6 + CASE xbeK_ALT_F6 + CASE xbeK_CTRL_F6 + RETURN Qt_Key_F6 + CASE xbeK_F7 + CASE xbeK_SH_F7 + CASE xbeK_ALT_F7 + CASE xbeK_CTRL_F7 + RETURN Qt_Key_F7 + CASE xbeK_F8 + CASE xbeK_SH_F8 + CASE xbeK_ALT_F8 + CASE xbeK_CTRL_F8 + RETURN Qt_Key_F8 + CASE xbeK_F9 + CASE xbeK_SH_F9 + CASE xbeK_ALT_F9 + CASE xbeK_CTRL_F9 + RETURN Qt_Key_F9 + CASE xbeK_F10 + CASE xbeK_SH_F10 + CASE xbeK_ALT_F10 + CASE xbeK_CTRL_F10 + RETURN Qt_Key_F10 + CASE xbeK_F11 + CASE xbeK_SH_F11 + CASE xbeK_ALT_F11 + CASE xbeK_CTRL_F11 + RETURN Qt_Key_F11 + CASE xbeK_F12 + CASE xbeK_SH_F12 + CASE xbeK_ALT_F12 + CASE xbeK_CTRL_F12 + RETURN Qt_Key_F12 + + CASE xbeK_P_ALT_ASTERISK + CASE xbeK_P_CTRL_ASTERISK + RETURN Qt_Key_Asterisk + CASE xbeK_P_ALT_PLUS + CASE xbeK_P_CTRL_PLUS + RETURN Qt_Key_Plus + CASE xbeK_ALT_MINUS + CASE xbeK_P_ALT_MINUS + CASE xbeK_P_CTRL_MINUS + RETURN Qt_Key_Minus + CASE xbeK_P_ALT_SLASH + CASE xbeK_P_CTRL_SLASH + RETURN Qt_Key_Slash + CASE xbeK_CAPS_LOCK + CASE xbeK_SH_CAPS_LOCK + CASE xbeK_ALT_CAPS_LOCK + CASE xbeK_CTRL_CAPS_LOCK + RETURN Qt_Key_CapsLock + CASE xbeK_NUM_LOCK + RETURN Qt_Key_NumLock + CASE xbeK_SCROLL_LOCK + RETURN Qt_Key_ScrollLock + CASE xbeK_SPACE + CASE xbeK_ALT_SPACE + RETURN Qt_Key_Space + CASE xbeK_ALT_EQUALS + RETURN Qt_Key_Equal + CASE xbeK_ALT_0 + RETURN Qt_Key_0 + CASE xbeK_ALT_1 + RETURN Qt_Key_1 + CASE xbeK_ALT_2 + RETURN Qt_Key_2 + CASE xbeK_ALT_3 + RETURN Qt_Key_3 + CASE xbeK_ALT_4 + RETURN Qt_Key_4 + CASE xbeK_ALT_5 + CASE xbeK_P_ALT_5 + CASE xbeK_P_CTRL_5 + RETURN Qt_Key_5 + CASE xbeK_ALT_6 + RETURN Qt_Key_6 + CASE xbeK_ALT_7 + RETURN Qt_Key_7 + CASE xbeK_ALT_8 + RETURN Qt_Key_8 + CASE xbeK_ALT_9 + RETURN Qt_Key_9 + CASE xbeK_ALT_A + CASE xbeK_CTRL_A + RETURN Qt_Key_A + CASE xbeK_ALT_B + CASE xbeK_CTRL_B + RETURN Qt_Key_B + CASE xbeK_ALT_C + CASE xbeK_CTRL_C + RETURN Qt_Key_C + CASE xbeK_ALT_D + CASE xbeK_CTRL_D + RETURN Qt_Key_D + CASE xbeK_ALT_E + CASE xbeK_CTRL_E + RETURN Qt_Key_E + CASE xbeK_ALT_F + CASE xbeK_CTRL_F + RETURN Qt_Key_F + CASE xbeK_ALT_G + CASE xbeK_CTRL_G + RETURN Qt_Key_G + CASE xbeK_ALT_H + CASE xbeK_CTRL_H + RETURN Qt_Key_H + CASE xbeK_ALT_I + CASE xbeK_CTRL_I + RETURN Qt_Key_I + CASE xbeK_ALT_J + CASE xbeK_CTRL_J + RETURN Qt_Key_J + CASE xbeK_ALT_K + CASE xbeK_CTRL_K + RETURN Qt_Key_K + CASE xbeK_ALT_L + CASE xbeK_CTRL_L + RETURN Qt_Key_L + CASE xbeK_ALT_M + CASE xbeK_CTRL_M + RETURN Qt_Key_M + CASE xbeK_ALT_N + CASE xbeK_CTRL_N + RETURN Qt_Key_N + CASE xbeK_ALT_O + CASE xbeK_CTRL_O + RETURN Qt_Key_O + CASE xbeK_ALT_P + CASE xbeK_CTRL_P + RETURN Qt_Key_P + CASE xbeK_ALT_Q + CASE xbeK_CTRL_Q + RETURN Qt_Key_Q + CASE xbeK_ALT_R + CASE xbeK_CTRL_R + RETURN Qt_Key_R + CASE xbeK_ALT_S + CASE xbeK_CTRL_S + RETURN Qt_Key_S + CASE xbeK_ALT_T + CASE xbeK_CTRL_T + RETURN Qt_Key_T + CASE xbeK_ALT_U + CASE xbeK_CTRL_U + RETURN Qt_Key_U + CASE xbeK_ALT_V + CASE xbeK_CTRL_V + RETURN Qt_Key_V + CASE xbeK_ALT_W + CASE xbeK_CTRL_W + RETURN Qt_Key_W + CASE xbeK_ALT_X + CASE xbeK_CTRL_X + RETURN Qt_Key_X + CASE xbeK_ALT_Y + CASE xbeK_CTRL_Y + RETURN Qt_Key_Y + CASE xbeK_ALT_Z + CASE xbeK_CTRL_Z + RETURN Qt_Key_Z + CASE xbeK_SHIFT + RETURN Qt_Key_Shift + CASE xbeK_CTRL + RETURN Qt_Key_Control + CASE xbeK_ALT + RETURN Qt_Key_Alt + ENDSWITCH + + RETURN key + +/*----------------------------------------------------------------------*/ + +FUNCTION XbpAppEventModifier( key ) + + SWITCH( key ) + CASE xbeK_SH_ESC + RETURN Qt_ShiftModifier + CASE xbeK_ALT_ENTER + RETURN Qt_AltModifier + CASE xbeK_CTRL_ENTER + RETURN Qt_ControlModifier + CASE xbeK_SH_TAB + RETURN Qt_ShiftModifier + CASE xbeK_CTRL_TAB + RETURN Qt_ControlModifier + CASE xbeK_SH_BS + RETURN Qt_ShiftModifier + CASE xbeK_ALT_BS + RETURN Qt_AltModifier + CASE xbeK_CTRL_BS + RETURN Qt_ControlModifier + CASE xbeK_SH_INS + RETURN Qt_ShiftModifier + CASE xbeK_ALT_INS + RETURN Qt_AltModifier + CASE xbeK_CTRL_INS + RETURN Qt_ControlModifier + CASE xbeK_SH_DEL + RETURN Qt_ShiftModifier + CASE xbeK_ALT_DEL + RETURN Qt_AltModifier + CASE xbeK_CTRL_DEL + RETURN Qt_ControlModifier + CASE xbeK_SH_HOME + RETURN Qt_ShiftModifier + CASE xbeK_ALT_HOME + RETURN Qt_AltModifier + CASE xbeK_CTRL_HOME + RETURN Qt_ControlModifier + CASE xbeK_SH_CTRL_HOME + RETURN Qt_ShiftModifier + Qt_ControlModifier + CASE xbeK_SH_END + RETURN Qt_ShiftModifier + CASE xbeK_ALT_END + RETURN Qt_AltModifier + CASE xbeK_CTRL_END + RETURN Qt_ControlModifier + CASE xbeK_SH_CTRL_END + RETURN Qt_ShiftModifier + Qt_ControlModifier + CASE xbeK_SH_LEFT + RETURN Qt_ShiftModifier + CASE xbeK_ALT_LEFT + RETURN Qt_AltModifier + CASE xbeK_CTRL_LEFT + RETURN Qt_ControlModifier + CASE xbeK_SH_CTRL_LEFT + RETURN Qt_ShiftModifier + Qt_ControlModifier + CASE xbeK_SH_UP + RETURN Qt_ShiftModifier + CASE xbeK_ALT_UP + RETURN Qt_AltModifier + CASE xbeK_CTRL_UP + RETURN Qt_ControlModifier + CASE xbeK_SH_CTRL_UP + RETURN Qt_ShiftModifier + Qt_ControlModifier + CASE xbeK_SH_RIGHT + RETURN Qt_ShiftModifier + CASE xbeK_ALT_RIGHT + RETURN Qt_AltModifier + CASE xbeK_CTRL_RIGHT + RETURN Qt_ControlModifier + CASE xbeK_SH_CTRL_RIGHT + RETURN Qt_ShiftModifier + Qt_ControlModifier + CASE xbeK_SH_DOWN + RETURN Qt_ShiftModifier + CASE xbeK_ALT_DOWN + RETURN Qt_AltModifier + CASE xbeK_CTRL_DOWN + RETURN Qt_ControlModifier + CASE xbeK_SH_CTRL_DOWN + RETURN Qt_ShiftModifier + Qt_ControlModifier + CASE xbeK_SH_PGUP + RETURN Qt_ShiftModifier + CASE xbeK_ALT_PGUP + RETURN Qt_AltModifier + CASE xbeK_CTRL_PGUP + RETURN Qt_ControlModifier + CASE xbeK_SH_CTRL_PGUP + RETURN Qt_ShiftModifier + Qt_ControlModifier + CASE xbeK_SH_PGDN + RETURN Qt_ShiftModifier + CASE xbeK_ALT_PGDN + RETURN Qt_AltModifier + CASE xbeK_CTRL_PGDN + RETURN Qt_ControlModifier + CASE xbeK_SH_CTRL_PGDN + RETURN Qt_ShiftModifier + Qt_ControlModifier + CASE xbeK_SH_F1 + RETURN Qt_ShiftModifier + CASE xbeK_ALT_F1 + RETURN Qt_AltModifier + CASE xbeK_CTRL_F1 + RETURN Qt_ControlModifier + CASE xbeK_SH_F2 + RETURN Qt_ShiftModifier + CASE xbeK_ALT_F2 + RETURN Qt_AltModifier + CASE xbeK_CTRL_F2 + RETURN Qt_ControlModifier + CASE xbeK_SH_F3 + RETURN Qt_ShiftModifier + CASE xbeK_ALT_F3 + RETURN Qt_AltModifier + CASE xbeK_CTRL_F3 + RETURN Qt_ControlModifier + CASE xbeK_SH_F4 + RETURN Qt_ShiftModifier + CASE xbeK_ALT_F4 + RETURN Qt_AltModifier + CASE xbeK_CTRL_F4 + RETURN Qt_ControlModifier + CASE xbeK_SH_F5 + RETURN Qt_ShiftModifier + CASE xbeK_ALT_F5 + RETURN Qt_AltModifier + CASE xbeK_CTRL_F5 + RETURN Qt_ControlModifier + CASE xbeK_SH_F6 + RETURN Qt_ShiftModifier + CASE xbeK_ALT_F6 + RETURN Qt_AltModifier + CASE xbeK_CTRL_F6 + RETURN Qt_ControlModifier + CASE xbeK_SH_F7 + RETURN Qt_ShiftModifier + CASE xbeK_ALT_F7 + RETURN Qt_AltModifier + CASE xbeK_CTRL_F7 + RETURN Qt_ControlModifier + CASE xbeK_SH_F8 + RETURN Qt_ShiftModifier + CASE xbeK_ALT_F8 + RETURN Qt_AltModifier + CASE xbeK_CTRL_F8 + RETURN Qt_ControlModifier + CASE xbeK_SH_F9 + RETURN Qt_ShiftModifier + CASE xbeK_ALT_F9 + RETURN Qt_AltModifier + CASE xbeK_CTRL_F9 + RETURN Qt_ControlModifier + CASE xbeK_SH_F10 + RETURN Qt_ShiftModifier + CASE xbeK_ALT_F10 + RETURN Qt_AltModifier + CASE xbeK_CTRL_F10 + RETURN Qt_ControlModifier + CASE xbeK_SH_F11 + RETURN Qt_ShiftModifier + CASE xbeK_ALT_F11 + RETURN Qt_AltModifier + CASE xbeK_CTRL_F11 + RETURN Qt_ControlModifier + CASE xbeK_SH_F12 + RETURN Qt_ShiftModifier + CASE xbeK_ALT_F12 + RETURN Qt_AltModifier + CASE xbeK_CTRL_F12 + RETURN Qt_ControlModifier + CASE xbeK_P_ALT_ASTERISK + RETURN Qt_AltModifier + CASE xbeK_P_CTRL_ASTERISK + RETURN Qt_ControlModifier + CASE xbeK_P_ALT_PLUS + RETURN Qt_AltModifier + CASE xbeK_P_CTRL_PLUS + RETURN Qt_ControlModifier + CASE xbeK_ALT_MINUS + RETURN Qt_AltModifier + CASE xbeK_P_ALT_MINUS + RETURN Qt_AltModifier + CASE xbeK_P_CTRL_MINUS + RETURN Qt_ControlModifier + CASE xbeK_P_ALT_SLASH + RETURN Qt_AltModifier + CASE xbeK_P_CTRL_SLASH + RETURN Qt_ControlModifier + CASE xbeK_SH_CAPS_LOCK + RETURN Qt_ShiftModifier + CASE xbeK_ALT_CAPS_LOCK + RETURN Qt_AltModifier + CASE xbeK_CTRL_CAPS_LOCK + RETURN Qt_ControlModifier + CASE xbeK_ALT_SPACE + RETURN Qt_AltModifier + CASE xbeK_ALT_EQUALS + RETURN Qt_AltModifier + CASE xbeK_P_CTRL_5 + RETURN Qt_ControlModifier + CASE xbeK_ALT_0 + CASE xbeK_ALT_1 + CASE xbeK_ALT_2 + CASE xbeK_ALT_3 + CASE xbeK_ALT_4 + CASE xbeK_ALT_5 + CASE xbeK_P_ALT_5 + CASE xbeK_ALT_6 + CASE xbeK_ALT_7 + CASE xbeK_ALT_8 + CASE xbeK_ALT_9 + CASE xbeK_ALT_A + CASE xbeK_ALT_B + CASE xbeK_ALT_C + CASE xbeK_ALT_D + CASE xbeK_ALT_E + CASE xbeK_ALT_F + CASE xbeK_ALT_G + CASE xbeK_ALT_H + CASE xbeK_ALT_I + CASE xbeK_ALT_J + CASE xbeK_ALT_K + CASE xbeK_ALT_L + CASE xbeK_ALT_M + CASE xbeK_ALT_N + CASE xbeK_ALT_O + CASE xbeK_ALT_P + CASE xbeK_ALT_Q + CASE xbeK_ALT_R + CASE xbeK_ALT_S + CASE xbeK_ALT_T + CASE xbeK_ALT_U + CASE xbeK_ALT_V + CASE xbeK_ALT_W + CASE xbeK_ALT_X + CASE xbeK_ALT_Y + CASE xbeK_ALT_Z + RETURN Qt_AltModifier + CASE xbeK_CTRL_A + CASE xbeK_CTRL_B + CASE xbeK_CTRL_C + CASE xbeK_CTRL_D + CASE xbeK_CTRL_E + CASE xbeK_CTRL_F + CASE xbeK_CTRL_G + CASE xbeK_CTRL_H + CASE xbeK_CTRL_I + CASE xbeK_CTRL_J + CASE xbeK_CTRL_K + CASE xbeK_CTRL_L + CASE xbeK_CTRL_M + CASE xbeK_CTRL_N + CASE xbeK_CTRL_O + CASE xbeK_CTRL_P + CASE xbeK_CTRL_Q + CASE xbeK_CTRL_R + CASE xbeK_CTRL_S + CASE xbeK_CTRL_T + CASE xbeK_CTRL_U + CASE xbeK_CTRL_V + CASE xbeK_CTRL_W + CASE xbeK_CTRL_X + CASE xbeK_CTRL_Y + CASE xbeK_CTRL_Z + RETURN Qt_NoModifier + ENDSWITCH + + RETURN Qt_NoModifier + +/*----------------------------------------------------------------------*/ diff --git a/harbour/contrib/hbxbp/xbpgeneric.prg b/harbour/contrib/hbxbp/xbpgeneric.prg index 9fd1a694a4..1421b914e7 100644 --- a/harbour/contrib/hbxbp/xbpgeneric.prg +++ b/harbour/contrib/hbxbp/xbpgeneric.prg @@ -159,20 +159,15 @@ FUNCTION AppType() /*----------------------------------------------------------------------*/ FUNCTION PostAppEvent( nEvent, mp1, mp2, oXbp ) - LOCAL qEvent HB_SYMBOL_UNUSED( mp2 ) DEFAULT oXbp TO SetAppWindow() - SetAppEvent( nEvent, mp1, mp2, oXbp ) - IF nEvent == xbeP_Keyboard - IF mp1 == xbeK_TAB - qEvent := QEvent( QEvent_KeyPress ) - //s_oApp:postEvent( oXbp:oWidget, qEvent ) - QApplication():postEvent( oXbp:oWidget, qEvent ) - ENDIF + QApplication():sendEvent( oXbp:oWidget, QKeyEvent( QEvent_KeyPress, XbpAppEventToQKeyEvent( mp1 ), XbpAppEventModifier( mp1 ) ) ) + ELSE + SetAppEvent( nEvent, mp1, mp2, oXbp ) ENDIF RETURN .T.