Finished new left pane newLeftPane
authorChristos Stathis <chstath@ebs.gr>
Tue, 24 Apr 2012 12:58:54 +0000 (15:58 +0300)
committerChristos Stathis <chstath@ebs.gr>
Tue, 24 Apr 2012 12:58:54 +0000 (15:58 +0300)
src/gr/grnet/pithos/web/client/Pithos.java
src/gr/grnet/pithos/web/client/PithosDisclosurePanel.css
src/gr/grnet/pithos/web/client/Toolbar.java
src/gr/grnet/pithos/web/client/ToolsMenu.java
src/gr/grnet/pithos/web/client/grouptree/GroupTreeView.java
src/gr/grnet/pithos/web/client/grouptree/GroupTreeViewModel.java
src/gr/grnet/pithos/web/client/grouptree/PithosGroupDisclosurePanel.css [new file with mode: 0644]
src/gr/grnet/pithos/web/client/mysharedtree/MysharedTreeView.java
src/gr/grnet/pithos/web/client/mysharedtree/MysharedTreeViewModel.java
src/gr/grnet/pithos/web/client/mysharedtree/PithosMySharedDisclosurePanel.css [new file with mode: 0644]
src/gr/grnet/pithos/web/public/pithos.css

index 3caed4c..77778db 100644 (file)
@@ -238,7 +238,7 @@ public class Pithos implements EntryPoint, ResizeHandler {
     OtherSharedTreeView otherSharedTreeView = null;
 
     GroupTreeViewModel groupTreeViewModel;
-    private GroupTreeView groupTreeView;
+    GroupTreeView groupTreeView;
 
     TreeView selectedTree;
     protected AccountResource account;
@@ -365,22 +365,9 @@ public class Pithos implements EntryPoint, ResizeHandler {
         fileList = new FileList(this, images, folderTreeView);
         inner.add(fileList);
 
-        groupTreeViewModel = new GroupTreeViewModel(this);
-        groupTreeView = new GroupTreeView(groupTreeViewModel);
-        treeViews.add(groupTreeView);
-        
         trees = new VerticalPanel();
         trees.setWidth("100%");
-        trees.setSpacing(5);
         
-//        HorizontalPanel treeHeader = new HorizontalPanel();
-//        treeHeader.addStyleName("pithos-treeHeader");
-//        treeHeader.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
-//        treeHeader.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
-//        treeHeader.add(statistics);
-//        treeHeader.setCellHorizontalAlignment(statistics, HasHorizontalAlignment.ALIGN_LEFT);
-//        trees.add(treeHeader);
-
         trees.add(folderTreeView);
         
         HorizontalPanel separator = new HorizontalPanel();
@@ -401,7 +388,6 @@ public class Pithos implements EntryPoint, ResizeHandler {
            statistics.add(new HTML(")"));
         trees.add(statistics);
         
-        trees.add(groupTreeView);
         // Add the left and right panels to the split panel.
         splitPanel.setLeftWidget(trees);
         splitPanel.setRightWidget(inner);
@@ -464,7 +450,10 @@ public class Pithos implements EntryPoint, ResizeHandler {
                                                    createMySharedTree();
                                                                }
                                                        });
-                                   groupTreeViewModel.initialize();
+                                   groupTreeViewModel = new GroupTreeViewModel(Pithos.this);
+                                   groupTreeView = new GroupTreeView(groupTreeViewModel);
+                                   treeViews.add(groupTreeView);
+                                   trees.add(groupTreeView);
                                    showStatistics();
                                }
                                        }
@@ -1146,7 +1135,7 @@ public class Pithos implements EntryPoint, ResizeHandler {
                        @Override
                        public void execute() {
                            mysharedTreeView = new MysharedTreeView(mysharedTreeViewModel);
-                               trees.insert(mysharedTreeView, 4);
+                               trees.insert(mysharedTreeView, 3);
                                treeViews.add(mysharedTreeView);
                                createOtherSharedTree();
                        }
@@ -1180,7 +1169,7 @@ public class Pithos implements EntryPoint, ResizeHandler {
                        @Override
                        public void execute() {
                            otherSharedTreeView = new OtherSharedTreeView(otherSharedTreeViewModel);
-                               trees.insert(otherSharedTreeView, 4);
+                               trees.insert(otherSharedTreeView, 3);
                                treeViews.add(otherSharedTreeView);
                        }
                });
