Commit 71dc3176a64a4073eda20cd6e2d830170a35f3e9
1 parent
9d98bc74
Exists in
master
and in
68 other branches
FIX: Window showing the selection of languages before the splash screen and after FIX#91
Showing
2 changed files
with
46 additions
and
19 deletions
Show diff stats
invesalius/invesalius.py
| ... | ... | @@ -48,11 +48,9 @@ class SplashScreen(wx.SplashScreen): |
| 48 | 48 | |
| 49 | 49 | session = Session() |
| 50 | 50 | if not (session.ReadSession()): |
| 51 | - session.CreateItens() | |
| 51 | + session.CreateItens() | |
| 52 | 52 | |
| 53 | - lang = session.GetLanguage() | |
| 54 | - | |
| 55 | - if not(lang): | |
| 53 | + if not(session.ReadLanguage()): | |
| 56 | 54 | |
| 57 | 55 | ldlg = lang_dlg.LanguageDialog() |
| 58 | 56 | |
| ... | ... | @@ -67,6 +65,7 @@ class SplashScreen(wx.SplashScreen): |
| 67 | 65 | _ = i18n.InstallLanguage(lang) |
| 68 | 66 | |
| 69 | 67 | else: |
| 68 | + lang = session.GetLanguage() | |
| 70 | 69 | _ = i18n.InstallLanguage(lang) |
| 71 | 70 | |
| 72 | 71 | if (lang.startswith('pt')): #Necessy, pt noted as pt_BR |
| ... | ... | @@ -105,22 +104,14 @@ class SplashScreen(wx.SplashScreen): |
| 105 | 104 | self.fc.Stop() |
| 106 | 105 | |
| 107 | 106 | session = Session() |
| 108 | - if not (session.ReadSession()): | |
| 109 | - session.CreateItens() | |
| 110 | - | |
| 107 | + #if not (session.ReadSession()): | |
| 108 | + # session.CreateItens() | |
| 109 | + | |
| 111 | 110 | lang = session.GetLanguage() |
| 111 | + print lang | |
| 112 | 112 | |
| 113 | - if not(lang): | |
| 114 | - | |
| 115 | - ldlg = lang_dlg.LanguageDialog() | |
| 116 | - if (ldlg.ShowModal() == wx.ID_OK): | |
| 117 | - lang = ldlg.GetSelectedLanguage() | |
| 118 | - session.SetLanguage(lang) | |
| 119 | - i18n.InstallLanguage(lang) | |
| 120 | - self.ShowMain() | |
| 121 | - else: | |
| 122 | - i18n.InstallLanguage(lang) | |
| 123 | - self.ShowMain() | |
| 113 | + i18n.InstallLanguage(lang) | |
| 114 | + self.ShowMain() | |
| 124 | 115 | |
| 125 | 116 | |
| 126 | 117 | def ShowMain(self): | ... | ... |
invesalius/session.py
| ... | ... | @@ -17,7 +17,7 @@ class Session(object): |
| 17 | 17 | def __init__(self): |
| 18 | 18 | # ? |
| 19 | 19 | self.temp_item = False |
| 20 | - | |
| 20 | + | |
| 21 | 21 | ws = self.ws = WriteSession(self) |
| 22 | 22 | ws.start() |
| 23 | 23 | |
| ... | ... | @@ -48,6 +48,8 @@ class Session(object): |
| 48 | 48 | # Recent projects list |
| 49 | 49 | self.recent_projects = [] |
| 50 | 50 | |
| 51 | + self.CreateSessionFile() | |
| 52 | + | |
| 51 | 53 | def StopRecording(self, pubsub_evt): |
| 52 | 54 | self.ws.Stop() |
| 53 | 55 | |
| ... | ... | @@ -96,6 +98,28 @@ class Session(object): |
| 96 | 98 | path = os.path.join(dirpath, file) |
| 97 | 99 | os.remove(path) |
| 98 | 100 | self.temp_item = False |
| 101 | + | |
| 102 | + def CreateSessionFile(self): | |
| 103 | + | |
| 104 | + config = ConfigParser.RawConfigParser() | |
| 105 | + | |
| 106 | + config.add_section('session') | |
| 107 | + config.set('session', 'mode', self.mode) | |
| 108 | + config.set('session', 'status', self.project_status) | |
| 109 | + config.set('session','debug', self.debug) | |
| 110 | + config.set('session', 'language', self.language) | |
| 111 | + | |
| 112 | + config.add_section('project') | |
| 113 | + config.set('project', 'recent_projects', self.recent_projects) | |
| 114 | + | |
| 115 | + config.add_section('paths') | |
| 116 | + config.set('paths','homedir',self.homedir) | |
| 117 | + config.set('paths','tempdir',self.tempdir) | |
| 118 | + path = os.path.join(self.homedir , | |
| 119 | + '.invesalius', 'config.cfg') | |
| 120 | + configfile = open(path, 'wb') | |
| 121 | + config.write(configfile) | |
| 122 | + configfile.close() | |
| 99 | 123 | |
| 100 | 124 | |
| 101 | 125 | def __add_to_list(self, item): |
| ... | ... | @@ -133,6 +157,17 @@ class Session(object): |
| 133 | 157 | def SetLanguage(self, language): |
| 134 | 158 | self.language = language |
| 135 | 159 | |
| 160 | + def ReadLanguage(self): | |
| 161 | + config = ConfigParser.ConfigParser() | |
| 162 | + home_path = os.path.expanduser('~') | |
| 163 | + path = os.path.join(home_path ,'.invesalius', 'config.cfg') | |
| 164 | + try: | |
| 165 | + config.read(path) | |
| 166 | + self.language = config.get('session','language') | |
| 167 | + return self.language | |
| 168 | + except(ConfigParser.NoSectionError, ConfigParser.NoOptionError): | |
| 169 | + return False | |
| 170 | + | |
| 136 | 171 | def ReadSession(self): |
| 137 | 172 | |
| 138 | 173 | config = ConfigParser.ConfigParser() |
| ... | ... | @@ -151,6 +186,7 @@ class Session(object): |
| 151 | 186 | except(ConfigParser.NoSectionError, ConfigParser.NoOptionError): |
| 152 | 187 | return False |
| 153 | 188 | |
| 189 | + | |
| 154 | 190 | class WriteSession(Thread): |
| 155 | 191 | |
| 156 | 192 | def __init__ (self, session): | ... | ... |