Patch level : 2.0 564
Files correlati : ba0.exe Ricompilazione Demo : [X] Commento : AO20085 Cambio l'area dati da "Opzioni - Cambio Studio", sulla richiesta del Login dell'utente faccio Annulla: mi viene restituito un errore BA0 e Campo viene chiuso (se rientro comunque l'area dati è stata cambiata). git-svn-id: svn://10.65.10.50/trunk@11404 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
feb69c6dff
commit
5659637e51
@ -11,6 +11,7 @@
|
|||||||
#include <msksheet.h>
|
#include <msksheet.h>
|
||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
#include <recarray.h>
|
#include <recarray.h>
|
||||||
|
#include <sheet.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
#include <urldefid.h>
|
#include <urldefid.h>
|
||||||
|
|
||||||
@ -941,13 +942,16 @@ bool TMenu_application::create()
|
|||||||
|
|
||||||
void TMenu_application::deconnect_user()
|
void TMenu_application::deconnect_user()
|
||||||
{
|
{
|
||||||
TLocalisamfile users(LF_USER);
|
if (prefix_valid())
|
||||||
users.put("USERNAME", user());
|
|
||||||
const int err = users.read(_isequal, _lock);
|
|
||||||
if (err == NOERR)
|
|
||||||
{
|
{
|
||||||
users.zero("CONNECTED");
|
TLocalisamfile users(LF_USER);
|
||||||
users.rewrite();
|
users.put("USERNAME", user());
|
||||||
|
const int err = users.read(_isequal, _lock);
|
||||||
|
if (err == NOERR)
|
||||||
|
{
|
||||||
|
users.zero("CONNECTED");
|
||||||
|
users.rewrite();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1118,16 +1122,42 @@ HIDDEN bool study_handler(TMask_field& f, KEY k)
|
|||||||
path.add("dir.gen");
|
path.add("dir.gen");
|
||||||
if (!path.exist())
|
if (!path.exist())
|
||||||
ok = f.error_box("%s %s", (const char*)f.get(), TR("non e' uno studio valido!"));
|
ok = f.error_box("%s %s", (const char*)f.get(), TR("non e' uno studio valido!"));
|
||||||
|
} else
|
||||||
|
if (k == K_F9)
|
||||||
|
{
|
||||||
|
TFilename str = firm2dir(-1);
|
||||||
|
for (int i = str.len()-2; i > 0; i--)
|
||||||
|
{
|
||||||
|
if (str[i] == '\\' || str[i] == '/')
|
||||||
|
{
|
||||||
|
str.cut(i);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
str.add("*");
|
||||||
|
SLIST dirs = xvt_fsys_list_files(DIR_TYPE, str.get_buffer(), TRUE);
|
||||||
|
|
||||||
|
TArray_sheet sht(-1, -1, 78, 16, TR("Scelta studio"), "Studio@76");
|
||||||
|
for (SLIST_ELT e = xvt_slist_get_first(dirs); e; e = xvt_slist_get_next(dirs, e))
|
||||||
|
{
|
||||||
|
const char* f = xvt_slist_get(dirs, e, NULL);
|
||||||
|
sht.add(f);
|
||||||
|
}
|
||||||
|
xvt_slist_destroy(dirs);
|
||||||
|
|
||||||
|
sht.rows_array().sort();
|
||||||
|
if (sht.run() == K_ENTER)
|
||||||
|
f.set(sht.row(-1)); // -1 = selected row
|
||||||
}
|
}
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TMenu_application::choose_study()
|
bool TMenu_application::choose_study()
|
||||||
{
|
{
|
||||||
TMask m(TR("Scelta studio"), 1, 60, 5);
|
TMask m(TR("Scelta studio"), 1, 62, 4);
|
||||||
m.add_button(DLG_OK, 0, "", -12, -1, 10, 2);
|
m.add_button(DLG_OK, 0, "", -12, -1, 10, 2);
|
||||||
m.add_button(DLG_CANCEL, 0, "", -22, -1, 10, 2);
|
m.add_button(DLG_CANCEL, 0, "", -22, -1, 10, 2);
|
||||||
m.add_string(DLG_USER, 0, PR("Studio "), 1, 1, 50);
|
m.add_string(DLG_USER, 0, PR("Studio "), 1, 1, 50, "B");
|
||||||
m.set_handler(DLG_USER, study_handler);
|
m.set_handler(DLG_USER, study_handler);
|
||||||
m.set(DLG_USER, prefix().get_studio());
|
m.set(DLG_USER, prefix().get_studio());
|
||||||
bool ok = m.run() == K_ENTER;
|
bool ok = m.run() == K_ENTER;
|
||||||
@ -1135,7 +1165,7 @@ bool TMenu_application::choose_study()
|
|||||||
{
|
{
|
||||||
deconnect_user();
|
deconnect_user();
|
||||||
prefix().set_studio(m.get(DLG_USER));
|
prefix().set_studio(m.get(DLG_USER));
|
||||||
ok = create();
|
ok = check_user();
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
set_firm();
|
set_firm();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user