You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by rw...@apache.org on 2016/03/16 20:05:35 UTC

svn commit: r1735282 - in /pivot/trunk: tests/src/org/apache/pivot/tests/FileBrowserWithCharsetTest.java wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java

Author: rwhitcomb
Date: Wed Mar 16 19:05:34 2016
New Revision: 1735282

URL: http://svn.apache.org/viewvc?rev=1735282&view=rev
Log:
PIVOT-986:  When viewing hidden files in one of the browsers, dim
the icon and the file name so it is clear that the file/directory
is hidden.

Put a "Show hidden files" checkbox into the FileBrowserWithCharsetTest
program so we can test this functionality in the regular file
browser as well as the VFS Browser tested earlier.

Modified:
    pivot/trunk/tests/src/org/apache/pivot/tests/FileBrowserWithCharsetTest.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java

Modified: pivot/trunk/tests/src/org/apache/pivot/tests/FileBrowserWithCharsetTest.java
URL: http://svn.apache.org/viewvc/pivot/trunk/tests/src/org/apache/pivot/tests/FileBrowserWithCharsetTest.java?rev=1735282&r1=1735281&r2=1735282&view=diff
==============================================================================
--- pivot/trunk/tests/src/org/apache/pivot/tests/FileBrowserWithCharsetTest.java (original)
+++ pivot/trunk/tests/src/org/apache/pivot/tests/FileBrowserWithCharsetTest.java Wed Mar 16 19:05:34 2016
@@ -27,6 +27,7 @@ import org.apache.pivot.wtk.Application;
 import org.apache.pivot.wtk.BoxPane;
 import org.apache.pivot.wtk.Button;
 import org.apache.pivot.wtk.ButtonPressListener;
+import org.apache.pivot.wtk.Checkbox;
 import org.apache.pivot.wtk.DesktopApplicationContext;
 import org.apache.pivot.wtk.Display;
 import org.apache.pivot.wtk.FileBrowserSheet;
