utilityapps/filebrowser/ui/src/enginewrapper.cpp
author hgs
Mon, 18 Oct 2010 16:30:05 +0300
changeset 55 2d9cac8919d3
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
55
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include "enginewrapper.h"
hgs
parents:
diff changeset
    19
#include "engine.h"
hgs
parents:
diff changeset
    20
#include "FBFileUtils.h"
hgs
parents:
diff changeset
    21
#include "notifications.h"
hgs
parents:
diff changeset
    22
#include "fbfileview.h"
hgs
parents:
diff changeset
    23
#include "fbsearchview.h"
hgs
parents:
diff changeset
    24
#include "filebrowsersettings.h"
hgs
parents:
diff changeset
    25
//#include "fbsettingsview.h"
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
#include <HbProgressDialog>
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
#include <QString>
hgs
parents:
diff changeset
    30
#include <QFileInfo>
hgs
parents:
diff changeset
    31
#include <QModelIndex>
hgs
parents:
diff changeset
    32
hgs
parents:
diff changeset
    33
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
EngineWrapper::EngineWrapper()
hgs
parents:
diff changeset
    36
    : mEngine(0),
hgs
parents:
diff changeset
    37
    mFilesFound(),
hgs
parents:
diff changeset
    38
    mSettings(0),
hgs
parents:
diff changeset
    39
    mProgressDialog(0),
hgs
parents:
diff changeset
    40
    mWaitDialog(0)
hgs
parents:
diff changeset
    41
{
hgs
parents:
diff changeset
    42
}
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    45
hgs
parents:
diff changeset
    46
EngineWrapper::~EngineWrapper()
hgs
parents:
diff changeset
    47
{
hgs
parents:
diff changeset
    48
    if(mEngine != NULL) {
hgs
parents:
diff changeset
    49
        TRAP_IGNORE(mEngine->DeActivateEngineL());
hgs
parents:
diff changeset
    50
        delete mEngine;
hgs
parents:
diff changeset
    51
    } 
hgs
parents:
diff changeset
    52
    if (mProgressDialog)
hgs
parents:
diff changeset
    53
        delete mProgressDialog;
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
    if (mWaitDialog)
hgs
parents:
diff changeset
    56
        delete mWaitDialog;
hgs
parents:
diff changeset
    57
}
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    60
hgs
parents:
diff changeset
    61
bool EngineWrapper::init()
hgs
parents:
diff changeset
    62
{
hgs
parents:
diff changeset
    63
    TRAPD(err, mEngine = CEngine::NewL(this));
hgs
parents:
diff changeset
    64
    if (err != KErrNone) {
hgs
parents:
diff changeset
    65
        return false;
hgs
parents:
diff changeset
    66
    } else {
hgs
parents:
diff changeset
    67
        TRAP_IGNORE(mEngine->ActivateEngineL());
hgs
parents:
diff changeset
    68
        mSettings = FileBrowserSettings(&mEngine->Settings());
hgs
parents:
diff changeset
    69
        return true;
hgs
parents:
diff changeset
    70
    }
hgs
parents:
diff changeset
    71
}
hgs
parents:
diff changeset
    72
hgs
parents:
diff changeset
    73
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    74
// Functions that are called from UI
hgs
parents:
diff changeset
    75
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    76
bool EngineWrapper::searchFiles()
hgs
parents:
diff changeset
    77
{
hgs
parents:
diff changeset
    78
    TRAPD(err, mEngine->SearchL() );
hgs
parents:
diff changeset
    79
    if(err != KErrNone) {
hgs
parents:
diff changeset
    80
        return false;
hgs
parents:
diff changeset
    81
    }
hgs
parents:
diff changeset
    82
    else {
hgs
parents:
diff changeset
    83
        return true;
hgs
parents:
diff changeset
    84
    }
hgs
parents:
diff changeset
    85
}
hgs
parents:
diff changeset
    86
hgs
parents:
diff changeset
    87
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    88
SearchAttributes EngineWrapper::getFileSearchAttributes()
hgs
parents:
diff changeset
    89
{
hgs
parents:
diff changeset
    90
    TSearchAttributes tAttributes = mEngine->GetSearchAttributes();
hgs
parents:
diff changeset
    91
    SearchAttributes attributes;
hgs
parents:
diff changeset
    92
hgs
parents:
diff changeset
    93
    // Convert TSearchAttributes to SearchAttributes 
hgs
parents:
diff changeset
    94
    attributes.mSearchDir  = QString((QChar*)tAttributes.iSearchDir.Ptr(),tAttributes.iSearchDir.Length());
hgs
parents:
diff changeset
    95
    attributes.mWildCards  = QString((QChar*)tAttributes.iWildCards.Ptr(),tAttributes.iWildCards.Length()); 
hgs
parents:
diff changeset
    96
    attributes.mTextInFile = QString((QChar*)tAttributes.iTextInFile.Ptr(),tAttributes.iTextInFile.Length()); 
hgs
parents:
diff changeset
    97
    attributes.mMinSize    = tAttributes.iMinSize;
hgs
parents:
diff changeset
    98
    attributes.mMaxSize    = tAttributes.iMaxSize;
hgs
parents:
diff changeset
    99
    attributes.mRecurse    = tAttributes.iRecurse;
hgs
parents:
diff changeset
   100
    attributes.mDefaultWildCard = tAttributes.iDefaultWildCard;
hgs
parents:
diff changeset
   101
    
hgs
parents:
diff changeset
   102
    // TTime to QDate
hgs
parents:
diff changeset
   103
    TBuf<20> timeString;
hgs
parents:
diff changeset
   104
    _LIT(KDateString,"%D%M%Y%/0%1%/1%2%/2%3%/3");
hgs
parents:
diff changeset
   105
    TRAP_IGNORE( tAttributes.iMinDate.FormatL(timeString, KDateString) );
hgs
parents:
diff changeset
   106
    QString temp = QString::fromUtf16(timeString.Ptr(), timeString.Length());
hgs
parents:
diff changeset
   107
    temp.replace(QChar('/'), QChar('-'));
hgs
parents:
diff changeset
   108
    attributes.mMinDate = QDate::fromString(temp, "dd-MM-yyyy");
hgs
parents:
diff changeset
   109
    
hgs
parents:
diff changeset
   110
    
hgs
parents:
diff changeset
   111
    TRAP_IGNORE( tAttributes.iMaxDate.FormatL(timeString, KDateString) );
hgs
parents:
diff changeset
   112
    temp = QString::fromUtf16(timeString.Ptr(), timeString.Length());
hgs
parents:
diff changeset
   113
    temp.replace(QChar('/'), QChar('-'));
hgs
parents:
diff changeset
   114
    attributes.mMaxDate = QDate::fromString(temp, "dd-MM-yyyy");
hgs
parents:
diff changeset
   115
    
hgs
parents:
diff changeset
   116
    return attributes;
hgs
parents:
diff changeset
   117
hgs
parents:
diff changeset
   118
}
hgs
parents:
diff changeset
   119
