Exemple #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()
Exemple #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()
Exemple #3
0
 def create_initial_filter(self):
     """create the initial (mame-0.ftr) filter"""
     #show message
     self.DlgWait = DlgWait(SETUP_GLADE_FILE, 'dlgWait')
     #create initial filer
     list_filename = os.path.join(CONFIG_DIR, 'files',
                                  '%s-0.lst' % (self.emu_name))
     self.do_events()
     filters.create_initial_filter(
         self.emu_ini.get('dat_file'),
         os.path.join(CONFIG_DIR, 'files', '%s-0.ftr' % (self.emu_name)),
         list_filename, self.emu_ini, self.dlgwait_pulse)
     self.DlgWait.dlgWait.destroy()
Exemple #4
0
 def create_initial_filter(self):
     """create the initial (mame-0.ftr) filter"""
     #show message
     self.DlgWait = DlgWait(SETUP_GLADE_FILE, 'dlgWait')
     #create initial filer
     list_filename = os.path.join(self.config_dir, 'files', '%s-0.lst' % (self.emu_name))
     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)),
         list_filename,
         self.emu_ini,
         self.dlgwait_pulse)
     self.DlgWait.dlgWait.destroy()
Exemple #5
0
 def set_menu(self, menu_level, heading=''):
     """setup options list to given menu"""
     #get menu heading if not supplied
     if heading == '':
         for v in self._menus.values():
             for ml in v:
                 if ml[1] == menu_level:
                     heading = ml[0]
     #default heading
     if heading == '':
         heading = _('Options')
     #set labels
     self.lblHeading.set_text(heading)
     self.lblSettingHeading.set_text(_('Current Setting:'))
     self.lblSettingValue.set_text('')
     self.lsOptions = []
     #which menu?
     self.current_menu = menu_level
     #hide stuff if necessary
     if menu_level == 'main':
         #hide "select platform" if only one emu in list
         if len(self.WinMain.emu_lists) == 1:
             self._menus[menu_level][0][0] = '**HIDE**'
         #hide "music" menu
         if not self.WinMain.music_enabled:
             self._menus[menu_level][5][0] = '**HIDE**'
     elif menu_level == 'exit':
         #hide shutdown & reboot menu
         if not dbus_imported:
             self._menus[menu_level][1][0] = '**HIDE**'
             self._menus[menu_level][2][0] = '**HIDE**'
     #show menu
     if menu_level == 'emu_list':
         #show all emulators
         self.lblSettingValue.set_text(self.WinMain.emu_ini.get('emulator_title'))
         for emu_title, emu_name, e in self.WinMain.emu_lists:
             self.lsOptions.append([emu_title, emu_name])
             self.sclOptions.set_selected(0)
     elif menu_level == 'game_list':
         #show all game lists
         self.lblSettingValue.set_text(self.WinMain.current_list_ini.get('list_title'))
         for list_name, idx, cycle_list in self.WinMain.game_lists:
             self.lsOptions.append([list_name, idx])
             self.sclOptions.set_selected(self.WinMain.current_list_idx)
     elif menu_level == 'add_to_list':
         #show "normal" game lists
         self.lblSettingValue.set_text(self.WinMain.current_list_ini.get('list_title'))
         for list_name, idx, cycle_list in self.WinMain.game_lists_normal:
             if list_name != self.WinMain.current_list_ini.get('list_title'):
                 self.lsOptions.append([list_name, idx])
         self.sclOptions.set_selected(0)
     elif menu_level == 'find':
         #find by letter
         [self.lsOptions.append([c, 'find:%s' % (c)]) for c in '%s%s' % (string.uppercase, string.digits)]
     elif menu_level == 'list_options':
         #show game list options menu
         self.sclOptions.set_selected(0)
         if self.WinMain.current_list_idx == 0:
             #list 0, so display "generate list" instead of "generate filtered list"
             self.lsOptions.append(self._menus[menu_level][0])
             self.lsOptions.append(self._menus[menu_level][1])
             self.lsOptions.append(self._menus[menu_level][3])
         else:
             #all other lists
             [self.lsOptions.append(menu_item) for menu_item in self._menus[menu_level][:3]]
     elif menu_level == 'generate_list':
         #re-create initial filter
         self.lblHeading.set_text(_('Please Wait...'))
         self.lblSettingHeading.set_text(_('Generating new games list...'))
         self.do_events()
         filter_file = os.path.join(
             CONFIG_DIR,
             'files',
             '%s-%s.ftr' % (self.WinMain.current_emu, self.WinMain.current_list_idx))
         filters.create_initial_filter(
             self.WinMain.emu_ini.get('dat_file'),
             filter_file,
             os.path.join(
                 CONFIG_DIR,
                 'files',
                 '%s-0.lst' % (self.WinMain.current_emu)),
             self.WinMain.emu_ini)
         self.WinMain.load_list()
         self.WinMain.hide_window('options')
     elif menu_level == 'generate_ftr':
         #display filter categories menu
         self._display_clone_idx = int(self.WinMain.current_filter['filter_type'])
         self.sclOptions.set_selected(0)
         [self.lsOptions.append(menu_item) for menu_item in self._menus[menu_level]]
     elif menu_level.startswith('ftr:'):
         #display a specific filter menu...
         self.sclOptions.set_selected(0)
         #get title
         for mdesc, mcode in self._menus['generate_ftr']:
             if mcode == menu_level:
                 title = mdesc
                 break
         self.lblHeading.set_text(title)
         #display all items in filter
         for filt_item in self.WinMain.current_filter[menu_level[4:]].keys():
             self.lsOptions.append([filt_item, filt_item])
         self.lsOptions.sort()
         self.lsOptions.insert(0, [_('Show ALL'), 'all'])
         self.lsOptions.insert(1, [_('Show NONE'), 'none'])
     elif menu_level == 'generate_new_list':
         #generate new filtered games list
         self.lblHeading.set_text(_('Please Wait...'))
         self.lblSettingHeading.set_text(_('Generating new filtered games list...'))
         self.do_events()
         #save current filter
         filters.write_filter(
             self.WinMain.current_filter,
             os.path.join(
                 CONFIG_DIR,
                 'files',
                 '%s-%s.ftr' % (self.WinMain.current_emu, self.WinMain.current_list_idx)))
         #create list from the just saved filter
         filters.create_filtered_list(
             os.path.join(
                 CONFIG_DIR,
                 'files',
                 '%s-0.lst' % (self.WinMain.current_emu)),
             self.WinMain.current_filter,
             os.path.join(
                 CONFIG_DIR,
                 'files',
                 '%s-%s.lst' % (self.WinMain.current_emu, self.WinMain.current_list_idx)))
         self.WinMain.load_list()
         self.WinMain.hide_window('options')
     elif menu_level == 'music_dir':
         #display contents of current music dir
         #print "music dir=", self.WinMain.gstMusic.current_dir
         self.lblHeading.set_text(self.WinMain.gstMusic.current_dir)
         dir_files, music_files = self.get_music_files(self.WinMain.gstMusic.current_dir)
         self.sclOptions.set_selected(0)
         for df in dir_files:
             self.lsOptions.append([df, 'music_dir'])
         for mf in music_files:
             self.lsOptions.append([mf, 'music_track'])
     else:
         #show appropriate menu
         self.sclOptions.set_selected(0)
         #[self.lsOptions.append(menu_item) for menu_item in self._menus[menu_level]]
         [self.lsOptions.append(m) for m in self._menus[menu_level] if m[0] != '**HIDE**']
     #update list widget
     self.sclOptions.ls = [l[0] for l in self.lsOptions]
     self.sclOptions.set_selected(self.sclOptions.get_selected())
