def OnStoreButton(self, event=None): # handle 'Start new file from template and store my work' request global KeyPressHash self.DisableKeypresses() # retrieve the target template filename from the dropdown box SettingsMgr = SettingsManager() TargetTemplateStub = self.tc.GetStringSelection() TargetTemplateFile = self.avail_templates[TargetTemplateStub] if IsReadableFile(TargetTemplateFile): # get a default directory in which to store the project try: DefDir = SettingsMgr.get_config('NewProjDir') except KeyError: # No default dir found in settings: store one DefDir = SettingsMgr.get_value('UserHomeDir') SettingsMgr.set_value('NewProjDir', DefDir) # get default extension for project files ProjFileExt = SettingsMgr.get_config('ProjFileExt') # get a filename to store the project (StoreLocOK, ProjFilename) = GetFilenameForSave( DialogueParentFrame=self, DialogueTitle=_('Vizop needs a filename for your new project'), DefaultDir=DefDir, DefaultFile='', Wildcard='', DefaultExtension=ProjFileExt) if StoreLocOK: # set dialogue box's return data: TargetTemplateFile (str), ProjFilename (str), SaveOnFly (bool) self.ReturnData = (TargetTemplateFile, ProjFilename, True) SettingsMgr.set_value('NewProjDir', os.path.dirname(ProjFilename)) # close the template selection dialogue box self.EndModal(wx.ID_OK) else: # we're returning to template selection dialogue: reinstate keyboard shortcuts self.ReinstateKeypresses() else: # there was a problem with the template file; pop up a message i = wx.MessageBox( _('Vizop says sorry'), (_("Template %s can't be opened") % TargetTemplateStub), style=wx.OK)