hgs
parents:
diff changeset
   120
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   121
int EngineWrapper::setFileSearchAttributes(SearchAttributes attributes)
hgs
parents:
diff changeset
   122
{
hgs
parents:
diff changeset
   123
    TSearchAttributes tAttributes;
hgs
parents:
diff changeset
   124
    // Convert SearchAttributes to TSearchAttributes 
hgs
parents:
diff changeset
   125
    
hgs
parents:
diff changeset
   126
    //convert QString to TFilename:
hgs
parents:
diff changeset
   127
    tAttributes.iSearchDir = TFileName(attributes.mSearchDir.utf16());
hgs
parents:
diff changeset
   128
    tAttributes.iWildCards = TFileName(attributes.mWildCards.utf16());
hgs
parents:
diff changeset
   129
    tAttributes.iTextInFile = TFileName(attributes.mTextInFile.utf16());
hgs
parents:
diff changeset
   130
    
hgs
parents:
diff changeset
   131
    tAttributes.iMinSize    = attributes.mMinSize;
hgs
parents:
diff changeset
   132
    tAttributes.iMaxSize    = attributes.mMaxSize;    
hgs
parents:
diff changeset
   133
    tAttributes.iRecurse    = attributes.mRecurse;
hgs
parents:
diff changeset
   134
    tAttributes.iDefaultWildCard = attributes.mDefaultWildCard;
hgs
parents:
diff changeset
   135
    
hgs
parents:
diff changeset
   136
    // QDate to TTime for both min- and max Date
hgs
parents:
diff changeset
   137
    QString temp = attributes.mMinDate.toString("yyyy-MM-dd");
hgs
parents:
diff changeset
   138
    QStringList dateList = temp.split("-");
hgs
parents:
diff changeset
   139
    int month = dateList[1].toInt() - 1;
hgs
parents:
diff changeset
   140
    int day = dateList[2].toInt() - 1;
hgs
parents:
diff changeset
   141
    temp = dateList[0];
hgs
parents:
diff changeset
   142
    if (month == 0) {
hgs
parents:
diff changeset
   143
        temp.append("00");
hgs
parents:
diff changeset
   144
    }
hgs
parents:
diff changeset
   145
    else {
hgs
parents:
diff changeset
   146
        temp.append(QString::number(month));
hgs
parents:
diff changeset
   147
    }
hgs
parents:
diff changeset
   148
    if (day == 0) {
hgs
parents:
diff changeset
   149
        temp.append("00");
hgs
parents:
diff changeset
   150
    }
hgs
parents:
diff changeset
   151
    else { 
hgs
parents:
diff changeset
   152
        temp.append(QString::number(day));
hgs
parents:
diff changeset
   153
    }
hgs
parents:
diff changeset
   154
    temp.append(":");
hgs
parents:
diff changeset
   155
        
hgs
parents:
diff changeset
   156
    TBuf<24> dateString(temp.utf16());
hgs
parents:
diff changeset
   157
    tAttributes.iMinDate.Set(dateString);
hgs
parents:
diff changeset
   158
    
hgs
parents:
diff changeset
   159
    temp = attributes.mMaxDate.toString("yyyy-MM-dd");
hgs
parents:
diff changeset
   160
    dateList = temp.split("-");
hgs
parents:
diff changeset
   161
    month = dateList[1].toInt() - 1;
hgs
parents:
diff changeset
   162
    day = dateList[2].toInt() - 1;
hgs
parents:
diff changeset
   163
    temp = dateList[0];
hgs
parents:
diff changeset
   164
    if (month == 0) {
hgs
parents:
diff changeset
   165
        temp.append("00");
hgs
parents:
diff changeset
   166
    }
hgs
parents:
diff changeset
   167
    else {
hgs
parents:
diff changeset
   168
        temp.append(QString::number(month));
hgs
parents:
diff changeset
   169
    }
hgs
parents:
diff changeset
   170
    if (day == 0) {
hgs
parents:
diff changeset
   171
        temp.append("00");
hgs
parents:
diff changeset
   172
    }
hgs
parents:
diff changeset
   173
    else { 
hgs
parents:
diff changeset
   174
        temp.append(QString::number(day));
hgs
parents:
diff changeset
   175
    }
hgs
parents:
diff changeset
   176
    temp.append(":");
hgs
parents:
diff changeset
   177
    dateString.Copy(temp.utf16());
hgs
parents:
diff changeset
   178
    tAttributes.iMaxDate.Set(dateString);
hgs
parents:
diff changeset
   179
    
hgs
parents:
diff changeset
   180
    mEngine->ChangeAttributes(tAttributes);
hgs
parents:
diff changeset
   181
    return KErrNone;
hgs
parents:
diff changeset
   182
}
hgs
parents:
diff changeset
   183
hgs
parents:
diff changeset
   184
hgs
parents:
diff changeset
   185
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   186
SearchResults EngineWrapper::getSearchResults()
hgs
parents:
diff changeset
   187
{
hgs
parents:
diff changeset
   188
    TSearchResults tResults = mEngine->SearchResults();
hgs
parents:
diff changeset
   189
    SearchResults results;
hgs
parents:
diff changeset
   190
    results.mNumberOfFoundFiles = tResults.iNumberOfFoundFiles;
hgs
parents:
diff changeset
   191
    CFileEntryList* foundFilesResult = mEngine->FoundFiles();
hgs
parents:
diff changeset
   192
    if (!mFilesFound.isEmpty()) {
hgs
parents:
diff changeset
   193
        mFilesFound.clear();
hgs
parents:
diff changeset
   194
        }
hgs
parents:
diff changeset
   195
    // copy file names and convert them from TFileName format to QStringList items type
hgs
parents:
diff changeset
   196
    for (int i = 0; i < foundFilesResult->Count(); i++) {
hgs
parents:
diff changeset
   197
            mFilesFound.append(
hgs
parents:
diff changeset
   198
                    QString((QChar*)foundFilesResult->At(i).iFullName.Ptr(), 
hgs
parents:
diff changeset
   199
                    foundFilesResult->At(i).iFullName.Length()) 
hgs
parents:
diff changeset
   200
                    );
hgs
parents:
diff changeset
   201
        }
hgs
parents:
diff changeset
   202
    results.mFoundFilesList = &mFilesFound;
hgs
parents:
diff changeset
   203
    return results;
hgs
parents:
diff changeset
   204
}
hgs
parents:
diff changeset
   205
hgs
parents:
diff changeset
   206
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   207
hgs
parents:
diff changeset
   208
void EngineWrapper::saveSettings(bool aNotifyModules)
hgs
parents:
diff changeset
   209
{
hgs
parents:
diff changeset
   210
    return mEngine->SaveSettingsL(aNotifyModules);;
hgs
parents:
diff changeset
   211
}
hgs
parents:
diff changeset
   212
hgs
parents:
diff changeset
   213
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   214
hgs
parents:
diff changeset
   215
bool EngineWrapper::isDriveListViewActive()
hgs
parents:
diff changeset
   216
{
hgs
parents:
diff changeset
   217
    // TODO check return value
hgs
parents:
diff changeset
   218
    if (mEngine->FileUtils() && mEngine->FileUtils()->IsDriveListViewActive()) {
hgs
parents:
diff changeset
   219
        return true;
hgs
parents:
diff changeset
   220
    } else {
hgs
parents:
diff changeset
   221
        return false;
hgs
parents:
diff changeset
   222
    }
hgs
parents:
diff changeset
   223
}
hgs
parents:
diff changeset
   224
hgs
parents:
diff changeset
   225
bool EngineWrapper::isCurrentDriveReadOnly()
hgs
parents:
diff changeset
   226
{
hgs
parents:
diff changeset
   227
    // TODO check return value
hgs
parents:
diff changeset
   228
    if (mEngine->FileUtils() && mEngine->FileUtils()->IsCurrentDriveReadOnly()) {
hgs
parents:
diff changeset
   229
        return true;
hgs
parents:
diff changeset
   230
    } else {
hgs
parents:
diff changeset
   231
        return false;
hgs
parents:
diff changeset
   232
    }
hgs
parents:
diff changeset
   233
}
hgs
parents:
diff changeset
   234
hgs
parents:
diff changeset
   235
bool EngineWrapper::isClipBoardListInUse()
hgs
parents:
diff changeset
   236
{
hgs
parents:
diff changeset
   237
    if (mEngine->FileUtils() && mEngine->FileUtils()->ClipBoardList() && mEngine->FileUtils()->ClipBoardList()->Count() != 0)
hgs
parents:
diff changeset
   238
        return true;
hgs
parents:
diff changeset
   239
    else
hgs
parents:
diff changeset
   240
        return false;
hgs
parents:
diff changeset
   241
}
hgs
parents:
diff changeset
   242
hgs
parents:
diff changeset
   243
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   244
void EngineWrapper::startExecutingCommands(const QString &aCommandsExecutionMessage)
hgs
parents:
diff changeset
   245
{
hgs
parents:
diff changeset
   246
    TPtrC commandsExecutionMessage(reinterpret_cast<const TText*>(aCommandsExecutionMessage.constData()));
hgs
parents:
diff changeset
   247
    TRAPD(err, mEngine->FileUtils()->StartExecutingCommandsL(commandsExecutionMessage) );
hgs
parents:
diff changeset
   248
    Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   249
}
hgs
parents:
diff changeset
   250
hgs
parents:
diff changeset
   251
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   252
hgs
parents:
diff changeset
   253
void EngineWrapper::refreshView()
hgs
parents:
diff changeset
   254
{
hgs
parents:
diff changeset
   255
    if (mEngine->FileUtils()) {
hgs
parents:
diff changeset
   256
        TRAPD(err, mEngine->FileUtils()->RefreshViewL() );
hgs
parents:
diff changeset
   257
        Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   258
    }
hgs
parents:
diff changeset
   259
}
hgs
parents:
diff changeset
   260
hgs
parents:
diff changeset
   261
void EngineWrapper::moveUpOneLevel()
hgs
parents:
diff changeset
   262
{
hgs
parents:
diff changeset
   263
    if (mEngine->FileUtils()) {
hgs
parents:
diff changeset
   264
        TRAPD(err, mEngine->FileUtils()->MoveUpOneLevelL() );
hgs
parents:
diff changeset
   265
        Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   266
    }
hgs
parents:
diff changeset
   267
}
hgs
parents:
diff changeset
   268
hgs
parents:
diff changeset
   269
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   270
hgs
parents:
diff changeset
   271
void EngineWrapper::moveDownToDirectory(const QModelIndex& aIndex)
hgs
parents:
diff changeset
   272
{
hgs
parents:
diff changeset
   273
    if (mEngine->FileUtils()) {
hgs
parents:
diff changeset
   274
        TRAPD(err, mEngine->FileUtils()->MoveDownToDirectoryL(aIndex.row()) );
hgs
parents:
diff changeset
   275
        Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   276
    }
hgs
parents:
diff changeset
   277
}
hgs
parents:
diff changeset
   278
hgs
parents:
diff changeset
   279
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   280
hgs
parents:
diff changeset
   281