Exemple #6
0
 def set_menu(self, menu_level, heading=''):
     """setup options list to given menu"""
     #get menu heading if not supplied
     if heading == '':
         for v in self._menus.values():
             for ml in v:
                 if ml[1] == menu_level:
                     heading = ml[0]
     #default heading
     if heading == '':
         heading = _('Options')
     #set labels
     self.lblHeading.set_text(heading)
     self.lblSettingHeading.set_text(_('Current Setting:'))
     self.lblSettingValue.set_text('')
     self.lsOptions = []
     #which menu?
     self.current_menu = menu_level
     #hide stuff if necessary
     if menu_level == 'main':
         #hide "select platform" if only one emu in list
         if len(self.WinMain.emu_lists) == 1:
             self._menus[menu_level][0][0] = '**HIDE**'
         #hide "music" menu
         if not self.WinMain.music_enabled:
             self._menus[menu_level][5][0] = '**HIDE**'
     elif menu_level == 'exit':
         #hide shutdown & reboot menu
         if not dbus_imported:
             self._menus[menu_level][1][0] = '**HIDE**'
             self._menus[menu_level][2][0] = '**HIDE**'
     #show menu
     if menu_level == 'emu_list':
         #show all emulators
         self.lblSettingValue.set_text(
             self.WinMain.emu_ini.get('emulator_title'))
         for emu_title, emu_name, e in self.WinMain.emu_lists:
             self.lsOptions.append([emu_title, emu_name])
             self.sclOptions.set_selected(0)
     elif menu_level == 'game_list':
         #show all game lists
         self.lblSettingValue.set_text(
             self.WinMain.current_list_ini.get('list_title'))
         for list_name, idx, cycle_list in self.WinMain.game_lists:
             self.lsOptions.append([list_name, idx])
             self.sclOptions.set_selected(self.WinMain.current_list_idx)
     elif menu_level == 'add_to_list':
         #show "normal" game lists
         self.lblSettingValue.set_text(
             self.WinMain.current_list_ini.get('list_title'))
         for list_name, idx, cycle_list in self.WinMain.game_lists_normal:
             if list_name != self.WinMain.current_list_ini.get(
                     'list_title'):
                 self.lsOptions.append([list_name, idx])
         self.sclOptions.set_selected(0)
     elif menu_level == 'find':
         #find by letter
         [
             self.lsOptions.append([c, 'find:%s' % (c)])
             for c in '%s%s' % (string.uppercase, string.digits)
         ]
     elif menu_level == 'list_options':
         #show game list options menu
         self.sclOptions.set_selected(0)
         if self.WinMain.current_list_idx == 0:
             #list 0, so display "generate list" instead of "generate filtered list"
             self.lsOptions.append(self._menus[menu_level][0])
             self.lsOptions.append(self._menus[menu_level][1])
             self.lsOptions.append(self._menus[menu_level][3])
         else:
             #all other lists
             [
                 self.lsOptions.append(menu_item)
                 for menu_item in self._menus[menu_level][:3]
             ]
     elif menu_level == 'generate_list':
         #re-create initial filter
         self.lblHeading.set_text(_('Please Wait...'))
         self.lblSettingHeading.set_text(_('Generating new games list...'))
         self.do_events()
         filter_file = os.path.join(
             CONFIG_DIR, 'files', '%s-%s.ftr' %
             (self.WinMain.current_emu, self.WinMain.current_list_idx))
         filters.create_initial_filter(
             self.WinMain.emu_ini.get('dat_file'), filter_file,
             os.path.join(CONFIG_DIR, 'files',
                          '%s-0.lst' % (self.WinMain.current_emu)),
             self.WinMain.emu_ini)
         self.WinMain.load_list()
         self.WinMain.hide_window('options')
     elif menu_level == 'generate_ftr':
         #display filter categories menu
         self._display_clone_idx = int(
             self.WinMain.current_filter['filter_type'])
         self.sclOptions.set_selected(0)
         [
             self.lsOptions.append(menu_item)
             for menu_item in self._menus[menu_level]
         ]
     elif menu_level.startswith('ftr:'):
         #display a specific filter menu...
         self.sclOptions.set_selected(0)
         #get title
         for mdesc, mcode in self._menus['generate_ftr']:
             if mcode == menu_level:
                 title = mdesc
                 break
         self.lblHeading.set_text(title)
         #display all items in filter
         for filt_item in self.WinMain.current_filter[
                 menu_level[4:]].keys():
             self.lsOptions.append([filt_item, filt_item])
         self.lsOptions.sort()
         self.lsOptions.insert(0, [_('Show ALL'), 'all'])
         self.lsOptions.insert(1, [_('Show NONE'), 'none'])
     elif menu_level == 'generate_new_list':
         #generate new filtered games list
         self.lblHeading.set_text(_('Please Wait...'))
         self.lblSettingHeading.set_text(
             _('Generating new filtered games list...'))
         self.do_events()
         #save current filter
         filters.write_filter(
             self.WinMain.current_filter,
             os.path.join(
                 CONFIG_DIR, 'files', '%s-%s.ftr' %
                 (self.WinMain.current_emu, self.WinMain.current_list_idx)))
         #create list from the just saved filter
         filters.create_filtered_list(
             os.path.join(CONFIG_DIR, 'files',
                          '%s-0.lst' % (self.WinMain.current_emu)),
             self.WinMain.current_filter,
             os.path.join(
                 CONFIG_DIR, 'files', '%s-%s.lst' %
                 (self.WinMain.current_emu, self.WinMain.current_list_idx)))
         self.WinMain.load_list()
         self.WinMain.hide_window('options')
     elif menu_level == 'music_dir':
         #display contents of current music dir
         #print "music dir=", self.WinMain.gstMusic.current_dir
         self.lblHeading.set_text(self.WinMain.gstMusic.current_dir)
         dir_files, music_files = self.get_music_files(
             self.WinMain.gstMusic.current_dir)
         self.sclOptions.set_selected(0)
         for df in dir_files:
             self.lsOptions.append([df, 'music_dir'])
         for mf in music_files:
             self.lsOptions.append([mf, 'music_track'])
     else:
         #show appropriate menu
         self.sclOptions.set_selected(0)
         #[self.lsOptions.append(menu_item) for menu_item in self._menus[menu_level]]
         [
             self.lsOptions.append(m) for m in self._menus[menu_level]
             if m[0] != '**HIDE**'
         ]
     #update list widget
     self.sclOptions.ls = [l[0] for l in self.lsOptions]
     self.sclOptions.set_selected(self.sclOptions.get_selected())
