|
|
@@ -10,18 +10,59 @@ class ProjectFrameMenus extends Atomic.ScriptObject {
|
|
|
|
|
|
super();
|
|
|
|
|
|
+ MenuItemSources.createMenuItemSource("project context folder", folderContextItems);
|
|
|
MenuItemSources.createMenuItemSource("project create items", createItems);
|
|
|
|
|
|
- this.subscribeToEvent(EditorEvents.ContentFolderChanged, (ev:EditorEvents.ContentFolderChangedEvent) => {
|
|
|
- this.contentFolder = ev.path;
|
|
|
+ this.subscribeToEvent(EditorEvents.ContentFolderChanged, (ev: EditorEvents.ContentFolderChangedEvent) => {
|
|
|
+ this.contentFolder = ev.path;
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
+ handleFolderContextMenu(target: Atomic.UIWidget, refid: string) {
|
|
|
+
|
|
|
+ if (target.id == "folder context menu") {
|
|
|
+
|
|
|
+ var folder = <ToolCore.Asset> target['folder'];
|
|
|
+
|
|
|
+ if (refid == "delete_folder") {
|
|
|
+
|
|
|
+ EditorUI.getModelOps().showResourceDelete(folder);
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (refid == "create_folder") {
|
|
|
+
|
|
|
+ EditorUI.getModelOps().showCreateFolder(folder.path);
|
|
|
+
|
|
|
+ return true;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ createFolderContextMenu(parent: Atomic.UIWidget, id: string, folder: ToolCore.Asset, x: number, y: number) {
|
|
|
+
|
|
|
+ var menu = new Atomic.UIMenuWindow(parent, id);
|
|
|
+ menu['folder'] = folder;
|
|
|
+ var src = MenuItemSources.getMenuItemSource("project context folder");
|
|
|
+ menu.show(src, x, y);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
handlePopupMenu(target: Atomic.UIWidget, refid: string): boolean {
|
|
|
|
|
|
if (!target || !refid) return;
|
|
|
|
|
|
+ if (this.handleFolderContextMenu(target, refid)) {
|
|
|
+
|
|
|
+ return true;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
if (target.id == "create popup") {
|
|
|
|
|
|
if (refid == "create_folder") {
|
|
|
@@ -44,7 +85,7 @@ class ProjectFrameMenus extends Atomic.ScriptObject {
|
|
|
|
|
|
}
|
|
|
|
|
|
- contentFolder:string;
|
|
|
+ contentFolder: string;
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -53,6 +94,13 @@ export = ProjectFrameMenus;
|
|
|
// initialization
|
|
|
var StringID = strings.StringID;
|
|
|
|
|
|
+var folderContextItems = {
|
|
|
+ "Create Folder": ["create_folder", undefined, "Folder.icon"],
|
|
|
+ "Reveal in Finder": ["reveal_folder", undefined, ""],
|
|
|
+ "-1": null,
|
|
|
+ "Delete": ["delete_folder", undefined, "FolderDeleteBitmap"]
|
|
|
+};
|
|
|
+
|
|
|
var createItems = {
|
|
|
"Folder": ["create_folder", undefined, "Folder.icon"],
|
|
|
"-1": null,
|