Пример #1
0
 def load_list(self):
     """load games list"""
     #clear games list
     self.lsList.clear()
     #set filename
     self.list_filename = os.path.join(
         self.config_dir,
         'files',
         '%s-%s.lst' % (self.emu_name, self.emu_list_idx))
     #load list (if it exists)
     if os.path.isfile(self.list_filename):
         games_list, games_list_len = filters.read_filtered_list(self.list_filename)
         games_list.sort()
         [self.lsList.append(r) for r in games_list]
         self.update_total_games()
     elif self.emu_list_idx == 0:
         print _('Please Wait. Creating initial filter...')
         #self.message.display_message(_('Please Wait'), _('Creating initial filter...'))
         #self.list_creation_attempted = True
         #self.do_events()
         filters.create_initial_filter(
             self.emu_ini.get('dat_file'),
             os.path.join(
                 self.config_dir,
                 'files',
                 '%s-0.ftr' % (self.emu_name)),
             self.list_filename,
             self.emu_ini)
         self.load_list()
Пример #2
0
 def load_list(self):
     """load games list"""
     #clear games list
     self.lsList.clear()
     #set filename
     self.list_filename = os.path.join(
         self.config_dir, 'files',
         '%s-%s.lst' % (self.emu_name, self.emu_list_idx))
     #load list (if it exists)
     if os.path.isfile(self.list_filename):
         games_list, games_list_len = filters.read_filtered_list(
             self.list_filename)
         games_list.sort()
         [self.lsList.append(r) for r in games_list]
         self.update_total_games()
     elif self.emu_list_idx == 0:
         print _('Please Wait. Creating initial filter...')
         #self.message.display_message(_('Please Wait'), _('Creating initial filter...'))
         #self.list_creation_attempted = True
         #self.do_events()
         filters.create_initial_filter(
             self.emu_ini.get('dat_file'),
             os.path.join(self.config_dir, 'files',
                          '%s-0.ftr' % (self.emu_name)), self.list_filename,
             self.emu_ini)
         self.load_list()
Пример #3
0
 def OLDload_list(self):
     """load games list"""
     #clear games list
     self.lsList.clear()
     #set filename
     self.list_filename = os.path.join(
         self.config_dir,
         'files',
         '%s-%s.lst' % (self.emu_name, self.emu_list_idx))
     #load list (if it exists)
     if os.path.isfile(self.list_filename):
         games_list, games_list_len = filters.read_filtered_list(self.list_filename)
         self.lblTotalGames.set_text(_('%s games' % (games_list_len)))
         games_list.sort()
         [self.lsList.append(r) for r in games_list]
Пример #4
0
 def load_list(self):
     """load games list"""
     #clear games list
     self.lsGames.clear()
     self.lblTotalGames.set_text(_('No Games'))
     #set filename
     list_filename = os.path.join(
         self.config_dir,
         'files',
         '%s-%s.lst' % (self.emu_name, self.emu_list_idx))
     #load list (if it exists)
     if os.path.isfile(list_filename):
         games_list, games_list_len = filters.read_filtered_list(list_filename)
         self.lblTotalGames.set_text(_('%s games' % (games_list_len)))
         gl = [l[0] for l in games_list]
         gl.sort()
         for row in gl:
             self.lsGames.append((row, ))
Пример #5
0
 def load_list(self):
     """load games list"""
     #clear games list
     self.lsGames.clear()
     self.lblTotalGames.set_text(_('No Games'))
     #set filename
     list_filename = os.path.join(
         CONFIG_DIR, 'files',
         '%s-%s.lst' % (self.emu_name, self.emu_list_idx))
     #load list (if it exists)
     if os.path.isfile(list_filename):
         games_list, games_list_len = filters.read_filtered_list(
             list_filename)
         self.lblTotalGames.set_text(_('%s games' % (games_list_len)))
         gl = [l[0] for l in games_list]
         gl.sort()
         for row in gl:
             self.lsGames.append((row, ))
