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): |