Exemple #7
0
 def set_menu(self, menu_level, heading=""):
     """setup options list to given menu"""
     # get menu heading if not supplied
     if heading == "":
         for v in self._menus.values():
             for ml in v:
                 if ml[1] == menu_level:
                     heading = ml[0]
     # default heading
     if heading == "":
         heading = _("Options")
     # set labels
     self.lblHeading.set_text(heading)
     self.lblSettingHeading.set_text(_("Current Setting:"))
     self.lblSettingValue.set_text("")
     self.lsOptions = []
     # which menu?
     self.current_menu = menu_level
     # hide stuff if necessary
     if menu_level == "main":
         # hide "select platform" if only one emu in list
         if len(self.WinMain.emu_lists) == 1:
             self._menus[menu_level][0][0] = "**HIDE**"
         # hide "music" menu
         if not self.WinMain.music_enabled:
             self._menus[menu_level][5][0] = "**HIDE**"
     elif menu_level == "exit":
         # hide shutdown & reboot menu
         if not dbus_imported:
             self._menus[menu_level][1][0] = "**HIDE**"
             self._menus[menu_level][2][0] = "**HIDE**"
     # show menu
     if menu_level == "emu_list":
         # show all emulators
         self.lblSettingValue.set_text(self.WinMain.emu_ini.get("emulator_title"))
         for emu_title, emu_name in self.WinMain.emu_lists:
             self.lsOptions.append([emu_title, emu_name])
             self.sclOptions.set_selected(0)
     elif menu_level == "game_list":
         # show all game lists
         self.lblSettingValue.set_text(self.WinMain.current_list_ini.get("list_title"))
         for list_name, idx, cycle_list in self.WinMain.game_lists:
             self.lsOptions.append([list_name, idx])
             self.sclOptions.set_selected(self.WinMain.current_list_idx)
     elif menu_level == "add_to_list":
         # show "normal" game lists
         self.lblSettingValue.set_text(self.WinMain.current_list_ini.get("list_title"))
         for list_name, idx, cycle_list in self.WinMain.game_lists_normal:
             if list_name != self.WinMain.current_list_ini.get("list_title"):
                 self.lsOptions.append([list_name, idx])
         self.sclOptions.set_selected(0)
     elif menu_level == "find":
         # find by letter
         [self.lsOptions.append([c, "find:%s" % (c)]) for c in "%s%s" % (string.uppercase, string.digits)]
     elif menu_level == "list_options":
         # show game list options menu
         self.sclOptions.set_selected(0)
         if self.WinMain.current_list_idx == 0:
             # list 0, so display "generate list" instead of "generate filtered list"
             self.lsOptions.append(self._menus[menu_level][0])
             self.lsOptions.append(self._menus[menu_level][1])
             self.lsOptions.append(self._menus[menu_level][3])
         else:
             # all other lists
             [self.lsOptions.append(menu_item) for menu_item in self._menus[menu_level][:3]]
     elif menu_level == "generate_list":
         # re-create initial filter
         self.lblHeading.set_text(_("Please Wait..."))
         self.lblSettingHeading.set_text(_("Generating new games list..."))
         self.do_events()
         filter_file = os.path.join(
             self.WinMain.config_dir,
             "files",
             "%s-%s.ftr" % (self.WinMain.current_emu, self.WinMain.current_list_idx),
         )
         filters.create_initial_filter(
             self.WinMain.emu_ini.get("dat_file"),
             filter_file,
             os.path.join(self.WinMain.config_dir, "files", "%s-0.lst" % (self.WinMain.current_emu)),
             self.WinMain.emu_ini,
         )
         self.WinMain.load_list()
         self.WinMain.hide_window("options")
     elif menu_level == "generate_ftr":
         # display filter categories menu
         self._display_clone_idx = int(self.WinMain.current_filter["filter_type"])
         self.sclOptions.set_selected(0)
         [self.lsOptions.append(menu_item) for menu_item in self._menus[menu_level]]
     elif menu_level.startswith("ftr:"):
         # display a specific filter menu...
         self.sclOptions.set_selected(0)
         # get title
         for mdesc, mcode in self._menus["generate_ftr"]:
             if mcode == menu_level:
                 title = mdesc
                 break
         self.lblHeading.set_text(title)
         # display all items in filter
         for filt_item in self.WinMain.current_filter[menu_level[4:]].keys():
             self.lsOptions.append([filt_item, filt_item])
         self.lsOptions.sort()
         self.lsOptions.insert(0, [_("Show ALL"), "all"])
         self.lsOptions.insert(1, [_("Show NONE"), "none"])
     elif menu_level == "generate_new_list":
         # generate new filtered games list
         self.lblHeading.set_text(_("Please Wait..."))
         self.lblSettingHeading.set_text(_("Generating new filtered games list..."))
         self.do_events()
         # save current filter
         filters.write_filter(
             self.WinMain.current_filter,
             os.path.join(
                 self.WinMain.config_dir,
                 "files",
                 "%s-%s.ftr" % (self.WinMain.current_emu, self.WinMain.current_list_idx),
             ),
         )
         # create list from the just saved filter
         filters.create_filtered_list(
             os.path.join(self.WinMain.config_dir, "files", "%s-0.lst" % (self.WinMain.current_emu)),
             self.WinMain.current_filter,
             os.path.join(
                 self.WinMain.config_dir,
                 "files",
                 "%s-%s.lst" % (self.WinMain.current_emu, self.WinMain.current_list_idx),
             ),
         )
         self.WinMain.load_list()
         self.WinMain.hide_window("options")
     elif menu_level == "music_dir":
         # display contents of current music dir
         # print "music dir=", self.WinMain.gstMusic.current_dir
         self.lblHeading.set_text(self.WinMain.gstMusic.current_dir)
         dir_files, music_files = self.get_music_files(self.WinMain.gstMusic.current_dir)
         self.sclOptions.set_selected(0)
         for df in dir_files:
             self.lsOptions.append([df, "music_dir"])
         for mf in music_files:
             self.lsOptions.append([mf, "music_track"])
     else:
         # show appropriate menu
         self.sclOptions.set_selected(0)
         # [self.lsOptions.append(menu_item) for menu_item in self._menus[menu_level]]
         [self.lsOptions.append(m) for m in self._menus[menu_level] if m[0] != "**HIDE**"]
     # update list widget
     self.sclOptions.ls = [l[0] for l in self.lsOptions]
     self.sclOptions.set_selected(self.sclOptions.get_selected())