Corretta la gestione degli utenti e delle connessioni per la versione Terminal Server
git-svn-id: svn://10.65.10.50/trunk@11924 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									3234b3f1d9
								
							
						
					
					
						commit
						5e88c2707b
					
				@ -22,6 +22,7 @@
 | 
				
			|||||||
#include "ba0.h"
 | 
					#include "ba0.h"
 | 
				
			||||||
#include "ba0101.h"
 | 
					#include "ba0101.h"
 | 
				
			||||||
#include "ba0102.h"
 | 
					#include "ba0102.h"
 | 
				
			||||||
 | 
					#include "ba0100.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "ba0100a.h"
 | 
					#include "ba0100a.h"
 | 
				
			||||||
#include "ba0400a.h"
 | 
					#include "ba0400a.h"
 | 
				
			||||||
@ -548,7 +549,7 @@ bool TMenu_application::menu_find_handler(TMask_field&f, KEY k)
 | 
				
			|||||||
      if (app()._menu.find_string(v))
 | 
					      if (app()._menu.find_string(v))
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        f.set_focusdirty(FALSE);
 | 
					        f.set_focusdirty(FALSE);
 | 
				
			||||||
        return f.mask().stop_run(K_F9);
 | 
					        return m.stop_run(K_F9);
 | 
				
			||||||
      }  
 | 
					      }  
 | 
				
			||||||
      else
 | 
					      else
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
@ -592,7 +593,7 @@ int TMenu_application::do_level()
 | 
				
			|||||||
  ef.set_handler(menu_find_handler);
 | 
					  ef.set_handler(menu_find_handler);
 | 
				
			||||||
                   
 | 
					                   
 | 
				
			||||||
  const bool top = _menu.at_top();                 
 | 
					  const bool top = _menu.at_top();                 
 | 
				
			||||||
  TButton_field& bf = mask.add_button(DLG_QUIT, 0, PR("Fine"), -12, -1, bwidth, 2);  
 | 
					  mask.add_button(DLG_QUIT, 0, PR("Fine"), -12, -1, bwidth, 2);  
 | 
				
			||||||
  if (!top)
 | 
					  if (!top)
 | 
				
			||||||
    mask.add_button(DLG_CANCEL, 0, TR("Menu precedente"), -22, -1, bwidth, 2);  
 | 
					    mask.add_button(DLG_CANCEL, 0, TR("Menu precedente"), -22, -1, bwidth, 2);  
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
@ -765,8 +766,8 @@ bool TMenu_application::check_user()
 | 
				
			|||||||
      
 | 
					      
 | 
				
			||||||
      if (ok)
 | 
					      if (ok)
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
 | 
					      	dongle().logout();
 | 
				
			||||||
        user() = utente;
 | 
					        user() = utente;
 | 
				
			||||||
        dongle().logout();
 | 
					 | 
				
			||||||
        ok = get_serial_number() >= 0;
 | 
					        ok = get_serial_number() >= 0;
 | 
				
			||||||
        if (!ok) 
 | 
					        if (!ok) 
 | 
				
			||||||
          error_box(TR("Probabilmente è stato superato il numero massimo di utenti"));
 | 
					          error_box(TR("Probabilmente è stato superato il numero massimo di utenti"));
 | 
				
			||||||