int EngineWrapper::clipboardCut(const QModelIndexList& aSelectionIndices)
hgs
parents:
diff changeset
   282
{
hgs
parents:
diff changeset
   283
    TInt operations = 0;
hgs
parents:
diff changeset
   284
    const CArrayFix<TInt> *selectionIndexes = convertSelectionList(aSelectionIndices);
hgs
parents:
diff changeset
   285
    if (mEngine->FileUtils()) {
hgs
parents:
diff changeset
   286
        TRAPD(err, operations = mEngine->FileUtils()->ClipboardCutL(selectionIndexes) );
hgs
parents:
diff changeset
   287
        Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   288
    }
hgs
parents:
diff changeset
   289
    delete selectionIndexes;
hgs
parents:
diff changeset
   290
    return operations;
hgs
parents:
diff changeset
   291
}
hgs
parents:
diff changeset
   292
hgs
parents:
diff changeset
   293
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   294
int EngineWrapper::clipboardCopy(const QModelIndexList& aSelectionIndices)
hgs
parents:
diff changeset
   295
{
hgs
parents:
diff changeset
   296
    TInt operations = 0;
hgs
parents:
diff changeset
   297
    const CArrayFix<TInt> *selectionIndexes = convertSelectionList(aSelectionIndices);
hgs
parents:
diff changeset
   298
hgs
parents:
diff changeset
   299
    if (mEngine->FileUtils()) {
hgs
parents:
diff changeset
   300
        TRAPD(err, operations = mEngine->FileUtils()->ClipboardCopyL(selectionIndexes));
hgs
parents:
diff changeset
   301
        Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   302
    }
hgs
parents:
diff changeset
   303
    delete selectionIndexes;
hgs
parents:
diff changeset
   304
    return operations;
hgs
parents:
diff changeset
   305
}
hgs
parents:
diff changeset
   306
hgs
parents:
diff changeset
   307
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   308
hgs
parents:
diff changeset
   309
void EngineWrapper::clipboardPaste(const OverwriteOptions &aOverwriteOptions)
hgs
parents:
diff changeset
   310
{
hgs
parents:
diff changeset
   311
    TOverwriteOptions tOverwriteOptions = convertOverwriteOptions(aOverwriteOptions);
hgs
parents:
diff changeset
   312
    if (mEngine->FileUtils()) {
hgs
parents:
diff changeset
   313
        TRAPD(err, mEngine->FileUtils()->ClipboardPasteL(tOverwriteOptions));
hgs
parents:
diff changeset
   314
        Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   315
    }
hgs
parents:
diff changeset
   316
}
hgs
parents:
diff changeset
   317
hgs
parents:
diff changeset
   318
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   319
hgs
parents:
diff changeset
   320
void EngineWrapper::copyToFolder(const QString &aTargetDir, const OverwriteOptions &aOverwriteOptions, bool aMove)
hgs
parents:
diff changeset
   321
{
hgs
parents:
diff changeset
   322
    TFileName targetDir = TFileName(aTargetDir.utf16());
hgs
parents:
diff changeset
   323
    TOverwriteOptions tOverwriteOptions = convertOverwriteOptions(aOverwriteOptions);
hgs
parents:
diff changeset
   324
hgs
parents:
diff changeset
   325
hgs
parents:
diff changeset
   326
    TRAPD(err, mEngine->FileUtils()->CopyToFolderL(targetDir, tOverwriteOptions, aMove ? ETrue : EFalse) );
hgs
parents:
diff changeset
   327
    Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   328
}
hgs
parents:
diff changeset
   329
hgs
parents:
diff changeset
   330
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   331
hgs
parents:
diff changeset
   332
void EngineWrapper::createNewFile(const QString &aNewFileName)
hgs
parents:
diff changeset
   333
{
hgs
parents:
diff changeset
   334
    TFileName fileName = TFileName(aNewFileName.utf16());
hgs
parents:
diff changeset
   335
    TRAPD(err, mEngine->FileUtils()->NewFileL(fileName) );
hgs
parents:
diff changeset
   336
    if (err == KErrNone) {
hgs
parents:
diff changeset
   337
        Notifications::showConfirmationNote(QString("New file created"));
hgs
parents:
diff changeset
   338
    } else if (err == KErrAlreadyExists) {
hgs
parents:
diff changeset
   339
        Notifications::showInformationNote(QString("File already exists"));
hgs
parents:
diff changeset
   340
    } else {
hgs
parents:
diff changeset
   341
        ShowErrorNote(mEngine->FileUtils()->ResolveErrorMessage(err));
hgs
parents:
diff changeset
   342
    }
hgs
parents:
diff changeset
   343
    TRAP_IGNORE(mEngine->FileUtils()->RefreshViewL());
hgs
parents:
diff changeset
   344
}
hgs
parents:
diff changeset
   345
hgs
parents:
diff changeset
   346
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   347
hgs
parents:
diff changeset
   348
void EngineWrapper::createNewDirectory(const QString &aNewDirectoryName)
hgs
parents:
diff changeset
   349
{
hgs
parents:
diff changeset
   350
    TFileName newDirectoryName = TFileName(aNewDirectoryName.utf16());
hgs
parents:
diff changeset
   351
    TRAPD(err, mEngine->FileUtils()->NewDirectoryL(newDirectoryName) );
hgs
parents:
diff changeset
   352
    if (err == KErrNone) {
hgs
parents:
diff changeset
   353
        Notifications::showConfirmationNote(QString("New directory created"));
hgs
parents:
diff changeset
   354
    } else if (err == KErrAlreadyExists) {
hgs
parents:
diff changeset
   355
        Notifications::showInformationNote(QString("Directory already exists"));
hgs
parents:
diff changeset
   356
    } else {
hgs
parents:
diff changeset
   357
        ShowErrorNote(mEngine->FileUtils()->ResolveErrorMessage(err));
hgs
parents:
diff changeset
   358
    }
hgs
parents:
diff changeset
   359
    TRAP_IGNORE(mEngine->FileUtils()->RefreshViewL());
hgs
parents:
diff changeset
   360
}
hgs
parents:
diff changeset
   361
hgs
parents:
diff changeset
   362
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   363
hgs
parents:
diff changeset
   364
void EngineWrapper::deleteItems(const QModelIndexList& aSelectionIndices)
hgs
parents:
diff changeset
   365
{
hgs
parents:
diff changeset
   366
    setCurrentSelection(aSelectionIndices);
hgs
parents:
diff changeset
   367
    TRAPD(err, mEngine->FileUtils()->DeleteL() );
hgs
parents:
diff changeset
   368
    Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   369
}
hgs
parents:
diff changeset
   370
hgs
parents:
diff changeset
   371
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   372
bool EngineWrapper::selectionHasDirs()
hgs
parents:
diff changeset
   373
{
hgs
parents:
diff changeset
   374
    return mEngine->FileUtils()->SelectionHasDirs();
hgs
parents:
diff changeset
   375
}
hgs
parents:
diff changeset
   376
hgs
parents:
diff changeset
   377
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   378
hgs
parents:
diff changeset
   379
void EngineWrapper::rename(const QModelIndex& aIndex, const QString aNewName)
hgs
parents:
diff changeset
   380
{
hgs
parents:
diff changeset
   381
    if (mEngine->FileUtils()) {
hgs
parents:
diff changeset
   382
        const TFileName newName = TFileName(aNewName.utf16());
hgs
parents:
diff changeset
   383
        TRAPD(err, mEngine->FileUtils()->RenameL(aIndex.row(), newName) );
hgs
parents:
diff changeset
   384
        Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   385
    }
hgs
parents:
diff changeset
   386
}
hgs
parents:
diff changeset
   387
hgs
parents:
diff changeset
   388
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   389
hgs
parents:
diff changeset
   390
void EngineWrapper::touch(bool aRecurse)
hgs
parents:
diff changeset
   391
{
hgs
parents:
diff changeset
   392
    if (mEngine->FileUtils()) {
hgs
parents:
diff changeset
   393
        TRAPD(err, mEngine->FileUtils()->TouchL(aRecurse) );
hgs
parents:
diff changeset
   394
        Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   395
    }
hgs
parents:
diff changeset
   396
}
hgs
parents:
diff changeset
   397
hgs
parents:
diff changeset
   398
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   399
hgs
parents:
diff changeset
   400
int EngineWrapper::getFilesCount(const QString &aDriveRoot)
hgs
parents:
diff changeset
   401
{
hgs
parents:
diff changeset
   402
    int count = 0;
hgs
parents:
diff changeset
   403
    const TFileName driveRoot = TFileName(aDriveRoot.utf16());
hgs
parents:
diff changeset
   404
    if (mEngine->FileUtils()) {
hgs
parents:
diff changeset
   405
        TRAPD(err, count = mEngine->FileUtils()->GetFilesCount(driveRoot));
hgs
parents:
diff changeset
   406
        Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   407
    }
hgs
parents:
diff changeset
   408
    return count;
hgs
parents:
diff changeset
   409
}
hgs
parents:
diff changeset
   410
hgs
parents:
diff changeset
   411
