def on_done(self, old, new): item = SideBarItem(old, os.path.isdir(old)) try: if not item.move(new): sublime.error_message("Unable to move, destination exists.") self.run([old], new) return except: sublime.error_message("Unable to move:\n\n"+old+"\n\nto\n\n"+new) self.run([old], new) return SideBarProject().refresh();
def on_done(self, old, branch, leaf): self.window.run_command('hide_panel'); leaf = leaf.strip(); new = os.path.join(branch, leaf) item = SideBarItem(old, os.path.isdir(old)) try: if not item.move(new): sublime.error_message("Unable to rename, destination exists.") self.run([old], leaf) return except: sublime.error_message("Unable to rename:\n\n"+old+"\n\nto\n\n"+new) self.run([old], leaf) raise return SideBarProject().refresh();
def run(self, paths = [], in_parent = 'False'): s = sublime.load_settings("SideBarEnhancements/Clipboard.sublime-settings") cut = s.get('cut', '') copy = s.get('copy', '') if SideBarSelection(paths).len() > 0: if in_parent == 'False': location = SideBarSelection(paths).getSelectedItems()[0].path() else: location = SideBarSelection(paths).getSelectedDirectoriesOrDirnames()[0].dirname() if os.path.isdir(location) == False: location = SideBarItem(os.path.dirname(location), True) else: location = SideBarItem(location, True) if cut != '': cut = cut.split("\n") for path in cut: path = SideBarItem(path, os.path.isdir(path)) new = os.path.join(location.path(), path.name()) try: if not path.move(new): sublime.error_message("Unable to cut and paste, destination exists.") return except: sublime.error_message("Unable to move:\n\n"+path.path()+"\n\nto\n\n"+new) return if copy != '': copy = copy.split("\n") for path in copy: path = SideBarItem(path, os.path.isdir(path)) new = os.path.join(location.path(), path.name()) try: if not path.copy(new): sublime.error_message("Unable to copy and paste, destination exists.") return except: sublime.error_message("Unable to copy:\n\n"+path.path()+"\n\nto\n\n"+new) return cut = s.set('cut', '') SideBarProject().refresh();