Index: branches/qt_gui/src/lib/Makefile.am
===================================================================
--- branches/qt_gui/src/lib/Makefile.am	(revision 7610)
+++ branches/qt_gui/src/lib/Makefile.am	(revision 7611)
@@ -25,4 +25,5 @@
 		util/preferences.cc \
 		util/threading.cc \
+		util/file.cc \
 		util/directory.cc \
 		\
@@ -44,4 +45,5 @@
 		util/preferences.h \
 		util/threading.h \
+		util/file.h \
 		util/directory.h \
 		\
Index: branches/qt_gui/src/lib/util/file.cc
===================================================================
--- branches/qt_gui/src/lib/util/file.cc	(revision 7610)
+++ branches/qt_gui/src/lib/util/file.cc	(revision 7611)
@@ -14,3 +14,130 @@
 */
 
+#include "file.h"
 
+#ifdef __unix__
+#include <unistd.h>
+#elif __WIN32__ || _MS_DOS_
+#include <dir.h>
+#else
+#include <direct.h>
+#endif
+
+
+
+File::File()
+{
+#warning implement
+}
+
+File::File(const std::string& fileName)
+{
+#warning implement
+}
+
+File::File(const File& file)
+{
+#warning implement
+}
+
+File::~File()
+{
+#warning implement
+}
+
+bool File::open(OpenMode mode)
+{
+#warning implement
+}
+bool File::close()
+{
+#warning implement
+}
+int File::handle()
+{
+#warning implement
+}
+
+bool File::exists()
+{
+#warning implement
+}
+bool File::isLink()
+{
+#warning implement
+}      // only on UNIX
+bool File::isFile()
+{
+#warning implement
+}
+bool File::isDirectory()
+{
+#warning implement
+}
+bool File::isReadeable()
+{
+#warning implement
+}
+bool File::isWriteable()
+{
+#warning implement
+}
+bool File::isExecutable()
+{
+#warning implement
+}
+
+
+bool File::copy(const File& destination)
+{
+#warning implement
+}
+bool File::rename(const File& destination)
+{
+#warning implement
+}
+bool File::touch()
+{
+#warning implement
+}
+bool File::remove()
+{
+#warning implement
+}
+
+void File::relToAbs(std::string& fileName)
+{
+#warning implement
+}
+void File::absToRel(std::string& fileName)
+{
+#warning implement
+}
+
+
+
+
+std::string File::_cwd = "";
+
+/**
+ * @returns the Current Woring Directory
+ */
+const std::string& File::cwd()
+{
+  if (File::_cwd.empty())
+  {
+    char cwd[1024];
+    char* errorCode = getcwd(cwd, 1024);
+    if (errorCode == 0)
+      return File::_cwd;
+
+    File::_cwd = cwd;
+  }
+  return File::_cwd;
+}
+
+
+
+#include "file.h"
+
+
Index: branches/qt_gui/src/lib/util/file.h
===================================================================
--- branches/qt_gui/src/lib/util/file.h	(revision 7610)
+++ branches/qt_gui/src/lib/util/file.h	(revision 7611)
@@ -32,6 +32,7 @@
 
   bool exists();
-  bool isLink(); // only on UNIX
+  bool isLink();      // only on UNIX
   bool isFile();
+  bool isDirectory();
   bool isReadeable();
   bool isWriteable();
@@ -45,4 +46,6 @@
 
   static void relToAbs(std::string& fileName);
+  static void absToRel(std::string& fileName);
+  static const std::string& cwd();
 
   private:
@@ -50,6 +53,8 @@
 
   private:
-    int          _handle;          //!< The FileHandle (if set).
-    std::string  name;             //!< The Name of the File.
+    int                 _handle;          //!< The FileHandle (if set).
+    std::string         name;             //!< The Name of the File.
+
+    static std::string  _cwd;             //!< The currend Working directory.
 };
 
Index: branches/qt_gui/src/lib/util/loading/resource_manager.cc
===================================================================
--- branches/qt_gui/src/lib/util/loading/resource_manager.cc	(revision 7610)
+++ branches/qt_gui/src/lib/util/loading/resource_manager.cc	(revision 7611)
@@ -17,5 +17,5 @@
 
 #include "util/loading/resource_manager.h"
-
+#include "file.h"
 #include "substring.h"
 #include "debug.h"
@@ -60,5 +60,4 @@
 
   this->dataDir = "./";
-  this->_cwd = "";
   this->tryDataDir("./data");
 }
@@ -874,5 +873,5 @@
     if (name[0] == '.' && name[1] != '.')
       retName.erase(0);
-    const std::string& absDir = ResourceManager::cwd();
+    const std::string& absDir = File::cwd();
     retName = absDir + retName;
   }
@@ -896,28 +895,4 @@
   else
     return "";
-}
-
-#ifdef __unix__
-  #include <unistd.h>
-#elif __WIN32__ || _MS_DOS_
-  #include <dir.h>
-#else
-  #include <direct.h> /* Visual C++ */
-#endif
-/**
- * @returns the Current Woring Directory
- */
-const std::string& ResourceManager::cwd()
-{
-  if (ResourceManager::getInstance()->_cwd.empty())
-  {
-    char cwd[1024];
-    char* errorCode = getcwd(cwd, 1024);
-    if (errorCode == 0)
-      return ResourceManager::getInstance()->_cwd;
-
-    ResourceManager::getInstance()->_cwd = cwd;
-  }
-  return ResourceManager::getInstance()->_cwd;
 }
 
Index: branches/qt_gui/src/lib/util/loading/resource_manager.h
===================================================================
--- branches/qt_gui/src/lib/util/loading/resource_manager.h	(revision 7610)
+++ branches/qt_gui/src/lib/util/loading/resource_manager.h	(revision 7611)
@@ -138,5 +138,4 @@
   static bool isInDataDir(const std::string& fileName);
   static std::string getAbsDir(const std::string& fileName);
-  static const std::string& cwd();
 
   static const char* ResourceTypeToChar(ResourceType type);
@@ -151,5 +150,4 @@
   static ResourceManager*    singletonRef;       //!< singleton Reference
 
-  std::string                _cwd;               //!< The currend Working directory.
   std::string                dataDir;            //!< The Data Directory, where all relevant Data is stored.
   std::vector<std::string>   imageDirs;          //!< A list of directories in which images are stored.
