diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2009-08-21 15:56:57 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2009-08-21 15:56:57 +0300 |
commit | 34679dd23213881a9632e21e4858377ff90a9006 (patch) | |
tree | deb9ebf681d4954b2d44858ca1a14d251c31e8eb /src/corelib/io/qfsfileengine_unix.cpp | |
parent | 7669f91c33328505fbe52f4913bd3f8745b76d31 (diff) | |
parent | 4aa6869877d4906fcfaac5388294748512cace25 (diff) |
Merge branch 'master' of git@scm.dev.troll.no:qt/qt-s60-public
Conflicts:
src/corelib/io/qfilesystemwatcher_symbian.cpp
src/corelib/io/qfilesystemwatcher_symbian_p.h
Diffstat (limited to 'src/corelib/io/qfsfileengine_unix.cpp')
-rw-r--r-- | src/corelib/io/qfsfileengine_unix.cpp | 88 |
1 files changed, 39 insertions, 49 deletions
diff --git a/src/corelib/io/qfsfileengine_unix.cpp b/src/corelib/io/qfsfileengine_unix.cpp index 2a583562a..5a52a65c6 100644 --- a/src/corelib/io/qfsfileengine_unix.cpp +++ b/src/corelib/io/qfsfileengine_unix.cpp @@ -62,6 +62,7 @@ # include <f32file.h> # include <pathinfo.h> # include "private/qcore_symbian_p.h" +# include "private/qcoreapplication_p.h" #endif #include <errno.h> #if !defined(QWS) && defined(Q_OS_MAC) @@ -401,28 +402,24 @@ bool QFSFileEngine::copy(const QString &newName) { #if defined(Q_OS_SYMBIAN) Q_D(QFSFileEngine); - RFs rfs; - TInt err = rfs.Connect(); - if (err == KErrNone) { - CFileMan* fm = NULL; - QString oldNative(QDir::toNativeSeparators(d->filePath)); - TPtrC oldPtr(qt_QString2TPtrC(oldNative)); - QFileInfo fi(newName); - QString absoluteNewName = fi.absolutePath() + QDir::separator() + fi.fileName(); - QString newNative(QDir::toNativeSeparators(absoluteNewName)); - TPtrC newPtr(qt_QString2TPtrC(newNative)); - TRAP (err, - fm = CFileMan::NewL(rfs); - RFile rfile; - err = rfile.Open(rfs, oldPtr, EFileShareReadersOrWriters); - if (err == KErrNone) { - err = fm->Copy(rfile, newPtr); - rfile.Close(); - } - ) // End TRAP - delete fm; - rfs.Close(); - } + RFs& rfs = QCoreApplicationPrivate::fsSession(); + CFileMan* fm = NULL; + QString oldNative(QDir::toNativeSeparators(d->filePath)); + TPtrC oldPtr(qt_QString2TPtrC(oldNative)); + QFileInfo fi(newName); + QString absoluteNewName = fi.absolutePath() + QDir::separator() + fi.fileName(); + QString newNative(QDir::toNativeSeparators(absoluteNewName)); + TPtrC newPtr(qt_QString2TPtrC(newNative)); + TRAPD (err, + fm = CFileMan::NewL(rfs); + RFile rfile; + err = rfile.Open(rfs, oldPtr, EFileShareReadersOrWriters); + if (err == KErrNone) { + err = fm->Copy(rfile, newPtr); + rfile.Close(); + } + ) // End TRAP + delete fm; return (err == KErrNone); #else // ### Add copy code for Unix here @@ -623,20 +620,17 @@ QFileInfoList QFSFileEngine::drives() QFileInfoList ret; #if defined(Q_OS_SYMBIAN) TDriveList driveList; - RFs rfs; - TInt err = rfs.Connect(); + RFs &rfs = QCoreApplicationPrivate::fsSession(); + TInt err = rfs.DriveList(driveList); if (err == KErrNone) { - err = rfs.DriveList(driveList); - if (err == KErrNone) { - for(char i=0; i < KMaxDrives; i++) { - if (driveList[i]) { - ret.append(QString("%1:/").arg(QChar('A'+i))); - } + for (char i = 0; i < KMaxDrives; i++) { + if (driveList[i]) { + ret.append(QString("%1:/").arg(QChar('A' + i))); } - } else { - qWarning("QDir::drives: Getting drives failed"); } - rfs.Close(); + } + else { + qWarning("QDir::drives: Getting drives failed"); } #else ret.append(rootPath()); @@ -678,22 +672,18 @@ bool QFSFileEnginePrivate::isSymlink() const static bool _q_isSymbianHidden(const QString &path, bool isDir) { bool retval = false; - RFs rfs; - TInt err = rfs.Connect(); - if (err == KErrNone) { - QFileInfo fi(path); - QString absPath = fi.absoluteFilePath(); - if (isDir && absPath.at(absPath.size()-1) != QChar('/')) { - absPath += QChar('/'); - } - QString native(QDir::toNativeSeparators(absPath)); - TPtrC ptr(qt_QString2TPtrC(native)); - TUint attributes; - err = rfs.Att(ptr, attributes); - rfs.Close(); - if (err == KErrNone && (attributes & KEntryAttHidden)) { - retval = true; - } + RFs rfs = QCoreApplicationPrivate::fsSession(); + QFileInfo fi(path); + QString absPath = fi.absoluteFilePath(); + if (isDir && absPath.at(absPath.size()-1) != QChar('/')) { + absPath += QChar('/'); + } + QString native(QDir::toNativeSeparators(absPath)); + TPtrC ptr(qt_QString2TPtrC(native)); + TUint attributes; + TInt err = rfs.Att(ptr, attributes); + if (err == KErrNone && (attributes & KEntryAttHidden)) { + retval = true; } return retval; |