Commit 71dc3176a64a4073eda20cd6e2d830170a35f3e9

Authored by Paulo Henrique Junqueira Amorim
1 parent 9d98bc74

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