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