Ignore:
Timestamp:
03/01/11 21:31:22 (8 years ago)
Author:
aspidites
Message:

Patch by Aspidites

+ restart dialog pops up when the ok button is pressed

  • system needs to be implemented that tracks changes, and perhaps even applies them immediately
Location:
branches/active/character_customization/game/parpg
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • branches/active/character_customization/game/parpg/gui/menus.py

    r767 r768  
    1515 
    1616from fife.extensions import pychan 
     17from dialogs import RestartDialog 
    1718 
    1819class ContextMenu(object): 
     
    8788 
    8889        self.window = pychan.loadXML('gui/settings_menu.xml') 
     90        self.restart_dialog = RestartDialog() 
    8991        self.window.mapEvents({'okButton': self.save, 
    9092                               'cancelButton': self.hide, 
     
    9496 
    9597    def initializeWidgets(self): 
    96         initial_data = dict(screen_resolution=self.resolutions, 
    97                             render_backend=self.render_backends, 
    98                             lighting_model=self.lighting_models) 
     98        initial_data = {'screen_resolution': self.resolutions, 
     99                        'render_backend': self.render_backends, 
     100                        'lighting_model': self.lighting_models} 
    99101 
    100102        self.window.distributeInitialData(initial_data) 
     
    106108        lighting = self.lighting_models.index(self.lighting_model) 
    107109 
    108         self.window.distributeData(dict(screen_resolution=resolution, 
    109                                         render_backend=backend, 
    110                                         lighting_model=lighting, 
    111                                         enable_fullscreen=self.fullscreen, 
    112                                         enable_sound=self.sound)) 
     110        self.window.distributeData({'screen_resolution': resolution, 
     111                                    'render_backend': backend, 
     112                                    'lighting_model': lighting, 
     113                                    'enable_fullscreen': self.fullscreen, 
     114                                    'enable_sound': self.sound}) 
    113115 
    114116    def show(self): 
     
    138140        self.settings.fife.PlaySounds = sound 
    139141        self.settings.write(self.settings.paths[-1]) 
     142        
     143        self.restart_dialog.show() 
    140144        self.hide() 
  • branches/active/character_customization/game/parpg/settings.py

    r767 r768  
    116116                          previously set by foo.cfg. 
    117117            @type paths: either a string or list 
    118             @ivar config_file: Python object representing the settings 
     118            @ivar settings_file: Python object representing the settings 
    119119                               file. Its purpose is to preserve the order of  
    120120                               each section and its options on read and write. 
    121             @type config_file: list 
    122         """ 
    123  
    124         self.config_file = '' 
     121            @type settings_file: list 
     122        """ 
     123 
     124        self.settings_file = '' 
    125125        self.paths = kwargs.get('paths', None) 
    126126        self.filename = kwargs.get('filename', 'settings.ini') 
     
    172172            section = None 
    173173            try: 
    174                 self.config_file = open(location, 'r').readlines() 
     174                self.settings_file = open(location, 'r').readlines() 
    175175            except IOError: 
    176176                pass 
    177177 
    178             for line in self.config_file: 
     178            for line in self.settings_file: 
    179179                if line.startswith('#') or line.strip() == '': 
    180180                    continue 
     
    203203 
    204204        for section in self.sections(): 
    205             if '[{0}]\n'.format(section) not in self.config_file: 
    206                 self.config_file.append('\n[{0}]\n'.format(section)) 
     205            if '[{0}]\n'.format(section) not in self.settings_file: 
     206                self.settings_file.append('\n[{0}]\n'.format(section)) 
    207207                for option, value in getattr(self, section).options().iteritems(): 
    208208                    template = '{0} = {1}\n'.format(option, value) 
    209                     self.config_file.append(template) 
     209                    self.settings_file.append(template) 
    210210            else: 
    211                 start_of_section = (self.config_file 
     211                start_of_section = (self.settings_file 
    212212                                        .index('[{0}]\n'.format(section)) + 1) 
    213213 
     
    220220                    new_option = False 
    221221                    template = '{0} = {1}\n'.format(option, value) 
    222                     for index, line in enumerate(self.config_file[:]): 
     222                    for index, line in enumerate(self.settings_file[:]): 
    223223                        if option in line: 
    224224                            new_option = False 
    225                             self.config_file[index] = template 
     225                            self.settings_file[index] = template 
    226226                            break 
    227227                        else: 
    228228                            new_option = True 
    229229                    if new_option: 
    230                         self.config_file.insert(start_of_section, template) 
     230                        self.settings_file.insert(start_of_section, template) 
    231231 
    232232        location = os.path.join(path, filename) 
    233233        with open(location, 'w') as out_stream: 
    234             for line in self.config_file: 
     234            for line in self.settings_file: 
    235235                out_stream.write(line) 
    236236 
     
    238238        """ Returns a list of existing sections""" 
    239239        sections = self.__dict__.keys() 
    240         sections.pop(sections.index('config_file')) 
     240        sections.pop(sections.index('settings_file')) 
    241241        sections.pop(sections.index('paths')) 
    242242        sections.pop(sections.index('filename')) 
Note: See TracChangeset for help on using the changeset viewer.