void atari_global_history_init(void) { if (atari_global_history.init == false) { if( atari_global_history.window == NULL ) { int flags = ATARI_TREEVIEW_WIDGETS; short handle = -1; OBJECT * tree = gemtk_obj_get_tree(TOOLBAR_HISTORY); assert( tree ); handle = wind_create(flags, 0, 0, desk_area.g_w, desk_area.g_h); atari_global_history.window = gemtk_wm_add(handle, GEMTK_WM_FLAG_DEFAULTS, NULL); if( atari_global_history.window == NULL ) { gemtk_msg_box_show(GEMTK_MSG_BOX_ALERT, "Failed to allocate History"); return; } wind_set_str(handle, WF_NAME, (char*)messages_get("History")); gemtk_wm_set_toolbar(atari_global_history.window, tree, 0, 0); gemtk_wm_unlink(atari_global_history.window); atari_global_history.tv = atari_treeview_create( atari_global_history.window, &atari_global_history_treeview_callbacks, NULL, flags); if (atari_global_history.tv == NULL) { /* handle it properly, clean up previous allocs */ NSLOG(netsurf, INFO, "Failed to allocate treeview"); return; } } } atari_global_history.init = true; }
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)); }
void deskmenu_init(void) { int i; h_gem_menu = gemtk_obj_get_tree(MAINMENU); /* Install menu: */ menu_bar(h_gem_menu, MENU_INSTALL); /* parse and update menu items: */ i = 0; while( menu_evnt_tbl[i].rid != -1 ) { register_menu_str( &menu_evnt_tbl[i] ); /* Update menu string if not null: */ if( menu_evnt_tbl[i].menustr != NULL ){ menu_text(h_gem_menu, menu_evnt_tbl[i].rid, menu_evnt_tbl[i].menustr); } i++; } deskmenu_update(); /* Redraw menu: */ menu_bar(h_gem_menu, MENU_UPDATE); }
void open_settings(void) { if (h_aes_win == 0) { GRECT curr, area; struct gemtk_wm_scroll_info_s *slid; uint32_t kind = CLOSER | NAME | MOVER | VSLIDE | HSLIDE | UPARROW | DNARROW | LFARROW | RTARROW | SIZER | FULLER; dlgtree = gemtk_obj_get_tree(SETTINGS); area.g_x = area.g_y = 0; area.g_w = MIN(dlgtree->ob_width, desk_area.g_w); area.g_h = MIN(dlgtree->ob_height, desk_area.g_h); wind_calc_grect(WC_BORDER, kind, &area, &area); h_aes_win = wind_create_grect(kind, &area); wind_set_str(h_aes_win, WF_NAME, "Settings"); settings_guiwin = gemtk_wm_add(h_aes_win, GEMTK_WM_FLAG_DEFAULTS, on_aes_event); curr.g_w = MIN(dlgtree->ob_width, desk_area.g_w); curr.g_h = MIN(dlgtree->ob_height, desk_area.g_h-64); curr.g_x = 1; curr.g_y = (desk_area.g_h / 2) - (curr.g_h / 2); wind_calc_grect(WC_BORDER, kind, &curr, &curr); dlgtree->ob_x = curr.g_x; dlgtree->ob_y = curr.g_y; /* set current config values: */ display_settings(); wind_open_grect(h_aes_win, &curr); gemtk_wm_set_form(settings_guiwin, dlgtree, 0); gemtk_wm_set_scroll_grid(settings_guiwin, 32, 32); gemtk_wm_get_grect(settings_guiwin, GEMTK_WM_AREA_CONTENT, &area); slid = gemtk_wm_get_scroll_info(settings_guiwin); gemtk_wm_set_content_units(settings_guiwin, (dlgtree->ob_width/slid->x_unit_px), (dlgtree->ob_height/slid->y_unit_px)); gemtk_wm_update_slider(settings_guiwin, GEMTK_WM_VH_SLIDER); } }
static void atari_sslcert_viewer_init(struct atari_sslcert_viewer_s * cvwin, struct sslcert_session_data *ssl_d) { assert(cvwin->init == false); assert(cvwin->window == NULL); assert(cvwin->tv == NULL); int flags = ATARI_TREEVIEW_WIDGETS; short handle = -1; OBJECT * tree = gemtk_obj_get_tree(TOOLBAR_SSL_CERT); assert( tree ); handle = wind_create(flags, 0, 0, desk_area.g_w, desk_area.g_h); cvwin->window = gemtk_wm_add(handle, GEMTK_WM_FLAG_DEFAULTS, NULL); if (cvwin->window == NULL ) { gemtk_msg_box_show(GEMTK_MSG_BOX_ALERT, "Failed to allocate Treeview:\nCertviewer"); return; } wind_set_str(handle, WF_NAME, (char*)"SSL Certificate"); gemtk_wm_set_toolbar(cvwin->window, tree, 0, 0); gemtk_wm_unlink(cvwin->window); cvwin->ssl_session_data = ssl_d; cvwin->tv = atari_treeview_create(cvwin->window, &atari_sslcert_viewer_treeview_callbacks, cvwin, flags); if (cvwin->tv == NULL) { /* handle it properly, clean up previous allocs */ NSLOG(netsurf, INFO, "Failed to allocate treeview"); return; } cvwin->init = true; }
static void form_event(int index, int external) { char spare[255]; bool is_button = false; bool checked = OBJ_SELECTED(index); char * tmp; MENU pop_menu, me_data; /* For font driver popup: */ int num_font_drivers = 2; /* Just a small collection of locales, each country has at least one ATARI-clone user! :) */ int num_locales = 15; short x, y; int choice, i; switch(index) { case SETTINGS_SAVE: OBJ_UNCHECK(index); OBJ_REDRAW(index); save_settings(); break; case SETTINGS_ABORT: OBJ_UNCHECK(index); OBJ_REDRAW(index); close_settings(); break; case SETTINGS_CB_USE_PROXY: if( checked ) { ENABLE_OBJ(SETTINGS_EDIT_PROXY_HOST); ENABLE_OBJ(SETTINGS_EDIT_PROXY_PORT); ENABLE_OBJ(SETTINGS_CB_PROXY_AUTH); } else { DISABLE_OBJ(SETTINGS_EDIT_PROXY_HOST); DISABLE_OBJ(SETTINGS_EDIT_PROXY_PORT); DISABLE_OBJ(SETTINGS_CB_PROXY_AUTH); } FORMEVENT(SETTINGS_CB_PROXY_AUTH); OBJ_REDRAW(SETTINGS_CB_USE_PROXY); break; case SETTINGS_CB_PROXY_AUTH: if( checked && OBJ_SELECTED( SETTINGS_CB_USE_PROXY ) ) { ENABLE_OBJ(SETTINGS_EDIT_PROXY_USERNAME); ENABLE_OBJ(SETTINGS_EDIT_PROXY_PASSWORD); } else { DISABLE_OBJ(SETTINGS_EDIT_PROXY_USERNAME); DISABLE_OBJ(SETTINGS_EDIT_PROXY_PASSWORD); } break; case SETTINGS_CB_ENABLE_ANIMATION: if( checked ) { ENABLE_OBJ( SETTINGS_EDIT_MIN_GIF_DELAY ); } else { DISABLE_OBJ( SETTINGS_EDIT_MIN_GIF_DELAY ); } break; case SETTINGS_BT_SEL_FONT_RENDERER: if( external ) { objc_offset(dlgtree, SETTINGS_BT_SEL_FONT_RENDERER, &x, &y); // point mn_tree tree to states popup: pop_menu.mn_tree = gemtk_obj_get_tree(POP_FONT_RENDERER); pop_menu.mn_menu = 0; pop_menu.mn_item = POP_FONT_RENDERER_INTERNAL; pop_menu.mn_scroll = SCROLL_NO; pop_menu.mn_keystate = 0; // find the selected menu item and uncheck others: for(i=pop_menu.mn_item; i<=num_font_drivers; i++) { get_string(pop_menu.mn_tree, i, spare); tmp = gemtk_obj_get_text(dlgtree, SETTINGS_BT_SEL_FONT_RENDERER); if (strcasecmp(&spare[2], tmp)) { menu_icheck(pop_menu.mn_tree, i, 0); } else { menu_icheck(pop_menu.mn_tree, i, 1); } set_string(pop_menu.mn_tree, i, spare); } menu_popup(&pop_menu, x, y, &me_data); choice = me_data.mn_item; if( choice > 0 && choice <= num_font_drivers ) { get_string(pop_menu.mn_tree, choice, spare); for(i=2; i<(int)strlen(spare); i++) { spare[i]= (char)tolower(spare[i]); } set_text(SETTINGS_BT_SEL_FONT_RENDERER, (char*)&spare[2], LABEL_FONT_RENDERER_MAX_LEN); OBJ_REDRAW(SETTINGS_BT_SEL_FONT_RENDERER); } } tmp = gemtk_obj_get_text(dlgtree, SETTINGS_BT_SEL_FONT_RENDERER); if (strcasecmp(tmp, "freetype") == 0) { ENABLE_OBJ(SETTINGS_CB_ANTI_ALIASING); } else { DISABLE_OBJ(SETTINGS_CB_ANTI_ALIASING); } break; case SETTINGS_BT_SEL_LOCALE: objc_offset(dlgtree, SETTINGS_BT_SEL_LOCALE, &x, &y); // point mn_tree tree to states popup: pop_menu.mn_tree = gemtk_obj_get_tree(POP_LANGUAGE); pop_menu.mn_menu = 0; pop_menu.mn_item = POP_LANGUAGE_CS; pop_menu.mn_scroll = SCROLL_NO; pop_menu.mn_keystate = 0; // find the selected menu item and uncheck others: for(i=pop_menu.mn_item; i<=num_locales; i++) { get_string(pop_menu.mn_tree, i, spare); tmp = gemtk_obj_get_text(dlgtree, SETTINGS_BT_SEL_LOCALE); if (strcasecmp(&spare[2], tmp)) { menu_icheck(pop_menu.mn_tree, i, 0); } else { menu_icheck(pop_menu.mn_tree, i, 1); } set_string(pop_menu.mn_tree, i, spare); } menu_popup(&pop_menu, x, y, &me_data); choice = me_data.mn_item; if( choice > 0 && choice <= num_locales ) { get_string(pop_menu.mn_tree, choice, spare); for(i=2; i<(int)strlen(spare); i++) { spare[i]= (char)tolower(spare[i]); } set_text(SETTINGS_BT_SEL_LOCALE, (char*)&spare[2], 5); } OBJ_REDRAW(SETTINGS_BT_SEL_LOCALE); break; /* case SETTINGS_INPUT_TOOLBAR_BGCOLOR: objc_offset( FORM(win), SETTINGS_INPUT_TOOLBAR_BGCOLOR, &x, &y ); choice = color_popup(x, y, tmp_option_atari_toolbar_bg); snprintf( spare, 255, "%06x", choice ); tmp_option_atari_toolbar_bg = choice; ObjcStrCpy( dlgtree, SETTINGS_INPUT_TOOLBAR_BGCOLOR, spare ); is_button = true; OBJ_REDRAW(SETTINGS_INPUT_TOOLBAR_BGCOLOR); break; */ /* case SETTINGS_BT_TOOLBAR_ICONSET: objc_offset( FORM(win), SETTINGS_BT_TOOLBAR_ICONSET, &x, &y ); tmp = toolbar_iconset_popup(x,y); if( tmp != NULL ){ ObjcStrCpy( dlgtree, SETTINGS_BT_TOOLBAR_ICONSET, tmp ); } is_button = true; break; */ case SETTINGS_INC_MEM_CACHE: case SETTINGS_DEC_MEM_CACHE: if( index == SETTINGS_DEC_MEM_CACHE ) tmp_option_memory_cache_size -= 0.1; else tmp_option_memory_cache_size += 0.1; if( tmp_option_memory_cache_size < 0.5 ) tmp_option_memory_cache_size = 0.5; if( tmp_option_memory_cache_size > 999.9 ) tmp_option_memory_cache_size = 999.9; snprintf( spare, 255, "%03.1f", tmp_option_memory_cache_size ); set_text( SETTINGS_STR_MAX_MEM_CACHE, spare, 5 ); is_button = true; OBJ_REDRAW(SETTINGS_STR_MAX_MEM_CACHE); break; case SETTINGS_INC_CACHED_CONNECTIONS: case SETTINGS_DEC_CACHED_CONNECTIONS: if( index == SETTINGS_INC_CACHED_CONNECTIONS ) tmp_option_max_cached_fetch_handles += 1; else tmp_option_max_cached_fetch_handles -= 1; if( tmp_option_max_cached_fetch_handles > 31 ) tmp_option_max_cached_fetch_handles = 31; snprintf( spare, 255, "%02d", tmp_option_max_cached_fetch_handles ); set_text( SETTINGS_EDIT_MAX_CACHED_CONNECTIONS, spare, 2 ); is_button = true; OBJ_REDRAW(SETTINGS_EDIT_MAX_CACHED_CONNECTIONS); break; case SETTINGS_INC_MAX_FETCHERS: case SETTINGS_DEC_MAX_FETCHERS: if( index == SETTINGS_INC_MAX_FETCHERS ) tmp_option_max_fetchers += 1; else tmp_option_max_fetchers -= 1; if( tmp_option_max_fetchers > 31 ) tmp_option_max_fetchers = 31; snprintf( spare, 255, "%02d", tmp_option_max_fetchers ); set_text( SETTINGS_EDIT_MAX_FETCHERS, spare, 2 ); is_button = true; OBJ_REDRAW(SETTINGS_EDIT_MAX_FETCHERS); break; case SETTINGS_INC_MAX_FETCHERS_PER_HOST: case SETTINGS_DEC_MAX_FETCHERS_PER_HOST: if( index == SETTINGS_INC_MAX_FETCHERS_PER_HOST ) tmp_option_max_fetchers_per_host += 1; else tmp_option_max_fetchers_per_host -= 1; if( tmp_option_max_fetchers_per_host > 31 ) tmp_option_max_fetchers_per_host = 31; snprintf( spare, 255, "%02d", tmp_option_max_fetchers_per_host ); set_text( SETTINGS_EDIT_MAX_FETCHERS_PER_HOST, spare, 2 ); is_button = true; OBJ_REDRAW(SETTINGS_EDIT_MAX_FETCHERS_PER_HOST); break; case SETTINGS_INC_HISTORY_AGE: case SETTINGS_DEC_HISTORY_AGE: if( index == SETTINGS_INC_HISTORY_AGE ) tmp_option_expire_url += 1; else tmp_option_expire_url -= 1; if( tmp_option_expire_url > 99 ) tmp_option_expire_url = 0; snprintf( spare, 255, "%02d", tmp_option_expire_url ); set_text( SETTINGS_EDIT_HISTORY_AGE, spare, 2 ); is_button = true; OBJ_REDRAW(SETTINGS_EDIT_HISTORY_AGE); break; case SETTINGS_INC_GIF_DELAY: case SETTINGS_DEC_GIF_DELAY: if( index == SETTINGS_INC_GIF_DELAY ) tmp_option_minimum_gif_delay += 0.1; else tmp_option_minimum_gif_delay -= 0.1; if( tmp_option_minimum_gif_delay < 0.1 ) tmp_option_minimum_gif_delay = 0.1; if( tmp_option_minimum_gif_delay > 9.0 ) tmp_option_minimum_gif_delay = 9.0; snprintf( spare, 255, "%01.1f", tmp_option_minimum_gif_delay ); set_text( SETTINGS_EDIT_MIN_GIF_DELAY, spare, 3 ); is_button = true; OBJ_REDRAW(SETTINGS_EDIT_MIN_GIF_DELAY); break; case SETTINGS_INC_MIN_FONT_SIZE: case SETTINGS_DEC_MIN_FONT_SIZE: if( index == SETTINGS_INC_MIN_FONT_SIZE ) tmp_option_font_min_size += 1; else tmp_option_font_min_size -= 1; if( tmp_option_font_min_size > 500 ) tmp_option_font_min_size = 500; if( tmp_option_font_min_size < 10 ) tmp_option_font_min_size = 10; snprintf( spare, 255, "%03d", tmp_option_font_min_size ); set_text( SETTINGS_EDIT_MIN_FONT_SIZE, spare, 3 ); is_button = true; OBJ_REDRAW(SETTINGS_EDIT_MIN_FONT_SIZE); break; case SETTINGS_INC_DEF_FONT_SIZE: case SETTINGS_DEC_DEF_FONT_SIZE: if( index == SETTINGS_INC_DEF_FONT_SIZE ) tmp_option_font_size += 1; else tmp_option_font_size -= 1; if( tmp_option_font_size > 999 ) tmp_option_font_size = 999; if( tmp_option_font_size < 50 ) tmp_option_font_size = 50; snprintf( spare, 255, "%03d", tmp_option_font_size ); set_text( SETTINGS_EDIT_DEF_FONT_SIZE, spare, 3 ); is_button = true; OBJ_REDRAW(SETTINGS_EDIT_DEF_FONT_SIZE); break; case SETTINGS_INC_INCREMENTAL_REFLOW: case SETTINGS_DEC_INCREMENTAL_REFLOW: if( index == SETTINGS_INC_INCREMENTAL_REFLOW ) tmp_option_min_reflow_period += 1; else tmp_option_min_reflow_period -= 1; if( tmp_option_min_reflow_period > 9999 ) tmp_option_min_reflow_period = 10; snprintf( spare, 255, "%04d", tmp_option_min_reflow_period ); set_text( SETTINGS_EDIT_MIN_REFLOW_PERIOD, spare, 4 ); is_button = true; OBJ_REDRAW(SETTINGS_EDIT_MIN_REFLOW_PERIOD); break; default: break; } if( is_button ) { // remove selection indicator from button element: OBJ_UNCHECK(index); OBJ_REDRAW(index); } }
static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8]) { struct core_window *tv=NULL; GRECT tb_area; GUIWIN * gemtk_win; struct atari_sslcert_viewer_s *cvwin = NULL; short retval = 0; OBJECT *toolbar; NSLOG(netsurf, INFO, "win %p", win); if(ev_out->emo_events & MU_MESAG){ switch (msg[0]) { case WM_TOOLBAR: toolbar = gemtk_obj_get_tree(TOOLBAR_SSL_CERT); NSLOG(netsurf, INFO, "CERTVIEWER WM_TOOLBAR"); tv = (struct core_window*) gemtk_wm_get_user_data(win); assert(tv); cvwin = (struct atari_sslcert_viewer_s *) atari_treeview_get_user_data(tv); switch (msg[4]) { case TOOLBAR_SSL_CERT_TRUSTED: if (toolbar[msg[4]].ob_state & OS_SELECTED) { } else { } break; } gemtk_win = atari_treeview_get_gemtk_window(tv); assert(gemtk_win); //gemtk_obj_get_tree(TOOLBAR_HOTLIST)[msg[4]].ob_state &= ~OS_SELECTED; atari_treeview_get_grect(tv, TREEVIEW_AREA_TOOLBAR, &tb_area); evnt_timer(150); gemtk_wm_exec_redraw(gemtk_win, &tb_area); retval = 1; break; case WM_CLOSED: // TODO set perrmissions toolbar = gemtk_obj_get_tree(TOOLBAR_SSL_CERT); tv = (struct core_window*) gemtk_wm_get_user_data(win); assert(tv); cvwin = (struct atari_sslcert_viewer_s *) atari_treeview_get_user_data(tv); if (toolbar[TOOLBAR_SSL_CERT_TRUSTED].ob_state & OS_SELECTED) { sslcert_viewer_accept(cvwin->ssl_session_data); } else { sslcert_viewer_reject(cvwin->ssl_session_data); } atari_sslcert_viewer_destroy(cvwin); retval = 1; break; default: break; } } return(retval); }
static void gui_init(int argc, char** argv) { char buf[PATH_MAX]; OBJECT * cursors; atari_find_resource(buf, "netsurf.rsc", "./res/netsurf.rsc"); LOG(("%s ", (char*)&buf)); if (rsrc_load(buf)==0) { die("Uable to open GEM Resource file!"); } wind_get_grect(0, WF_WORKXYWH, &desk_area); create_cursor(0, POINT_HAND, NULL, &gem_cursors.hand ); create_cursor(0, TEXT_CRSR, NULL, &gem_cursors.ibeam ); create_cursor(0, THIN_CROSS, NULL, &gem_cursors.cross); create_cursor(0, BUSY_BEE, NULL, &gem_cursors.wait); create_cursor(0, ARROW, NULL, &gem_cursors.arrow); create_cursor(0, OUTLN_CROSS, NULL, &gem_cursors.sizeall); create_cursor(0, OUTLN_CROSS, NULL, &gem_cursors.sizenesw); create_cursor(0, OUTLN_CROSS, NULL, &gem_cursors.sizenwse); cursors = gemtk_obj_get_tree(CURSOR); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_APPSTART, cursors, &gem_cursors.appstarting); gem_set_cursor( &gem_cursors.appstarting ); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_SIZEWE, cursors, &gem_cursors.sizewe); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_SIZENS, cursors, &gem_cursors.sizens); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_NODROP, cursors, &gem_cursors.nodrop); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_DENY, cursors, &gem_cursors.deny); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_MENU, cursors, &gem_cursors.menu); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_HELP, cursors, &gem_cursors.help); LOG(("Enabling core select menu")); nsoption_set_bool(core_select_menu, true); LOG(("Loading url.db from: %s", nsoption_charp(url_file) )); if( strlen(nsoption_charp(url_file)) ) { urldb_load(nsoption_charp(url_file)); } LOG(("Loading cookies from: %s", nsoption_charp(cookie_file) )); if( strlen(nsoption_charp(cookie_file)) ) { urldb_load_cookies(nsoption_charp(cookie_file)); } if (process_cmdline(argc,argv) != true) die("unable to process command line.\n"); LOG(("Initializing NKC...")); nkc_init(); LOG(("Initializing plotters...")); plot_init(nsoption_charp(atari_font_driver)); tree_set_icon_dir(nsoption_charp(tree_icons_path)); aes_event_in.emi_m1leave = MO_LEAVE; aes_event_in.emi_m1.g_w = 1; aes_event_in.emi_m1.g_h = 1; //next_poll = clock() + (CLOCKS_PER_SEC>>3); }
/** * Initialise atari gui. */ static void gui_init(int argc, char** argv) { char buf[PATH_MAX]; OBJECT * cursors; atari_find_resource(buf, "netsurf.rsc", "./res/netsurf.rsc"); LOG("Using RSC file: %s ", (char *)&buf); if (rsrc_load(buf)==0) { char msg[1024]; snprintf(msg, 1024, "Unable to open GEM Resource file (%s)!", buf); die(msg); } wind_get_grect(0, WF_WORKXYWH, &desk_area); create_cursor(0, POINT_HAND, NULL, &gem_cursors.hand ); create_cursor(0, TEXT_CRSR, NULL, &gem_cursors.ibeam ); create_cursor(0, THIN_CROSS, NULL, &gem_cursors.cross); create_cursor(0, BUSY_BEE, NULL, &gem_cursors.wait); create_cursor(0, ARROW, NULL, &gem_cursors.arrow); create_cursor(0, OUTLN_CROSS, NULL, &gem_cursors.sizeall); create_cursor(0, OUTLN_CROSS, NULL, &gem_cursors.sizenesw); create_cursor(0, OUTLN_CROSS, NULL, &gem_cursors.sizenwse); cursors = gemtk_obj_get_tree(CURSOR); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_APPSTART, cursors, &gem_cursors.appstarting); gem_set_cursor( &gem_cursors.appstarting ); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_SIZEWE, cursors, &gem_cursors.sizewe); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_SIZENS, cursors, &gem_cursors.sizens); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_NODROP, cursors, &gem_cursors.nodrop); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_DENY, cursors, &gem_cursors.deny); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_MENU, cursors, &gem_cursors.menu); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_HELP, cursors, &gem_cursors.help); LOG("Enabling core select menu"); nsoption_set_bool(core_select_menu, true); LOG("Loading url.db from: %s", nsoption_charp(url_file)); if( strlen(nsoption_charp(url_file)) ) { urldb_load(nsoption_charp(url_file)); } LOG("Loading cookies from: %s", nsoption_charp(cookie_file)); if( strlen(nsoption_charp(cookie_file)) ) { urldb_load_cookies(nsoption_charp(cookie_file)); } if (process_cmdline(argc,argv) != true) die("unable to process command line.\n"); LOG("Initializing NKC..."); nkc_init(); LOG("Initializing plotters..."); plot_init(nsoption_charp(atari_font_driver)); aes_event_in.emi_m1leave = MO_LEAVE; aes_event_in.emi_m1.g_w = 1; aes_event_in.emi_m1.g_h = 1; //next_poll = clock() + (CLOCKS_PER_SEC>>3); deskmenu_init(); menu_register( -1, theapp); if (sys_type() & (SYS_MAGIC|SYS_NAES|SYS_XAAES)) { menu_register( _AESapid, (char*)" NetSurf "); } gemtk_wm_init(); /* Initialize the specific treeview windows: */ atari_global_history_init(); atari_hotlist_init(); atari_cookie_manager_init(); /* Initialize the toolbar framework: */ toolbar_init(); }