Пример #6
0
 def menu_selected(self, *args):
     """menu item selected"""
     if len(self.lsOptions) <= 0:
         #no options!
         return
     #get selected item
     menu_desc, menu_item = self.lsOptions[self.sclOptions.get_selected()]
     if self.current_menu == 'main':
         #main menu
         if menu_item == 'random':
             #pick random game
             self.WinMain.sclGames.set_selected(self.WinMain.get_random_game_idx())
             self.WinMain.sclGames.update()
         elif menu_item == 'about':
             #about
             self.show_about_dialog('Wah!Cade', CONFIG_DIR)
             self.WinMain.hide_window('options')
         else:
             #show appropriate menu
             self.set_menu(menu_item, menu_desc)
     elif self.current_menu == 'emu_list':
         #emulator list menu, so switch to selected emulator
         self.WinMain.hide_window('options')
         self.WinMain.load_emulator(menu_item)
     elif self.current_menu == 'game_list':
         #game list menu, so switch to selected list
         self.WinMain.hide_window('options')
         self.WinMain.current_list_idx = int(menu_item)
         self.WinMain.load_list()
     elif self.current_menu == 'list_options':
         #games list options menu
         if menu_item == 'remove_from_list':
             #remove current game from current list
             self.WinMain.remove_current_game()
         else:
             #show menu
             self.set_menu(menu_item, menu_desc)
     elif self.current_menu == 'add_to_list':
         #check game isn't already on list
         new_list_filename = os.path.join(
             CONFIG_DIR,
             'files',
             '%s-%s.lst' % (self.WinMain.current_emu, int(menu_item)))
         selected_game = self.WinMain.lsGames[self.WinMain.sclGames.get_selected()]
         new_list = filters.read_filtered_list(new_list_filename)
         if selected_game not in new_list:
             #add current selected game to chosen game list
             filters.add_game_to_filtered_list(
                 gd = filters.get_game_dict(selected_game),
                 list_filename = new_list_filename)
         self.WinMain.hide_window('options')
     elif self.current_menu == 'generate_ftr':
         #filtered lists
         if menu_item == 'ftr:filter_type':
             #change filter type (display clones)
             self._display_clone_idx += 1
             if self._display_clone_idx > 2:
                 self._display_clone_idx = 0
             self.on_sclOptions_changed()
             self.WinMain.current_filter_changed = True
             self.WinMain.current_filter['filter_type'] = self._display_clone_idx
         else:
             #show filter... menu
             self.set_menu(menu_item, menu_desc)
     elif self.current_menu.startswith('ftr:'):
         #update current filter
         self.WinMain.current_filter_changed = True
         ftr_section = self.WinMain.current_filter[self.current_menu[4:]]
         if self.sclOptions.get_selected() == 0:
             #set all = yes
             for k in ftr_section.keys():
                 ftr_section[k] = True
         elif self.sclOptions.get_selected() == 1:
             #set all = no
             for k in ftr_section.keys():
                 ftr_section[k] = False
         else:
             #set yes / no
             item = self.lsOptions[self.sclOptions.get_selected()][0]
             yesno = (self.lblSettingValue.get_text().lower() == 'yes')
             ftr_section[item] = not yesno
             self.on_sclOptions_changed()
     elif self.current_menu == 'find':
         #find by letter
         self.find_game('add', menu_item[5:])
     elif self.current_menu == 'music':
         if menu_item == 'music_play':
             #play / pause
             #print "music_play"
             self.WinMain.gstMusic.play_toggle()
         elif menu_item == 'next_track':
             self.WinMain.gstMusic.next_track()
         elif menu_item == 'previous_track':
             self.WinMain.gstMusic.previous_track()
         elif menu_item == 'show_music_dir':
             #select music dir
             self.set_menu('music_dir')
     elif self.current_menu == 'music_dir':
         #select music dir
         if menu_item == 'music_dir':
             #dir selected
             if menu_desc == '..':
                 #go to parent dir
                 new_music_dir = os.path.dirname(self.WinMain.gstMusic.current_dir)
             else:
                 #change to selected dir
                 new_music_dir = os.path.join(self.WinMain.gstMusic.current_dir, menu_desc)
             #load dir & play
             tracks = self.WinMain.gstMusic.set_directory(new_music_dir, MUSIC_FILESPEC)
             if len(tracks) > 0:
                 self.WinMain.gstMusic.load_playlist(
                     playlist = tracks,
                     play = True,
                     shuffle = self.WinMain.wahcade_ini.get('shuffle_music', 0))
             #display music menu
             self.set_menu('music_dir')
         elif menu_item == 'music_track':
             #track selected
             new_track = os.path.join(self.WinMain.gstMusic.current_dir, menu_desc)
             #print "self.WinMain.gstMusic.tracks=",self.WinMain.gstMusic.tracks
             idx = self.WinMain.gstMusic.tracks.index(new_track)
             self.WinMain.gstMusic.current_track = idx - 1
             self.WinMain.gstMusic.next_track()
     elif self.current_menu == 'exit':
         if menu_item == 'exit_desktop':
             self.WinMain.exit_wahcade()
         elif menu_item == 'exit_reboot':
             self.WinMain.exit_wahcade('reboot')
         elif menu_item == 'exit_shutdown':
             self.WinMain.exit_wahcade('shutdown')
     else:
         #unhandled menu item
         print "unhandled menu"
         print "  self.current_menu=", self.current_menu
         print "  menu_item=", menu_item