int EngineWrapper::getFilesCountAndSize(const QString &aDriveRoot, qint64 &aSize)
hgs
parents:
diff changeset
   412
{
hgs
parents:
diff changeset
   413
    int count = 0;
hgs
parents:
diff changeset
   414
    TInt64 size = 0;
hgs
parents:
diff changeset
   415
    const TFileName driveRoot = TFileName(aDriveRoot.utf16());
hgs
parents:
diff changeset
   416
    if (mEngine->FileUtils()) {
hgs
parents:
diff changeset
   417
        TRAPD(err, count = mEngine->FileUtils()->GetFilesCountAndSize(driveRoot, size));
hgs
parents:
diff changeset
   418
        aSize = size;
hgs
parents:
diff changeset
   419
        Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   420
    }
hgs
parents:
diff changeset
   421
    return count;
hgs
parents:
diff changeset
   422
}
hgs
parents:
diff changeset
   423
hgs
parents:
diff changeset
   424
int EngineWrapper::getEntriesCount(const QString &aDriveRoot)
hgs
parents:
diff changeset
   425
{
hgs
parents:
diff changeset
   426
    int count = -1;
hgs
parents:
diff changeset
   427
    const TFileName driveRoot = TFileName(aDriveRoot.utf16());
hgs
parents:
diff changeset
   428
    if (mEngine->FileUtils()) {
hgs
parents:
diff changeset
   429
        TRAPD(err, count = mEngine->FileUtils()->GetEntriesCount(driveRoot));
hgs
parents:
diff changeset
   430
        Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   431
    }
hgs
parents:
diff changeset
   432
    return count;
hgs
parents:
diff changeset
   433
}
hgs
parents:
diff changeset
   434
hgs
parents:
diff changeset
   435
QString EngineWrapper::getMimeType(const QString &aFullPath)
hgs
parents:
diff changeset
   436
{
hgs
parents:
diff changeset
   437
    QString qMimeType;
hgs
parents:
diff changeset
   438
    if (mEngine->FileUtils()) {
hgs
parents:
diff changeset
   439
        const TFileName fullPath = TFileName(aFullPath.utf16());
hgs
parents:
diff changeset
   440
        TFileName mimeType = mEngine->FileUtils()->GetMimeType(fullPath);
hgs
parents:
diff changeset
   441
        qMimeType = QString::fromUtf16(mimeType.Ptr(), mimeType.Length());
hgs
parents:
diff changeset
   442
    }
hgs
parents:
diff changeset
   443
    return qMimeType;
hgs
parents:
diff changeset
   444
}
hgs
parents:
diff changeset
   445
hgs
parents:
diff changeset
   446
QString EngineWrapper::getOpenWith(const QString &aFullPath)
hgs
parents:
diff changeset
   447
{
hgs
parents:
diff changeset
   448
    QString qOpenWith;
hgs
parents:
diff changeset
   449
    if (mEngine->FileUtils()) {
hgs
parents:
diff changeset
   450
        const TFileName fullPath = TFileName(aFullPath.utf16());
hgs
parents:
diff changeset
   451
        TFileName openWith = mEngine->FileUtils()->GetOpenWith(fullPath);
hgs
parents:
diff changeset
   452
        qOpenWith = QString::fromUtf16(openWith.Ptr(), openWith.Length());
hgs
parents:
diff changeset
   453
    }
hgs
parents:
diff changeset
   454
    return qOpenWith;
hgs
parents:
diff changeset
   455
}
hgs
parents:
diff changeset
   456
hgs
parents:
diff changeset
   457
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   458
hgs
parents:
diff changeset
   459
void EngineWrapper::setAttributes(quint32 &setAttributesMask, quint32 &clearAttributesMask, bool &recurse)
hgs
parents:
diff changeset
   460
{
hgs
parents:
diff changeset
   461
    if (mEngine->FileUtils()) {
hgs
parents:
diff changeset
   462
        TBool tRecurse = recurse ? ETrue : EFalse;
hgs
parents:
diff changeset
   463
        TRAPD(err, mEngine->FileUtils()->SetAttributesL(setAttributesMask, clearAttributesMask, tRecurse));
hgs
parents:
diff changeset
   464
        Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   465
    }
hgs
parents:
diff changeset
   466
}
hgs
parents:
diff changeset
   467
hgs
parents:
diff changeset
   468
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   469
hgs
parents:
diff changeset
   470
bool EngineWrapper::openAppArc(QString fileName)
hgs
parents:
diff changeset
   471
{
hgs
parents:
diff changeset
   472
hgs
parents:
diff changeset
   473
    //convert QString to TFilename:
hgs
parents:
diff changeset
   474
    fileName.replace("/", "\\");
hgs
parents:
diff changeset
   475
    TFileName fileToOpen = TFileName(fileName.utf16());
hgs
parents:
diff changeset
   476
hgs
parents:
diff changeset
   477
    TRAPD(err, mEngine->OpenWithApparcL(fileToOpen) );
hgs
parents:
diff changeset
   478
    if(err != KErrNone) {
hgs
parents:
diff changeset
   479
        return false;
hgs
parents:
diff changeset
   480
    } else {
hgs
parents:
diff changeset
   481
        return true;
hgs
parents:
diff changeset
   482
    }
hgs
parents:
diff changeset
   483
}
hgs
parents:
diff changeset
   484
hgs
parents:
diff changeset
   485
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   486
hgs
parents:
diff changeset
   487
bool EngineWrapper::openDocHandler(QString fileName, bool embeddedVal)
hgs
parents:
diff changeset
   488
{
hgs
parents:
diff changeset
   489
    //convert QString to TFilename:
hgs
parents:
diff changeset
   490
    fileName.replace("/", "\\");
hgs
parents:
diff changeset
   491
    TFileName fileToOpen = TFileName(fileName.utf16());
hgs
parents:
diff changeset
   492
hgs
parents:
diff changeset
   493
    TRAPD(err, mEngine->OpenWithDocHandlerL(fileToOpen, embeddedVal) );
hgs
parents:
diff changeset
   494
    if(err != KErrNone) {
hgs
parents:
diff changeset
   495
        return false;
hgs
parents:
diff changeset
   496
    } else {
hgs
parents:
diff changeset
   497
        return true;
hgs
parents:
diff changeset
   498
    }
hgs
parents:
diff changeset
   499
}
hgs
parents:
diff changeset
   500
hgs
parents:
diff changeset
   501
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   502
hgs
parents:
diff changeset
   503
int EngineWrapper::itemCount() const
hgs
parents:
diff changeset
   504
{
hgs
parents:
diff changeset
   505
    if (mEngine->FileUtils()->IsDriveListViewActive()) {
hgs
parents:
diff changeset
   506
        return mEngine->FileUtils()->DriveEntries()->Count();
hgs
parents:
diff changeset
   507
    } else {
hgs
parents:
diff changeset
   508
        return mEngine->FileUtils()->FileEntries()->Count();
hgs
parents:
diff changeset
   509
    }
hgs
parents:
diff changeset
   510
}
hgs
parents:
diff changeset
   511
hgs
parents:
diff changeset
   512
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   513
hgs
parents:
diff changeset
   514
FbDriveEntry EngineWrapper::getDriveEntry(const QModelIndex& aIndex) const
hgs
parents:
diff changeset
   515
{
hgs
parents:
diff changeset
   516
    TDriveEntry driveEntry;
hgs
parents:
diff changeset
   517
    if (mEngine->FileUtils()->DriveEntries()->Count() > aIndex.row() && aIndex.row() >= 0) {
hgs
parents:
diff changeset
   518
        driveEntry = mEngine->FileUtils()->DriveEntries()->At(aIndex.row());
hgs
parents:
diff changeset
   519
    }
hgs
parents:
diff changeset
   520
    return FbDriveEntry(driveEntry);
hgs
parents:
diff changeset
   521
}
hgs
parents:
diff changeset
   522
hgs
parents:
diff changeset
   523
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   524
hgs
parents:
diff changeset
   525
FbFileEntry EngineWrapper::getFileEntry(const QModelIndex& aIndex) const
hgs
parents:
diff changeset
   526
{
hgs
parents:
diff changeset
   527
    TFileEntry fileEntry;
hgs
parents:
diff changeset
   528
    if (mEngine->FileUtils()->FileEntries()->Count() > aIndex.row() && aIndex.row() >= 0) {
hgs
parents:
diff changeset
   529
        fileEntry = mEngine->FileUtils()->FileEntries()->At(aIndex.row());
hgs
parents:
diff changeset
   530
    }
hgs
parents:
diff changeset
   531
    return FbFileEntry(fileEntry);
hgs
parents:
diff changeset
   532
}
hgs
parents:
diff changeset
   533
hgs
parents:
diff changeset
   534
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   535
hgs
parents:
diff changeset
   536
const CArrayFix<TInt> *EngineWrapper::convertSelectionList(const QModelIndexList &aSelectionIndices)
hgs
parents:
diff changeset
   537
{
hgs
parents:
diff changeset
   538
    CArrayFixFlat<TInt>* selectionIndexes = 0;
hgs
parents:
diff changeset
   539
    TRAPD(err, selectionIndexes = new(ELeave)CArrayFixFlat<TInt>(4));
hgs
parents:
diff changeset
   540
    if (err != KErrNone) {
hgs
parents:
diff changeset
   541
        return 0;
hgs
parents:
diff changeset
   542
    }
hgs
parents:
diff changeset
   543
hgs
parents:
diff changeset
   544
    for (int i=0; i< aSelectionIndices.count(); ++i) {
hgs
parents:
diff changeset
   545
        TRAPD(err, selectionIndexes->AppendL(aSelectionIndices.at(i).row()) );
hgs
parents:
diff changeset
   546
        Q_UNUSED(err); //TODO
hgs
parents:
diff changeset
   547
    }
hgs
parents:
diff changeset
   548
    return selectionIndexes;
hgs
parents:
diff changeset
   549
}
hgs
parents:
diff changeset
   550
