...
[iramuteq] / tree.py
diff --git a/tree.py b/tree.py
index 2bbe02b..0745ebd 100644 (file)
--- a/tree.py
+++ b/tree.py
@@ -11,7 +11,7 @@ import logging
 from openanalyse import OpenAnalyse
 from corpus import Corpus, copycorpus
 from tableau import Tableau, copymatrix
-from functions import DoConf, GetTxtProfile, TGen, BugReport
+from functions import DoConf, GetTxtProfile, TGen, BugReport, open_folder
 from profile_segment import ProfileSegment, ProfilType
 from search_tools import SearchFrame
 from dialog import PrefSimpleFile, PrefExport
@@ -399,6 +399,11 @@ class LeftTree(CT.CustomTreeCtrl):
             rename = wx.MenuItem(menu, wx.ID_ANY, _(u"Rename").decode('utf8'))
             rename.SetBitmap(wx.ArtProvider_GetBitmap(wx.ART_TIP, size = (16,16)))
             menu.AppendItem(rename)
+            openfolder = wx.MenuItem(menu, wx.ID_ANY, _(u"Open directory").decode('utf8'))
+            openfolder.SetBitmap(wx.ArtProvider_GetBitmap(wx.ART_FOLDER_OPEN, size = (16,16)))
+            menu.AppendItem(openfolder)           
+            
             menu.AppendSeparator()
     
             if 'corpus_name' in pydata :
@@ -473,6 +478,7 @@ class LeftTree(CT.CustomTreeCtrl):
             self.Bind(wx.EVT_MENU, self.OnItemInfo, info)
             self.Bind(wx.EVT_MENU, self.OnRename, rename)
             self.Bind(wx.EVT_MENU, self.OnItemDelete, itemdelete)
+            self.Bind(wx.EVT_MENU, self.OnOpenFolder, openfolder)
             #self.Bind(wx.EVT_MENU, self.OnItemPrepend, item11)
             #self.Bind(wx.EVT_MENU, self.OnItemAppend, item12)
             
@@ -686,7 +692,7 @@ class LeftTree(CT.CustomTreeCtrl):
         corpus = self.page.corpus
         tgenpath = os.path.join(self.page.parametres['pathout'], 'tgen.csv')        
         if not os.path.exists(tgenpath) :
-            message = wx.MessageDialog(self.parent, _(u"No TGen yet !"), style = wx.ICON_EXCLAMATION | wx.OK) 
+            message = wx.MessageDialog(self.parent, _(u"No TGen yet !").decode('utf8'), style = wx.ICON_EXCLAMATION | wx.OK) 
             message.ShowModal()
             message.Destroy()
         else :
@@ -726,7 +732,7 @@ class LeftTree(CT.CustomTreeCtrl):
         else :
             name = 'name'
         oldname = pydata[name]
-        dlg = wx.TextEntryDialog(self, "Please Enter The New Item Name", 'Item Naming', oldname)
+        dlg = wx.TextEntryDialog(self, _("New Name").decode('utf8'), _(u'Rename').decode('utf8'), oldname)
         if dlg.ShowModal() == wx.ID_OK:
             newname = dlg.GetValue()
             dlg.Destroy()
@@ -738,6 +744,12 @@ class LeftTree(CT.CustomTreeCtrl):
             self.history.update(pydata)
             self.SetItemText(self.current, newname)
             self.EnsureVisible(self.current)
+    
+    def OnOpenFolder(self, evt):
+        try :
+            open_folder(os.path.dirname(self.pydata['ira']))
+        except :
+            print 'cannot open folder %s' % self.pydata.get('ira', 'noirapath')
 
     def OnItemBackground(self, event):
 
@@ -1093,11 +1105,15 @@ class LeftTree(CT.CustomTreeCtrl):
 
         if pydata is not None :
             if 'corpus_name' in pydata or 'corpus' in pydata :
-                self.ira.ShowMenu('text', True)
                 self.ira.ShowMenu('matrix', False)
+                self.ira.ShowMenu('text', True)
             if 'matrix_name' in pydata or 'matrix' in pydata:
                 self.ira.ShowMenu('text', False)
-                self.ira.ShowMenu('matrix', True)                
+                self.ira.ShowMenu('matrix', True)
+            if 'uuid' in pydata :
+                if pydata['uuid'] in ['textroot', 'matroot'] :
+                    self.ira.ShowMenu('text', False)
+                    self.ira.ShowMenu('matrix', False)             
             self.pydata = pydata
             if pydata['uuid'] in self.parent.history.opened :
                 for i in range(self.parent.nb.GetPageCount()) :