index 7e1cc59..98c191d 100644 (file)
@@ -42,6 +42,7 @@
        background-color: #74aec9;
        height: 25px;
     width: 100%;
+    margin-bottom: 5px;
 }
 
 .arrow { 
index 35ffe88..918c7d9 100644 (file)
@@ -174,6 +174,8 @@ public class Toolbar extends Composite {
                                        if (!folder.isInTrash() && canWrite) {
                                                if (isFolderTreeSelected || otherSharedTreeSelected)
                                                        newFolderButton.setVisible(true);
+                                               else
+                                                       newFolderButton.setVisible(false);
                                                if (isFolderTreeSelected && !folder.isContainer())
                                                        shareFolderButton.setVisible(true);
                                                else
index e51776e..fdea362 100644 (file)
@@ -237,13 +237,11 @@ public class ToolsMenu extends PopupPanel {
                        contextMenu.addItem(deleteGroup);
                                empty = false;
                        }
-                       else {
-                       MenuItem createGroup = new MenuItem("<span>" + AbstractImagePrototype.create(images.group()).getHTML() + "&nbsp;Create Group</span>", true, new CreateGroupCommand(app, this));
-                       contextMenu.addItem(createGroup);
-                               empty = false;
-                       }
                }
         }
+        MenuItem createGroup = new MenuItem("<span>" + AbstractImagePrototype.create(images.group()).getHTML() + "&nbsp;Create Group</span>", true, new CreateGroupCommand(app, this));
+        contextMenu.addItem(createGroup);
+       empty = false;
                add(contextMenu);
        }
        
index 104d73e..c013e6b 100644 (file)
@@ -38,6 +38,7 @@ package gr.grnet.pithos.web.client.grouptree;
 import gr.grnet.pithos.web.client.FolderContextMenu;
 import gr.grnet.pithos.web.client.PithosDisclosurePanel;
 import gr.grnet.pithos.web.client.TreeView;
+import gr.grnet.pithos.web.client.PithosDisclosurePanel.Style;
 import gr.grnet.pithos.web.client.foldertree.Folder;
 
 import com.google.gwt.core.client.GWT;