hgs
parents:
diff changeset
   551
hgs
parents:
diff changeset
   552
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   553
hgs
parents:
diff changeset
   554
void EngineWrapper::setCurrentSelection(const QModelIndexList &aSelectionIndices)
hgs
parents:
diff changeset
   555
{
hgs
parents:
diff changeset
   556
    const CArrayFix<TInt> *selectionIndexes = convertSelectionList(aSelectionIndices);
hgs
parents:
diff changeset
   557
    mEngine->FileUtils()->SetCurrentSelection(selectionIndexes);
hgs
parents:
diff changeset
   558
    delete selectionIndexes;
hgs
parents:
diff changeset
   559
}
hgs
parents:
diff changeset
   560
hgs
parents:
diff changeset
   561
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   562
hgs
parents:
diff changeset
   563
bool EngineWrapper::isDestinationEntriesExists(const QModelIndexList &aSelectionIndices, QString aTargetDir)
hgs
parents:
diff changeset
   564
{
hgs
parents:
diff changeset
   565
    TFileName targetDir = TFileName(aTargetDir.utf16());
hgs
parents:
diff changeset
   566
    //setCurrentSelection(aSelectionIndices);
hgs
parents:
diff changeset
   567
    Q_UNUSED(aSelectionIndices);
hgs
parents:
diff changeset
   568
hgs
parents:
diff changeset
   569
    TBool someEntryExists = mEngine->FileUtils()->IsDestinationEntriesExists(targetDir);
hgs
parents:
diff changeset
   570
    return someEntryExists;
hgs
parents:
diff changeset
   571
}
hgs
parents:
diff changeset
   572
hgs
parents:
diff changeset
   573
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   574
bool EngineWrapper::targetExists(const QModelIndex& aIndex, const QString aNewName)
hgs
parents:
diff changeset
   575
{
hgs
parents:
diff changeset
   576
    const TFileName newName = TFileName(aNewName.utf16());
hgs
parents:
diff changeset
   577
    return mEngine->FileUtils()->TargetExists(aIndex.row(), newName);
hgs
parents:
diff changeset
   578
}
hgs
parents:
diff changeset
   579
hgs
parents:
diff changeset
   580
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   581
hgs
parents:
diff changeset
   582
QString EngineWrapper::currentPath() const
hgs
parents:
diff changeset
   583
{
hgs
parents:
diff changeset
   584
    return QString::fromUtf16(mEngine->FileUtils()->CurrentPath().Ptr(),
hgs
parents:
diff changeset
   585
                              mEngine->FileUtils()->CurrentPath().Length());
hgs
parents:
diff changeset
   586
}
hgs
parents:
diff changeset
   587
hgs
parents:
diff changeset
   588
TOverwriteOptions EngineWrapper::convertOverwriteOptions(const OverwriteOptions &aOverwriteOptions)
hgs
parents:
diff changeset
   589
{
hgs
parents:
diff changeset
   590
    TOverwriteOptions tOverwriteOptions;
hgs
parents:
diff changeset
   591
    tOverwriteOptions.iDoFileOperations = aOverwriteOptions.doFileOperations;
hgs
parents:
diff changeset
   592
    tOverwriteOptions.iQueryIndex = aOverwriteOptions.queryIndex;
hgs
parents:
diff changeset
   593
    tOverwriteOptions.iPostFix = TFileName(aOverwriteOptions.postFix.utf16());
hgs
parents:
diff changeset
   594
    tOverwriteOptions.iOverWriteFlags = aOverwriteOptions.overWriteFlags;
hgs
parents:
diff changeset
   595
    return tOverwriteOptions;
hgs
parents:
diff changeset
   596
}
hgs
parents:
diff changeset
   597
hgs
parents:
diff changeset
   598
bool EngineWrapper::hasDrivePassword(const QModelIndex &aIndex)
hgs
parents:
diff changeset
   599
{
hgs
parents:
diff changeset
   600
    bool hasPassword = false;
hgs
parents:
diff changeset
   601
    if (mEngine->FileUtils()->DriveEntries()->Count() > aIndex.row() && aIndex.row() >= 0)
hgs
parents:
diff changeset
   602
    {
hgs
parents:
diff changeset
   603
        TDriveEntry driveEntry = mEngine->FileUtils()->DriveEntries()->At(aIndex.row());
hgs
parents:
diff changeset
   604
        hasPassword = driveEntry.iVolumeInfo.iDrive.iMediaAtt & KMediaAttHasPassword;
hgs
parents:
diff changeset
   605
    }
hgs
parents:
diff changeset
   606
    return hasPassword;
hgs
parents:
diff changeset
   607
}
hgs
parents:
diff changeset
   608
hgs
parents:
diff changeset
   609
bool EngineWrapper::isDriveRemovable(const QModelIndex &aIndex)
hgs
parents:
diff changeset
   610
{
hgs
parents:
diff changeset
   611
    bool isRemovable = false;
hgs
parents:
diff changeset
   612
    if (mEngine->FileUtils()->DriveEntries()->Count() > aIndex.row() && aIndex.row() >= 0)
hgs
parents:
diff changeset
   613
    {
hgs
parents:
diff changeset
   614
        TDriveEntry driveEntry = mEngine->FileUtils()->DriveEntries()->At(aIndex.row());
hgs
parents:
diff changeset
   615
        isRemovable = driveEntry.iVolumeInfo.iDrive.iDriveAtt & KDriveAttRemovable;
hgs
parents:
diff changeset
   616
    }
hgs
parents:
diff changeset
   617
    return isRemovable;
hgs
parents:
diff changeset
   618
}
hgs
parents:
diff changeset
   619
hgs
parents:
diff changeset
   620
bool EngineWrapper::isDriveLocked(const QModelIndex &aIndex)
hgs
parents:
diff changeset
   621
{
hgs
parents:
diff changeset
   622
    bool isRemovable = false;
hgs
parents:
diff changeset
   623
    if (mEngine->FileUtils()->DriveEntries()->Count() > aIndex.row() && aIndex.row() >= 0)
hgs
parents:
diff changeset
   624
    {
hgs
parents:
diff changeset
   625
        TDriveEntry driveEntry = mEngine->FileUtils()->DriveEntries()->At(aIndex.row());
hgs
parents:
diff changeset
   626
        isRemovable = driveEntry.iVolumeInfo.iDrive.iMediaAtt & KMediaAttLocked;
hgs
parents:
diff changeset
   627
    }
hgs
parents:
diff changeset
   628
    return isRemovable;
hgs
parents:
diff changeset
   629
}
hgs
parents:
diff changeset
   630
hgs
parents:
diff changeset
   631
void EngineWrapper::GetDriveName(const QModelIndex &aIndex, QString &aDriveName)
hgs
parents:
diff changeset
   632
{
hgs
parents:
diff changeset
   633
    TFileName driveName;
hgs
parents:
diff changeset
   634
    mEngine->FileUtils()->GetDriveName(aIndex.row(), driveName);
hgs
parents:
diff changeset
   635
    aDriveName = QString::fromUtf16(driveName.Ptr(), driveName.Length());
hgs
parents:
diff changeset
   636
}
hgs
parents:
diff changeset
   637
hgs
parents:
diff changeset
   638
hgs
parents:
diff changeset
   639
void EngineWrapper::GetDriveVolumeLabel(const QModelIndex &aIndex, QString &aVolumeLabel)
hgs
parents:
diff changeset
   640
{
hgs
parents:
diff changeset
   641
    TFileName volumeLabel;
hgs
parents:
diff changeset
   642
    mEngine->FileUtils()->GetDriveName(aIndex.row(), volumeLabel);
hgs
parents:
diff changeset
   643
    aVolumeLabel = QString::fromUtf16(volumeLabel.Ptr(), volumeLabel.Length());
hgs
parents:
diff changeset
   644
}
hgs
parents:
diff changeset
   645
hgs
parents:
diff changeset
   646
/**
hgs
parents:
diff changeset
   647
  * Wrapper function for SetDrivePasswordL
hgs
parents:
diff changeset
   648
  */
hgs
parents:
diff changeset
   649
void EngineWrapper::DiskAdminSetDrivePassword(const QModelIndex &aIndex,
hgs
parents:
diff changeset
   650
                                              const QString &aOldPassword,
hgs
parents:
diff changeset
   651
                                              const QString &aNewPassword)
