Migliorata gestione maisucole/minuscole in SSA

git-svn-id: svn://10.65.10.50/branches/R_10_00@22753 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2012-10-26 09:10:17 +00:00
parent fc22ece6d4
commit d8d92f48c7
2 changed files with 39 additions and 40 deletions

View File

@ -4142,8 +4142,10 @@ RCT* xvt_vobj_get_client_rect(WINDOW win, RCT *rctp)
l = 4600; h = 6800; // circa A4 size at 600 DPI l = 4600; h = 6800; // circa A4 size at 600 DPI
break; break;
default: default:
CAST_WIN(win, w); {
w.GetClientSize(&l, &h); CAST_WIN(win, w);
w.GetClientSize(&l, &h);
}
break; break;
} }
xvt_rect_set(rctp, 0, 0, l, h); xvt_rect_set(rctp, 0, 0, l, h);
@ -4502,16 +4504,19 @@ void xvt_win_release_pointer(void)
void xvt_win_set_cursor(WINDOW win, CURSOR cursor) void xvt_win_set_cursor(WINDOW win, CURSOR cursor)
{ {
CAST_WIN(win, w); if (xvt_vobj_is_valid(win)) // Ignore seting cursor on invalid windows
wxCursor cur; {
switch (cursor) CAST_WIN(win, w);
{ wxCursor cur;
case CURSOR_ARROW: cur = *wxSTANDARD_CURSOR; break; switch (cursor)
case CURSOR_CROCE: cur = *wxCROSS_CURSOR; break; {
case CURSOR_WAIT : cur = *wxHOURGLASS_CURSOR; break; case CURSOR_ARROW: cur = *wxSTANDARD_CURSOR; break;
default: cur = xvtart_GetCursorResource(cursor); break; // Always succeeds case CURSOR_CROCE: cur = *wxCROSS_CURSOR; break;
} case CURSOR_WAIT : cur = *wxHOURGLASS_CURSOR; break;
w.SetCursor(cur); default: cur = xvtart_GetCursorResource(cursor); break; // Always succeeds
}
w.SetCursor(cur);
}
} }
void xvt_win_set_handler(WINDOW win, EVENT_HANDLER eh) void xvt_win_set_handler(WINDOW win, EVENT_HANDLER eh)

View File

@ -10,7 +10,7 @@
static int _ssa_serial = SSA_UTENTE_NON_LOGGATO; static int _ssa_serial = SSA_UTENTE_NON_LOGGATO;
static wxString _ssa_module; static wxString _ssa_module;
static const char* const _ssa_product = "CAMPO";
static const char* xvt_dongle_sa_id() static const char* xvt_dongle_sa_id()
{ {
static char id[80]; static char id[80];
@ -25,27 +25,6 @@ static const char* xvt_dongle_sa_id()
return id; return id;
} }
static const char* xvt_dongle_sa_product()
{
static const char* product = NULL;
if (product == NULL)
{
const char* const products[] = { "CAMPO", "Campo", "campo", NULL };
for (int i = 0; products[i]; i++)
{
if (SSA_Login(xvt_dongle_sa_id(), products[i]) == 0)
{
product = products[i];
break;
}
}
if (product == NULL)
product = products[0];
}
return product;
}
static BOOLEAN xvt_dongle_sa_is_remote_ba0() static BOOLEAN xvt_dongle_sa_is_remote_ba0()
{ {
BOOLEAN yes = FALSE; BOOLEAN yes = FALSE;
@ -97,10 +76,10 @@ int xvt_dongle_sa_login(const char* module)
{ {
if (_ssa_serial < 0) if (_ssa_serial < 0)
{ {
err = SSA_Login(xvt_dongle_sa_id(), xvt_dongle_sa_product()); err = SSA_Login(xvt_dongle_sa_id(), _ssa_product);
if (err == 0) if (err == 0)
{ {
err = _ssa_serial = SSA_NumeroSerie(xvt_dongle_sa_product()); err = _ssa_serial = SSA_NumeroSerie(_ssa_product);
if (_ssa_timer == NULL && xvt_dongle_sa_is_remote_ba0()) if (_ssa_timer == NULL && xvt_dongle_sa_is_remote_ba0())
_ssa_timer = new TSSA_Pinger; _ssa_timer = new TSSA_Pinger;
} }
@ -108,12 +87,19 @@ int xvt_dongle_sa_login(const char* module)
if (_ssa_serial >= 0 && module && *module) if (_ssa_serial >= 0 && module && *module)
{ {
err = SSA_ApriModulo(xvt_dongle_sa_id(), module); wxString m = module;
err = SSA_ApriModulo(xvt_dongle_sa_id(), m);
if (err != 0 && *module >= 'a')
{
m.MakeUpper();
err = SSA_ApriModulo(xvt_dongle_sa_id(), m);
}
if (err == 0) if (err == 0)
{ {
if (!_ssa_module.IsEmpty()) if (!_ssa_module.IsEmpty())
xvt_dongle_sa_logout(_ssa_module); xvt_dongle_sa_logout(_ssa_module);
_ssa_module = module; _ssa_module = m;
} }
} }
} }
@ -151,7 +137,7 @@ int xvt_dongle_sa_logout(const char* module)
} }
else else
{ {
err = SSA_Logout(xvt_dongle_sa_id(), xvt_dongle_sa_product()); err = SSA_Logout(xvt_dongle_sa_id(), _ssa_product);
if (err == 0) if (err == 0)
{ {
_ssa_serial = SSA_UTENTE_NON_LOGGATO; _ssa_serial = SSA_UTENTE_NON_LOGGATO;
@ -171,6 +157,14 @@ int xvt_dongle_sa_test(const char* module)
{ {
int err = _ssa_serial; int err = _ssa_serial;
if (err >= 0 && module && *module) if (err >= 0 && module && *module)
err = SSA_VerificaModulo("Campo", module); {
wxString m = module;
err = SSA_VerificaModulo(_ssa_product, m);
if (err != 0 && *module >= 'a')
{
m.MakeUpper();
err = SSA_VerificaModulo(_ssa_product, m);
}
}
return err; return err;
} }