From 5ca58573e2de7f993025de4064316b1af46e42e6 Mon Sep 17 00:00:00 2001 From: Rejean Loyer Date: Fri, 16 Sep 2011 08:15:55 -0400 Subject: [PATCH 1/1] explorer: misc. fixed tree panel by hack until Stacker is improved. --- explorer/src/ExplorerWindow.ec | 84 ++++++++++++++++++++++++++++++++---------- 1 file changed, 65 insertions(+), 19 deletions(-) diff --git a/explorer/src/ExplorerWindow.ec b/explorer/src/ExplorerWindow.ec index 6641431..a235a05 100644 --- a/explorer/src/ExplorerWindow.ec +++ b/explorer/src/ExplorerWindow.ec @@ -149,13 +149,36 @@ class ExplorerWindow : Window case panelTree: // TODO TOFIX : need to fix Stacker for this to work tree.visible = button.checked; + split.visible = button.checked; + if(button.checked) + { + split.rightPane = view; + view.anchor = { top = 0, bottom = 0, right = 0 }; + tree.SelectLocation(view.path); + } + else + { + split.rightPane = null; + view.anchor = { left = 0, top = 0, bottom = 0, right = 0 }; + } //search.visible = !button.checked; panels.size = { panels.size.w, panels.size.h }; // TOFIX : another Stacker fix needed break; case panelSearch: // TODO TOFIX : need to fix Stacker for this to work //search.visible = button.checked; - tree.visible = !button.checked; + tree.visible = false; //!button.checked; + split.visible = false; //!button.checked; + if(false/*button.checked*/) + { + split.rightPane = view; + view.anchor = { top = 0, bottom = 0, right = 0 }; + } + else + { + split.rightPane = null; + view.anchor = { left = 0, top = 0, bottom = 0, right = 0 }; + } panels.size = { panels.size.w, panels.size.h }; // TOFIX : another Stacker fix needed break; case refresh: @@ -276,29 +299,56 @@ class ExplorerWindow : Window panels, this; };*/ - /*Tree*/FileSystemBox tree; - /*{ + Window hack + { panels, this; - size = { w = 240 }; anchor.top = 0; anchor.bottom = 0; - navigateFolders = true; + anchor.right = 0; + borderStyle = deep; + }; + + /*Tree*/FileSystemBox tree//; + { + hack, this; + size = { w = 240 }; + borderStyle = none; + visible = false; + /*anchor.top = 0; + anchor.bottom = 0;*/ + anchor = { left = 0, top = 0, bottom = 0 }; + treeBranches = true; foldersOnly = true; - borderStyle = none; + + bool NotifyNodeSelect(FileSystemBox box, FileSystemNode node) + { + char p[MAX_LOCATION]; + node.GetPath(p); + view.path = node.path; + return true; + } + }; + + PaneSplitter split + { + hack, this; visible = false; - };*/ + leftPane = tree;//, rightPane = view; + split = 300; + }; FileSystemBox view { - panels, this; - anchor.top = 0; + hack, this; + borderStyle = none; + /*anchor.top = 0; anchor.bottom = 0; - anchor.right = 0; + anchor.right = 0;*/ + anchor = { left = 0, top = 0, bottom = 0, right = 0 }; + locationBox = addressBar; navigateFolders = true; - borderStyle = none; - multiSelect = true; bool NotifyNodeOpen(FileSystemBox box, FileSystemNode node) @@ -321,6 +371,8 @@ class ExplorerWindow : Window ShellOpen(node.path); #endif } + else if(node.type.isFolder && tree.visible) + tree.SelectLocation(node.path); return true; } }; @@ -341,13 +393,6 @@ class ExplorerWindow : Window parent = deep, master = this; tabCycle = true; anchor = Anchor { top = 0, bottom = 0, right = 0 }; - }; - - SplitWindow split - { - deep, this; - leftPane = tree, rightPane = viewHolder; - split = 300; };*/ // Preview / Showcase @@ -464,6 +509,7 @@ class ExplorerWindow : Window { //userMode = true; addressBar.path = view.path; + tree.path = "/"; // this should be available as a parameter return true; } -- 1.8.3.1