def OnMenu(self, evt): """Handle the context menu events for performing filesystem operations """ e_id = evt.GetId() path = self.GetItemPath(self._treeId) paths = self.GetPaths() ok = (False, '') if e_id == ID_EDIT: self.OpenFiles(paths) elif e_id == ID_OPEN: worker = OpenerThread(paths) worker.start() elif e_id == ID_REVEAL: worker = OpenerThread([os.path.dirname(fname) for fname in paths]) worker.start() elif e_id == ID_SEARCH_DIR: paths = self.GetPaths() if len(paths): path = paths[0] # Go off of the first selected item if not os.path.isdir(path): path = os.path.dirname(path) mdata = dict(mainw=self._mw, lookin=path) ed_msg.PostMessage(ed_msg.EDMSG_FIND_SHOW_DLG, mdata) elif e_id == ID_GETINFO: last = None for fname in paths: info = ed_mdlg.EdFileInfoDlg(self.GetTopLevelParent(), fname) if last is None: info.CenterOnParent() else: lpos = last.GetPosition() info.SetPosition((lpos[0] + 14, lpos[1] + 14)) info.Show() last = info elif e_id == ID_RENAME: self._tree.EditLabel(self._treeId) elif e_id == ID_NEW_FOLDER: ok = ebmlib.MakeNewFolder(path, _("Untitled_Folder")) elif e_id == ID_NEW_FILE: ok = ebmlib.MakeNewFile(path, _("Untitled_File") + ".txt") elif e_id == ID_DUPLICATE: for fname in paths: ok = DuplicatePath(fname) elif e_id == ID_ARCHIVE: ok = MakeArchive(path) elif e_id == ID_DELETE: Trash.moveToTrash(paths) ok = (True, os.path.dirname(path)) else: evt.Skip() return if e_id in (ID_NEW_FOLDER, ID_NEW_FILE, ID_DUPLICATE, ID_ARCHIVE, ID_DELETE): if ok[0]: self.ReCreateTree() self._SCommand(self.SetPath, ok[1])
def OnMenu(self, evt): """Handle the context menu events for performing filesystem operations """ e_id = evt.GetId() path = self.GetItemPath(self._treeId) paths = self.GetPaths() ok = (False, '') if e_id == ID_EDIT: self.OpenFiles(paths) elif e_id == ID_OPEN: worker = OpenerThread(paths) worker.start() elif e_id == ID_REVEAL: worker = OpenerThread([os.path.dirname(fname) for fname in paths]) worker.start() elif e_id == ID_SEARCH_DIR: paths = self.GetPaths() if len(paths): path = paths[0] # Go off of the first selected item if not os.path.isdir(path): path = os.path.dirname(path) mdata = dict(mainw=self._mw, lookin=path) ed_msg.PostMessage(ed_msg.EDMSG_FIND_SHOW_DLG, mdata) elif e_id == ID_GETINFO: last = None for fname in paths: info = ed_mdlg.EdFileInfoDlg(self.GetTopLevelParent(), fname) if last is None: info.CenterOnParent() else: lpos = last.GetPosition() info.SetPosition((lpos[0] + 14, lpos[1] + 14)) info.Show() last = info elif e_id == ID_RENAME: self._tree.EditLabel(self._treeId) elif e_id == ID_NEW_FOLDER: ok = ebmlib.MakeNewFolder(path, _("Untitled_Folder")) elif e_id == ID_NEW_FILE: ok = ebmlib.MakeNewFile(path, _("Untitled_File") + ".txt") elif e_id == ID_DUPLICATE: for fname in paths: ok = DuplicatePath(fname) elif e_id == ID_ARCHIVE: ok = MakeArchive(path) elif e_id == ID_DELETE: Trash.moveToTrash(paths) ok = (True, os.path.dirname(path)) else: evt.Skip() return if e_id in (ID_NEW_FOLDER, ID_NEW_FILE, ID_DUPLICATE, ID_ARCHIVE, ID_DELETE): if ok[0]: self.ReCreateTree() self._SCommand(self.SetPath, ok[1])
def OnMenu(self, evt): """Handle the context menu events for performing filesystem operations """ e_id = evt.GetId() path = self.GetItemPath(self._treeId) paths = self.GetPaths() ok = (False, '') if e_id == ID_EDIT: self.OpenFiles(paths) elif e_id == ID_OPEN: worker = OpenerThread(paths) worker.start() elif e_id == ID_REVEAL: worker = OpenerThread([os.path.dirname(fname) for fname in paths]) worker.start() elif e_id == ID_GETINFO: last = None for fname in paths: info = FileInfo.FileInfoDlg(self.GetTopLevelParent(), fname) if last is None: info.CenterOnParent() else: lpos = last.GetPosition() info.SetPosition((lpos[0] + 14, lpos[1] + 14)) info.Show() last = info elif e_id == ID_RENAME: self._tree.EditLabel(self._treeId) elif e_id == ID_NEW_FOLDER: ok = util.MakeNewFolder(path, _("Untitled_Folder")) elif e_id == ID_NEW_FILE: ok = util.MakeNewFile(path, _("Untitled_File") + ".txt") elif e_id == ID_DUPLICATE: for fname in paths: ok = DuplicatePath(fname) elif e_id == ID_ARCHIVE: ok = MakeArchive(path) elif e_id == ID_DELETE: Trash.moveToTrash(paths) ok = (True, os.path.dirname(path)) else: evt.Skip() return if e_id in (ID_NEW_FOLDER, ID_NEW_FILE, ID_DUPLICATE, ID_ARCHIVE, ID_DELETE): if ok[0]: self.ReCreateTree() self._SCommand(self.SetPath, ok[1])