hgs
parents:
diff changeset
   652
{
hgs
parents:
diff changeset
   653
    TFileName oldPassword = TFileName(aOldPassword.utf16());
hgs
parents:
diff changeset
   654
    TFileName newPassword = TFileName(aNewPassword.utf16());
hgs
parents:
diff changeset
   655
hgs
parents:
diff changeset
   656
    TRAPD(err, mEngine->FileUtils()->SetDrivePasswordL(aIndex.row(), oldPassword, newPassword));
hgs
parents:
diff changeset
   657
hgs
parents:
diff changeset
   658
    if (err == KErrNone) {
hgs
parents:
diff changeset
   659
        Notifications::showInformationNote(QString("Password set"));
hgs
parents:
diff changeset
   660
    } else if (err == KErrNotSupported) {
hgs
parents:
diff changeset
   661
        Notifications::showErrorNote(QString("Not supported for this drive"));
hgs
parents:
diff changeset
   662
    } else {
hgs
parents:
diff changeset
   663
        ShowErrorNote(mEngine->FileUtils()->ResolveErrorMessage(err));
hgs
parents:
diff changeset
   664
    }
hgs
parents:
diff changeset
   665
    TRAP_IGNORE(mEngine->FileUtils()->RefreshViewL());
hgs
parents:
diff changeset
   666
}
hgs
parents:
diff changeset
   667
hgs
parents:
diff changeset
   668
/**
hgs
parents:
diff changeset
   669
  * Wrapper function for UnlockDriveL
hgs
parents:
diff changeset
   670
  */
hgs
parents:
diff changeset
   671
void EngineWrapper::DiskAdminUnlockDrive(const QModelIndex &aIndex, const QString &aOldPassword)
hgs
parents:
diff changeset
   672
{
hgs
parents:
diff changeset
   673
    TFileName oldPassword = TFileName(aOldPassword.utf16());
hgs
parents:
diff changeset
   674
hgs
parents:
diff changeset
   675
    TRAPD(err, mEngine->FileUtils()->UnlockDriveL(aIndex.row(), oldPassword));
hgs
parents:
diff changeset
   676
hgs
parents:
diff changeset
   677
    if (err == KErrNone) {
hgs
parents:
diff changeset
   678
        Notifications::showInformationNote(QString("Drive unlocked"));
hgs
parents:
diff changeset
   679
    } else if (err == KErrNotSupported) {
hgs
parents:
diff changeset
   680
        Notifications::showErrorNote(QString("Not supported for this drive"));
hgs
parents:
diff changeset
   681
    } else {
hgs
parents:
diff changeset
   682
        ShowErrorNote(mEngine->FileUtils()->ResolveErrorMessage(err));
hgs
parents:
diff changeset
   683
    }
hgs
parents:
diff changeset
   684
hgs
parents:
diff changeset
   685
    TRAP_IGNORE(mEngine->FileUtils()->RefreshViewL());
hgs
parents:
diff changeset
   686
}
hgs
parents:
diff changeset
   687
hgs
parents:
diff changeset
   688
/**
hgs
parents:
diff changeset
   689
  * Wrapper function for ClearDrivePasswordL
hgs
parents:
diff changeset
   690
  */
hgs
parents:
diff changeset
   691
void EngineWrapper::DiskAdminClearDrivePassword(const QModelIndex &aIndex, const QString &aOldPassword)
hgs
parents:
diff changeset
   692
{
hgs
parents:
diff changeset
   693
    TFileName oldPassword = TFileName(aOldPassword.utf16());
hgs
parents:
diff changeset
   694
    TRAPD(err, mEngine->FileUtils()->ClearDrivePasswordL(aIndex.row(), oldPassword));
hgs
parents:
diff changeset
   695
hgs
parents:
diff changeset
   696
    if (err == KErrNone) {
hgs
parents:
diff changeset
   697
        Notifications::showInformationNote(QString("Password cleared"));
hgs
parents:
diff changeset
   698
    } else if (err == KErrNotSupported) {
hgs
parents:
diff changeset
   699
        Notifications::showErrorNote(QString("Not supported for this drive"));
hgs
parents:
diff changeset
   700
    } else {
hgs
parents:
diff changeset
   701
        ShowErrorNote(mEngine->FileUtils()->ResolveErrorMessage(err));
hgs
parents:
diff changeset
   702
    }
hgs
parents:
diff changeset
   703
hgs
parents:
diff changeset
   704
    TRAP_IGNORE(mEngine->FileUtils()->RefreshViewL());
hgs
parents:
diff changeset
   705
}
hgs
parents:
diff changeset
   706
hgs
parents:
diff changeset
   707
/**
hgs
parents:
diff changeset
   708
  * Wrapper function for ClearDrivePasswordL
hgs
parents:
diff changeset
   709
  */
hgs
parents:
diff changeset
   710
void EngineWrapper::DiskAdminEraseDrivePassword(const QModelIndex &aIndex)
hgs
parents:
diff changeset
   711
{
hgs
parents:
diff changeset
   712
    TRAPD(err, mEngine->FileUtils()->EraseDrivePasswordL(aIndex.row()));
hgs
parents:
diff changeset
   713
hgs
parents:
diff changeset
   714
    if (err == KErrNone) {
hgs
parents:
diff changeset
   715
        Notifications::showInformationNote(QString("Password erased"));
hgs
parents:
diff changeset
   716
    } else if (err == KErrNotSupported) {
hgs
parents:
diff changeset
   717
        Notifications::showErrorNote(QString("Not supported for this drive"));
hgs
parents:
diff changeset
   718
    } else {
hgs
parents:
diff changeset
   719
        Notifications::showErrorNote(QString("Cannot erase, you may have to format the drive first"));
hgs
parents:
diff changeset
   720
    }
hgs
parents:
diff changeset
   721
hgs
parents:
diff changeset
   722
    TRAP_IGNORE(mEngine->FileUtils()->RefreshViewL());
hgs
parents:
diff changeset
   723
}
hgs
parents:
diff changeset
   724
hgs
parents:
diff changeset
   725
void EngineWrapper::DiskAdminFormatDrive(const QModelIndex &aIndex, bool aQuickFormat)
hgs
parents:
diff changeset
   726
{
hgs
parents:
diff changeset
   727
    TRAP_IGNORE(mEngine->FileUtils()->FormatDriveL(aIndex.row(), aQuickFormat));
hgs
parents:
diff changeset
   728
}
hgs
parents:
diff changeset
   729
hgs
parents:
diff changeset
   730
void EngineWrapper::DiskAdminQuickFormatDrive(const QModelIndex &aIndex, bool aQuickFormat)
hgs
parents:
diff changeset
   731
{
hgs
parents:
diff changeset
   732
    TRAP_IGNORE(mEngine->FileUtils()->FormatDriveL(aIndex.row(), aQuickFormat));
hgs
parents:
diff changeset
   733
}
hgs
parents:
diff changeset
   734
hgs
parents:
diff changeset
   735
void EngineWrapper::DiskAdminCheckDisk(const QModelIndex &aIndex)
hgs
parents:
diff changeset
   736
{
hgs
parents:
diff changeset
   737
    TRAP_IGNORE(mEngine->FileUtils()->CheckDiskL(aIndex.row()));
hgs
parents:
diff changeset
   738
}
hgs
parents:
diff changeset
   739
hgs
parents:
diff changeset
   740
/**
hgs
parents:
diff changeset
   741
  * Wrapper function for ScanDriveL
hgs
parents:
diff changeset
   742
  */
hgs
parents:
diff changeset
   743
void EngineWrapper::DiskAdminScanDrive(const QModelIndex &aIndex)
hgs
parents:
diff changeset
   744
{
hgs
parents:
diff changeset
   745
    TRAPD(err, mEngine->FileUtils()->ScanDriveL(aIndex.row()));
hgs
parents:
diff changeset
   746
hgs
parents:
diff changeset
   747
    if (err == KErrNone) {
hgs
parents:
diff changeset
   748
        Notifications::showConfirmationNote(QString("Run succesfully"));
hgs
parents:
diff changeset
   749
    } else if (err == KErrNotSupported) {
hgs
parents:
diff changeset
   750
        Notifications::showErrorNote(QString("Not supported for this drive"));
hgs
parents:
diff changeset
   751
    } else {
hgs
parents:
diff changeset
   752
        ShowErrorNote(mEngine->FileUtils()->ResolveErrorMessage(err));
hgs
parents:
diff changeset
   753
    }
hgs
parents:
diff changeset
   754
hgs
parents:
diff changeset
   755
    TRAP_IGNORE(mEngine->FileUtils()->RefreshViewL());
hgs
parents:
diff changeset
   756
}
hgs
parents:
diff changeset
   757
hgs
parents:
diff changeset
   758
/**
hgs
parents:
diff changeset
   759
  * Wrapper function for SetDriveNameL
hgs
parents:
diff changeset
   760
  */
hgs
parents:
diff changeset
   761
void EngineWrapper::DiskAdminSetDriveName(const QModelIndex &aIndex, const QString &aDriveName)
hgs
parents:
diff changeset
   762
{
hgs
parents:
diff changeset
   763
    TFileName driveName = TFileName(aDriveName.utf16());
hgs
parents:
diff changeset
   764
    TRAPD(err, mEngine->FileUtils()->SetDriveNameL(aIndex.row(), driveName));
hgs
parents:
diff changeset
   765
hgs
parents:
diff changeset
   766
    if (err == KErrNone) {
hgs
parents:
diff changeset
   767
        Notifications::showConfirmationNote(QString("Name changed"));
hgs
parents:
diff changeset
   768
    } else if (err == KErrNotSupported) {
hgs
parents:
diff changeset
   769
        Notifications::showErrorNote(QString("Not supported for this drive"));
hgs
parents:
diff changeset
   770
    } else {
hgs
parents:
diff changeset
   771
        ShowErrorNote(mEngine->FileUtils()->ResolveErrorMessage(err));
hgs
parents:
diff changeset
   772
    }
hgs
parents:
diff changeset
   773
hgs
parents:
diff changeset
   774
    TRAP_IGNORE(mEngine->FileUtils()->RefreshViewL());
hgs
parents:
diff changeset
   775
}
hgs
parents:
diff changeset
   776
