Пример #1
0
 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)