@@ -79,6 +80,8 @@ public class FileBrowserWithCharsetTest
     @Override
     public void startup(Display display, Map<String, String> properties) throws Exception {
         BoxPane windowContent = new BoxPane();
+        final Checkbox showHiddenCheckbox = new Checkbox("Show hidden files");
+        windowContent.add(showHiddenCheckbox);
         PushButton button = new PushButton("Open Sheet");
         button.getButtonPressListeners().add(new ButtonPressListener() {
             @Override
@@ -86,6 +89,7 @@ public class FileBrowserWithCharsetTest
                 final Window window = Window.getActiveWindow();
                 final FileBrowserSheet fileBrowserSheet = new FileBrowserWithCharsetTest(
                     FileBrowserSheet.Mode.OPEN);
+                fileBrowserSheet.getStyles().put("showHiddenFiles", showHiddenCheckbox.isSelected());
 
                 fileBrowserSheet.open(window, new SheetCloseListener() {
                     @Override

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java?rev=1735282&r1=1735281&r2=1735282&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java Wed Mar 16 19:05:34 2016
@@ -161,10 +161,11 @@ public class TerraFileBrowserSkin extend
         public void render(Object data, Button button, boolean highlight) {
             if (data != null) {
                 File file = (File) data;
+                boolean hidden = file.getName().length() != 0 && file.isHidden();
 
                 // Update the image view
                 imageView.setImage(getIcon(file));
-                imageView.getStyles().put("opacity", button.isEnabled() ? 1.0f : 0.5f);
+                imageView.getStyles().put("opacity", button.isEnabled() && !hidden ? 1.0f : 0.5f);
 
                 // Update the label
                 String text = file.getName();
@@ -173,6 +174,15 @@ public class TerraFileBrowserSkin extend
                 }
 
                 label.setText(text);
+
+                Object color = null;
+                if (button.isEnabled() && !hidden) {
+                    color = button.getStyles().get("color");
+                } else {
+                    color = button.getStyles().get("disabledColor");
+                }
+
+                label.getStyles().put("color", color);
             }
         }
 
@@ -200,32 +210,18 @@ public class TerraFileBrowserSkin extend
         @Override
         public void render(Object item, int index, ListView listView, boolean selected,
             Button.State state, boolean highlighted, boolean disabled) {
-            label.getStyles().put("font", listView.getStyles().get("font"));
-
-            Object color = null;
-            if (listView.isEnabled() && !disabled) {
-                if (selected) {
-                    if (listView.isFocused()) {
-                        color = listView.getStyles().get("selectionColor");
-                    } else {
-                        color = listView.getStyles().get("inactiveSelectionColor");
-                    }
-                } else {
-                    color = listView.getStyles().get("color");
-                }
-            } else {
-                color = listView.getStyles().get("disabledColor");
-            }
+            boolean hidden = false;
 
-            label.getStyles().put("color", color);
+            label.getStyles().put("font", listView.getStyles().get("font"));
 
             if (item != null) {
                 File file = (File) item;
+                hidden = file.getName().length() != 0 && file.isHidden();
 
                 // Update the image view
                 imageView.setImage(getIcon(file));
                 imageView.getStyles().put("opacity",
-                    (listView.isEnabled() && !disabled) ? 1.0f : 0.5f);
+                    (listView.isEnabled() && !disabled && !hidden) ? 1.0f : 0.5f);
 
                 // Update the label
                 String text = file.getName();
@@ -235,6 +231,23 @@ public class TerraFileBrowserSkin extend
 
                 label.setText(text);
             }
+
+            Object color = null;
+            if (listView.isEnabled() && !disabled && !hidden) {
+                if (selected) {
+                    if (listView.isFocused()) {
+                        color = listView.getStyles().get("selectionColor");
+                    } else {
+                        color = listView.getStyles().get("inactiveSelectionColor");
+                    }
+                } else {
+                    color = listView.getStyles().get("color");
+                }
+            } else {
+                color = listView.getStyles().get("disabledColor");
+            }
+
+            label.getStyles().put("color", color);
         }
 
         @Override
@@ -266,8 +279,11 @@ public class TerraFileBrowserSkin extend
         @Override
         public void render(Object row, int rowIndex, int columnIndex, TableView tableView,
             String columnName, boolean selected, boolean highlighted, boolean disabled) {
+            boolean hidden = false;
+
             if (row != null) {
                 File file = (File) row;
+                hidden = file.getName().length() != 0 && file.isHidden();
 
                 String text = null;
                 Image icon = null;
@@ -293,13 +309,15 @@ public class TerraFileBrowserSkin extend
 
                 label.setText(text);
                 imageView.setImage(icon);
+                imageView.getStyles().put("opacity",
+                    (tableView.isEnabled() && !disabled && !hidden) ? 1.0f : 0.5f);
             }
 
             Font font = (Font) tableView.getStyles().get("font");
             label.getStyles().put("font", font);
 
             Color color;
-            if (tableView.isEnabled() && !disabled) {
+            if (tableView.isEnabled() && !disabled && !hidden) {
                 if (selected) {
                     if (tableView.isFocused()) {
                         color = (Color) tableView.getStyles().get("selectionColor");

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java?rev=1735282&r1=1735281&r2=1735282&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java Wed Mar 16 19:05:34 2016
@@ -158,6 +158,20 @@ public class TerraVFSBrowserSkin extends
 
             return icon;
         }
+
+	public boolean isFileHidden(FileObject file) {
+	    try {
+	        boolean hidden = false;
+	        if (file != null) {
+	            if (file.getName().getBaseName().length() != 0 && file.isHidden())
+	                hidden = true;
+	        }
+	        return hidden;
+	    }
+	    catch (FileSystemException fse) {
+	        throw new RuntimeException(fse);
+	    }
+	}
     }
 
     /**
@@ -172,10 +186,11 @@ public class TerraVFSBrowserSkin extends
         public void render(Object data, Button button, boolean highlight) {
             if (data != null) {
                 FileObject file = (FileObject) data;
+                boolean hidden = isFileHidden(file);
 
                 // Update the image view
                 imageView.setImage(getIcon(file));
-                imageView.getStyles().put("opacity", button.isEnabled() ? 1.0f : 0.5f);
+                imageView.getStyles().put("opacity", button.isEnabled() && !hidden ? 1.0f : 0.5f);
 
                 // Update the label
                 String text = file.getName().getBaseName();
@@ -184,6 +199,15 @@ public class TerraVFSBrowserSkin extends
                 }
 
                 label.setText(text);
+
+                Object color = null;
+                if (button.isEnabled() && !hidden) {
+                    color = button.getStyles().get("color");
+                } else {
+                    color = button.getStyles().get("disabledColor");
+                }
+
+                label.getStyles().put("color", color);
             }
         }
 
@@ -211,32 +235,18 @@ public class TerraVFSBrowserSkin extends
         @Override
         public void render(Object item, int index, ListView listView, boolean selected,
             Button.State state, boolean highlighted, boolean disabled) {
-            label.getStyles().put("font", listView.getStyles().get("font"));
+            boolean hidden = false;
 
-            Object color = null;
-            if (listView.isEnabled() && !disabled) {
-                if (selected) {
-                    if (listView.isFocused()) {
-                        color = listView.getStyles().get("selectionColor");
-                    } else {
-                        color = listView.getStyles().get("inactiveSelectionColor");
-                    }
-                } else {
-                    color = listView.getStyles().get("color");
-                }
-            } else {
-                color = listView.getStyles().get("disabledColor");
-            }
-
-            label.getStyles().put("color", color);
+            label.getStyles().put("font", listView.getStyles().get("font"));
 
             if (item != null) {
                 FileObject file = (FileObject) item;
+                hidden = isFileHidden(file);
 
                 // Update the image view
                 imageView.setImage(getIcon(file));
                 imageView.getStyles().put("opacity",
-                    (listView.isEnabled() && !disabled) ? 1.0f : 0.5f);
+                    (listView.isEnabled() && !disabled && !hidden) ? 1.0f : 0.5f);
 
                 // Update the label
                 String text = file.getName().getBaseName();
@@ -246,6 +256,23 @@ public class TerraVFSBrowserSkin extends
 
                 label.setText(text);
             }
+
+            Object color = null;
+            if (listView.isEnabled() && !disabled && !hidden) {
+                if (selected) {
+                    if (listView.isFocused()) {
+                        color = listView.getStyles().get("selectionColor");
+                    } else {
+                        color = listView.getStyles().get("inactiveSelectionColor");
+                    }
+                } else {
+                    color = listView.getStyles().get("color");
+                }
+            } else {
+                color = listView.getStyles().get("disabledColor");
+            }
+
+            label.getStyles().put("color", color);
         }
 
         @Override
@@ -278,6 +305,8 @@ public class TerraVFSBrowserSkin extends
         @Override
         public void render(Object row, int rowIndex, int columnIndex, TableView tableView,
             String columnName, boolean selected, boolean highlighted, boolean disabled) {
+            boolean hidden = false;
+
             if (row != null) {
                 FileObject file = (FileObject) row;
 
@@ -286,6 +315,8 @@ public class TerraVFSBrowserSkin extends
 
                 try {
                     FileType type = file.getType();
+                    hidden = file.isHidden();
+
                     if (columnName.equals(NAME_KEY)) {
                         text = file.getName().getBaseName();
                         icon = getIcon(file);
@@ -318,13 +349,15 @@ public class TerraVFSBrowserSkin extends
 
                 label.setText(text);
                 imageView.setImage(icon);
+                imageView.getStyles().put("opacity",
+                    (tableView.isEnabled() && !disabled && !hidden) ? 1.0f : 0.5f);
             }
 
             Font font = (Font) tableView.getStyles().get("font");
             label.getStyles().put("font", font);
 
             Color color;
-            if (tableView.isEnabled() && !disabled) {
+            if (tableView.isEnabled() && !disabled && !hidden) {
                 if (selected) {
                     if (tableView.isFocused()) {
                         color = (Color) tableView.getStyles().get("selectionColor");