@@ -58,7 +59,7 @@ import com.google.gwt.user.client.ui.Tree;
 public class GroupTreeView extends Composite implements TreeView {
 
     public void updateChildren(Group group) {
-        TreeNode root = ((CellTree) getWidget()).getRootTreeNode();
+        TreeNode root = tree.getRootTreeNode();
         if (group != null)
                updateChildren(root, group);
         else {
@@ -122,8 +123,17 @@ public class GroupTreeView extends Composite implements TreeView {
 
     static Images images = GWT.create(Images.class);
     
-    interface Resources extends gr.grnet.pithos.web.client.PithosDisclosurePanel.Resources {
+    interface Style extends gr.grnet.pithos.web.client.PithosDisclosurePanel.Style {
        @Override
+               String header();
+    }
+    interface Resources extends gr.grnet.pithos.web.client.PithosDisclosurePanel.Resources {
+               @Override
+               @Source("PithosGroupDisclosurePanel.css")
+               Style pithosDisclosurePanelCss();
+
+               @Override
                @Source("gr/grnet/pithos/resources/groups22.png")
        ImageResource icon();
     }
@@ -136,6 +146,8 @@ public class GroupTreeView extends Composite implements TreeView {
       }
 
     private GroupTreeViewModel model;
+    
+    private CellTree tree;
 
     public GroupTreeView(GroupTreeViewModel viewModel) {
         this.model = viewModel;
@@ -147,7 +159,7 @@ public class GroupTreeView extends Composite implements TreeView {
          * CustomTreeModel#getNodeInfo();
          */
         CellTree.Resources res = GWT.create(BasicResources.class);
-        CellTree tree = new CellTree(model, null, res);
+        tree = new CellTree(model, null, res);
         tree.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);
 
         panel.add(tree);
index e47081b..b76bc94 100644 (file)
@@ -58,28 +58,6 @@ public class GroupTreeViewModel implements TreeViewModel {
 
     protected Pithos app;
 
-    private ListDataProvider<String> rootDataProvider = new ListDataProvider<String>();
-    
-    private Cell<String> rootCell = new AbstractCell<String>(ContextMenuEvent.getType().getName()) {
-
-               @Override
-               public void render(Context context,     String value, SafeHtmlBuilder sb) {
-            String html = AbstractImagePrototype.create(GroupTreeView.images.groups()).getHTML();
-            sb.appendHtmlConstant(html).appendHtmlConstant("&nbsp;");
-            sb.append(Templates.INSTANCE.nameSpan(value));
-               }
-               
-        @Override
-        public void onBrowserEvent(Cell.Context context, com.google.gwt.dom.client.Element parent, String s, com.google.gwt.dom.client.NativeEvent event, com.google.gwt.cell.client.ValueUpdater<String> valueUpdater) {
-            GroupTreeViewModel.this.rootSelectionModel.setSelected(s, true);
-            if (event.getType().equals(ContextMenuEvent.getType().getName())) {
-                GroupContextMenu menu = new GroupContextMenu(app, GroupTreeView.images, null);
-                menu.setPopupPosition(event.getClientX(), event.getClientY());
-                menu.show();
-            }
-        }
-       };
-
        private Cell<Group> groupCell = new AbstractCell<Group>(ContextMenuEvent.getType().getName()) {
 
                @Override
@@ -124,33 +102,11 @@ public class GroupTreeViewModel implements TreeViewModel {
 
     protected Map<Group, ListDataProvider<User>> userDataProviderMap = new HashMap<Group, ListDataProvider<User>>();
     
-    protected Map<String, Set<File>> sharedFiles = new HashMap<String, Set<File>>();
-
-    SingleSelectionModel<String> rootSelectionModel;
     SingleSelectionModel<Group> groupSelectionModel;
     SingleSelectionModel<User> userSelectionModel;
 
     public GroupTreeViewModel(Pithos _app) {
         app = _app;
-        rootSelectionModel = new SingleSelectionModel<String>();
-       app.addSelectionModel(rootSelectionModel);
-       rootSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
-                       
-                       @Override
-                       public void onSelectionChange(SelectionChangeEvent event) {
-                               if (rootSelectionModel.getSelectedObject() != null) {
-                                       app.deselectOthers(app.getGroupTreeView(), rootSelectionModel);
-                                       app.showFiles(new HashSet<File>());
-                                       app.showRelevantToolbarButtons();
-                               }
-                               else {
-                                       if (app.getSelectedTree().equals(app.getGroupTreeView()))
-                                               app.setSelectedTree(null);
-                                       if (app.getSelectedTree() == null)
-                                               app.showRelevantToolbarButtons();
-                               }
-                       }
-               });
 
        groupSelectionModel = new SingleSelectionModel<Group>();
        app.addSelectionModel(groupSelectionModel);
@@ -196,25 +152,19 @@ public class GroupTreeViewModel implements TreeViewModel {
     @Override
     public <T> NodeInfo<?> getNodeInfo(T value) {
         if (value == null) {
-               rootDataProvider.getList().add("");
-            return new DefaultNodeInfo<String>(rootDataProvider, rootCell,  rootSelectionModel, null);
-        }
-        else if (value instanceof String) {
                groupsDataProvider.getList().clear();
                groupsDataProvider.getList().addAll(app.getAccount().getGroups());
             return new DefaultNodeInfo<Group>(groupsDataProvider, groupCell, groupSelectionModel, null);
         }
-        else { //Group
-               Group g = (Group) value;
-                       if (userDataProviderMap.get(g) == null) {
-                               userDataProviderMap.put(g, new ListDataProvider<User>());
-                       }
-                       final ListDataProvider<User> dataProvider = userDataProviderMap.get(g);
-                       dataProvider.getList().clear();
-                       for (String u : g.getMembers())
-                               dataProvider.getList().add(new User(u, g));
-               return new DefaultNodeInfo<User>(dataProvider, userCell, userSelectionModel, null);
-        }
+       Group g = (Group) value;
+               if (userDataProviderMap.get(g) == null) {
+                       userDataProviderMap.put(g, new ListDataProvider<User>());
+               }
+               final ListDataProvider<User> dataProvider = userDataProviderMap.get(g);
+               dataProvider.getList().clear();
+               for (String u : g.getMembers())
+                       dataProvider.getList().add(new User(u, g));
+       return new DefaultNodeInfo<User>(dataProvider, userCell, userSelectionModel, null);
     }
 
        @Override
@@ -229,11 +179,6 @@ public class GroupTreeViewModel implements TreeViewModel {
         return false;
     }
        
-       public void initialize() {
-       rootDataProvider.getList().clear();
-       rootDataProvider.getList().add("Groups");
-       }
-
        public void updateGroupNode(Group group) {
                if (group == null) {
                        groupsDataProvider.getList().clear();
@@ -251,8 +196,6 @@ public class GroupTreeViewModel implements TreeViewModel {
        }
 
        public Object getSelectedObject() {
-               if (rootSelectionModel.getSelectedObject() != null)
-                       return rootSelectionModel.getSelectedObject();
                if (groupSelectionModel.getSelectedObject() != null)
                        return groupSelectionModel.getSelectedObject();
                if (userSelectionModel.getSelectedObject() != null)
diff --git a/src/gr/grnet/pithos/web/client/grouptree/PithosGroupDisclosurePanel.css b/src/gr/grnet/pithos/web/client/grouptree/PithosGroupDisclosurePanel.css
new file mode 100644 (file)
index 0000000..759e29a
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2012 GRNET S.A. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   1. Redistributions of source code must retain the above
+ *      copyright notice, this list of conditions and the following
+ *      disclaimer.
+ *
+ *   2. Redistributions in binary form must reproduce the above
+ *      copyright notice, this list of conditions and the following
+ *      disclaimer in the documentation and/or other materials
+ *      provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and
+ * documentation are those of the authors and should not be
+ * interpreted as representing official policies, either expressed
+ * or implied, of GRNET S.A.
+ */
+.disclosurePanel {
+       padding-left: 10px;
+       width: 100%;
+}
+
+.header {
+       background-color: #cdde87;
+       height: 25px;
+    width: 100%;
+    margin-bottom: 5px;
+}
+
+.arrow { 
+       padding-right: 2px;
+}
+
+.content {
+       padding: 4px 0px 4px 8px;
+       margin-left: 6px;
+}
index e286195..f4d32c7 100644 (file)
@@ -42,6 +42,7 @@ import gr.grnet.pithos.web.client.foldertree.Folder;
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.resources.client.ImageResource;
+import com.google.gwt.resources.client.ClientBundle.Source;
 import com.google.gwt.resources.client.ImageResource.ImageOptions;
 import com.google.gwt.resources.client.ImageResource.RepeatStyle;
 import com.google.gwt.safehtml.client.SafeHtmlTemplates;
@@ -130,8 +131,17 @@ public class MysharedTreeView extends Composite implements TreeView {
         public SafeHtml nameSpan(String name);
       }
 
-    interface Resources extends gr.grnet.pithos.web.client.PithosDisclosurePanel.Resources {
+    interface Style extends gr.grnet.pithos.web.client.PithosDisclosurePanel.Style {
        @Override
+               String header();
+    }
+
+    interface Resources extends gr.grnet.pithos.web.client.PithosDisclosurePanel.Resources {
+               @Override
+               @Source("PithosMySharedDisclosurePanel.css")
+               Style pithosDisclosurePanelCss();
+
+               @Override
                @Source("gr/grnet/pithos/resources/sharedbyme22.png")
        ImageResource icon();
     }
@@ -168,7 +178,7 @@ public class MysharedTreeView extends Composite implements TreeView {
     }
 
        public void updateRoot() {
-               TreeNode root = ((CellTree) getWidget()).getRootTreeNode();
+               TreeNode root = tree.getRootTreeNode();
                root.setChildOpen(0, true);
                root.setChildOpen(0, false);
        }
index e5595ce..6e5c005 100644 (file)
@@ -85,30 +85,10 @@ public class MysharedTreeViewModel implements TreeViewModel {
             safeHtmlBuilder.appendHtmlConstant(html).appendHtmlConstant("&nbsp;");
             safeHtmlBuilder.append(Templates.INSTANCE.nameSpan(folder.getName()));
         }
-
-        @Override
-        public void onBrowserEvent(Context context, com.google.gwt.dom.client.Element parent, final Folder folder, com.google.gwt.dom.client.NativeEvent event, ValueUpdater<Folder> valueUpdater) {
-            if (event.getType().equals(ContextMenuEvent.getType().getName())) {
-               final int x = event.getClientX();
-               final int y = event.getClientY();
-                MysharedTreeViewModel.this.selectionModel.setSelected(folder, true);
-                app.scheduleFolderHeadCommand(folder, new Command() {
-                                       
-                                       @Override
-                                       public void execute() {
-                               FolderContextMenu menu = new FolderContextMenu(app, MysharedTreeView.images, app.getSelectedTree(), folder);
-                               menu.setPopupPosition(x, y);
-                               menu.show();
-                                       }
-                               });
-            }
-        }
     };
 
     protected ListDataProvider<Folder> firstLevelDataProvider = new ListDataProvider<Folder>();
-
-    private Map<Folder, ListDataProvider<Folder>> dataProviderMap = new HashMap<Folder, ListDataProvider<Folder>>();
-    
     protected SingleSelectionModel<Folder> selectionModel;
 
     public MysharedTreeViewModel(Pithos _app, SingleSelectionModel<Folder> selectionModel) {
@@ -122,13 +102,7 @@ public class MysharedTreeViewModel implements TreeViewModel {
                fetchSharedContainers(null);
             return new DefaultNodeInfo<Folder>(firstLevelDataProvider, folderCell, selectionModel, null);
         }
-        final Folder f = (Folder) value;
-        if (dataProviderMap.get(f) == null) {
-            dataProviderMap.put(f, new ListDataProvider<Folder>());
-        }
-        final ListDataProvider<Folder> dataProvider = dataProviderMap.get(f);
-        fetchFolder(f, dataProvider, false);
-        return new DefaultNodeInfo<Folder>(dataProvider, folderCell, selectionModel, null);
+        return null;
     }
 
        private void fetchSharedContainers(final Command callback) {
@@ -136,23 +110,16 @@ public class MysharedTreeViewModel implements TreeViewModel {
         GetRequest<AccountResource> getAccount = new GetRequest<AccountResource>(AccountResource.class, app.getApiPath(), app.getUsername(), path) {
             @Override
             public void onSuccess(final AccountResource _result) {
-               Iterator<Folder> iter = _result.getContainers().listIterator();
-               fetchFolder(iter, new Command() {
-                                       
-                                       @Override
-                                       public void execute() {
-                                               firstLevelDataProvider.getList().clear();
-                               Folder t = null;
-                               for (Folder c : _result.getContainers()) {
-                                       if (c.isHome())
-                                               firstLevelDataProvider.getList().add(0, c); //Pithos is always first
-                                       else if (!c.isTrash())
-                                               firstLevelDataProvider.getList().add(c);
-                               }
-                                               if (callback != null)
-                                                       callback.execute();
-                                       }
-                               });
+                               firstLevelDataProvider.getList().clear();
+                Folder t = null;
+                for (Folder c : _result.getContainers()) {
+                       if (c.isHome())
+                               firstLevelDataProvider.getList().add(0, c); //Pithos is always first
+                       else if (!c.isTrash())
+                               firstLevelDataProvider.getList().add(c);
+                }
+                               if (callback != null)
+                                       callback.execute();
             }
 
             @Override
@@ -178,13 +145,7 @@ public class MysharedTreeViewModel implements TreeViewModel {
     public boolean isLeaf(Object o) {
                if (o == null)
                        return false;
-               else if (o instanceof Folder) {
-            Folder f = (Folder) o;
-            return f.getSubfolders().isEmpty();
-        }
-               else {
-                       return firstLevelDataProvider.getList().isEmpty();
-               }
+               return true;
     }
        
        private native void log(String msg) /*-{
@@ -229,29 +190,16 @@ public class MysharedTreeViewModel implements TreeViewModel {
     }
 
     public void updateFolder(Folder folder, boolean showfiles) {
-        if (dataProviderMap.get(folder) == null) {
-            dataProviderMap.put(folder, new ListDataProvider<Folder>());
-        }
-        final ListDataProvider<Folder> dataProvider = dataProviderMap.get(folder);
-        fetchFolder(folder, dataProvider, showfiles);
+        fetchFolder(folder,showfiles);
     }
 
-    public void fetchFolder(final Folder f, final ListDataProvider<Folder> dataProvider, final boolean showfiles) {
-        String path = "/" + f.getContainer() + "?format=json&shared=&delimiter=/&prefix=" + URL.encodeQueryString(f.getPrefix());
-        GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwner(), path, f) {
+    public void fetchFolder(final Folder f, final boolean showfiles) {
+        String path = "/" + f.getContainer() + "?format=json&shared=" + URL.encodeQueryString(f.getPrefix());
+        GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwner(), path, null) {
             @Override
             public void onSuccess(final Folder _result) {
                 if (showfiles)
                     app.showFiles(_result);
-                Iterator<Folder> iter = new ArrayList<Folder>(_result.getSubfolders()).listIterator();
-                fetchFolder(iter, new Command() {
-                    @Override
-                    public void execute() {
-                        dataProvider.getList().clear();
-                               dataProvider.getList().addAll(_result.getSubfolders());
-                        app.getMySharedTreeView().updateChildren(f);
-                    }
-                });
             }
 
             @Override
diff --git a/src/gr/grnet/pithos/web/client/mysharedtree/PithosMySharedDisclosurePanel.css b/src/gr/grnet/pithos/web/client/mysharedtree/PithosMySharedDisclosurePanel.css
new file mode 100644 (file)
index 0000000..fb4fe0d
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2012 GRNET S.A. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   1. Redistributions of source code must retain the above
+ *      copyright notice, this list of conditions and the following
+ *      disclaimer.
+ *
+ *   2. Redistributions in binary form must reproduce the above
+ *      copyright notice, this list of conditions and the following
+ *      disclaimer in the documentation and/or other materials
+ *      provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and
+ * documentation are those of the authors and should not be
+ * interpreted as representing official policies, either expressed
+ * or implied, of GRNET S.A.
+ */
+.disclosurePanel {
+       padding-left: 10px;
+       width: 100%;
+}
+
+.header {
+       background-color: #e9ddaf;
+       height: 25px;
+    width: 100%;
+    margin-bottom: 5px;
+}
+
+.arrow { 
+       padding-right: 2px;
+}
+
+.content {
+       padding: 4px 0px 4px 8px;
+       margin-left: 6px;
+}
index f53c0c0..a557073 100644 (file)
@@ -381,7 +381,7 @@ table.pithos-permList.props-labels {
     text-align: center;
     height: auto;
     padding: 8px;
-    width: 127px;
+    width: 134px;
     border: 0px;
 }