2010-01-22 01:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbtip/sendmail.prg
! Applied set of HB_SENDMAIL() patches sent by Francesco Perillo:
- nTimeOut defaults to 10 seconds
- check for actually receiving "250 " to EHLO and not waiting for timeout
- don't wait for timeout
- check for actually receiving "250 " to HELO and not waiting for timeout
[TOMERGE 2.0]
* contrib/hbwin/wapi_wingdi.c
+ Added TODO to WAPI_SELECTOBJECT() to implement reference counting
when assigning an GC collected object to another one (DC).
Any idea how to do this properly?
* contrib/hbwin/wapi_winuser.c
+ Added WAPI_GETSYSTEMMETRICS().
* contrib/hbwin/hbwin.ch
+ Added WIN_SM_* constants for WAPI_GETSYSTEMMETRICS()..
* contrib/hbwin/wapi_winuser.c
* contrib/hbwin/wapi_shellapi.c
- Deleted unnecessary Windows headers.
* contrib/hbwin/win_dlg.c
+ WAPI_PRINTDLGDC() now sets owner window for better
results (f.e. in GTWVT it will block clicking on
app window and newer style printer dialog will be presented)
* contrib/hbwin/win_prn1.c
* Minor.
This commit is contained in:
@@ -17,6 +17,38 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2010-01-22 01:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* contrib/hbtip/sendmail.prg
|
||||
! Applied set of HB_SENDMAIL() patches sent by Francesco Perillo:
|
||||
- nTimeOut defaults to 10 seconds
|
||||
- check for actually receiving "250 " to EHLO and not waiting for timeout
|
||||
- don't wait for timeout
|
||||
- check for actually receiving "250 " to HELO and not waiting for timeout
|
||||
[TOMERGE 2.0]
|
||||
|
||||
* contrib/hbwin/wapi_wingdi.c
|
||||
+ Added TODO to WAPI_SELECTOBJECT() to implement reference counting
|
||||
when assigning an GC collected object to another one (DC).
|
||||
Any idea how to do this properly?
|
||||
|
||||
* contrib/hbwin/wapi_winuser.c
|
||||
+ Added WAPI_GETSYSTEMMETRICS().
|
||||
|
||||
* contrib/hbwin/hbwin.ch
|
||||
+ Added WIN_SM_* constants for WAPI_GETSYSTEMMETRICS()..
|
||||
|
||||
* contrib/hbwin/wapi_winuser.c
|
||||
* contrib/hbwin/wapi_shellapi.c
|
||||
- Deleted unnecessary Windows headers.
|
||||
|
||||
* contrib/hbwin/win_dlg.c
|
||||
+ WAPI_PRINTDLGDC() now sets owner window for better
|
||||
results (f.e. in GTWVT it will block clicking on
|
||||
app window and newer style printer dialog will be presented)
|
||||
|
||||
* contrib/hbwin/win_prn1.c
|
||||
* Minor.
|
||||
|
||||
2010-01-22 00:33 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/src/rtl/gtxwc/gtxwc.c
|
||||
+ added support for independent CP setting for BOX and normal characters
|
||||
|
||||
@@ -135,7 +135,7 @@ FUNCTION hb_SendMail( cServer, nPort, cFrom, xTo, xCC, xBCC, cBody, cSubject, aF
|
||||
lNoAuth := .F.
|
||||
ENDIF
|
||||
IF ! ISNUMBER( nTimeOut )
|
||||
nTimeOut := 1000
|
||||
nTimeOut := 10000
|
||||
ENDIF
|
||||
IF ! ISCHARACTER( cReplyTo )
|
||||
cReplyTo := ""
|
||||
@@ -311,6 +311,8 @@ FUNCTION hb_SendMail( cServer, nPort, cFrom, xTo, xCC, xBCC, cBody, cSubject, aF
|
||||
ELSEIF "STARTTLS" $ oInMail:cReply
|
||||
lAuthTLS := .T.
|
||||
#endif
|
||||
ELSEIF Left( oInMail:cReply, 4 ) == "250 "
|
||||
EXIT
|
||||
ENDIF
|
||||
ENDDO
|
||||
|
||||
@@ -328,7 +330,6 @@ FUNCTION hb_SendMail( cServer, nPort, cFrom, xTo, xCC, xBCC, cBody, cSubject, aF
|
||||
ENDIF
|
||||
ELSE
|
||||
IF ! lConnectPlain
|
||||
oInmail:GetOk()
|
||||
lConnect := .F.
|
||||
ENDIF
|
||||
ENDIF
|
||||
@@ -359,6 +360,9 @@ FUNCTION hb_SendMail( cServer, nPort, cFrom, xTo, xCC, xBCC, cBody, cSubject, aF
|
||||
ENDIF
|
||||
|
||||
DO WHILE .T.
|
||||
IF Left( oInMail:cReply, 4 ) == "250 "
|
||||
EXIT
|
||||
ENDIF
|
||||
IF ! oInMail:GetOk()
|
||||
EXIT
|
||||
ENDIF
|
||||
|
||||
@@ -319,6 +319,102 @@
|
||||
#define WIN_SCALINGFACTORX 114 // Scaling factor x
|
||||
#define WIN_SCALINGFACTORY 115 // Scaling factor y
|
||||
|
||||
/* WAPI_GETSYSTEMMETRICS() parameters */
|
||||
#define WIN_SM_CXSCREEN 0
|
||||
#define WIN_SM_CYSCREEN 1
|
||||
#define WIN_SM_CXVSCROLL 2
|
||||
#define WIN_SM_CYHSCROLL 3
|
||||
#define WIN_SM_CYCAPTION 4
|
||||
#define WIN_SM_CXBORDER 5
|
||||
#define WIN_SM_CYBORDER 6
|
||||
#define WIN_SM_CXDLGFRAME 7
|
||||
#define WIN_SM_CXFIXEDFRAME 7
|
||||
#define WIN_SM_CYDLGFRAME 8
|
||||
#define WIN_SM_CYFIXEDFRAME 8
|
||||
#define WIN_SM_CYVTHUMB 9
|
||||
#define WIN_SM_CXHTHUMB 10
|
||||
#define WIN_SM_CXICON 11
|
||||
#define WIN_SM_CYICON 12
|
||||
#define WIN_SM_CXCURSOR 13
|
||||
#define WIN_SM_CYCURSOR 14
|
||||
#define WIN_SM_CYMENU 15
|
||||
#define WIN_SM_CXFULLSCREEN 16
|
||||
#define WIN_SM_CYFULLSCREEN 17
|
||||
#define WIN_SM_CYKANJIWINDOW 18
|
||||
#define WIN_SM_MOUSEPRESENT 19
|
||||
#define WIN_SM_CYVSCROLL 20
|
||||
#define WIN_SM_CXHSCROLL 21
|
||||
#define WIN_SM_DEBUG 22
|
||||
#define WIN_SM_SWAPBUTTON 23
|
||||
#define WIN_SM_RESERVED1 24
|
||||
#define WIN_SM_RESERVED2 25
|
||||
#define WIN_SM_RESERVED3 26
|
||||
#define WIN_SM_RESERVED4 27
|
||||
#define WIN_SM_CXMIN 28
|
||||
#define WIN_SM_CYMIN 29
|
||||
#define WIN_SM_CXSIZE 30
|
||||
#define WIN_SM_CYSIZE 31
|
||||
#define WIN_SM_CXSIZEFRAME 32
|
||||
#define WIN_SM_CXFRAME 32
|
||||
#define WIN_SM_CYSIZEFRAME 33
|
||||
#define WIN_SM_CYFRAME 33
|
||||
#define WIN_SM_CXMINTRACK 34
|
||||
#define WIN_SM_CYMINTRACK 35
|
||||
#define WIN_SM_CXDOUBLECLK 36
|
||||
#define WIN_SM_CYDOUBLECLK 37
|
||||
#define WIN_SM_CXICONSPACING 38
|
||||
#define WIN_SM_CYICONSPACING 39
|
||||
#define WIN_SM_MENUDROPALIGNMENT 40
|
||||
#define WIN_SM_PENWINDOWS 41
|
||||
#define WIN_SM_DBCSENABLED 42
|
||||
#define WIN_SM_CMOUSEBUTTONS 43
|
||||
#define WIN_SM_SECURE 44
|
||||
#define WIN_SM_CXEDGE 45
|
||||
#define WIN_SM_CYEDGE 46
|
||||
#define WIN_SM_CXMINSPACING 47
|
||||
#define WIN_SM_CYMINSPACING 48
|
||||
#define WIN_SM_CXSMICON 49
|
||||
#define WIN_SM_CYSMICON 50
|
||||
#define WIN_SM_CYSMCAPTION 51
|
||||
#define WIN_SM_CXSMSIZE 52
|
||||
#define WIN_SM_CYSMSIZE 53
|
||||
#define WIN_SM_CXMENUSIZE 54
|
||||
#define WIN_SM_CYMENUSIZE 55
|
||||
#define WIN_SM_ARRANGE 56
|
||||
#define WIN_SM_CXMINIMIZED 57
|
||||
#define WIN_SM_CYMINIMIZED 58
|
||||
#define WIN_SM_CXMAXTRACK 59
|
||||
#define WIN_SM_CYMAXTRACK 60
|
||||
#define WIN_SM_CXMAXIMIZED 61
|
||||
#define WIN_SM_CYMAXIMIZED 62
|
||||
#define WIN_SM_NETWORK 63
|
||||
#define WIN_SM_CLEANBOOT 67
|
||||
#define WIN_SM_CXDRAG 68
|
||||
#define WIN_SM_CYDRAG 69
|
||||
#define WIN_SM_SHOWSOUNDS 70
|
||||
#define WIN_SM_CXMENUCHECK 71
|
||||
#define WIN_SM_CYMENUCHECK 72
|
||||
#define WIN_SM_SLOWMACHINE 73
|
||||
#define WIN_SM_MIDEASTENABLED 74
|
||||
#define WIN_SM_MOUSEWHEELPRESENT 75
|
||||
#define WIN_SM_XVIRTUALSCREEN 76
|
||||
#define WIN_SM_YVIRTUALSCREEN 77
|
||||
#define WIN_SM_CXVIRTUALSCREEN 78
|
||||
#define WIN_SM_CYVIRTUALSCREEN 79
|
||||
#define WIN_SM_CMONITORS 80
|
||||
#define WIN_SM_SAMEDISPLAYFORMAT 81
|
||||
#define WIN_SM_IMMENABLED 82
|
||||
#define WIN_SM_CXFOCUSBORDER 83
|
||||
#define WIN_SM_CYFOCUSBORDER 84
|
||||
#define WIN_SM_TABLETPC 86
|
||||
#define WIN_SM_MEDIACENTER 87
|
||||
#define WIN_SM_STARTER 88
|
||||
#define WIN_SM_SERVERR2 89
|
||||
#define WIN_SM_REMOTESESSION 4096
|
||||
#define WIN_SM_SHUTTINGDOWN 8192
|
||||
#define WIN_SM_REMOTECONTROL 8193
|
||||
#define WIN_SM_CARETBLINKINGENABLED 8194
|
||||
|
||||
/* WIN_TEXTOUT() text alignment modes */
|
||||
#define WIN_TA_NOUPDATECP 0
|
||||
#define WIN_TA_UPDATECP 1
|
||||
|
||||
@@ -55,8 +55,6 @@
|
||||
#include "hbapi.h"
|
||||
#include "hbwinuni.h"
|
||||
|
||||
#include <shellapi.h>
|
||||
|
||||
HB_FUNC( WAPI_SHELLEXECUTE )
|
||||
{
|
||||
#if defined( HB_OS_WIN_CE )
|
||||
|
||||
@@ -456,6 +456,7 @@ HB_FUNC( WAPI_SELECTOBJECT )
|
||||
|
||||
if( hDC && h )
|
||||
{
|
||||
/* TODO: Solve reference counting to 'h' handle. Also for returned one. */
|
||||
if( bRegion )
|
||||
hb_retni( ( int ) SelectObject( hDC, h ) );
|
||||
else
|
||||
@@ -479,7 +480,7 @@ HB_FUNC( WAPI_MOVETOEX )
|
||||
|
||||
hb_retl( MoveToEx( hDC, hb_parni( 2 ) /* X */, hb_parni( 3 ) /* Y */, &p ) );
|
||||
|
||||
/* TODO: Support both has and array */
|
||||
/* TODO: Support both hash and array */
|
||||
hb_arraySetNL( pPOINT, 1, p.x );
|
||||
hb_arraySetNL( pPOINT, 2, p.y );
|
||||
}
|
||||
|
||||
@@ -58,7 +58,12 @@
|
||||
#include "hbwinuni.h"
|
||||
#include "hbwapi.h"
|
||||
|
||||
#include <winuser.h>
|
||||
HB_FUNC( WAPI_GETSYSTEMMETRICS )
|
||||
{
|
||||
int iResult = GetSystemMetrics( hb_parni( 1 ) );
|
||||
hbwapi_SetLastError( GetLastError() );
|
||||
hb_retni( iResult );
|
||||
}
|
||||
|
||||
HB_FUNC( WAPI_GETKEYSTATE )
|
||||
{
|
||||
|
||||
@@ -65,6 +65,7 @@ HB_FUNC( WIN_PRINTDLGDC )
|
||||
memset( &pd, 0, sizeof( PRINTDLG ) );
|
||||
|
||||
pd.lStructSize = sizeof( PRINTDLG );
|
||||
pd.hwndOwner = GetActiveWindow();
|
||||
pd.Flags = PD_RETURNDC | PD_USEDEVMODECOPIESANDCOLLATE;
|
||||
pd.nFromPage = ( WORD ) hb_parnidef( 2, 1 );
|
||||
pd.nToPage = ( WORD ) hb_parnidef( 3, 1 );
|
||||
|
||||
@@ -327,10 +327,10 @@ HB_FUNC( WIN_CREATEFONT )
|
||||
DEFAULT_PITCH | FF_DONTCARE,
|
||||
HB_PARSTR( 2, &hFontFace, NULL ) );
|
||||
|
||||
hb_strfree( hFontFace );
|
||||
|
||||
hbwapi_ret_HFONT( hFont );
|
||||
|
||||
hb_strfree( hFontFace );
|
||||
|
||||
if( hFont )
|
||||
SelectObject( hDC, hFont );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user