aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Persson2006-05-01 14:20:02 +0000
committerLars Persson2006-05-01 14:20:02 +0000
commit492929ae530316a4bbcb1c395abb1497016a1c9f (patch)
treeecb4e8e5cb54550c10ff37ac141260ac3a4ab8c8
parent72f0c9a5d72862c4b19910ae97c2b138cc94d9bb (diff)
downloadscummvm-rg350-492929ae530316a4bbcb1c395abb1497016a1c9f.tar.gz
scummvm-rg350-492929ae530316a4bbcb1c395abb1497016a1c9f.tar.bz2
scummvm-rg350-492929ae530316a4bbcb1c395abb1497016a1c9f.zip
Updated symbian-fs backend and cleanup
svn-id: r22260
-rw-r--r--backends/fs/symbian/symbian-fs.cpp19
-rw-r--r--backends/symbian/UIQ3/ScummVM_UIQ3.mmp.in2
-rw-r--r--backends/symbian/src/SymbianActions.cpp4
3 files changed, 21 insertions, 4 deletions
diff --git a/backends/fs/symbian/symbian-fs.cpp b/backends/fs/symbian/symbian-fs.cpp
index a236e10ca6..853388e251 100644
--- a/backends/fs/symbian/symbian-fs.cpp
+++ b/backends/fs/symbian/symbian-fs.cpp
@@ -29,6 +29,7 @@
#include <dirent.h>
#include <eikenv.h>
#include <f32file.h>
+#include <bautils.h>
/*
* Implementation of the ScummVM file system API based on POSIX.
@@ -200,7 +201,23 @@ AbstractFilesystemNode *SymbianFilesystemNode::parent() const {
}
AbstractFilesystemNode *SymbianFilesystemNode::child(const String &name) const {
- TODO
+ assert(_isDirectory);
+ String newPath(_path);
+
+ if (_path.lastChar() != '\\')
+ newPath += '\\';
+ newPath += name;
+
+ TPtrC8 ptr((const unsigned char*) newPath.c_str(), newPath.size());
+ TFileName fname;
+ fname.Copy(ptr);
+ TBool isFolder = EFalse;
+ BaflUtils::IsFolder(CEikonEnv::Static()->FsSession(), fname, isFolder);
+ if(!isFolder)
+ return 0;
+
+ SymbianFilesystemNode *p = new SymbianFilesystemNode(newPath);
+ return p;
}
#endif // defined(__SYMBIAN32__)
diff --git a/backends/symbian/UIQ3/ScummVM_UIQ3.mmp.in b/backends/symbian/UIQ3/ScummVM_UIQ3.mmp.in
index 792e42a568..331eb911f2 100644
--- a/backends/symbian/UIQ3/ScummVM_UIQ3.mmp.in
+++ b/backends/symbian/UIQ3/ScummVM_UIQ3.mmp.in
@@ -122,4 +122,4 @@ LIBRARY estlib.lib apgrfx.lib
LIBRARY gdi.lib hal.lib bitgdi.lib
LIBRARY mediaclientaudiostream.lib efsrv.lib ws32.lib
LIBRARY qikctl.lib
-library qikcore.lib bafl.lib \ No newline at end of file
+library qikcore.lib bafl.lib eikcoctl.lib \ No newline at end of file
diff --git a/backends/symbian/src/SymbianActions.cpp b/backends/symbian/src/SymbianActions.cpp
index 1dc8dd41c4..70ef87eb44 100644
--- a/backends/symbian/src/SymbianActions.cpp
+++ b/backends/symbian/src/SymbianActions.cpp
@@ -52,13 +52,13 @@ const Common::String actionNames[] = {
};
#ifdef UIQ
-static const int ACTIONS_DEFAULT[ACTION_LAST] = { 0, 0, 0, 0, 0x11a, 0x11b, SDLK_MENU, SDLK_PAGEDOWN, 0, 0,SDLK_PAGEUP,0,0};
+static const int ACTIONS_DEFAULT[ACTION_LAST] = { 0, 0, 0, 0, SDLK_F1, SDLK_F2, SDLK_MENU, SDLK_PAGEDOWN, 0, 0,SDLK_PAGEUP,0,0};
#elif defined (S60)
const int ACTIONS_DEFAULT[ACTION_LAST] = { 0, 0, 0, 0, 0, 0, '*', '#', '9',0,0,0,0,0};
#elif defined (S90)
const int ACTIONS_DEFAULT[ACTION_LAST] = { 0, 0, 0, 0, 0, 0, SDLK_MENU, SDLK_ESCAPE, 0, 0,0,0,0,0};
#else
-const int ACTIONS_DEFAULT[ACTION_LAST] = { 0, 0, 0, 0, 0x11a, 0x11b, SDLK_MENU, SDLK_ESCAPE, 0, 0,0,0,0,0};
+const int ACTIONS_DEFAULT[ACTION_LAST] = { 0, 0, 0, 0, SDLK_F1, SDLK_F2, SDLK_MENU, SDLK_ESCAPE, 0, 0,0,0,0,0};
#endif
// creator function according to Factory Pattern