hgs
parents:
diff changeset
   777
/**
hgs
parents:
diff changeset
   778
  * Wrapper function for SetDriveVolumeLabelL
hgs
parents:
diff changeset
   779
  */
hgs
parents:
diff changeset
   780
void EngineWrapper::DiskAdminSetDriveVolumeLabel(const QModelIndex &aIndex, const QString &aVolumeLabel)
hgs
parents:
diff changeset
   781
{
hgs
parents:
diff changeset
   782
    TFileName volumeLabel = TFileName(aVolumeLabel.utf16());
hgs
parents:
diff changeset
   783
    TRAPD(err, mEngine->FileUtils()->SetDriveVolumeLabelL(aIndex.row(), volumeLabel));
hgs
parents:
diff changeset
   784
hgs
parents:
diff changeset
   785
    if (err == KErrNone) {
hgs
parents:
diff changeset
   786
        Notifications::showConfirmationNote(QString("Volume label changed"));
hgs
parents:
diff changeset
   787
    } else if (err == KErrNotSupported) {
hgs
parents:
diff changeset
   788
        Notifications::showErrorNote(QString("Not supported for this drive"));
hgs
parents:
diff changeset
   789
    } else {
hgs
parents:
diff changeset
   790
        ShowErrorNote(mEngine->FileUtils()->ResolveErrorMessage(err));
hgs
parents:
diff changeset
   791
    }
hgs
parents:
diff changeset
   792
hgs
parents:
diff changeset
   793
    TRAP_IGNORE(mEngine->FileUtils()->RefreshViewL());
hgs
parents:
diff changeset
   794
}
hgs
parents:
diff changeset
   795
hgs
parents:
diff changeset
   796
/**
hgs
parents:
diff changeset
   797
  * Wrapper function for EjectDriveL
hgs
parents:
diff changeset
   798
  */
hgs
parents:
diff changeset
   799
void EngineWrapper::DiskAdminEjectDrive(const QModelIndex &aIndex)
hgs
parents:
diff changeset
   800
{
hgs
parents:
diff changeset
   801
    TRAPD(err, mEngine->FileUtils()->EjectDriveL(aIndex.row()));
hgs
parents:
diff changeset
   802
hgs
parents:
diff changeset
   803
    if (err == KErrNone) {
hgs
parents:
diff changeset
   804
        Notifications::showConfirmationNote(QString("Ejected succesfully"));
hgs
parents:
diff changeset
   805
    } else if (err == KErrNotSupported) {
hgs
parents:
diff changeset
   806
        Notifications::showErrorNote(QString("Not supported for this drive"));
hgs
parents:
diff changeset
   807
    } else {
hgs
parents:
diff changeset
   808
        ShowErrorNote(mEngine->FileUtils()->ResolveErrorMessage(err));
hgs
parents:
diff changeset
   809
    }
hgs
parents:
diff changeset
   810
hgs
parents:
diff changeset
   811
    TRAP_IGNORE(mEngine->FileUtils()->RefreshViewL());
hgs
parents:
diff changeset
   812
}
hgs
parents:
diff changeset
   813
hgs
parents:
diff changeset
   814
/**
hgs
parents:
diff changeset
   815
  * Wrapper function for DismountFileSystemL
hgs
parents:
diff changeset
   816
  */
hgs
parents:
diff changeset
   817
void EngineWrapper::DiskAdminDismountDrive(const QModelIndex &aIndex)
hgs
parents:
diff changeset
   818
{
hgs
parents:
diff changeset
   819
    TRAPD(err, mEngine->FileUtils()->DismountFileSystemL(aIndex.row()));
hgs
parents:
diff changeset
   820
hgs
parents:
diff changeset
   821
    if (err == KErrNone) {
hgs
parents:
diff changeset
   822
        Notifications::showConfirmationNote(QString("Dismounted succesfully"));
hgs
parents:
diff changeset
   823
    } else if (err == KErrNotSupported) {
hgs
parents:
diff changeset
   824
        Notifications::showErrorNote(QString("Not supported for this drive"));
hgs
parents:
diff changeset
   825
    } else {
hgs
parents:
diff changeset
   826
        ShowErrorNote(mEngine->FileUtils()->ResolveErrorMessage(err));
hgs
parents:
diff changeset
   827
    }
hgs
parents:
diff changeset
   828
hgs
parents:
diff changeset
   829
    TRAP_IGNORE(mEngine->FileUtils()->RefreshViewL());
hgs
parents:
diff changeset
   830
}
hgs
parents:
diff changeset
   831
hgs
parents:
diff changeset
   832
/**
hgs
parents:
diff changeset
   833
  * Wrapper function for EraseMBRL
hgs
parents:
diff changeset
   834
  */
hgs
parents:
diff changeset
   835
void EngineWrapper::DiskAdminEraseMBR(const QModelIndex &aIndex)
hgs
parents:
diff changeset
   836
{
hgs
parents:
diff changeset
   837
    TRAP_IGNORE(mEngine->FileUtils()->EraseMBRL(aIndex.row()));
hgs
parents:
diff changeset
   838
}
hgs
parents:
diff changeset
   839
hgs
parents:
diff changeset
   840
/**
hgs
parents:
diff changeset
   841
  * Wrapper function for PartitionDriveL
hgs
parents:
diff changeset
   842
  */
hgs
parents:
diff changeset
   843
void EngineWrapper::DiskAdminPartitionDrive(const QModelIndex &aIndex, bool aEraseMBR, int aAmountOfPartitions)
hgs
parents:
diff changeset
   844
{
hgs
parents:
diff changeset
   845
    TRAP_IGNORE(mEngine->FileUtils()->PartitionDriveL(aIndex.row(), aEraseMBR, aAmountOfPartitions));
hgs
parents:
diff changeset
   846
}
hgs
parents:
diff changeset
   847
hgs
parents:
diff changeset
   848
void EngineWrapper::ToolsSetErrRd(bool aEnable)
hgs
parents:
diff changeset
   849
{
hgs
parents:
diff changeset
   850
    TRAP_IGNORE(mEngine->FileUtils()->SetErrRdL(aEnable));
hgs
parents:
diff changeset
   851
}
hgs
parents:
diff changeset
   852
hgs
parents:
diff changeset
   853
bool EngineWrapper::ErrRdFileExists()
hgs
parents:
diff changeset
   854
{
hgs
parents:
diff changeset
   855
    return mEngine->FileUtils()->FileExists(KErrRdPath);
hgs
parents:
diff changeset
   856
}
hgs
parents:
diff changeset
   857
hgs
parents:
diff changeset
   858
void EngineWrapper::ToolsErrorSimulateLeave(int aLeaveCode)
hgs
parents:
diff changeset
   859
{
hgs
parents:
diff changeset
   860
    mEngine->FileUtils()->SimulateLeaveL(aLeaveCode);
hgs
parents:
diff changeset
   861
}
hgs
parents:
diff changeset
   862
hgs
parents:
diff changeset
   863
void EngineWrapper::ToolsErrorSimulatePanic(QString aPanicCategory, int aPanicCode)
hgs
parents:
diff changeset
   864
{
hgs
parents:
diff changeset
   865
    TBuf<128> panicCategory;
hgs
parents:
diff changeset
   866
    panicCategory.Copy(aPanicCategory.utf16());
hgs
parents:
diff changeset
   867
    mEngine->FileUtils()->SimulatePanicL(panicCategory, aPanicCode);
hgs
parents:
diff changeset
   868
}
hgs
parents:
diff changeset
   869
hgs
parents:
diff changeset
   870
void EngineWrapper::ToolsErrorSimulateException(int aExceptionCode)
hgs
parents:
diff changeset
   871
{
hgs
parents:
diff changeset
   872
    mEngine->FileUtils()->SimulateExceptionL(aExceptionCode);
hgs
parents:
diff changeset
   873
}
hgs
parents:
diff changeset
   874
hgs
parents:
diff changeset
   875
quint32 EngineWrapper::getDebugMask()
hgs
parents:
diff changeset
   876
{
hgs
parents:
diff changeset
   877
    return mEngine->FileUtils()->GetDebugMask();
hgs
parents:
diff changeset
   878
}
hgs
parents:
diff changeset
   879
hgs
parents:
diff changeset
   880
void EngineWrapper::toolsSetDebugMask(quint32 aDbgMask)
hgs
parents:
diff changeset
   881
{
hgs
parents:
diff changeset
   882
    mEngine->FileUtils()->SetDebugMaskL(aDbgMask);
hgs
parents:
diff changeset
   883
}
hgs
parents:
diff changeset
   884
