/* - Fill / update dialog with known information (from HASH table) ---------- */ void fill_dialog() { gint listID; gchar *licence_path = NULL; DIR *licence_dir = NULL; GList *licence_list = NULL; /* -- Fill in values for 'General' tab ---------------------------------- */ if(SHASH("hostname") != NULL) { #ifdef _DEBUG_ g_warning("Hostname to be set active: %s", SHASH("hostname")); #endif listID = g_list_index(hostnames, SHASH("hostname")); gtk_combo_box_set_active(GTK_COMBO_BOX(combo_host), listID); gtk_combo_box_set_active(GTK_COMBO_BOX(combo_host2), listID); } if(SHASH("username") != NULL) gtk_entry_set_text(GTK_ENTRY(input_username), SHASH("username")); if(SHASH("password") != NULL) gtk_entry_set_text(GTK_ENTRY(input_password), SHASH("password")); if(SHASH("domain") != NULL) gtk_entry_set_text(GTK_ENTRY(input_domain), SHASH("domain")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_savepw), iSHASH("savepw")); loadRdpProtocols(combo_rdp_proto); /* Set RDP version */ /* -- Fill in values for 'Display' tab ---------------------------------- */ loadScreens(combo_screen_size); sig_screensize(combo_screen_size, NULL); loadColors(menu_colorsize); sig_colchange(NULL, NULL); /* -- Fill in values for 'Resources' tab -------------------------------- */ loadSoundOptions(menu_sound); sig_sound(NULL, NULL); /* -- Fill in values for 'Program' tab ---------------------------------- */ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_prog), iSHASH("runprog")); if(SHASH("program") != NULL) gtk_entry_set_text(GTK_ENTRY(input_program), SHASH("program")); if(SHASH("ppath") != NULL) gtk_entry_set_text(GTK_ENTRY(input_ppath), SHASH("ppath")); gtk_widget_set_sensitive(input_program, iSHASH("runprog")); gtk_widget_set_sensitive(input_ppath, iSHASH("runprog")); /* -- Fill in values for 'Extended' tab --------------------------------- */ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_bitmapupd), iSHASH("bitmapupd")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_motionevt), iSHASH("motionevt")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_hidewmdecoration), iSHASH("hidewmdecoration")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_noencr), iSHASH("noencryption")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_wmkeybindings), iSHASH("wmkeybindings")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_attconsole), iSHASH("attconsole")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_sshopts), iSHASH("usessh")); gtk_widget_set_sensitive(btn_sshopts, iSHASH("usessh")); // TODO MKA 2015-09-02 What is this? Licenses to remote servers... // licence_path = gnome_util_prepend_user_home(".rdesktop"); licence_path = g_strconcat(g_get_home_dir(), ".rdesktop", NULL); #ifdef _DEBUG_ g_warning("Licence path: %s", licence_path); #endif licence_dir = opendir(licence_path); if(licence_dir != NULL) { struct dirent *entry = NULL; const gchar *prefix = "licence."; while((entry = readdir(licence_dir)) != NULL) { gchar *fullname = NULL; gchar *hostname = &entry->d_name[strlen(prefix)]; struct stat sts; fullname = g_strdup_printf("%s/%s", licence_path, entry->d_name); if(stat(fullname, &sts) == -1) continue; if(!S_ISREG(sts.st_mode)) continue; if(strlen(entry->d_name) <= strlen(prefix)) continue; licence_list = g_list_append(licence_list, g_strdup(hostname)); } closedir(licence_dir); if (licence_list != NULL) { fill_combo_with_list(combo_clientname, licence_list); } } if ((SHASH("clientname") != NULL) && (licence_list != NULL)) { listID = g_list_index(licence_list, SHASH("clientname")); gtk_combo_box_set_active(GTK_COMBO_BOX(combo_clientname), listID); } /* MKA -- Fill in values for 'Redirect' tab ----------------------------- */ if(SHASH("redirect") != NULL) { gtk_entry_set_text(GTK_ENTRY(entryOutput), SHASH("redirect")); } /* finally, we deactivate all rdp unsupported widgets */ sig_rdp_protocol(NULL, NULL); }
/** *\fn int main(int argc, char *argv[]) * Main *\param[in,out] argc argc *\param[in,out] argv argv */ int main(int argc, char *argv[]) { SDL_Surface *screen = NULL; int go = 1; int ret,ret1, ret2 = 0, ret3, ret4; char level_name[MAX_SIZE_FILE_NAME]; char player_name[MAX_SIZE_FILE_NAME]; int nb_lvl; /*sound*/ Sound *sound_system; sound_system = createSound(); /*keyboard config*/ SDLKey kc[NB_KEY-1]; /*input*/ Input in; SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER|SDL_INIT_JOYSTICK); Player *current_player; current_player = (Player *)malloc(sizeof(Player)); /*screen initialization*/ screen = SDL_SetVideoMode(SCREEN_WIDTH, SCREEN_HEIGHT, 32, SDL_HWSURFACE | SDL_DOUBLEBUF); initInput(&in); /*configurations loading */ loadSoundOptions("configuration/sound.conf",sound_system); SDL_WM_SetCaption("Super Martin", NULL); //window name SDL_ShowCursor(SDL_DISABLE); //delete the mouse while (go) //main loop { if(titleMenu(screen,&go,sound_system, &in)) { while( (ret3 = menuPlayers(screen, player_name, &go, sound_system, &in)) != -1 && go) { switch(ret3) { case -1: break; case 2 : ret2 = newPlayer(screen, player_name, sound_system, &go); if(ret2 == 1) { current_player->levelMax = 1; current_player->nbCoins = 0; current_player->nbLifes = 3; current_player->nbProjectile = 5; savePlayer("save/.save", player_name, current_player); loadInputOptions("default",kc,&in); saveInputOptions(player_name, kc, &in); } else break; case 1 : loadPlayer("save/.save", player_name, current_player); loadInputOptions(player_name,kc,&in); while(go && (ret1 = mainMenu(screen,&go,sound_system, player_name, &in)) != -1) { switch(ret1) { case -1: break; case 0: while( (ret4 = menuLevel(screen,level_name,sound_system, player_name, current_player, &go, &nb_lvl, &in)) != -1 && go) { while(play(screen,level_name,sound_system,&go,kc, &in, current_player, player_name, ret4+1, nb_lvl) && go); } break; case 1 : save(screen, "save/.save", player_name, current_player, &go); loadPlayer("save/.save", player_name, current_player); break; case 2 : while((ret = optionMenu(screen,&go,sound_system,kc, &in)) != -1 && go) { switch(ret) { case -1: break; case 0: soundOptions(screen,&go,sound_system, &in); break; case 1: keyBoardOptions(screen,&go,kc,&in,player_name); break; default:; } } break; case 3 : deletePlayer(screen, "save/players", player_name); go = 0; break; default: ; } } go = 1; break; default : ; } } } SDL_FillRect(screen,NULL,SDL_MapRGB(screen->format,255,255,255)); //clear screen SDL_Flip(screen); } freeSound(sound_system); free((void*)current_player); freeInput(&in); SDL_Quit(); return EXIT_SUCCESS; }