static UI_CALLBACK(set_refresh_rate) { int current_refresh_rate; resources_get_int("RefreshRate", ¤t_refresh_rate); if (!CHECK_MENUS) { if (current_refresh_rate != vice_ptr_to_int(UI_MENU_CB_PARAM)) { resources_set_int("RefreshRate", vice_ptr_to_int(UI_MENU_CB_PARAM)); ui_update_menus(); } } else { if (vice_ptr_to_int(UI_MENU_CB_PARAM) == current_refresh_rate) { ui_menu_set_tick(w, 1); } else { ui_menu_set_tick(w, 0); } if (UI_MENU_CB_PARAM == 0) { int speed; resources_get_int("Speed", &speed); if (speed == 0) { /* Cannot enable the `automatic' setting if a speed limit is not specified. */ ui_menu_set_sensitive(w, 0); } else { ui_menu_set_sensitive(w, 1); } } } }
static UI_CALLBACK(color_set) { if (!CHECK_MENUS) { ui_update_menus(); } else { int val; resources_get_int("TEDExternalPalette", &val); if (val) ui_menu_set_sensitive(w, 1); else ui_menu_set_sensitive(w, 0); } }
static UI_CALLBACK(parallel_cable_control) { if (!CHECK_MENUS) { ui_update_menus(); } else { int type; resources_get_int_sprintf("Drive%iType", &type, vice_ptr_to_int(UI_MENU_CB_PARAM) + 8); if (drive_check_parallel_cable(type)) { ui_menu_set_sensitive(w, 1); } else { ui_menu_set_sensitive(w, 0); } } }
static UI_CALLBACK(set_maximum_speed) { int current_speed; resources_get_int("Speed", ¤t_speed); if (!CHECK_MENUS) { if (current_speed != vice_ptr_to_int(UI_MENU_CB_PARAM)) { resources_set_int("Speed", vice_ptr_to_int(UI_MENU_CB_PARAM)); ui_update_menus(); } } else { if (current_speed == vice_ptr_to_int(UI_MENU_CB_PARAM)) { ui_menu_set_tick(w, 1); } else { ui_menu_set_tick(w, 0); } if (UI_MENU_CB_PARAM == 0) { int current_refresh_rate; resources_get_int("RefreshRate", ¤t_refresh_rate); ui_menu_set_sensitive(w, current_refresh_rate != 0); } } }
static UI_CALLBACK(expert_save_cartridge) { if (CHECK_MENUS) { ui_menu_set_sensitive(w, cartridge_type_enabled(CARTRIDGE_EXPERT)); } else { ui_cartridge_save_dialog(CARTRIDGE_EXPERT); } }
static UI_CALLBACK(dqbb_save_callback) { if (CHECK_MENUS) { ui_menu_set_sensitive(w, cartridge_type_enabled(CARTRIDGE_DQBB)); } else { ui_cartridge_save_dialog(CARTRIDGE_DQBB); } }
static UI_CALLBACK(mmcreplay_save_callback) { if (CHECK_MENUS) { ui_menu_set_sensitive(w, cartridge_type_enabled(CARTRIDGE_MMC_REPLAY)); } else { ui_cartridge_save_dialog(CARTRIDGE_MMC_REPLAY); } }
static UI_CALLBACK(expert_flush_cartridge) { if (CHECK_MENUS) { ui_menu_set_sensitive(w, cartridge_type_enabled(CARTRIDGE_EXPERT)); } else { if (cartridge_flush_image(CARTRIDGE_EXPERT) < 0) { ui_error(_("Can not save cartridge")); } } }
static UI_CALLBACK(dqbb_flush_callback) { if (CHECK_MENUS) { ui_menu_set_sensitive(w, cartridge_type_enabled(CARTRIDGE_DQBB)); } else { if (cartridge_flush_image(CARTRIDGE_DQBB) < 0) { ui_error(_("Can not save cartridge")); } } }
static UI_CALLBACK(set_heads) { static char input_string[32]; int num = vice_ptr_to_int(UI_MENU_CB_PARAM); if (CHECK_MENUS) { int autosize; resources_get_int_sprintf("IDE64AutodetectSize%i", &autosize, num); if (autosize) { ui_menu_set_sensitive(w, 0); } else { ui_menu_set_sensitive(w, 1); } } else { char *msg_string; ui_button_t button; int i; int heads; vsync_suspend_speed_eval(); resources_get_int_sprintf("IDE64Heads%i", &heads, num); sprintf(input_string, "%d", heads); msg_string = lib_stralloc(_("Enter number of heads")); button = ui_input_string(_("Heads"), msg_string, input_string, 32); lib_free(msg_string); if (button == UI_BUTTON_OK) { i = atoi(input_string); if (heads > 0 && heads <= 16 && heads != i) { resources_set_int_sprintf("IDE64Heads%i", i, num); ui_update_menus(); } } } }
static UI_CALLBACK(set_cylinders) { static char input_string[32]; int num = (int)UI_MENU_CB_PARAM; if (CHECK_MENUS) { int autosize; resources_get_int_sprintf("IDE64AutodetectSize%i", &autosize, num); if (autosize) { ui_menu_set_sensitive(w, 0); } else { ui_menu_set_sensitive(w, 1); } } else { char *msg_string; ui_button_t button; int i; int cylinders; vsync_suspend_speed_eval(); resources_get_int_sprintf("IDE64Cylinders%i", &cylinders, num); sprintf(input_string, "%d", cylinders); msg_string = lib_stralloc(_("Enter number of cylinders")); button = ui_input_string(_("Cylinders"), msg_string, input_string, 32); lib_free(msg_string); if (button == UI_BUTTON_OK) { i = atoi(input_string); if (cylinders > 0 && cylinders <= 1024 && cylinders != i) { resources_set_int_sprintf("IDE64Cylinders%i", i, num); ui_update_menus(); } } } }
static UI_CALLBACK(openGL_set_desktoprefresh) { char *enter_refresh_rate = util_concat(_("Enter refresh rate"), " (Hz): ", NULL); char *refresh_rate = util_concat(_("Refresh rate"), ": ", NULL); if (!CHECK_MENUS) { float f; char *buf = lib_calloc(sizeof(char), 10); sprintf(buf, "%.0f", openGL_get_canvas_refreshrate()); ui_input_string(refresh_rate, enter_refresh_rate, buf, 10); f = (float) strtol(buf, NULL, 10); openGL_set_canvas_refreshrate(f); lib_free(buf); lib_free(enter_refresh_rate); lib_free(refresh_rate); } else { if (openGL_available(0) && openGL_sync_enabled()) { ui_menu_set_sensitive(w, 1); } else { ui_menu_set_sensitive(w, 0); } } }
static UI_CALLBACK(VicMenu) { if (CHECK_MENUS) { ui_menu_set_sensitive(w, cbm2_is_c500()); } }