hgs
parents:
diff changeset
   885
void EngineWrapper::toolsWriteAllFiles()
hgs
parents:
diff changeset
   886
{
hgs
parents:
diff changeset
   887
    mEngine->FileUtils()->WriteAllFilesL();
hgs
parents:
diff changeset
   888
}
hgs
parents:
diff changeset
   889
hgs
parents:
diff changeset
   890
void EngineWrapper::showFileCheckSums(const QModelIndex &aIndex, TFileBrowserCmdFileChecksums checksumType)
hgs
parents:
diff changeset
   891
{
hgs
parents:
diff changeset
   892
    TRAPD(err, mEngine->FileUtils()->ShowFileCheckSumsL(aIndex.row(), checksumType));
hgs
parents:
diff changeset
   893
hgs
parents:
diff changeset
   894
    if (err != KErrNone) {
hgs
parents:
diff changeset
   895
        ShowErrorNote(mEngine->FileUtils()->ResolveErrorMessage(err));
hgs
parents:
diff changeset
   896
    }
hgs
parents:
diff changeset
   897
}
hgs
parents:
diff changeset
   898
hgs
parents:
diff changeset
   899
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   900
// Functions that are called from engine
hgs
parents:
diff changeset
   901
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   902
hgs
parents:
diff changeset
   903
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   904
hgs
parents:
diff changeset
   905
void EngineWrapper::ShowErrorNote(const TDesC& aDescText, TBool aNoTimeout /*= EFalse*/)
hgs
parents:
diff changeset
   906
{
hgs
parents:
diff changeset
   907
    QString qText = QString::fromUtf16(aDescText.Ptr(), aDescText.Length());
hgs
parents:
diff changeset
   908
    Notifications::showErrorNote(qText, aNoTimeout);
hgs
parents:
diff changeset
   909
}
hgs
parents:
diff changeset
   910
hgs
parents:
diff changeset
   911
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   912
hgs
parents:
diff changeset
   913
void EngineWrapper::ShowInformationNote(const TDesC &aDescText, const TDesC &aDescTitle)
hgs
parents:
diff changeset
   914
{
hgs
parents:
diff changeset
   915
    QString qText = QString::fromUtf16(aDescText.Ptr(), aDescText.Length());
hgs
parents:
diff changeset
   916
    QString qTitle = QString::fromUtf16(aDescTitle.Ptr(), aDescTitle.Length());
hgs
parents:
diff changeset
   917
    Notifications::showInformationNote(qText, qTitle);
hgs
parents:
diff changeset
   918
}
hgs
parents:
diff changeset
   919
hgs
parents:
diff changeset
   920
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   921
hgs
parents:
diff changeset
   922
void EngineWrapper::ShowConfirmationNote(const TDesC& aDescText, TBool aNoTimeout /*= EFalse*/)
hgs
parents:
diff changeset
   923
{
hgs
parents:
diff changeset
   924
    QString qText = QString::fromUtf16(aDescText.Ptr(), aDescText.Length());
hgs
parents:
diff changeset
   925
    Notifications::showConfirmationNote(qText, aNoTimeout);
hgs
parents:
diff changeset
   926
}
hgs
parents:
diff changeset
   927
hgs
parents:
diff changeset
   928
void EngineWrapper::ShowProgressDialog(const TDesC& aDescText, TInt aMinimum, TInt aMaximum )
hgs
parents:
diff changeset
   929
{
hgs
parents:
diff changeset
   930
    const QString qText = QString::fromUtf16(aDescText.Ptr(), aDescText.Length());
hgs
parents:
diff changeset
   931
    if (!mProgressDialog) {
hgs
parents:
diff changeset
   932
        mProgressDialog = new HbProgressDialog(HbProgressDialog::WaitDialog);
hgs
parents:
diff changeset
   933
        QObject::connect(mProgressDialog, SIGNAL(cancelled()), this, SLOT(progressDialogCancelled()));
hgs
parents:
diff changeset
   934
    }
hgs
parents:
diff changeset
   935
hgs
parents:
diff changeset
   936
    mProgressDialog->setText(qText);
hgs
parents:
diff changeset
   937
    mProgressDialog->setMinimum(aMinimum);
hgs
parents:
diff changeset
   938
    mProgressDialog->setMaximum(aMaximum);
hgs
parents:
diff changeset
   939
    mEngine->FileUtils()->SetAllowProcessing(true);
hgs
parents:
diff changeset
   940
    mProgressDialog->show();
hgs
parents:
diff changeset
   941
}
hgs
parents:
diff changeset
   942
hgs
parents:
diff changeset
   943
void EngineWrapper::CancelProgressDialog()
hgs
parents:
diff changeset
   944
{
hgs
parents:
diff changeset
   945
    if (mProgressDialog) {
hgs
parents:
diff changeset
   946
        QObject::disconnect(mProgressDialog, SIGNAL(cancelled()), this, SLOT(progressDialogCancelled()));
hgs
parents:
diff changeset
   947
        mProgressDialog->cancel();
hgs
parents:
diff changeset
   948
        QObject::connect(mProgressDialog, SIGNAL(cancelled()), this, SLOT(progressDialogCancelled()));
hgs
parents:
diff changeset
   949
    }
hgs
parents:
diff changeset
   950
}
hgs
parents:
diff changeset
   951
hgs
parents:
diff changeset
   952
void EngineWrapper::SetProgressValue(TInt aValue)
hgs
parents:
diff changeset
   953
{
hgs
parents:
diff changeset
   954
    if (mProgressDialog)
hgs
parents:
diff changeset
   955
        mProgressDialog->setProgressValue(aValue);
hgs
parents:
diff changeset
   956
}
hgs
parents:
diff changeset
   957
hgs
parents:
diff changeset
   958
void EngineWrapper::progressDialogCancelled()
hgs
parents:
diff changeset
   959
{
hgs
parents:
diff changeset
   960
    mEngine->FileUtils()->DialogDismissedL();
hgs
parents:
diff changeset
   961
}
hgs
parents:
diff changeset
   962
hgs
parents:
diff changeset
   963
void EngineWrapper::ShowWaitDialog(const TDesC& aDescText)
hgs
parents:
diff changeset
   964
{
hgs
parents:
diff changeset
   965
    const QString qText = QString::fromUtf16(aDescText.Ptr(), aDescText.Length());
hgs
parents:
diff changeset
   966
    if (!mWaitDialog) {
hgs
parents:
diff changeset
   967
        mWaitDialog = new HbProgressDialog(HbProgressDialog::WaitDialog);
hgs
parents:
diff changeset
   968
        QObject::connect(mWaitDialog, SIGNAL(cancelled()), this, SLOT(waitDialogCancelled()));
hgs
parents:
diff changeset
   969
    }
hgs
parents:
diff changeset
   970
hgs
parents:
diff changeset
   971
    mWaitDialog->setText(qText);
hgs
parents:
diff changeset
   972
    mEngine->FileUtils()->SetAllowProcessing(true);
hgs
parents:
diff changeset
   973
    //mWaitDialog->setAttribute(Qt::WA_DeleteOnClose);
hgs
parents:
diff changeset
   974
    mWaitDialog->show();
hgs
parents:
diff changeset
   975
}
hgs
parents:
diff changeset
   976
hgs
parents:
diff changeset
   977
void EngineWrapper::CancelWaitDialog()
hgs
parents:
diff changeset
   978
{
hgs
parents:
diff changeset
   979
    if (mWaitDialog)
hgs
parents:
diff changeset
   980
        mWaitDialog->cancel();
hgs
parents:
diff changeset
   981
}
hgs
parents:
diff changeset
   982
hgs
parents:
diff changeset
   983
void EngineWrapper::waitDialogCancelled()
hgs
parents:
diff changeset
   984
{
hgs
parents:
diff changeset
   985
    mEngine->FileUtils()->SetAllowProcessing(false);
hgs
parents:
diff changeset
   986
}
hgs
parents:
diff changeset
   987
hgs
parents:
diff changeset
   988
void EngineWrapper::ProcessEvents()
hgs
parents:
diff changeset
   989
{
hgs
parents:
diff changeset
   990
    qApp->processEvents();
hgs
parents:
diff changeset
   991
}
hgs
parents:
diff changeset
   992
hgs
parents:
diff changeset
   993
TBool EngineWrapper::ShowConfirmationQuery(const TDesC& aDescText)
hgs
parents:
diff changeset
   994
{
hgs
parents:
diff changeset
   995
    QString qText = QString::fromUtf16(aDescText.Ptr(), aDescText.Length());
hgs
parents:
diff changeset
   996
    return Notifications::showConfirmationQuery(qText);
hgs
parents:
diff changeset
   997
}
hgs
parents:
diff changeset
   998
hgs
parents:
diff changeset
   999
void EngineWrapper::NotifyModelHasChanged()
hgs
parents:
diff changeset
  1000
{
hgs
parents:
diff changeset
  1001
    emit fileSystemDataChanged();
hgs
parents:
diff changeset
  1002
}
hgs
parents:
diff changeset
  1003
hgs
parents:
diff changeset
  1004
// ---------------------------------------------------------------------------