Пример #7
0
 def menu_selected(self, *args):
     """menu item selected"""
     if len(self.lsOptions) <= 0:
         #no options!
         return
     #get selected item
     menu_desc, menu_item = self.lsOptions[self.sclOptions.get_selected()]
     if self.current_menu == 'main':
         #main menu
         if menu_item == 'random':
             #pick random game
             self.WinMain.sclGames.set_selected(
                 self.WinMain.get_random_game_idx())
             self.WinMain.sclGames.update()
         elif menu_item == 'about':
             #about
             self.show_about_dialog('Wah!Cade', CONFIG_DIR)
             self.WinMain.hide_window('options')
         else:
             #show appropriate menu
             self.set_menu(menu_item, menu_desc)
     elif self.current_menu == 'emu_list':
         #emulator list menu, so switch to selected emulator
         self.WinMain.hide_window('options')
         self.WinMain.load_emulator(menu_item)
     elif self.current_menu == 'game_list':
         #game list menu, so switch to selected list
         self.WinMain.hide_window('options')
         self.WinMain.current_list_idx = int(menu_item)
         self.WinMain.load_list()
     elif self.current_menu == 'list_options':
         #games list options menu
         if menu_item == 'remove_from_list':
             #remove current game from current list
             self.WinMain.remove_current_game()
         else:
             #show menu
             self.set_menu(menu_item, menu_desc)
     elif self.current_menu == 'add_to_list':
         #check game isn't already on list
         new_list_filename = os.path.join(
             CONFIG_DIR, 'files',
             '%s-%s.lst' % (self.WinMain.current_emu, int(menu_item)))
         selected_game = self.WinMain.lsGames[
             self.WinMain.sclGames.get_selected()]
         new_list = filters.read_filtered_list(new_list_filename)
         if selected_game not in new_list:
             #add current selected game to chosen game list
             filters.add_game_to_filtered_list(
                 gd=filters.get_game_dict(selected_game),
                 list_filename=new_list_filename)
         self.WinMain.hide_window('options')
     elif self.current_menu == 'generate_ftr':
         #filtered lists
         if menu_item == 'ftr:filter_type':
             #change filter type (display clones)
             self._display_clone_idx += 1
             if self._display_clone_idx > 2:
                 self._display_clone_idx = 0
             self.on_sclOptions_changed()
             self.WinMain.current_filter_changed = True
             self.WinMain.current_filter[
                 'filter_type'] = self._display_clone_idx
         else:
             #show filter... menu
             self.set_menu(menu_item, menu_desc)
     elif self.current_menu.startswith('ftr:'):
         #update current filter
         self.WinMain.current_filter_changed = True
         ftr_section = self.WinMain.current_filter[self.current_menu[4:]]
         if self.sclOptions.get_selected() == 0:
             #set all = yes
             for k in ftr_section.keys():
                 ftr_section[k] = True
         elif self.sclOptions.get_selected() == 1:
             #set all = no
             for k in ftr_section.keys():
                 ftr_section[k] = False
         else:
             #set yes / no
             item = self.lsOptions[self.sclOptions.get_selected()][0]
             yesno = (self.lblSettingValue.get_text().lower() == 'yes')
             ftr_section[item] = not yesno
             self.on_sclOptions_changed()
     elif self.current_menu == 'find':
         #find by letter
         self.find_game('add', menu_item[5:])
     elif self.current_menu == 'music':
         if menu_item == 'music_play':
             #play / pause
             #print "music_play"
             self.WinMain.gstMusic.play_toggle()
         elif menu_item == 'next_track':
             self.WinMain.gstMusic.next_track()
         elif menu_item == 'previous_track':
             self.WinMain.gstMusic.previous_track()
         elif menu_item == 'show_music_dir':
             #select music dir
             self.set_menu('music_dir')
     elif self.current_menu == 'music_dir':
         #select music dir
         if menu_item == 'music_dir':
             #dir selected
             if menu_desc == '..':
                 #go to parent dir
                 new_music_dir = os.path.dirname(
                     self.WinMain.gstMusic.current_dir)
             else:
                 #change to selected dir
                 new_music_dir = os.path.join(
                     self.WinMain.gstMusic.current_dir, menu_desc)
             #load dir & play
             tracks = self.WinMain.gstMusic.set_directory(
                 new_music_dir, MUSIC_FILESPEC)
             if len(tracks) > 0:
                 self.WinMain.gstMusic.load_playlist(
                     playlist=tracks,
                     play=True,
                     shuffle=self.WinMain.wahcade_ini.get(
                         'shuffle_music', 0))
             #display music menu
             self.set_menu('music_dir')
         elif menu_item == 'music_track':
             #track selected
             new_track = os.path.join(self.WinMain.gstMusic.current_dir,
                                      menu_desc)
             #print "self.WinMain.gstMusic.tracks=",self.WinMain.gstMusic.tracks
             idx = self.WinMain.gstMusic.tracks.index(new_track)
             self.WinMain.gstMusic.current_track = idx - 1
             self.WinMain.gstMusic.next_track()
     elif self.current_menu == 'exit':
         if menu_item == 'exit_desktop':
             self.WinMain.exit_wahcade()
         elif menu_item == 'exit_reboot':
             self.WinMain.exit_wahcade('reboot')
         elif menu_item == 'exit_shutdown':
             self.WinMain.exit_wahcade('shutdown')
     else:
         #unhandled menu item
         print "unhandled menu"
         print "  self.current_menu=", self.current_menu
         print "  menu_item=", menu_item