浏览代码

Add rename capability to the docmanager

Steven Silvester 9 年之前
父节点
当前提交
15a4054096
共有 2 个文件被更改,包括 15 次插入2 次删除
  1. 3 2
      src/docmanager/handler.ts
  2. 12 0
      src/docmanager/manager.ts

+ 3 - 2
src/docmanager/handler.ts

@@ -167,15 +167,16 @@ abstract class AbstractFileHandler<T extends Widget> implements IMessageFilter {
   /**
    * Rename a file.
    */
-  rename(oldPath: string, newPath: string): void {
+  rename(oldPath: string, newPath: string): boolean {
     for (let w of this._widgets) {
       let model = this._getModel(w);
       if (model.path === oldPath) {
         this._setModel(w, model);
         w.title.text = this.getTitleText(model);
-        return;
+        return true;
       }
     }
+    return false;
   }
 
   /**

+ 12 - 0
src/docmanager/manager.ts

@@ -89,6 +89,18 @@ class DocumentManager {
     return widget;
   }
 
+  /**
+   * Rename a file.
+   */
+  rename(oldPath: string, newPath: string): boolean {
+    for (let h of this._handlers) {
+      if (h.rename(oldPath, newPath)) {
+        return true;
+      }
+    }
+    return false;
+  }
+
   /**
    * Save the active document.
    *