Browse Source

b=605440, r=mgertner, Add a method to hide a directory under Windows

matthew.gertner@gmail.com 14 years ago
parent
commit
e7921c3f41

+ 2 - 0
components/public/nsIDesktopEnvironment.idl

@@ -82,6 +82,8 @@ interface nsIDesktopEnvironment : nsISupports
     in AString description,
     in nsIFile icon
   );
+  
+  void hideDirectory(in AString path);
 
   /**
    * Create a new application tile for this desktop.

+ 5 - 0
components/src/mac/nsDesktopEnvironmentMac.mm

@@ -292,6 +292,11 @@ NS_IMETHODIMP nsDesktopEnvironment::GetApplicationIcon(nsIDOMWindow* aWindow, ns
   return NS_OK;
 }
 
+NS_IMETHODIMP nsDesktopEnvironment::HideDirectory(const nsAString& aPath)
+{
+  return NS_ERROR_NOT_IMPLEMENTED;
+}
+
 NS_IMETHODIMP nsDesktopEnvironment::SetZLevel(nsIDOMWindow* aWindow, PRUint16 aLevel)
 {
   return NS_OK;

+ 8 - 0
components/src/windows/nsDesktopEnvironmentWin.cpp

@@ -183,6 +183,14 @@ NS_IMETHODIMP nsDesktopEnvironment::SetAutoStart(PRBool aAutoStart, PRBool aIcon
   return NS_OK;
 }
 
+NS_IMETHODIMP nsDesktopEnvironment::HideDirectory(const nsAString& aPath)
+{
+	char *path = ToNewUTF8String(aPath);
+	int res = SetFileAttributes(path, FILE_ATTRIBUTE_HIDDEN);
+	NS_Free(path);
+	return NS_OK;
+}
+
 NS_IMETHODIMP nsDesktopEnvironment::CreateShortcut(
   const nsAString& aName,
   nsIFile* aTarget,