--- a/util/FileManagementPanel.py Thu Jun 28 16:42:07 2012 +0200
+++ b/util/FileManagementPanel.py Sun Jul 01 23:20:19 2012 +0200
@@ -268,7 +268,8 @@
for idx, (name, bitmap, help) in enumerate([
("DeleteButton", "remove_element", _("Remove file from left folder")),
("LeftCopyButton", "LeftCopy", _("Copy file from right folder to left")),
- ("RightCopyButton", "RightCopy", _("copy file from left folder to right"))]):
+ ("RightCopyButton", "RightCopy", _("copy file from left folder to right")),
+ ("EditButton", "edit", _("Edit file"))]):
button = wx.lib.buttons.GenBitmapButton(self.Editor,
bitmap=GetBitmap(bitmap),
size=wx.Size(28, 28), style=wx.NO_BORDER)
@@ -311,6 +312,9 @@
self.Controler = controler
+ self.EditableFileExtensions = []
+ self.EditButton.Hide()
+
self.SetIcon(GetBitmap("FOLDER"))
def __del__(self):
@@ -319,6 +323,11 @@
def GetTitle(self):
return self.TagName
+ def SetEditableFileExtensions(self, extensions):
+ self.EditableFileExtensions = extensions
+ if len(self.EditableFileExtensions) > 0:
+ self.EditButton.Show()
+
def RefreshView(self):
self.ManagedDir.RefreshTree()
self.SystemDir.RefreshTree()
@@ -331,6 +340,10 @@
self.DeleteButton.Enable(os.path.isfile(managed_filepath))
self.LeftCopyButton.Enable(os.path.isfile(system_filepath))
self.RightCopyButton.Enable(os.path.isfile(managed_filepath))
+ if len(self.EditableFileExtensions) > 0:
+ self.EditButton.Enable(
+ os.path.isfile(managed_filepath) and
+ os.path.splitext(managed_filepath)[1] in self.EditableFileExtensions)
def OnTreeItemChanged(self, event):
self.RefreshButtonsState()
@@ -352,6 +365,13 @@
self.ManagedDir.RefreshTree()
event.Skip()
+ def OnEditButton(self, event):
+ filepath = self.ManagedDir.GetPath()
+ if (os.path.isfile(filepath) and
+ os.path.splitext(filepath)[1] in self.EditableFileExtensions):
+ self.Controler._OpenView(filepath)
+ event.Skip()
+
def CopyFile(self, src, dst):
if os.path.isfile(src):
src_folder, src_filename = os.path.split(src)