@ -1046,7 +1047,9 @@ HIDDEN bool browse_file_handler(TMask_field& f, KEY k)
 | 
				
			|||||||
  {  
 | 
					  {  
 | 
				
			||||||
    FILE_SPEC fs; memset(&fs, 0, sizeof(FILE_SPEC));
 | 
					    FILE_SPEC fs; memset(&fs, 0, sizeof(FILE_SPEC));
 | 
				
			||||||
    xvt_fsys_convert_str_to_dir(".", &fs.dir);
 | 
					    xvt_fsys_convert_str_to_dir(".", &fs.dir);
 | 
				
			||||||
 | 
					#ifdef WIN32    
 | 
				
			||||||
    strcpy(fs.type, "EXE");
 | 
					    strcpy(fs.type, "EXE");
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
    strcpy(fs.name, f.get());
 | 
					    strcpy(fs.name, f.get());
 | 
				
			||||||
    strcpy(fs.creator, "MENU");
 | 
					    strcpy(fs.creator, "MENU");
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
@ -1069,10 +1072,13 @@ HIDDEN bool browse_file_handler(TMask_field& f, KEY k)
 | 
				
			|||||||
    if (infile.not_empty())
 | 
					    if (infile.not_empty())
 | 
				
			||||||
    {                        
 | 
					    {                        
 | 
				
			||||||
      TFilename outfile;
 | 
					      TFilename outfile;
 | 
				
			||||||
      if (*infile.ext() == '\0')
 | 
					 | 
				
			||||||
        infile.ext("exe");
 | 
					 | 
				
			||||||
      if (!infile.search_in_path(outfile))
 | 
					      if (!infile.search_in_path(outfile))
 | 
				
			||||||
        ok = error_box("Il programma %s non esiste!", (const char*)infile);
 | 
					      {
 | 
				
			||||||
 | 
						      if (*infile.ext() == '\0')
 | 
				
			||||||
 | 
					  	      infile.ext("exe");
 | 
				
			||||||
 | 
						      if (!infile.search_in_path(outfile))
 | 
				
			||||||
 | 
					  	      ok = error_box("Il programma %s non esiste!", (const char*)infile);
 | 
				
			||||||
 | 
					  	  }
 | 
				
			||||||
    }   
 | 
					    }   
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
@ -1141,7 +1147,7 @@ HIDDEN int dir_sort(const TObject** d1, const TObject** d2)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  const TString& s1 = (const TString&)**d1;
 | 
					  const TString& s1 = (const TString&)**d1;
 | 
				
			||||||
  const TString& s2 = (const TString&)**d2;
 | 
					  const TString& s2 = (const TString&)**d2;
 | 
				
			||||||
  return stricmp(s1, s2);
 | 
					  return xvt_str_compare_ignoring_case(s1, s2);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HIDDEN bool study_handler(TMask_field& f, KEY k)
 | 
					HIDDEN bool study_handler(TMask_field& f, KEY k)
 | 
				
			||||||
@ -1317,7 +1323,8 @@ bool TMenu_application::explore_handler(TMask_field& f, KEY k)
 | 
				
			|||||||
void TMenu_application::update_preferred()
 | 
					void TMenu_application::update_preferred()
 | 
				
			||||||
{   
 | 
					{   
 | 
				
			||||||
  MENU_ITEM* mm = xvt_menu_get_tree(TASK_WIN);
 | 
					  MENU_ITEM* mm = xvt_menu_get_tree(TASK_WIN);
 | 
				
			||||||
  for (MENU_ITEM* mi = mm; mi != NULL && mi->tag != 0 && mi->tag != PREFERRED_MENU; mi++);
 | 
					  MENU_ITEM* mi;
 | 
				
			||||||
 | 
					  for (mi = mm; mi != NULL && mi->tag != 0 && mi->tag != PREFERRED_MENU; mi++);
 | 
				
			||||||
  if (mi == NULL || mi->tag <= 0 || mi->child == NULL)     
 | 
					  if (mi == NULL || mi->tag <= 0 || mi->child == NULL)     
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    NFCHECK("Can't find Preferiti Menu");
 | 
					    NFCHECK("Can't find Preferiti Menu");
 | 
				
			||||||
@ -1410,7 +1417,8 @@ void TMenu_application::load_preferences()
 | 
				
			|||||||
void TMenu_application::save_preferences()
 | 
					void TMenu_application::save_preferences()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  TConfig cfg(CONFIG_GUI, "ba0");
 | 
					  TConfig cfg(CONFIG_GUI, "ba0");
 | 
				
			||||||
  for (int i = 0; i < _preferred.items(); i++)
 | 
					int i;
 | 
				
			||||||
 | 
					  for (i = 0; i < _preferred.items(); i++)
 | 
				
			||||||
    cfg.set("Preferred", _preferred.row(i), NULL, TRUE, i);
 | 
					    cfg.set("Preferred", _preferred.row(i), NULL, TRUE, i);
 | 
				
			||||||
  cfg.set("Preferred", "", NULL, TRUE, i);
 | 
					  cfg.set("Preferred", "", NULL, TRUE, i);
 | 
				
			||||||
  cfg.set("TreeView", _tree_view);
 | 
					  cfg.set("TreeView", _tree_view);
 | 
				
			||||||
@ -1584,7 +1592,7 @@ int TMenu_application::do_tree()
 | 
				
			|||||||
  tree_fld.set_tree(&tree);
 | 
					  tree_fld.set_tree(&tree);
 | 
				
			||||||
  tree_fld.set_handler(tree_handler);
 | 
					  tree_fld.set_handler(tree_handler);
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
  TMask_field& sf = mask.add_static(DLG_NULL, 0, PR("Cerca"), -2, 0); 
 | 
					  mask.add_static(DLG_NULL, 0, PR("Cerca"), -2, 0); 
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  TEdit_field& ef = mask.add_string(DLG_USER, 0, "", -2, 1, 50, "", bwidth);
 | 
					  TEdit_field& ef = mask.add_string(DLG_USER, 0, "", -2, 1, 50, "", bwidth);
 | 
				
			||||||
  ef.set_handler(tree_find_handler);
 | 
					  ef.set_handler(tree_find_handler);
 | 
				
			||||||
@ -1592,7 +1600,7 @@ int TMenu_application::do_tree()
 | 
				
			|||||||
  TButton_field& mf = mask.add_button(201, 0, PR("Menu Principale"), -1, 2, bwidth, 2);  
 | 
					  TButton_field& mf = mask.add_button(201, 0, PR("Menu Principale"), -1, 2, bwidth, 2);  
 | 
				
			||||||
  mf.set_handler(tree_shrink_handler);
 | 
					  mf.set_handler(tree_shrink_handler);
 | 
				
			||||||
                   
 | 
					                   
 | 
				
			||||||
  TButton_field& bf = mask.add_button(DLG_QUIT, 0, PR("Fine"), -56, -1, bwidth/2, 2);  
 | 
					  mask.add_button(DLG_QUIT, 0, PR("Fine"), -56, -1, bwidth/2, 2);  
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  mask.first_focus(DLG_TREE);
 | 
					  mask.first_focus(DLG_TREE);
 | 
				
			||||||
  KEY key = mask.run();
 | 
					  KEY key = mask.run();
 | 
				
			||||||
@ -1625,7 +1633,7 @@ int TMenu_application::do_explore()
 | 
				
			|||||||
  TEdit_field& ef = mask.add_string(DLG_USER, 0, PR("Cerca "), 11, -4, 50);
 | 
					  TEdit_field& ef = mask.add_string(DLG_USER, 0, PR("Cerca "), 11, -4, 50);
 | 
				
			||||||
  ef.set_handler(tree_find_handler);
 | 
					  ef.set_handler(tree_find_handler);
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
  TButton_field& bf = mask.add_button(DLG_QUIT, 0, "", -12, -2, 18, 2);  
 | 
					  mask.add_button(DLG_QUIT, 0, "", -12, -2, 18, 2);  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  TButton_field& mp = mask.add_button(201, 0, PR("Menu Principale"), -22, -2, 18, 2);  
 | 
					  TButton_field& mp = mask.add_button(201, 0, PR("Menu Principale"), -22, -2, 18, 2);  
 | 
				
			||||||
  mp.set_handler(tree_shrink_handler);
 | 
					  mp.set_handler(tree_shrink_handler);
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@
 | 
				
			|||||||
#define F_USERDESC      103
 | 
					#define F_USERDESC      103
 | 
				
			||||||
#define F_GROUP         104
 | 
					#define F_GROUP         104
 | 
				
			||||||
#define F_GROUPNAME     105
 | 
					#define F_GROUPNAME     105
 | 
				
			||||||
#define F_TEST          106
 | 
					#define F_TESTS         106
 | 
				
			||||||
#define F_APPLICAT      107
 | 
					#define F_APPLICAT      107
 | 
				
			||||||
#define F_NOWRITE       108
 | 
					#define F_NOWRITE       108
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -10,6 +10,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "ba0100a.h"
 | 
					#include "ba0100a.h"
 | 
				
			||||||
#include "ba0101.h"
 | 
					#include "ba0101.h"
 | 
				
			||||||
 | 
					#include "ba0100.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
///////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
// Menu management
 | 
					// Menu management
 | 
				
			||||||
@ -62,7 +63,8 @@ static int get_next_int(const char* s, int from, int& val)
 | 
				
			|||||||
    return -1;
 | 
					    return -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	const char* start = NULL;
 | 
						const char* start = NULL;
 | 
				
			||||||
	for (int i = from; s[i]; i++)
 | 
						int i = 0;
 | 
				
			||||||
 | 
						for (i = from; s[i]; i++)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		if (start == NULL)
 | 
							if (start == NULL)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@ -102,17 +104,25 @@ public:
 | 
				
			|||||||
///////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TMenuitem::TMenuitem(TSubmenu* sm) 
 | 
					TMenuitem::TMenuitem(TSubmenu* sm) 
 | 
				
			||||||
         : _submenu(sm), _exist(-1), _firm(FALSE), 
 | 
					         : _submenu(sm), _icon(0),_color(NORMAL_COLOR), _exist(-1),
 | 
				
			||||||
           _password(FALSE), _reloadmenu(FALSE),
 | 
					           _firm(FALSE), _password(FALSE), _reloadmenu(FALSE)
 | 
				
			||||||
           _color(NORMAL_COLOR), _icon(0)
 | 
					           
 | 
				
			||||||
{ }
 | 
					{ }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TMenuitem::TMenuitem(const TMenuitem& mi)
 | 
					TMenuitem::TMenuitem(const TMenuitem& mi)
 | 
				
			||||||
         : _submenu(mi._submenu), _exist(mi._exist), _firm(mi._firm), 
 | 
					{
 | 
				
			||||||
           _password(mi._password), _reloadmenu(mi._reloadmenu),
 | 
						_submenu = mi._submenu;
 | 
				
			||||||
           _color(mi._color), _icon(mi._icon), _enabled(mi._enabled),
 | 
						_exist = mi._exist;
 | 
				
			||||||
           _caption(mi._caption), _action(mi._action), _type(mi._type)
 | 
						_firm = mi._firm;
 | 
				
			||||||
{ }
 | 
						_password = mi._password;
 | 
				
			||||||
 | 
						_reloadmenu = mi._reloadmenu;
 | 
				
			||||||
 | 
					  _color = mi._color;
 | 
				
			||||||
 | 
					  _icon = mi._icon;
 | 
				
			||||||
 | 
					  _enabled = mi._enabled;
 | 
				
			||||||
 | 
					  _caption = mi._caption;
 | 
				
			||||||
 | 
					  _action = mi._action;
 | 
				
			||||||
 | 
					  _type = mi._type;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TMenu& TMenuitem::menu() const
 | 
					TMenu& TMenuitem::menu() const
 | 
				
			||||||
@ -192,14 +202,21 @@ bool TMenuitem::enabled() const
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
          const int endname = _action.find(' ');
 | 
					          const int endname = _action.find(' ');
 | 
				
			||||||
          TFilename name(endname > 0 ? _action.left(endname) : _action);
 | 
					          TFilename name(endname > 0 ? _action.left(endname) : _action);
 | 
				
			||||||
          const char* ext[] = { "exe", "pif", "com", "bat", NULL };
 | 
					          if (name.exist())
 | 
				
			||||||
          for (int e = 0; ext[e]; e++)
 | 
					          	yes = TRUE;
 | 
				
			||||||
 | 
					          else
 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
            name.ext(ext[e]);
 | 
					          	const char* ext[] = { "exe", "pif", "com", "bat", NULL };
 | 
				
			||||||
            if (name.exist())
 | 
											int e;
 | 
				
			||||||
              break;
 | 
					          	
 | 
				
			||||||
 | 
					          	for (e = 0; ext[e]; e++)
 | 
				
			||||||
 | 
					          	{
 | 
				
			||||||
 | 
					            	name.ext(ext[e]);
 | 
				
			||||||
 | 
					            	if (name.exist())
 | 
				
			||||||
 | 
					             	 break;
 | 
				
			||||||
 | 
					          	}                               
 | 
				
			||||||
 | 
					          	yes = ext[e] != NULL;
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          yes = ext[e] != NULL;
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        ((TMenuitem*)this)->_exist = yes;
 | 
					        ((TMenuitem*)this)->_exist = yes;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@ -309,7 +326,7 @@ bool TMenuitem::perform() const
 | 
				
			|||||||
///////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TSubmenu::TSubmenu(TMenu* menu, const char* name)
 | 
					TSubmenu::TSubmenu(TMenu* menu, const char* name)
 | 
				
			||||||
        : _menu(menu), _name(name), _enabled(TRUE), _firm(FALSE), _items(12)
 | 
					        : _menu(menu), _name(name), _items(12), _enabled(TRUE), _firm(FALSE)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -560,7 +577,10 @@ TSubmenu* TMenu::find_string(const TString& str)
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  restart();
 | 
					  restart();
 | 
				
			||||||
  for (TSubmenu* sm = (TSubmenu*)get(); sm; sm = (TSubmenu*)get())
 | 
					  
 | 
				
			||||||
 | 
					  TSubmenu * sm;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  for (sm = (TSubmenu*)get(); sm; sm = (TSubmenu*)get())
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    if (sm->enabled() && !_ignore_list.is_key(sm->name()))
 | 
					    if (sm->enabled() && !_ignore_list.is_key(sm->name()))
 | 
				
			||||||
    {                  
 | 
					    {                  
 | 
				
			||||||
@ -585,7 +605,8 @@ TSubmenu* TMenu::find_string(const TString& str)
 | 
				
			|||||||
TSubmenu* TMenu::find_parent(const TSubmenu& sub)
 | 
					TSubmenu* TMenu::find_parent(const TSubmenu& sub)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  restart();
 | 
					  restart();
 | 
				
			||||||
  for (TSubmenu* sm = (TSubmenu*)get(); sm; sm = (TSubmenu*)get())
 | 
					  TSubmenu* sm;
 | 
				
			||||||
 | 
					  for (sm = (TSubmenu*)get(); sm; sm = (TSubmenu*)get())
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
		for (int i = sm->items()-1; i >= 0; i--)
 | 
							for (int i = sm->items()-1; i >= 0; i--)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										11
									
								
								ba/ba0101.h
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								ba/ba0101.h
									
									
									
									
									
								
							@ -31,12 +31,13 @@ class TMenuitem : public TObject
 | 
				
			|||||||
  TString _caption, _action;
 | 
					  TString _caption, _action;
 | 
				
			||||||
	int _icon;
 | 
						int _icon;
 | 
				
			||||||
  char _type;
 | 
					  char _type;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  COLOR _color;
 | 
					  COLOR _color;
 | 
				
			||||||
  int _exist       : 2;
 | 
					  char _exist				: 2;  
 | 
				
			||||||
  bool _enabled    : 2;
 | 
					  char _enabled			: 2; 
 | 
				
			||||||
  bool _firm       : 2;
 | 
					  char _firm				:	2;
 | 
				
			||||||
  bool _password   : 2;
 | 
					  char _password		:	2;
 | 
				
			||||||
  bool _reloadmenu : 2;
 | 
					  char _reloadmenu	: 2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
protected:
 | 
					protected:
 | 
				
			||||||
  bool perform_submenu() const;
 | 
					  bool perform_submenu() const;
 | 
				
			||||||
 | 
				
			|||||||
@ -363,7 +363,7 @@ TObject* TMenulist_images::key2obj(const char* key)
 | 
				
			|||||||
		const int w = image.width();
 | 
							const int w = image.width();
 | 
				
			||||||
		const int h = image.height();
 | 
							const int h = image.height();
 | 
				
			||||||
    const int radius = min(w, h) / 4;
 | 
					    const int radius = min(w, h) / 4;
 | 
				
			||||||
		const clock_t start_timer = clock();
 | 
					//		const clock_t start_timer = clock();
 | 
				
			||||||
		for (int y = h-1; y >= 0; y--)
 | 
							for (int y = h-1; y >= 0; y--)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			for (int x = w-1; x >= 0; x--)
 | 
								for (int x = w-1; x >= 0; x--)
 | 
				
			||||||
@ -383,7 +383,7 @@ TObject* TMenulist_images::key2obj(const char* key)
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
    const clock_t stop_timer = clock()-start_timer;
 | 
					 //   const clock_t stop_timer = clock()-start_timer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		RCT rct; xvt_vobj_get_client_rect(_win, &rct);
 | 
							RCT rct; xvt_vobj_get_client_rect(_win, &rct);
 | 
				
			||||||
		const double ratiox = double(rct.right) / image.width();
 | 
							const double ratiox = double(rct.right) / image.width();
 | 
				
			||||||
@ -465,11 +465,11 @@ void TMenulist_window::draw_item(int i)
 | 
				
			|||||||
	const int left = col * width / MENU_COLS;
 | 
						const int left = col * width / MENU_COLS;
 | 
				
			||||||
	const int right = (col+1) * width / MENU_COLS;
 | 
						const int right = (col+1) * width / MENU_COLS;
 | 
				
			||||||
	const int top = row * height / MENU_ROWS;
 | 
						const int top = row * height / MENU_ROWS;
 | 
				
			||||||
	const int bottom = (row+1) * height / MENU_ROWS;
 | 
					//	const int bottom = (row+1) * height / MENU_ROWS;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	const int maxchars = (right-left)/CHARX - 1;
 | 
						const int maxchars = (right-left)/CHARX - 1;
 | 
				
			||||||
	const int cx = (left+right)/2;
 | 
						const int cx = (left+right)/2;
 | 
				
			||||||
	const int cy = (top+bottom)/2;
 | 
					//	const int cy = (top+bottom)/2; verificare
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	const int ico = item.enabled() ? item.icon() : 0;
 | 
						const int ico = item.enabled() ? item.icon() : 0;
 | 
				
			||||||
	const int ix = cx-16;
 | 
						const int ix = cx-16;
 | 
				
			||||||
@ -585,7 +585,7 @@ void TMenulist_window::handler(WINDOW win, EVENT* ep)
 | 
				
			|||||||
  		RCT rct; xvt_vobj_get_client_rect(win, &rct);
 | 
					  		RCT rct; xvt_vobj_get_client_rect(win, &rct);
 | 
				
			||||||
			const int row = ep->v.mouse.where.v * MENU_ROWS / rct.bottom;
 | 
								const int row = ep->v.mouse.where.v * MENU_ROWS / rct.bottom;
 | 
				
			||||||
			const int col = ep->v.mouse.where.h * MENU_COLS / rct.right;
 | 
								const int col = ep->v.mouse.where.h * MENU_COLS / rct.right;
 | 
				
			||||||
			const index = row * MENU_COLS + col;
 | 
								const int index = row * MENU_COLS + col;
 | 
				
			||||||
			if (ep->v.mouse.button > 0) // Tasto destro
 | 
								if (ep->v.mouse.button > 0) // Tasto destro
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
        if (index < _sorted.items())
 | 
					        if (index < _sorted.items())
 | 
				
			||||||
 | 
				
			|||||||
@ -155,7 +155,7 @@ XVT_FNTID xvt_default_font(bool bold)
 | 
				
			|||||||
#ifdef WIN32    
 | 
					#ifdef WIN32    
 | 
				
			||||||
      font_ser_desc = "01\\Courier\\0\\10\\WIN01/-13/0/0/0/400/0/0/0/0/1/2/1/49/Courier";
 | 
					      font_ser_desc = "01\\Courier\\0\\10\\WIN01/-13/0/0/0/400/0/0/0/0/1/2/1/49/Courier";
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
      font_ser_desc = "01\\Courier\\0\\10\\WIN01/12/0/0/0/400/0/0/0/0/1/2/1/49/Courier";
 | 
					      font_ser_desc = "01\\Courier\\0\\10\\WIN01/10/0/0/0/400/0/0/0/0/1/2/1/49/Courier";
 | 
				
			||||||
#endif      
 | 
					#endif      
 | 
				
			||||||
    xvt_font_deserialize(DEF_FONT, (char *)(const char *) font_ser_desc);
 | 
					    xvt_font_deserialize(DEF_FONT, (char *)(const char *) font_ser_desc);
 | 
				
			||||||
    xvt_font_map_using_default(DEF_FONT);
 | 
					    xvt_font_map_using_default(DEF_FONT);
 | 
				
			||||||
 | 
				
			|||||||
@ -442,14 +442,16 @@ bool TDongle::eutron_login(bool test_all_keys)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
bool TDongle::network_login(bool test_all_keys)
 | 
					bool TDongle::network_login(bool test_all_keys)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  if (network())
 | 
					  if (network() && ok())
 | 
				
			||||||
    rpc_UserLogout();
 | 
					    rpc_UserLogout();
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
  TConfig ini(CONFIG_INSTALL, "Server");
 | 
					  TConfig ini(CONFIG_INSTALL, "Server");
 | 
				
			||||||
  const char* server = ini.get("Dongle");
 | 
					  const char* server = ini.get("Dongle");
 | 
				
			||||||
  const char* guest  = "******";
 | 
					//  const char* guest  = "******";
 | 
				
			||||||
  const TString16 appname = main_app().name();
 | 
					//  const TString16 appname = main_app().name();
 | 
				
			||||||
  const char* utente = (!main_app().is_running() && appname == "ba0100") ? guest : (const char *) user();
 | 
					//  const char* utente = (!main_app().is_running() && appname == "ba0100") ? guest : (const char *) user();
 | 
				
			||||||
 | 
					  const char* appname = main_app().name();
 | 
				
			||||||
 | 
					  const char* utente = user();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const bool ok = rpc_UserLogin(server, utente, "******", appname);
 | 
					  const bool ok = rpc_UserLogin(server, utente, "******", appname);
 | 
				
			||||||
  if (ok)
 | 
					  if (ok)
 | 
				
			||||||
 | 
				
			|||||||
@ -261,9 +261,12 @@ bool rpc_UserLogin(const char* server, const char* user,
 | 
				
			|||||||
  if (_connection)    
 | 
					  if (_connection)    
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
		TString16 password;
 | 
							TString16 password;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		CreatePassword(password);
 | 
							CreatePassword(password);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    _rpc_call.format("UserLogin(%s,%s,%s)", user, (const char*)password, application);
 | 
							const int session = xvt_sys_get_session_id();
 | 
				
			||||||
 | 
					    _rpc_call.format("UserLogin(%s,%s,%s,%d)", user, (const char*)password, application, session);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    long answer = 0;             
 | 
					    long answer = 0;             
 | 
				
			||||||
    bool connected = _client->RequestInteger(_connection, _rpc_call, answer) != 0; 
 | 
					    bool connected = _client->RequestInteger(_connection, _rpc_call, answer) != 0; 
 | 
				
			||||||
    if (connected)
 | 
					    if (connected)
 | 
				
			||||||
@ -303,7 +306,8 @@ bool rpc_UserLogout()
 | 
				
			|||||||
{   
 | 
					{   
 | 
				
			||||||
  if (_connection)                                
 | 
					  if (_connection)                                
 | 
				
			||||||
  {                  
 | 
					  {                  
 | 
				
			||||||
    _rpc_call.format("UserLogout(%s)", (const char*)user());
 | 
							const int session = xvt_sys_get_session_id();
 | 
				
			||||||
 | 
					    _rpc_call.format("UserLogout(%s, %d)", (const char*)user(), session);
 | 
				
			||||||
    rpc_Call(_rpc_call);
 | 
					    rpc_Call(_rpc_call);
 | 
				
			||||||
    _client->RemoveConnection(_connection);
 | 
					    _client->RemoveConnection(_connection);
 | 
				
			||||||
    _connection = 0;
 | 
					    _connection = 0;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user