Example #1
0
bool login_form_do(nsurl * url, char * realm, char ** out)
{
	char user[255];
	char pass[255];
	//const char * auth;
	short exit_obj = 0;
	OBJECT * tree;

	user[0] = 0;
	pass[0] = 0;

	// TODO: use auth details for predefined login data
	// auth = urldb_get_auth_details(url, realm);
	tree = gemtk_obj_get_tree(LOGIN);

	assert(tree != NULL);

	exit_obj = simple_mdial(tree, 0);

	if(exit_obj == LOGIN_BT_LOGIN) {
		get_string(tree, LOGIN_TB_USER, user);
		get_string(tree, LOGIN_TB_PASSWORD, pass);
		int size = strlen((char*)&user) + strlen((char*)&pass) + 2 ;
		*out = malloc(size);
		snprintf(*out, size, "%s:%s", user, pass);
	} else {
		*out = NULL;
	}
	return((exit_obj == LOGIN_BT_LOGIN));
}
Example #2
0
void handle_menu(int16 title, int16 item)
{
    switch (item)
    {
    case MENDE :
        quit = TRUE;
        break;

    case MOPEN :
        open_wdial( wdial, -1, -1 );
        break;

    case MABOUT :
        simple_mdial( about, 0 );
        break;

    default:
        break;
    }
    menu_tnormal(menu, title, 1);
}
Example #3
0
/*----------------------------------------------------------------------------------------*/
int16	menu_context( int16 mx, int16 my )
{
	int16 obj, pob, wh;

	wh = wind_find( mx, my );
	
	set_state( tools, POP_ORIGIN, DISABLED, TRUE );
	set_state( tools, POP_ITOPEN, DISABLED, TRUE );
	set_flag( tools, POP_ITCLOSE, HIDETREE, TRUE );
	set_flag( tools, POP_ITOPEN, HIDETREE, FALSE );

	if( wh == wdial->win_handle && wdial->mode == WD_OPEN )
	{
		obj = objc_find( wdial->tree, ROOT, MAX_DEPTH, mx, my );
		
		if( obj > -1 )
		{
			dyn_fnode( wdial, obj );
			
			if( clnode )
			{
				my -= tools[POP_ITOPEN].ob_y;
			
				if( clnode->type == ItemTag && file_exist(clnode->attr.item->path) )
				{
					set_state( tools, POP_ORIGIN, DISABLED, FALSE );
					set_state( tools, POP_ITOPEN, DISABLED, FALSE );
				}
				else if( clnode->type == FolderTag )
				{
					set_state( tools, POP_ITOPEN, DISABLED, FALSE );
					if( clnode->attr.folder->open )
					{
						set_flag( tools, POP_ITOPEN, HIDETREE, TRUE );
						set_flag( tools, POP_ITCLOSE, HIDETREE, FALSE );					
					}
				}
			}
		}
		
		pob = icn_popup( TOOLS, POPUP, mx, my );
		
		switch( pob )
		{
			case POP_INFO:
				simple_mdial( about, 0 );
				break;
			case POP_ORIGIN:
				av_xwind( clnode->attr.item->path );
				break;
			case POP_ITCLOSE:
			case POP_ITOPEN:
				click_node( clnode, wdial, obj );
				break;
			case POP_HELP:
				open_hyp( "*:\\mcontrol.hyp", "" );
				break;				
			default:
				break;
		}
	}
	
	return 0;
}