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,11 +48,9 @@ class SplashScreen(wx.SplashScreen): | ||
| 48 | 48 | ||
| 49 | session = Session() | 49 | session = Session() |
| 50 | if not (session.ReadSession()): | 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 | ldlg = lang_dlg.LanguageDialog() | 55 | ldlg = lang_dlg.LanguageDialog() |
| 58 | 56 | ||
| @@ -67,6 +65,7 @@ class SplashScreen(wx.SplashScreen): | @@ -67,6 +65,7 @@ class SplashScreen(wx.SplashScreen): | ||
| 67 | _ = i18n.InstallLanguage(lang) | 65 | _ = i18n.InstallLanguage(lang) |
| 68 | 66 | ||
| 69 | else: | 67 | else: |
| 68 | + lang = session.GetLanguage() | ||
| 70 | _ = i18n.InstallLanguage(lang) | 69 | _ = i18n.InstallLanguage(lang) |
| 71 | 70 | ||
| 72 | if (lang.startswith('pt')): #Necessy, pt noted as pt_BR | 71 | if (lang.startswith('pt')): #Necessy, pt noted as pt_BR |
| @@ -105,22 +104,14 @@ class SplashScreen(wx.SplashScreen): | @@ -105,22 +104,14 @@ class SplashScreen(wx.SplashScreen): | ||
| 105 | self.fc.Stop() | 104 | self.fc.Stop() |
| 106 | 105 | ||
| 107 | session = Session() | 106 | session = Session() |
| 108 | - if not (session.ReadSession()): | ||
| 109 | - session.CreateItens() | ||
| 110 | - | 107 | + #if not (session.ReadSession()): |
| 108 | + # session.CreateItens() | ||
| 109 | + | ||
| 111 | lang = session.GetLanguage() | 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 | def ShowMain(self): | 117 | def ShowMain(self): |
invesalius/session.py
| @@ -17,7 +17,7 @@ class Session(object): | @@ -17,7 +17,7 @@ class Session(object): | ||
| 17 | def __init__(self): | 17 | def __init__(self): |
| 18 | # ? | 18 | # ? |
| 19 | self.temp_item = False | 19 | self.temp_item = False |
| 20 | - | 20 | + |
| 21 | ws = self.ws = WriteSession(self) | 21 | ws = self.ws = WriteSession(self) |
| 22 | ws.start() | 22 | ws.start() |
| 23 | 23 | ||
| @@ -48,6 +48,8 @@ class Session(object): | @@ -48,6 +48,8 @@ class Session(object): | ||
| 48 | # Recent projects list | 48 | # Recent projects list |
| 49 | self.recent_projects = [] | 49 | self.recent_projects = [] |
| 50 | 50 | ||
| 51 | + self.CreateSessionFile() | ||
| 52 | + | ||
| 51 | def StopRecording(self, pubsub_evt): | 53 | def StopRecording(self, pubsub_evt): |
| 52 | self.ws.Stop() | 54 | self.ws.Stop() |
| 53 | 55 | ||
| @@ -96,6 +98,28 @@ class Session(object): | @@ -96,6 +98,28 @@ class Session(object): | ||
| 96 | path = os.path.join(dirpath, file) | 98 | path = os.path.join(dirpath, file) |
| 97 | os.remove(path) | 99 | os.remove(path) |
| 98 | self.temp_item = False | 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 | def __add_to_list(self, item): | 125 | def __add_to_list(self, item): |
| @@ -133,6 +157,17 @@ class Session(object): | @@ -133,6 +157,17 @@ class Session(object): | ||
| 133 | def SetLanguage(self, language): | 157 | def SetLanguage(self, language): |
| 134 | self.language = language | 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 | def ReadSession(self): | 171 | def ReadSession(self): |
| 137 | 172 | ||
| 138 | config = ConfigParser.ConfigParser() | 173 | config = ConfigParser.ConfigParser() |
| @@ -151,6 +186,7 @@ class Session(object): | @@ -151,6 +186,7 @@ class Session(object): | ||
| 151 | except(ConfigParser.NoSectionError, ConfigParser.NoOptionError): | 186 | except(ConfigParser.NoSectionError, ConfigParser.NoOptionError): |
| 152 | return False | 187 | return False |
| 153 | 188 | ||
| 189 | + | ||
| 154 | class WriteSession(Thread): | 190 | class WriteSession(Thread): |
| 155 | 191 | ||
| 156 | def __init__ (self, session): | 192 | def __init__ (self, session): |