# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1273840963 -10800 # Node ID edd66bde63a43e7dd485738b2bfbcdd6bec839e7 # Parent ada7962b43082f15c8e4b74629ae696b93a65ce6 Revision: 201017 Kit: 201019 diff -r ada7962b4308 -r edd66bde63a4 filemanager/examples/demo_fmfiledialog/demo_fmfiledialog.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/examples/demo_fmfiledialog/demo_fmfiledialog.iby Fri May 14 15:42:43 2010 +0300 @@ -0,0 +1,30 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef __FMFILEDIALOG_IBY__ +#define __FMFILEDIALOG_IBY__ + +#include + +#define HB_UPGRADABLE_APP_REG_RSC(NAME) data=DATAZ_\PRIVATE\10003A3F\IMPORT\APPS\ ## NAME ## _reg.rsc Private\10003a3f\import\apps\ ## NAME ## _reg.rsc + +file=ABI_DIR\BUILD_DIR\demo_fmfiledialog.exe SHARED_LIB_DIR\demo_fmfiledialog.exe +HB_UPGRADABLE_APP_REG_RSC(demo_fmfiledialog) +S60_APP_RESOURCE(demo_fmfiledialog) + +#endif + diff -r ada7962b4308 -r edd66bde63a4 filemanager/examples/demo_fmfiledialog/demo_fmfiledialog.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/examples/demo_fmfiledialog/demo_fmfiledialog.pro Fri May 14 15:42:43 2010 +0300 @@ -0,0 +1,31 @@ +# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# +# Description: +# +# + +CONFIG += hb +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . +symbian { + include(rom.pri) +} + +# Input +HEADERS += mainwindow.h +SOURCES += main.cpp mainwindow.cpp + +LIBS += -lfmfiledialog diff -r ada7962b4308 -r edd66bde63a4 filemanager/examples/demo_fmfiledialog/main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/examples/demo_fmfiledialog/main.cpp Fri May 14 15:42:43 2010 +0300 @@ -0,0 +1,35 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* +* Description: +* +* +*/ + +#include +#include + +#include "mainwindow.h" +int main( int argc, char *argv[] ) +{ + HbApplication app( argc, argv ); + app.setApplicationName( "filemanager" ); + + TestMainWindow *mainWindow = new TestMainWindow; + mainWindow->init(); + mainWindow->show(); + + + return app.exec(); +} diff -r ada7962b4308 -r edd66bde63a4 filemanager/examples/demo_fmfiledialog/mainwindow.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/examples/demo_fmfiledialog/mainwindow.cpp Fri May 14 15:42:43 2010 +0300 @@ -0,0 +1,193 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* +* Description: +* +* +*/ + +#include "mainwindow.h" +#include "fmfiledialog.h" +#include "hbmessagebox.h" + +#define getDir "getExistingDirectory" +#define getFile "getOpenFileName" +#define saveFile "getSaveFileName" + +#define getDir_SetDir "getExistingDirectory_setDir" +#define getFile_SetDir "getOpenFileName_setDir" +#define saveFile_SetDir "getSaveFileName_setDir" + +#define getDir_SetFilter "getExistingDirectory_setFilter" +#define getDir_SetFilter_AllDirs "getExistingDirectory_setFilter_AllDirs" +#define getFile_SetFilter "getOpenFileName_setFilter" +#define saveFile_SetFilter "getSaveFileName_setFilter" + +TestMainWindow::TestMainWindow() +{ +} +TestMainWindow::~TestMainWindow() +{ +} + +void TestMainWindow::init() +{ + HbView *mainView = new HbView; + addView( mainView ); + + HbListWidget *listWidget = new HbListWidget( mainView ); + mainView->setWidget( listWidget ); + + listWidget->addItem( getDir ); + listWidget->addItem( getFile ); + listWidget->addItem( saveFile ); + listWidget->addItem( " " ); + listWidget->addItem( getDir_SetDir ); + listWidget->addItem( getFile_SetDir ); + listWidget->addItem( saveFile_SetDir ); + listWidget->addItem( " " ); + listWidget->addItem( getDir_SetFilter ); + listWidget->addItem( getDir_SetFilter_AllDirs ); + listWidget->addItem( getFile_SetFilter ); + listWidget->addItem( saveFile_SetFilter ); + listWidget->addItem( " " ); + listWidget->addItem( "placeHolderA" ); + listWidget->addItem( "placeHolderB" ); + listWidget->addItem( "placeHolderC" ); + listWidget->addItem( "placeHolderD" ); + listWidget->addItem( "placeHolderE" ); + listWidget->addItem( "placeHolderF" ); + listWidget->addItem( "placeHolderG" ); + listWidget->addItem( "placeHolderH" ); + listWidget->addItem( "placeHolderI" ); + listWidget->addItem( "placeHolderJ" ); + listWidget->addItem( "placeHolderK" ); + listWidget->addItem( "placeHolderL" ); + listWidget->addItem( "placeHolderM" ); + listWidget->addItem( "placeHolderN" ); + listWidget->addItem( "placeHolderO" ); + listWidget->addItem( "placeHolderP" ); + listWidget->addItem( "placeHolderQ" ); + listWidget->addItem( "placeHolderR" ); + listWidget->addItem( "placeHolderS" ); + listWidget->addItem( "placeHolderT" ); + listWidget->addItem( "placeHolderU" ); + listWidget->addItem( "placeHolderV" ); + listWidget->addItem( "placeHolderW" ); + listWidget->addItem( "placeHolderX" ); + listWidget->addItem( "placeHolderY" ); + listWidget->addItem( "placeHolderZ" ); + + connect(listWidget, SIGNAL(activated(HbListWidgetItem*)), this,SLOT(activatedListItem(HbListWidgetItem*)) ); +} + +void TestMainWindow::activatedListItem(HbListWidgetItem *item) +{ + if( item->text().compare( getDir ) == 0 ) { + getExistingDirectory(); + } else if( item->text().compare( getFile ) == 0 ) { + getOpenFileName(); + } else if( item->text().compare( saveFile ) == 0 ) { + getSaveFileName(); + } else if( item->text().compare( getDir_SetDir ) == 0 ) { + getExistingDirectory_SetDir(); + } else if( item->text().compare( getFile_SetDir ) == 0 ) { + getOpenFileName_SetDir(); + } else if( item->text().compare( saveFile_SetDir ) == 0 ) { + getSaveFileName_SetDir(); + } else if( item->text().compare( getDir_SetFilter ) == 0 ) { + getExistingDirectory_SetFilter(); + } else if( item->text().compare( getDir_SetFilter_AllDirs ) == 0 ) { + getExistingDirectory_SetFilter_AllDirs(); + } else if( item->text().compare( getFile_SetFilter ) == 0 ) { + getOpenFileName_SetFilter(); + } else if( item->text().compare( saveFile_SetFilter ) == 0 ) { + getSaveFileName_SetFilter(); + } +} + +void TestMainWindow::getExistingDirectory() +{ + // getExistingDirectory with default parameter. + QString path = FmFileDialog::getExistingDirectory(); + HbMessageBox::information( path ); +} +void TestMainWindow::getOpenFileName() +{ + // getOpenFileName with default parameter. + QString path = FmFileDialog::getOpenFileName(); + HbMessageBox::information( path ); +} +void TestMainWindow::getSaveFileName() +{ + // getSaveFileName with default parameter. + QString path = FmFileDialog::getSaveFileName(); + HbMessageBox::information( path ); +} + +void TestMainWindow::getExistingDirectory_SetDir() +{ + // getExistingDirectory and set header & default Directory + QString path = FmFileDialog::getExistingDirectory( 0, "Look in:", "C:/Data/Images" ); + HbMessageBox::information( path ); +} +void TestMainWindow::getOpenFileName_SetDir() +{ + // getOpenFileName and set header & default Directory + QString path = FmFileDialog::getOpenFileName( 0, "Look in:", "C:/Data/Images" ); + HbMessageBox::information( path ); +} +void TestMainWindow::getSaveFileName_SetDir() +{ + // getSaveFileName and set header & default Directory + QString path = FmFileDialog::getSaveFileName( 0, "Look in:", "C:/Data/Images" ); + HbMessageBox::information( path ); +} + +void TestMainWindow::getExistingDirectory_SetFilter() +{ + // getExistingDirectory and set folder&file filter + QStringList filterList; + filterList<<"*data*"<<"*image*"<<"*sound*"; + QString path = FmFileDialog::getExistingDirectory( 0, "Look in:", "", filterList ); + HbMessageBox::information( path ); +} + +void TestMainWindow::getExistingDirectory_SetFilter_AllDirs() +{ + // getExistingDirectory and set folder&file filter + QStringList filterList; + filterList<<"*data*"<<"*image*"<<"*sound*"; + QString path = FmFileDialog::getExistingDirectory( 0, "Look in:", "", filterList, FmFileDialog::DisplayAllDirs ); + HbMessageBox::information( path ); +} + +void TestMainWindow::getOpenFileName_SetFilter() +{ + // getOpenFileName and set file filter + //Set DisplayAllDirs to display all folders, otherwise folders will also be filted. + QStringList filterList; + filterList<<"*.jpg"<<"*.gif"<<"*.png"; + QString path = FmFileDialog::getOpenFileName( 0, "Look in:", "", filterList, FmFileDialog::DisplayAllDirs ); + HbMessageBox::information( path ); +} +void TestMainWindow::getSaveFileName_SetFilter() +{ + // getSaveFileName and set file filter + //Set DisplayAllDirs to display all folders, otherwise folders will also be filted. + QStringList filterList; + filterList<<"*.jpg"<<"*.gif"<<"*.png"; + QString path = FmFileDialog::getSaveFileName( 0, "Look in:", "", filterList, FmFileDialog::DisplayAllDirs ); + HbMessageBox::information( path ); +} diff -r ada7962b4308 -r edd66bde63a4 filemanager/examples/demo_fmfiledialog/mainwindow.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/examples/demo_fmfiledialog/mainwindow.h Fri May 14 15:42:43 2010 +0300 @@ -0,0 +1,57 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* +* Description: +* +* +*/ + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + + +class TestMainWindow : public HbMainWindow +{ + Q_OBJECT +public: + TestMainWindow(); + ~TestMainWindow(); + + void init(); +private slots: + void activatedListItem(HbListWidgetItem *item); + +private: + void getExistingDirectory(); + void getOpenFileName(); + void getSaveFileName(); + + void getExistingDirectory_SetDir(); + void getOpenFileName_SetDir(); + void getSaveFileName_SetDir(); + + void getExistingDirectory_SetFilter(); + void getExistingDirectory_SetFilter_AllDirs(); + void getOpenFileName_SetFilter(); + void getSaveFileName_SetFilter(); +}; diff -r ada7962b4308 -r edd66bde63a4 filemanager/examples/demo_fmfiledialog/rom.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/examples/demo_fmfiledialog/rom.pri Fri May 14 15:42:43 2010 +0300 @@ -0,0 +1,28 @@ +# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# +# Description: +# Rom exports for demo_fmfiledialog +# + +symbian { + DEMO_FMFILEDIALOG_IBY_DIR = $$section(PWD, ":", 1) + + exists(/epoc32/include/platform_paths.hrh) { + BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include " + } else { + BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include " + } + + BLD_INF_RULES.prj_exports += "$$DEMO_FMFILEDIALOG_IBY_DIR/demo_fmfiledialog.iby CORE_APP_LAYER_IBY_EXPORT_PATH(demo_fmfiledialog.iby)" +} diff -r ada7962b4308 -r edd66bde63a4 filemanager/examples/examples.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/examples/examples.pro Fri May 14 15:42:43 2010 +0300 @@ -0,0 +1,18 @@ +# +# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +TEMPLATE = subdirs +SUBDIRS = demo_fmfiledialog diff -r ada7962b4308 -r edd66bde63a4 filemanager/filemanager.pro --- a/filemanager/filemanager.pro Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/filemanager.pro Fri May 14 15:42:43 2010 +0300 @@ -21,5 +21,4 @@ } SUBDIRS += src/fmbkupenginewrapper -SUBDIRS += src/fmfiledialog SUBDIRS += src/filemanager \ No newline at end of file diff -r ada7962b4308 -r edd66bde63a4 filemanager/filemanager_plat/inc/fmfiledialog.h --- a/filemanager/filemanager_plat/inc/fmfiledialog.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/filemanager_plat/inc/fmfiledialog.h Fri May 14 15:42:43 2010 +0300 @@ -96,7 +96,10 @@ const QString &dir = QString(), const QStringList &nameFilters = QStringList(), Options options = 0 ); - + +private slots: + void dialogClosed(HbAction *action); + private: explicit FmFileDialog( QGraphicsItem *parent ); ~FmFileDialog(); diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/bwins/fmbkupenginewrapperu.def --- a/filemanager/src/bwins/fmbkupenginewrapperu.def Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/bwins/fmbkupenginewrapperu.def Fri May 14 15:42:43 2010 +0300 @@ -1,66 +1,69 @@ EXPORTS - ?cancelBackup@FmBkupEngine@@QAEXXZ @ 1 NONAME ; void FmBkupEngine::cancelBackup(void) - ?notifyUpdate@FmBkupEngine@@IAEXH@Z @ 2 NONAME ; void FmBkupEngine::notifyUpdate(int) - ?save@FmBackupSettings@@QAEXXZ @ 3 NONAME ; void FmBackupSettings::save(void) - ??0FmRestoreSettings@@QAE@AAVFmBkupEngine@@@Z @ 4 NONAME ; FmRestoreSettings::FmRestoreSettings(class FmBkupEngine &) - ?restoreEntryList@FmRestoreSettings@@QAE?AV?$QList@PAVFmRestoreEntry@@@@XZ @ 5 NONAME ; class QList FmRestoreSettings::restoreEntryList(void) - ??_EFmBkupEngine@@UAE@I@Z @ 6 NONAME ; FmBkupEngine::~FmBkupEngine(unsigned int) - ?tr@FmBkupEngine@@SA?AVQString@@PBD0@Z @ 7 NONAME ; class QString FmBkupEngine::tr(char const *, char const *) - ?getStaticMetaObject@FmBkupEngine@@SAABUQMetaObject@@XZ @ 8 NONAME ; struct QMetaObject const & FmBkupEngine::getStaticMetaObject(void) - ?createTimeEntry@FmBackupSettings@@AAEPAVFmBackupEntry@@XZ @ 9 NONAME ; class FmBackupEntry * FmBackupSettings::createTimeEntry(void) - ?weekday@FmBackupSettings@@QBE?AW4TFileManagerBackupWeekday@1@XZ @ 10 NONAME ; enum FmBackupSettings::TFileManagerBackupWeekday FmBackupSettings::weekday(void) const - ?trUtf8@FmBkupEngine@@SA?AVQString@@PBD0H@Z @ 11 NONAME ; class QString FmBkupEngine::trUtf8(char const *, char const *, int) - ?deleteBackup@FmBkupEngine@@QAEHV?$QList@PAVFmBkupDrivesAndOperation@@@@@Z @ 12 NONAME ; int FmBkupEngine::deleteBackup(class QList) - ??1FmBackupSettings@@QAE@XZ @ 13 NONAME ; FmBackupSettings::~FmBackupSettings(void) - ?setTime@FmBackupSettings@@QAEXABVQTime@@@Z @ 14 NONAME ; void FmBackupSettings::setTime(class QTime const &) - ?GetRestoreInfoArray@FmBkupEngine@@QAEXAAV?$QList@PAVFmBkupDrivesAndOperation@@@@AAV?$QList@VFmRestoreInfo@@@@H@Z @ 15 NONAME ; void FmBkupEngine::GetRestoreInfoArray(class QList &, class QList &, int) - ?error@FmBkupEngine@@QBEHXZ @ 16 NONAME ; int FmBkupEngine::error(void) const - ?backupEntryList@FmBackupSettings@@QAE?AV?$QList@PAVFmBackupEntry@@@@XZ @ 17 NONAME ; class QList FmBackupSettings::backupEntryList(void) - ?trUtf8@FmBkupEngine@@SA?AVQString@@PBD0@Z @ 18 NONAME ; class QString FmBkupEngine::trUtf8(char const *, char const *) - ?refreshList@FmBackupSettings@@AAEXXZ @ 19 NONAME ; void FmBackupSettings::refreshList(void) - ?contentsSelected@FmBackupSettings@@ABEHXZ @ 20 NONAME ; int FmBackupSettings::contentsSelected(void) const - ?GetSelectionL@FmRestoreSettings@@QBEXAAV?$QList@VFmRestoreInfo@@@@@Z @ 21 NONAME ; void FmRestoreSettings::GetSelectionL(class QList &) const - ?CreateEntry@FmBackupSettings@@AAEPAVFmBackupEntry@@ABVQString@@0W4TSettingType@2@@Z @ 22 NONAME ; class FmBackupEntry * FmBackupSettings::CreateEntry(class QString const &, class QString const &, enum FmBackupEntry::TSettingType) - ?content@FmBackupSettings@@QBEIXZ @ 23 NONAME ; unsigned int FmBackupSettings::content(void) const - ?targetDrive@FmBackupSettings@@QBE?AVQString@@XZ @ 24 NONAME ; class QString FmBackupSettings::targetDrive(void) const - ?getBackupDriveList@FmBkupEngine@@QAEXAAVQStringList@@@Z @ 25 NONAME ; void FmBkupEngine::getBackupDriveList(class QStringList &) - ??0FmBkupEngine@@QAE@PAVQObject@@@Z @ 26 NONAME ; FmBkupEngine::FmBkupEngine(class QObject *) - ?notifyPreparing@FmBkupEngine@@IAEX_N@Z @ 27 NONAME ; void FmBkupEngine::notifyPreparing(bool) - ?setWeekday@FmBackupSettings@@QAEXW4TFileManagerBackupWeekday@1@@Z @ 28 NONAME ; void FmBackupSettings::setWeekday(enum FmBackupSettings::TFileManagerBackupWeekday) - ?load@FmRestoreSettings@@QAEXV?$QList@PAVFmBkupDrivesAndOperation@@@@@Z @ 29 NONAME ; void FmRestoreSettings::load(class QList) - ?resetAndDestoryRestoreEntry@FmRestoreSettings@@AAEXXZ @ 30 NONAME ; void FmRestoreSettings::resetAndDestoryRestoreEntry(void) - ?targetDriveToString@FmBackupSettings@@QAE?AVQString@@ABV2@@Z @ 31 NONAME ; class QString FmBackupSettings::targetDriveToString(class QString const &) - ?setScheduling@FmBackupSettings@@QAEXW4TFileManagerBackupSchedule@1@@Z @ 32 NONAME ; void FmBackupSettings::setScheduling(enum FmBackupSettings::TFileManagerBackupSchedule) - ??1FmRestoreSettings@@QAE@XZ @ 33 NONAME ; FmRestoreSettings::~FmRestoreSettings(void) - ?notifyFinish@FmBkupEngine@@IAEXH@Z @ 34 NONAME ; void FmBkupEngine::notifyFinish(int) - ?createContentsEntry@FmBackupSettings@@AAEPAVFmBackupEntry@@XZ @ 35 NONAME ; class FmBackupEntry * FmBackupSettings::createContentsEntry(void) - ?qt_metacast@FmBkupEngine@@UAEPAXPBD@Z @ 36 NONAME ; void * FmBkupEngine::qt_metacast(char const *) - ??0FmBackupSettings@@QAE@PAVFmBkupEngine@@@Z @ 37 NONAME ; FmBackupSettings::FmBackupSettings(class FmBkupEngine *) - ?SetSelection@FmRestoreSettings@@QAEXAB_K@Z @ 38 NONAME ; void FmRestoreSettings::SetSelection(unsigned long long const &) - ?createSchedulingEntry@FmBackupSettings@@AAEPAVFmBackupEntry@@XZ @ 39 NONAME ; class FmBackupEntry * FmBackupSettings::createSchedulingEntry(void) - ?metaObject@FmBkupEngine@@UBEPBUQMetaObject@@XZ @ 40 NONAME ; struct QMetaObject const * FmBkupEngine::metaObject(void) const - ?startBackup@FmBkupEngine@@QAE_NV?$QList@PAVFmBkupDrivesAndOperation@@@@V?$QList@PAVFmBkupBackupCategory@@@@VQString@@I@Z @ 41 NONAME ; bool FmBkupEngine::startBackup(class QList, class QList, class QString, unsigned int) - ?createTargetDriveEntry@FmBackupSettings@@AAEPAVFmBackupEntry@@XZ @ 42 NONAME ; class FmBackupEntry * FmBackupSettings::createTargetDriveEntry(void) - ?load@FmBackupSettings@@QAEXXZ @ 43 NONAME ; void FmBackupSettings::load(void) - ?notifyMemoryLow@FmBkupEngine@@IAEXHAAH@Z @ 44 NONAME ; void FmBkupEngine::notifyMemoryLow(int, int &) - ??1FmBkupEngine@@UAE@XZ @ 45 NONAME ; FmBkupEngine::~FmBkupEngine(void) - ?CreateEntry@FmRestoreSettings@@AAEPAVFmRestoreEntry@@ABVFmRestoreInfo@@@Z @ 46 NONAME ; class FmRestoreEntry * FmRestoreSettings::CreateEntry(class FmRestoreInfo const &) - ?startRestore@FmBkupEngine@@QAE_NV?$QList@PAVFmBkupDrivesAndOperation@@@@@Z @ 47 NONAME ; bool FmBkupEngine::startRestore(class QList) - ?resetAndDestoryBackupEntry@FmBackupSettings@@AAEXXZ @ 48 NONAME ; void FmBackupSettings::resetAndDestoryBackupEntry(void) - ?BackupSettingsL@FmBkupEngine@@QAEPAVFmBackupSettings@@XZ @ 49 NONAME ; class FmBackupSettings * FmBkupEngine::BackupSettingsL(void) - ?setContent@FmBackupSettings@@QAEXI@Z @ 50 NONAME ; void FmBackupSettings::setContent(unsigned int) - ?staticMetaObject@FmBkupEngine@@2UQMetaObject@@B @ 51 NONAME ; struct QMetaObject const FmBkupEngine::staticMetaObject - ?setTargetDrive@FmBackupSettings@@QAEXABVQString@@@Z @ 52 NONAME ; void FmBackupSettings::setTargetDrive(class QString const &) - ?schedulingToString@FmBackupSettings@@QAE?AVQString@@W4TFileManagerBackupSchedule@1@@Z @ 53 NONAME ; class QString FmBackupSettings::schedulingToString(enum FmBackupSettings::TFileManagerBackupSchedule) - ?refreshList@FmRestoreSettings@@AAEXAAV?$QList@PAVFmBkupDrivesAndOperation@@@@@Z @ 54 NONAME ; void FmRestoreSettings::refreshList(class QList &) - ?weekdayToString@FmBackupSettings@@SA?AVQString@@W4TFileManagerBackupWeekday@1@@Z @ 55 NONAME ; class QString FmBackupSettings::weekdayToString(enum FmBackupSettings::TFileManagerBackupWeekday) - ?tr@FmBkupEngine@@SA?AVQString@@PBD0H@Z @ 56 NONAME ; class QString FmBkupEngine::tr(char const *, char const *, int) - ?contentToString@FmBackupSettings@@SA?AVQString@@I@Z @ 57 NONAME ; class QString FmBackupSettings::contentToString(unsigned int) - ?RestoreSettingsL@FmBkupEngine@@QAEPAVFmRestoreSettings@@XZ @ 58 NONAME ; class FmRestoreSettings * FmBkupEngine::RestoreSettingsL(void) - ?time@FmBackupSettings@@QBEABVQTime@@XZ @ 59 NONAME ; class QTime const & FmBackupSettings::time(void) const - ?notifyStart@FmBkupEngine@@IAEX_NH@Z @ 60 NONAME ; void FmBkupEngine::notifyStart(bool, int) - ?scheduling@FmBackupSettings@@QBE?AW4TFileManagerBackupSchedule@1@XZ @ 61 NONAME ; enum FmBackupSettings::TFileManagerBackupSchedule FmBackupSettings::scheduling(void) const - ?qt_metacall@FmBkupEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 62 NONAME ; int FmBkupEngine::qt_metacall(enum QMetaObject::Call, int, void * *) - ?createWeekdayEntry@FmBackupSettings@@AAEPAVFmBackupEntry@@XZ @ 63 NONAME ; class FmBackupEntry * FmBackupSettings::createWeekdayEntry(void) - ?notifyBackupFilesExist@FmBkupEngine@@IAEXAA_N@Z @ 64 NONAME ; void FmBkupEngine::notifyBackupFilesExist(bool &) + ??0FmRestoreSettings@@QAE@AAVFmBkupEngine@@@Z @ 1 NONAME ; FmRestoreSettings::FmRestoreSettings(class FmBkupEngine &) + ?tr@FmBkupEngine@@SA?AVQString@@PBD0@Z @ 2 NONAME ; class QString FmBkupEngine::tr(char const *, char const *) + ?getStaticMetaObject@FmBkupEngine@@SAABUQMetaObject@@XZ @ 3 NONAME ; struct QMetaObject const & FmBkupEngine::getStaticMetaObject(void) + ?trUtf8@FmBkupEngine@@SA?AVQString@@PBD0H@Z @ 4 NONAME ; class QString FmBkupEngine::trUtf8(char const *, char const *, int) + ?error@FmBkupEngine@@QBEHXZ @ 5 NONAME ; int FmBkupEngine::error(void) const + ?availableTargetDrive@FmBackupSettings@@QBE?AVQString@@XZ @ 6 NONAME ; class QString FmBackupSettings::availableTargetDrive(void) const + ?GetSelectionL@FmRestoreSettings@@QBEXAAV?$QList@VFmRestoreInfo@@@@@Z @ 7 NONAME ; void FmRestoreSettings::GetSelectionL(class QList &) const + ?content@FmBackupSettings@@QBEIXZ @ 8 NONAME ; unsigned int FmBackupSettings::content(void) const + ?getBackupDriveList@FmBkupEngine@@QAEXAAVQStringList@@@Z @ 9 NONAME ; void FmBkupEngine::getBackupDriveList(class QStringList &) + ?resetAndDestoryRestoreEntry@FmRestoreSettings@@AAEXXZ @ 10 NONAME ; void FmRestoreSettings::resetAndDestoryRestoreEntry(void) + ?targetDriveToString@FmBackupSettings@@QAE?AVQString@@ABV2@@Z @ 11 NONAME ; class QString FmBackupSettings::targetDriveToString(class QString const &) + ?setScheduling@FmBackupSettings@@QAEXW4TFileManagerBackupSchedule@1@@Z @ 12 NONAME ; void FmBackupSettings::setScheduling(enum FmBackupSettings::TFileManagerBackupSchedule) + ?notifyFinish@FmBkupEngine@@IAEXH@Z @ 13 NONAME ; void FmBkupEngine::notifyFinish(int) + ?qt_metacast@FmBkupEngine@@UAEPAXPBD@Z @ 14 NONAME ; void * FmBkupEngine::qt_metacast(char const *) + ??0FmBackupSettings@@QAE@PAVFmBkupEngine@@@Z @ 15 NONAME ; FmBackupSettings::FmBackupSettings(class FmBkupEngine *) + ?SetSelection@FmRestoreSettings@@QAEXAB_K@Z @ 16 NONAME ; void FmRestoreSettings::SetSelection(unsigned long long const &) + ?startBackup@FmBkupEngine@@QAE_NV?$QList@PAVFmBkupDrivesAndOperation@@@@V?$QList@PAVFmBkupBackupCategory@@@@VQString@@I@Z @ 17 NONAME ; bool FmBkupEngine::startBackup(class QList, class QList, class QString, unsigned int) + ?notifyMemoryLow@FmBkupEngine@@IAEXHAAH@Z @ 18 NONAME ; void FmBkupEngine::notifyMemoryLow(int, int &) + ?CreateEntry@FmRestoreSettings@@AAEPAVFmRestoreEntry@@ABVFmRestoreInfo@@@Z @ 19 NONAME ; class FmRestoreEntry * FmRestoreSettings::CreateEntry(class FmRestoreInfo const &) + ?startRestore@FmBkupEngine@@QAE_NV?$QList@PAVFmBkupDrivesAndOperation@@@@@Z @ 20 NONAME ; bool FmBkupEngine::startRestore(class QList) + ?resetAndDestoryBackupEntry@FmBackupSettings@@AAEXXZ @ 21 NONAME ; void FmBackupSettings::resetAndDestoryBackupEntry(void) + ?weekdayToString@FmBackupSettings@@SA?AVQString@@W4TFileManagerBackupWeekday@1@@Z @ 22 NONAME ; class QString FmBackupSettings::weekdayToString(enum FmBackupSettings::TFileManagerBackupWeekday) + ?tr@FmBkupEngine@@SA?AVQString@@PBD0H@Z @ 23 NONAME ; class QString FmBkupEngine::tr(char const *, char const *, int) + ?contentToString@FmBackupSettings@@SA?AVQString@@I@Z @ 24 NONAME ; class QString FmBackupSettings::contentToString(unsigned int) + ?RestoreSettingsL@FmBkupEngine@@QAEPAVFmRestoreSettings@@XZ @ 25 NONAME ; class FmRestoreSettings * FmBkupEngine::RestoreSettingsL(void) + ?createBackupDateEntry@FmBackupSettings@@AAEPAVFmBackupEntry@@XZ @ 26 NONAME ; class FmBackupEntry * FmBackupSettings::createBackupDateEntry(void) + ?GetRestoreInfoArray@FmBkupEngine@@QAEXAAV?$QList@PAVFmBkupDrivesAndOperation@@@@AAV?$QList@VFmRestoreInfo@@@@ABVQString@@@Z @ 27 NONAME ; void FmBkupEngine::GetRestoreInfoArray(class QList &, class QList &, class QString const &) + ?time@FmBackupSettings@@QBEABVQTime@@XZ @ 28 NONAME ; class QTime const & FmBackupSettings::time(void) const + ?createWeekdayEntry@FmBackupSettings@@AAEPAVFmBackupEntry@@XZ @ 29 NONAME ; class FmBackupEntry * FmBackupSettings::createWeekdayEntry(void) + ?cancelBackup@FmBkupEngine@@QAEXXZ @ 30 NONAME ; void FmBkupEngine::cancelBackup(void) + ?notifyUpdate@FmBkupEngine@@IAEXH@Z @ 31 NONAME ; void FmBkupEngine::notifyUpdate(int) + ?save@FmBackupSettings@@QAEXXZ @ 32 NONAME ; void FmBackupSettings::save(void) + ??_EFmBkupEngine@@UAE@I@Z @ 33 NONAME ; FmBkupEngine::~FmBkupEngine(unsigned int) + ?restoreEntryList@FmRestoreSettings@@QAE?AV?$QList@PAVFmRestoreEntry@@@@XZ @ 34 NONAME ; class QList FmRestoreSettings::restoreEntryList(void) + ?createTimeEntry@FmBackupSettings@@AAEPAVFmBackupEntry@@XZ @ 35 NONAME ; class FmBackupEntry * FmBackupSettings::createTimeEntry(void) + ?weekday@FmBackupSettings@@QBE?AW4TFileManagerBackupWeekday@1@XZ @ 36 NONAME ; enum FmBackupSettings::TFileManagerBackupWeekday FmBackupSettings::weekday(void) const + ?deleteBackup@FmBkupEngine@@QAEHV?$QList@PAVFmBkupDrivesAndOperation@@@@@Z @ 37 NONAME ; int FmBkupEngine::deleteBackup(class QList) + ??1FmBackupSettings@@QAE@XZ @ 38 NONAME ; FmBackupSettings::~FmBackupSettings(void) + ?setTime@FmBackupSettings@@QAEXABVQTime@@@Z @ 39 NONAME ; void FmBackupSettings::setTime(class QTime const &) + ?backupEntryList@FmBackupSettings@@QAE?AV?$QList@PAVFmBackupEntry@@@@XZ @ 40 NONAME ; class QList FmBackupSettings::backupEntryList(void) + ?contentsSelected@FmBackupSettings@@ABEHXZ @ 41 NONAME ; int FmBackupSettings::contentsSelected(void) const + ?refreshList@FmBackupSettings@@AAEXXZ @ 42 NONAME ; void FmBackupSettings::refreshList(void) + ?trUtf8@FmBkupEngine@@SA?AVQString@@PBD0@Z @ 43 NONAME ; class QString FmBkupEngine::trUtf8(char const *, char const *) + ?CreateEntry@FmBackupSettings@@AAEPAVFmBackupEntry@@ABVQString@@0W4TSettingType@2@@Z @ 44 NONAME ; class FmBackupEntry * FmBackupSettings::CreateEntry(class QString const &, class QString const &, enum FmBackupEntry::TSettingType) + ?targetDrive@FmBackupSettings@@QBE?AVQString@@XZ @ 45 NONAME ; class QString FmBackupSettings::targetDrive(void) const + ??0FmBkupEngine@@QAE@PAVQObject@@@Z @ 46 NONAME ; FmBkupEngine::FmBkupEngine(class QObject *) + ?notifyPreparing@FmBkupEngine@@IAEX_N@Z @ 47 NONAME ; void FmBkupEngine::notifyPreparing(bool) + ?load@FmRestoreSettings@@QAEXV?$QList@PAVFmBkupDrivesAndOperation@@@@@Z @ 48 NONAME ; void FmRestoreSettings::load(class QList) + ?setWeekday@FmBackupSettings@@QAEXW4TFileManagerBackupWeekday@1@@Z @ 49 NONAME ; void FmBackupSettings::setWeekday(enum FmBackupSettings::TFileManagerBackupWeekday) + ??1FmRestoreSettings@@QAE@XZ @ 50 NONAME ; FmRestoreSettings::~FmRestoreSettings(void) + ?createContentsEntry@FmBackupSettings@@AAEPAVFmBackupEntry@@XZ @ 51 NONAME ; class FmBackupEntry * FmBackupSettings::createContentsEntry(void) + ?notifyBackupFilesExist@FmBkupEngine@@IAEXAA_N@Z @ 52 NONAME ; void FmBkupEngine::notifyBackupFilesExist(bool &) + ?updateBackupDate@FmBackupSettings@@QAEXXZ @ 53 NONAME ; void FmBackupSettings::updateBackupDate(void) + ?createSchedulingEntry@FmBackupSettings@@AAEPAVFmBackupEntry@@XZ @ 54 NONAME ; class FmBackupEntry * FmBackupSettings::createSchedulingEntry(void) + ?metaObject@FmBkupEngine@@UBEPBUQMetaObject@@XZ @ 55 NONAME ; struct QMetaObject const * FmBkupEngine::metaObject(void) const + ?createTargetDriveEntry@FmBackupSettings@@AAEPAVFmBackupEntry@@XZ @ 56 NONAME ; class FmBackupEntry * FmBackupSettings::createTargetDriveEntry(void) + ?load@FmBackupSettings@@QAEXXZ @ 57 NONAME ; void FmBackupSettings::load(void) + ??1FmBkupEngine@@UAE@XZ @ 58 NONAME ; FmBkupEngine::~FmBkupEngine(void) + ?BackupSettingsL@FmBkupEngine@@QAEPAVFmBackupSettings@@XZ @ 59 NONAME ; class FmBackupSettings * FmBkupEngine::BackupSettingsL(void) + ?setContent@FmBackupSettings@@QAEXI@Z @ 60 NONAME ; void FmBackupSettings::setContent(unsigned int) + ?schedulingToString@FmBackupSettings@@QAE?AVQString@@W4TFileManagerBackupSchedule@1@@Z @ 61 NONAME ; class QString FmBackupSettings::schedulingToString(enum FmBackupSettings::TFileManagerBackupSchedule) + ?setTargetDrive@FmBackupSettings@@QAEXABVQString@@@Z @ 62 NONAME ; void FmBackupSettings::setTargetDrive(class QString const &) + ?staticMetaObject@FmBkupEngine@@2UQMetaObject@@B @ 63 NONAME ; struct QMetaObject const FmBkupEngine::staticMetaObject + ?refreshList@FmRestoreSettings@@AAEXAAV?$QList@PAVFmBkupDrivesAndOperation@@@@@Z @ 64 NONAME ; void FmRestoreSettings::refreshList(class QList &) + ?notifyStart@FmBkupEngine@@IAEX_NH@Z @ 65 NONAME ; void FmBkupEngine::notifyStart(bool, int) + ?scheduling@FmBackupSettings@@QBE?AW4TFileManagerBackupSchedule@1@XZ @ 66 NONAME ; enum FmBackupSettings::TFileManagerBackupSchedule FmBackupSettings::scheduling(void) const + ?qt_metacall@FmBkupEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 67 NONAME ; int FmBkupEngine::qt_metacall(enum QMetaObject::Call, int, void * *) diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/bwins/fmfiledialogu.def --- a/filemanager/src/bwins/fmfiledialogu.def Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/bwins/fmfiledialogu.def Fri May 14 15:42:43 2010 +0300 @@ -17,4 +17,5 @@ ?d_func@FmFileDialog@@AAEPAVFmFileDialogPrivate@@XZ @ 16 NONAME ; class FmFileDialogPrivate * FmFileDialog::d_func(void) ?getExistingDirectory@FmFileDialog@@SA?AVQString@@PAVHbWidget@@ABV2@1ABVQStringList@@V?$QFlags@W4Option@FmFileDialog@@@@@Z @ 17 NONAME ; class QString FmFileDialog::getExistingDirectory(class HbWidget *, class QString const &, class QString const &, class QStringList const &, class QFlags) ?qt_metacast@FmFileDialog@@UAEPAXPBD@Z @ 18 NONAME ; void * FmFileDialog::qt_metacast(char const *) + ?dialogClosed@FmFileDialog@@AAEXPAVHbAction@@@Z @ 19 NONAME ; void FmFileDialog::dialogClosed(class HbAction *) diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/eabi/fmbkupenginewrapperu.def --- a/filemanager/src/eabi/fmbkupenginewrapperu.def Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/eabi/fmbkupenginewrapperu.def Fri May 14 15:42:43 2010 +0300 @@ -14,57 +14,60 @@ _ZN12FmBkupEngine16RestoreSettingsLEv @ 13 NONAME _ZN12FmBkupEngine16staticMetaObjectE @ 14 NONAME DATA 16 _ZN12FmBkupEngine18getBackupDriveListER11QStringList @ 15 NONAME - _ZN12FmBkupEngine19GetRestoreInfoArrayER5QListIP24FmBkupDrivesAndOperationERS0_I13FmRestoreInfoEi @ 16 NONAME + _ZN12FmBkupEngine19GetRestoreInfoArrayER5QListIP24FmBkupDrivesAndOperationERS0_I13FmRestoreInfoERK7QString @ 16 NONAME _ZN12FmBkupEngine19getStaticMetaObjectEv @ 17 NONAME - _ZN12FmBkupEngineC1EP7QObject @ 18 NONAME - _ZN12FmBkupEngineC2EP7QObject @ 19 NONAME - _ZN12FmBkupEngineD0Ev @ 20 NONAME - _ZN12FmBkupEngineD1Ev @ 21 NONAME - _ZN12FmBkupEngineD2Ev @ 22 NONAME - _ZN16FmBackupSettings10setContentEj @ 23 NONAME - _ZN16FmBackupSettings10setWeekdayENS_25TFileManagerBackupWeekdayE @ 24 NONAME - _ZN16FmBackupSettings11CreateEntryERK7QStringS2_N13FmBackupEntry12TSettingTypeE @ 25 NONAME - _ZN16FmBackupSettings11refreshListEv @ 26 NONAME - _ZN16FmBackupSettings13setSchedulingENS_26TFileManagerBackupScheduleE @ 27 NONAME - _ZN16FmBackupSettings14setTargetDriveERK7QString @ 28 NONAME - _ZN16FmBackupSettings15backupEntryListEv @ 29 NONAME - _ZN16FmBackupSettings15contentToStringEj @ 30 NONAME - _ZN16FmBackupSettings15createTimeEntryEv @ 31 NONAME - _ZN16FmBackupSettings15weekdayToStringENS_25TFileManagerBackupWeekdayE @ 32 NONAME - _ZN16FmBackupSettings18createWeekdayEntryEv @ 33 NONAME - _ZN16FmBackupSettings18schedulingToStringENS_26TFileManagerBackupScheduleE @ 34 NONAME - _ZN16FmBackupSettings19createContentsEntryEv @ 35 NONAME - _ZN16FmBackupSettings19targetDriveToStringERK7QString @ 36 NONAME - _ZN16FmBackupSettings21createSchedulingEntryEv @ 37 NONAME - _ZN16FmBackupSettings22createTargetDriveEntryEv @ 38 NONAME - _ZN16FmBackupSettings26resetAndDestoryBackupEntryEv @ 39 NONAME - _ZN16FmBackupSettings4loadEv @ 40 NONAME - _ZN16FmBackupSettings4saveEv @ 41 NONAME - _ZN16FmBackupSettings7setTimeERK5QTime @ 42 NONAME - _ZN16FmBackupSettingsC1EP12FmBkupEngine @ 43 NONAME - _ZN16FmBackupSettingsC2EP12FmBkupEngine @ 44 NONAME - _ZN16FmBackupSettingsD1Ev @ 45 NONAME - _ZN16FmBackupSettingsD2Ev @ 46 NONAME - _ZN17FmRestoreSettings11CreateEntryERK13FmRestoreInfo @ 47 NONAME - _ZN17FmRestoreSettings11refreshListER5QListIP24FmBkupDrivesAndOperationE @ 48 NONAME - _ZN17FmRestoreSettings12SetSelectionERKy @ 49 NONAME - _ZN17FmRestoreSettings16restoreEntryListEv @ 50 NONAME - _ZN17FmRestoreSettings27resetAndDestoryRestoreEntryEv @ 51 NONAME - _ZN17FmRestoreSettings4loadE5QListIP24FmBkupDrivesAndOperationE @ 52 NONAME - _ZN17FmRestoreSettingsC1ER12FmBkupEngine @ 53 NONAME - _ZN17FmRestoreSettingsC2ER12FmBkupEngine @ 54 NONAME - _ZN17FmRestoreSettingsD1Ev @ 55 NONAME - _ZN17FmRestoreSettingsD2Ev @ 56 NONAME - _ZNK12FmBkupEngine10metaObjectEv @ 57 NONAME - _ZNK12FmBkupEngine5errorEv @ 58 NONAME - _ZNK16FmBackupSettings10schedulingEv @ 59 NONAME - _ZNK16FmBackupSettings11targetDriveEv @ 60 NONAME - _ZNK16FmBackupSettings16contentsSelectedEv @ 61 NONAME - _ZNK16FmBackupSettings4timeEv @ 62 NONAME - _ZNK16FmBackupSettings7contentEv @ 63 NONAME - _ZNK16FmBackupSettings7weekdayEv @ 64 NONAME - _ZNK17FmRestoreSettings13GetSelectionLER5QListI13FmRestoreInfoE @ 65 NONAME - _ZTI12FmBkupEngine @ 66 NONAME - _ZTV12FmBkupEngine @ 67 NONAME - _ZN12FmBkupEngine22notifyBackupFilesExistERb @ 68 NONAME + _ZN12FmBkupEngine22notifyBackupFilesExistERb @ 18 NONAME + _ZN12FmBkupEngineC1EP7QObject @ 19 NONAME + _ZN12FmBkupEngineC2EP7QObject @ 20 NONAME + _ZN12FmBkupEngineD0Ev @ 21 NONAME + _ZN12FmBkupEngineD1Ev @ 22 NONAME + _ZN12FmBkupEngineD2Ev @ 23 NONAME + _ZN16FmBackupSettings10setContentEj @ 24 NONAME + _ZN16FmBackupSettings10setWeekdayENS_25TFileManagerBackupWeekdayE @ 25 NONAME + _ZN16FmBackupSettings11CreateEntryERK7QStringS2_N13FmBackupEntry12TSettingTypeE @ 26 NONAME + _ZN16FmBackupSettings11refreshListEv @ 27 NONAME + _ZN16FmBackupSettings13setSchedulingENS_26TFileManagerBackupScheduleE @ 28 NONAME + _ZN16FmBackupSettings14setTargetDriveERK7QString @ 29 NONAME + _ZN16FmBackupSettings15backupEntryListEv @ 30 NONAME + _ZN16FmBackupSettings15contentToStringEj @ 31 NONAME + _ZN16FmBackupSettings15createTimeEntryEv @ 32 NONAME + _ZN16FmBackupSettings15weekdayToStringENS_25TFileManagerBackupWeekdayE @ 33 NONAME + _ZN16FmBackupSettings16updateBackupDateEv @ 34 NONAME + _ZN16FmBackupSettings18createWeekdayEntryEv @ 35 NONAME + _ZN16FmBackupSettings18schedulingToStringENS_26TFileManagerBackupScheduleE @ 36 NONAME + _ZN16FmBackupSettings19createContentsEntryEv @ 37 NONAME + _ZN16FmBackupSettings19targetDriveToStringERK7QString @ 38 NONAME + _ZN16FmBackupSettings21createBackupDateEntryEv @ 39 NONAME + _ZN16FmBackupSettings21createSchedulingEntryEv @ 40 NONAME + _ZN16FmBackupSettings22createTargetDriveEntryEv @ 41 NONAME + _ZN16FmBackupSettings26resetAndDestoryBackupEntryEv @ 42 NONAME + _ZN16FmBackupSettings4loadEv @ 43 NONAME + _ZN16FmBackupSettings4saveEv @ 44 NONAME + _ZN16FmBackupSettings7setTimeERK5QTime @ 45 NONAME + _ZN16FmBackupSettingsC1EP12FmBkupEngine @ 46 NONAME + _ZN16FmBackupSettingsC2EP12FmBkupEngine @ 47 NONAME + _ZN16FmBackupSettingsD1Ev @ 48 NONAME + _ZN16FmBackupSettingsD2Ev @ 49 NONAME + _ZN17FmRestoreSettings11CreateEntryERK13FmRestoreInfo @ 50 NONAME + _ZN17FmRestoreSettings11refreshListER5QListIP24FmBkupDrivesAndOperationE @ 51 NONAME + _ZN17FmRestoreSettings12SetSelectionERKy @ 52 NONAME + _ZN17FmRestoreSettings16restoreEntryListEv @ 53 NONAME + _ZN17FmRestoreSettings27resetAndDestoryRestoreEntryEv @ 54 NONAME + _ZN17FmRestoreSettings4loadE5QListIP24FmBkupDrivesAndOperationE @ 55 NONAME + _ZN17FmRestoreSettingsC1ER12FmBkupEngine @ 56 NONAME + _ZN17FmRestoreSettingsC2ER12FmBkupEngine @ 57 NONAME + _ZN17FmRestoreSettingsD1Ev @ 58 NONAME + _ZN17FmRestoreSettingsD2Ev @ 59 NONAME + _ZNK12FmBkupEngine10metaObjectEv @ 60 NONAME + _ZNK12FmBkupEngine5errorEv @ 61 NONAME + _ZNK16FmBackupSettings10schedulingEv @ 62 NONAME + _ZNK16FmBackupSettings11targetDriveEv @ 63 NONAME + _ZNK16FmBackupSettings16contentsSelectedEv @ 64 NONAME + _ZNK16FmBackupSettings20availableTargetDriveEv @ 65 NONAME + _ZNK16FmBackupSettings4timeEv @ 66 NONAME + _ZNK16FmBackupSettings7contentEv @ 67 NONAME + _ZNK16FmBackupSettings7weekdayEv @ 68 NONAME + _ZNK17FmRestoreSettings13GetSelectionLER5QListI13FmRestoreInfoE @ 69 NONAME + _ZTI12FmBkupEngine @ 70 NONAME + _ZTV12FmBkupEngine @ 71 NONAME diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/eabi/fmfiledialogu.def --- a/filemanager/src/eabi/fmfiledialogu.def Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/eabi/fmfiledialogu.def Fri May 14 15:42:43 2010 +0300 @@ -19,4 +19,5 @@ _ZThn16_N12FmFileDialogD1Ev @ 18 NONAME _ZThn8_N12FmFileDialogD0Ev @ 19 NONAME _ZThn8_N12FmFileDialogD1Ev @ 20 NONAME + _ZN12FmFileDialog12dialogClosedEP8HbAction @ 21 NONAME diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/burconfig.xml --- a/filemanager/src/filemanager/burconfig.xml Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/burconfig.xml Fri May 14 15:42:43 2010 +0300 @@ -112,7 +112,7 @@ EBUCatSpecNone 0x101f401d - 0x101f84eb + 0x2002bcc0 0x20029f80 0x1028246F 0x10282475 diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/filemanager.pri --- a/filemanager/src/filemanager/filemanager.pri Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/filemanager.pri Fri May 14 15:42:43 2010 +0300 @@ -58,6 +58,8 @@ src/components/fmviewdetailsdialog.h \ src/components/fmviewdetailsitem.h \ src/components/fmdrivedetailstype.h \ + src/components/fmmessagebox.h \ + src/components/fmdialog.h SOURCES += src/main.cpp \ src/fmdriverlistwidget.cpp \ @@ -97,7 +99,9 @@ src/components/fmmultitextquery.cpp \ src/components/fmviewdetailsdialog.cpp \ src/components/fmviewdetailsitem.cpp \ - src/components/fmdrivedetailstype.cpp + src/components/fmdrivedetailstype.cpp \ + src/components/fmmessagebox.cpp \ + src/components/fmdialog.cpp win32 { SOURCES += src/operationservice/fmoperationformat_win.cpp diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/filemanager.pro --- a/filemanager/src/filemanager/filemanager.pro Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/filemanager.pro Fri May 14 15:42:43 2010 +0300 @@ -21,7 +21,7 @@ RESOURCES += filemanager.qrc INCLUDEPATH += ../fmbkupenginewrapper/inc # remove this path when export plat header to app layer path -INCLUDEPATH += ../../filemanager_plat/inc +# INCLUDEPATH += ../../filemanager_plat/inc include ( ../common.pri ) include ( ../inc/commoninc.pri ) diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/backuprestore/fmbackuprestorehandler.cpp --- a/filemanager/src/filemanager/src/backuprestore/fmbackuprestorehandler.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/backuprestore/fmbackuprestorehandler.cpp Fri May 14 15:42:43 2010 +0300 @@ -24,6 +24,7 @@ #include "fmbkupengine.h" #include "fmoperationbase.h" #include "fmcommon.h" +#include "fmdlgutils.h" #include @@ -73,7 +74,7 @@ mCurrentProcess = ProcessBackup; bool ret = mBkupEngine->startBackup( backupConfigLoader()->driversAndOperationList(), backupConfigLoader()->backupCategoryList(), - mBkupEngine->BackupSettingsL()->targetDrive(), + mBkupEngine->BackupSettingsL()->availableTargetDrive(), mBkupEngine->BackupSettingsL()->content() ); if( !ret ) { @@ -109,14 +110,14 @@ if( memoryValue < FmEstimateLowerLimit ) { userError = FmErrDiskFull; } else if( memoryValue < FmEstimateUpperLimit ) { - if ( !HbMessageBox::question( "memory low, continue?" ) ){ + if ( !FmDlgUtils::question( "memory low, continue?" ) ){ userError = FmErrCancel; } } } void FmBackupRestoreHandler::onNotifyBackupFilesExist( bool &isContinue ) { - if ( HbMessageBox::question( "some bacup files exist, continue?" ) ) + if ( FmDlgUtils::question( "some backup files exist, continue?" ) ) { isContinue = true; } diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/backuprestore/fmbackupview.cpp --- a/filemanager/src/filemanager/src/backuprestore/fmbackupview.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/backuprestore/fmbackupview.cpp Fri May 14 15:42:43 2010 +0300 @@ -91,6 +91,7 @@ void FmBackupView::on_leftAction_triggered() { int ret = mOperationService->asyncBackup(); + FmLogger::log( "FmBackupView_asyncBackup: ret= " + QString::number(ret) ); switch( ret ) { case FmErrNone: @@ -102,7 +103,7 @@ HbMessageBox::information( QString( hbTrId("Operation canceled because already started!") ) ); break; case FmErrPathNotFound: - HbMessageBox::information( QString( hbTrId("Operation canceled because can not find target drive!") ) ); + HbMessageBox::information( QString( hbTrId("Operation canceled because can not find target path or drive is not available!") ) ); break; case FmErrAlreadyExists: HbMessageBox::information( QString( hbTrId("backup canceled") ) ); @@ -139,3 +140,7 @@ toolBar()->removeAction( mToolBarAction ); } +void FmBackupView::refreshBackupView() +{ + mMainWidget->updateBackupDate(); +} diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/backuprestore/fmbackupview.h --- a/filemanager/src/filemanager/src/backuprestore/fmbackupview.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/backuprestore/fmbackupview.h Fri May 14 15:42:43 2010 +0300 @@ -45,6 +45,8 @@ void removeToolBarAction(); +public slots: + void refreshBackupView(); private slots: void on_leftAction_triggered(); diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/backuprestore/fmbackupwidget.cpp --- a/filemanager/src/filemanager/src/backuprestore/fmbackupwidget.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/backuprestore/fmbackupwidget.cpp Fri May 14 15:42:43 2010 +0300 @@ -35,9 +35,8 @@ #include - FmBackupWidget::FmBackupWidget( QGraphicsItem *parent ) -: HbWidget( parent ), mLastPressedItem( 0 ), mScrolled( 0 ) +: HbWidget( parent ), mLastPressedItem( 0 ), mScrolled( 0 ), mListReleased( false ) { init(); } @@ -50,9 +49,14 @@ void FmBackupWidget::on_list_released( const QModelIndex &index ) { + if( mListReleased == true ) { + return; + } + mListReleased = true; HbDataFormModelItem *item = mModel->itemFromIndex(index); if( item != mLastPressedItem || mDataForm->isScrolling() || mScrolled ) { mScrolled = false; + mListReleased = false; return; } mScrolled = false; @@ -68,6 +72,7 @@ } else if( item == mTimeItem ){ ChangeTime(); } + mListReleased = false; } void FmBackupWidget::on_list_pressed( const QModelIndex &index ) @@ -93,6 +98,7 @@ mDataForm->setModel( mModel ); vLayout->addItem( mDataForm ); + connect( mDataForm, SIGNAL( released( const QModelIndex & ) ), this, SLOT( on_list_released( const QModelIndex & ) ) ); @@ -165,9 +171,15 @@ mTimeItem = mModel->appendDataFormItem( HbDataFormModelItem::TextItem, QString( "" ), mSchedulingGroup ); mTimeItem->setContentWidgetData( QString("readOnly"), QString("true") ); + + mLastBackupDateItem = mModel->appendDataFormItem( + HbDataFormModelItem::TextItem, QString( ( "" )), mModel->invisibleRootItem() ); + mLastBackupDateItem->setContentWidgetData( QString("readOnly"), QString("true") ); + } + void FmBackupWidget::refreshModel() { mDataForm->setModel( 0 ); @@ -246,6 +258,11 @@ mTimeItem->setContentWidgetData( QString("text"), tips ); break; } + case FmBackupEntry::EBackupdate: + { + mLastBackupDateItem->setContentWidgetData( QString("text"), tips ); + break; + } } } @@ -347,7 +364,6 @@ int selectIndex = -1; int currentIndex = 0; - QString associatedDrives; for( QStringList::const_iterator it = driveList.begin(); it != driveList.end(); ++it ) { QString drive = (*it); @@ -356,7 +372,6 @@ driveStringList.push_back( drive ); queryStringList.push_back( driveWithVolume ); - associatedDrives += FmUtils::getDriveLetterFromPath(drive); if( drive == targetDrive ) { @@ -366,9 +381,15 @@ ++currentIndex; } - if( FmDlgUtils::showSingleSettingQuery( title, queryStringList, selectIndex, associatedDrives ) ) + if( FmDlgUtils::showSingleSettingQuery( title, queryStringList, selectIndex ) ) { mBackupSettings->setTargetDrive( driveStringList.at( selectIndex ) ); emit doModelRefresh(); } } + +void FmBackupWidget::updateBackupDate() +{ + mBackupSettings->updateBackupDate(); + emit doModelRefresh(); +} diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/backuprestore/fmbackupwidget.h --- a/filemanager/src/filemanager/src/backuprestore/fmbackupwidget.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/backuprestore/fmbackupwidget.h Fri May 14 15:42:43 2010 +0300 @@ -35,6 +35,7 @@ public: FmBackupWidget( QGraphicsItem *parent = 0 ); ~FmBackupWidget(); + void updateBackupDate(); signals: void doModelRefresh(); @@ -70,12 +71,13 @@ HbDataFormModelItem *mSchedulingItem; HbDataFormModelItem *mWeekdayItem; HbDataFormModelItem *mTimeItem; - + HbDataFormModelItem *mLastBackupDateItem; FmBackupSettings *mBackupSettings; FmBackupConfigLoader *mBackupConfigLoader; HbDataFormModelItem *mLastPressedItem; bool mScrolled; + bool mListReleased; }; #endif // FMBACKUPWIDGET_H diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/backuprestore/fmdeletebackupview.cpp --- a/filemanager/src/filemanager/src/backuprestore/fmdeletebackupview.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/backuprestore/fmdeletebackupview.cpp Fri May 14 15:42:43 2010 +0300 @@ -20,6 +20,7 @@ #include "fmdeletebackupwidget.h" #include "fmviewmanager.h" #include "fmoperationbase.h" +#include "fmdlgutils.h" #include @@ -108,7 +109,7 @@ void FmDeleteBackupView::on_deleteAction_triggered() { QList items = mDeleteBackupWidget->selectionIndexes(); - if( items.count() <= 0 || !HbMessageBox::question( tr("Confirm Deletion?" ) ) ){ + if( items.count() <= 0 || !FmDlgUtils::question( tr("Confirm Deletion?" ) ) ){ return; } diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmcombinedquery.cpp --- a/filemanager/src/filemanager/src/components/fmcombinedquery.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/components/fmcombinedquery.cpp Fri May 14 15:42:43 2010 +0300 @@ -25,7 +25,7 @@ #include #include -FmCombinedQuery::FmCombinedQuery( QGraphicsItem *parent ) : HbDialog( parent ), +FmCombinedQuery::FmCombinedQuery( QGraphicsItem *parent ) : FmDialog( parent ), mSelectMode ( MultiSelectMode ), mDominantIndex ( -1 ) { mContentWidget = new QGraphicsWidget(); @@ -110,7 +110,7 @@ void FmCombinedQuery::activated( const QModelIndex &index ) { - int selectedRow = mListWidget->indexPosition( index ); + int selectedRow = index.row(); if( selectedRow == mDominantIndex ){ QModelIndexList modelIndexList = mListWidget->selectionModel()->selectedIndexes(); for( QModelIndexList::const_iterator it = modelIndexList.begin(); it != modelIndexList.end(); ++it ){ diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmcombinedquery.h --- a/filemanager/src/filemanager/src/components/fmcombinedquery.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/components/fmcombinedquery.h Fri May 14 15:42:43 2010 +0300 @@ -19,14 +19,13 @@ #define FMCOMBINEDQUERY_H #include "fmcommon.h" +#include "fmdialog.h" #include #include #include #include -#include - class HbListWidget; class QGraphicsWidget; @@ -36,7 +35,7 @@ * Support multi, single select * */ -class FmCombinedQuery : public HbDialog +class FmCombinedQuery : public FmDialog { Q_OBJECT public: diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmdialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/src/filemanager/src/components/fmdialog.cpp Fri May 14 15:42:43 2010 +0300 @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * + * Description: + * The source file of filemanager base dialog class + */ + +#include "fmdialog.h" +#include + +FmDialog::FmDialog( QGraphicsItem *parent) : HbDialog( parent ), mRetAction( 0 ) +{ + +} + +HbAction *FmDialog::exec() +{ + HbDialog::open( this, SLOT(dialogClosed(HbAction*)) ); + mEventLoop.exec(); + return mRetAction; +} + +void FmDialog::dialogClosed(HbAction *action) +{ + mRetAction = action; + mEventLoop.exit(); +} diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmdialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/src/filemanager/src/components/fmdialog.h Fri May 14 15:42:43 2010 +0300 @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * + * Description: + * The header file of filemanager base dialog class + */ + +#ifndef FMDIALOG_H +#define FMDIALOG_H + +#include +#include +#include + +#include "hbmenu.h" +class FmDialog : public HbDialog +{ +Q_OBJECT +public: + explicit FmDialog( QGraphicsItem *parent = 0 ); + HbAction *exec(); +public slots: + void dialogClosed(HbAction *action); +private: + QEventLoop mEventLoop; + HbAction *mRetAction; +}; + +#endif diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmdlgutils.cpp --- a/filemanager/src/filemanager/src/components/fmdlgutils.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/components/fmdlgutils.cpp Fri May 14 15:42:43 2010 +0300 @@ -23,6 +23,7 @@ #include "fmmultitextquery.h" #include "fmutils.h" #include "fmviewmanager.h" +#include "fmmessagebox.h" #include #include @@ -30,8 +31,7 @@ #include #include -#include - + FmDlgUtils::FmDlgUtils( void ) { } @@ -39,7 +39,7 @@ FmDlgUtils::~FmDlgUtils( void ) { } -HbAction *FmDlgUtils::executeDialog( HbDialog *dialog, const QString &associatedDrives ) +HbAction *FmDlgUtils::executeDialog( FmDialog *dialog, const QString &associatedDrives ) { for( int i = 0; i < associatedDrives.length(); i++ ) { QString drive( associatedDrives[i] + QString( ":/" ) ); @@ -246,7 +246,7 @@ bool FmDlgUtils::showTextQuery( const QString& title, QString& text, bool isDimPrimaryActionWhenEmpty, int maxLength, - const QString &associatedDrives ) + const QString &associatedDrives, bool isReturnFalseWhenNoTextChanged ) { bool ret( false ); bool ok ( true ); // SK return (out parameter) @@ -286,7 +286,14 @@ if( ok ){ QString newName = cQuery->getLineEditText(); - if ( newName != text ){ + if ( newName == text ){ + if( isReturnFalseWhenNoTextChanged ) { + ret = false; + } + else { + ret = true; + } + } else { text = newName; ret = true; } @@ -295,12 +302,15 @@ return ret; } -bool FmDlgUtils::showSinglePasswordQuery( const QString &title, QString &pwd, const QString &associatedDrives ) +bool FmDlgUtils::showSinglePasswordQuery( const QString &title, QString &pwd, int maxLength, const QString &associatedDrives ) { bool ret( false ); FmSingleTextQuery *cQuery = new FmSingleTextQuery( FmSingleTextQuery::DimPrimereActionWhenEmpty, HbLineEdit::Password ); + if( maxLength != -1 ){ + cQuery->setLineEditMaxLength( maxLength ); + } cQuery->setHeadingWidget( new HbLabel( title ) ); QString sk1 ( tr ("ok" ) ); @@ -331,11 +341,14 @@ } bool FmDlgUtils::showMultiPasswordQuery( - const QString &firstLabel, const QString &secondLabel, QString &pwd, const QString &associatedDrives ) + const QString &firstLabel, const QString &secondLabel, QString &pwd, int maxLength, const QString &associatedDrives ) { bool ret( false ); FmMultiTextQuery *cQuery = new FmMultiTextQuery( HbLineEdit::Password ); + if( maxLength != -1 ){ + cQuery->setLineEditMaxLength( maxLength ); + } cQuery->setFirstLabelText( firstLabel ); cQuery->setSecondLabelText( secondLabel ); @@ -369,3 +382,10 @@ delete cQuery; return ret; } + +bool FmDlgUtils::question( const QString &questionText, const QString &primaryButtonText, + const QString &secondaryButtonText ) +{ + FmMessageBox msgBox; + return msgBox.question( questionText, primaryButtonText, secondaryButtonText ); +} diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmdlgutils.h --- a/filemanager/src/filemanager/src/components/fmdlgutils.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/components/fmdlgutils.h Fri May 14 15:42:43 2010 +0300 @@ -25,7 +25,7 @@ #include #include -class HbDialog; +class FmDialog; class HbAction; class FmDlgUtils : public QObject @@ -76,20 +76,23 @@ static bool showTextQuery( const QString &title, QString &driveName, bool isDimPrimaryActionWhenEmpty, int maxLength = -1, - const QString &associatedDrives = QString() ); + const QString &associatedDrives = QString(), bool isReturnFalseWhenNoTextChanged = true ); static bool showSinglePasswordQuery( - const QString &title, QString &pwd, + const QString &title, QString &pwd, int maxLength = -1, const QString &associatedDrives = QString() ); static bool showMultiPasswordQuery( - const QString &firstLabel, const QString &secondLabel, QString &pwd, + const QString &firstLabel, const QString &secondLabel, QString &pwd, int maxLength = -1, const QString &associatedDrives = QString() ); + + static bool question( const QString &questionText, const QString &primaryButtonText = tr("Yes"), + const QString &secondaryButtonText = tr("No") ); ~FmDlgUtils(void); private: FmDlgUtils(void); - static HbAction *executeDialog( HbDialog *dialog, const QString &associatedDrives ); + static HbAction *executeDialog( FmDialog *dialog, const QString &associatedDrives ); }; diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmdrivedetailstype.cpp --- a/filemanager/src/filemanager/src/components/fmdrivedetailstype.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/components/fmdrivedetailstype.cpp Fri May 14 15:42:43 2010 +0300 @@ -86,6 +86,7 @@ typeFilters.append( QString( "*.rv" ) ); typeFilters.append( QString( "*.wmv" ) ); typeFilters.append( QString( "*.3g2" ) ); + typeFilters.append( QString( "*.rmvb" ) ); dataGroupList.append( new FmDriveDetailsDataGroup( FmDriveDetailsDataGroup::EGroupVideos, typeFilters )); diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmmessagebox.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/src/filemanager/src/components/fmmessagebox.cpp Fri May 14 15:42:43 2010 +0300 @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * + * Description: + * The source file of filemanager messagebox + */ + +#include "fmmessagebox.h" +#include + +bool FmMessageBox::question( const QString &questionText, const QString &primaryButtonText, + const QString &secondaryButtonText ) +{ + HbMessageBox::question ( questionText, + this, SLOT(dialogClosed(HbAction*)), primaryButtonText, secondaryButtonText ); + mEventLoop.exec(); + return mRet; +} + +void FmMessageBox::dialogClosed(HbAction *action) +{ + HbMessageBox *dlg = static_cast(sender()); + if(action == dlg->actions().at(0)) + { + mRet = true; + } + else + { + mRet = false; + } + mEventLoop.exit(); +} diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmmessagebox.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/src/filemanager/src/components/fmmessagebox.h Fri May 14 15:42:43 2010 +0300 @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * + * Description: + * The header file of filemanager messagebox + */ + +#ifndef FMMESSAGEBOX_H +#define FMMESSAGEBOX_H + +#include +#include +#include + +class FmMessageBox : public QObject +{ +Q_OBJECT +public: + FmMessageBox() + { + } + ~FmMessageBox() + { + } + bool question( const QString &questionText, const QString &primaryButtonText, + const QString &secondaryButtonText ); +public slots: + void dialogClosed(HbAction *action); +private: + QEventLoop mEventLoop; + bool mRet; +}; + +#endif diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmmultitextquery.cpp --- a/filemanager/src/filemanager/src/components/fmmultitextquery.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/components/fmmultitextquery.cpp Fri May 14 15:42:43 2010 +0300 @@ -26,7 +26,7 @@ #include FmMultiTextQuery::FmMultiTextQuery( HbLineEdit::EchoMode echoMode, QGraphicsItem *parent ) : - HbDialog( parent ), mEchoMode( echoMode ) + FmDialog( parent ), mEchoMode( echoMode ) { init(); } @@ -70,6 +70,12 @@ } +void FmMultiTextQuery::setLineEditMaxLength( int length ) +{ + mFirstEdit->setMaxLength( length ); + mSecondEdit->setMaxLength( length ); +} + void FmMultiTextQuery::setFirstEditText( const QString &text ) { mFirstEdit->setText( text ); diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmmultitextquery.h --- a/filemanager/src/filemanager/src/components/fmmultitextquery.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/components/fmmultitextquery.h Fri May 14 15:42:43 2010 +0300 @@ -20,21 +20,22 @@ #define FMMULTITEXTQUERY_H #include "fmcommon.h" +#include "fmdialog.h" -#include #include class HbWidget; class HbLabel; -class FmMultiTextQuery : public HbDialog +class FmMultiTextQuery : public FmDialog { Q_OBJECT public: - FmMultiTextQuery( HbLineEdit::EchoMode echoMode = HbLineEdit::Normal, QGraphicsItem *parent = 0 ); + explicit FmMultiTextQuery( HbLineEdit::EchoMode echoMode = HbLineEdit::Normal, QGraphicsItem *parent = 0 ); ~FmMultiTextQuery(); public: + void setLineEditMaxLength( int length ); void setFirstEditText( const QString &text ); void setSecondEditText( const QString &text ); void setFirstLabelText( const QString &text ); diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmsingletextquery.cpp --- a/filemanager/src/filemanager/src/components/fmsingletextquery.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/components/fmsingletextquery.cpp Fri May 14 15:42:43 2010 +0300 @@ -26,7 +26,7 @@ FmSingleTextQuery::FmSingleTextQuery( Options options, HbLineEdit::EchoMode echoMode, QGraphicsItem *parent ) : - HbDialog( parent ), mOptions( options ), mEchoMode( echoMode ) + FmDialog( parent ), mOptions( options ), mEchoMode( echoMode ) { init(); } diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmsingletextquery.h --- a/filemanager/src/filemanager/src/components/fmsingletextquery.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/components/fmsingletextquery.h Fri May 14 15:42:43 2010 +0300 @@ -19,12 +19,12 @@ #ifndef FMSINGLETEXTQUERY_H #define FMSINGLETEXTQUERY_H -#include +#include "fmdialog.h" #include class HbWidget; -class FmSingleTextQuery : public HbDialog +class FmSingleTextQuery : public FmDialog { Q_OBJECT public: diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmtimequery.cpp --- a/filemanager/src/filemanager/src/components/fmtimequery.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/components/fmtimequery.cpp Fri May 14 15:42:43 2010 +0300 @@ -24,7 +24,7 @@ #include -FmTimeQuery::FmTimeQuery( QGraphicsItem *parent ) : HbDialog( parent ) +FmTimeQuery::FmTimeQuery( QGraphicsItem *parent ) : FmDialog( parent ) { mContentWidget = new QGraphicsWidget(); diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmtimequery.h --- a/filemanager/src/filemanager/src/components/fmtimequery.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/components/fmtimequery.h Fri May 14 15:42:43 2010 +0300 @@ -20,14 +20,13 @@ #define FMTIMEQUERY_H #include "fmcommon.h" +#include "fmdialog.h" #include -#include - class QGraphicsWidget; class HbDateTimeEdit; -class FmTimeQuery : public HbDialog +class FmTimeQuery : public FmDialog { public: FmTimeQuery(QGraphicsItem *parent=0); diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmviewdetailsdialog.cpp --- a/filemanager/src/filemanager/src/components/fmviewdetailsdialog.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/components/fmviewdetailsdialog.cpp Fri May 14 15:42:43 2010 +0300 @@ -32,7 +32,7 @@ #include FmViewDetailsDialog::FmViewDetailsDialog( QGraphicsItem *parent ) - : HbDialog( parent ), + : FmDialog( parent ), mNumofSubFolers( 0 ), mNumofFiles( 0 ), mSizeofFolder( 0 ), @@ -437,7 +437,7 @@ } } -HbAction *FmViewDetailsDialog::executeDialog( HbDialog *dialog, const QString &associatedDrives ) +HbAction *FmViewDetailsDialog::executeDialog( FmDialog *dialog, const QString &associatedDrives ) { for( int i = 0; i < associatedDrives.length(); i++ ) { QString drive( associatedDrives[i] + QString( ":/" ) ); diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/components/fmviewdetailsdialog.h --- a/filemanager/src/filemanager/src/components/fmviewdetailsdialog.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/components/fmviewdetailsdialog.h Fri May 14 15:42:43 2010 +0300 @@ -20,8 +20,7 @@ #define FMVIEWDETAILSDIALOG_H #include "fmcommon.h" - -#include +#include "fmdialog.h" class FmDataListModel; class QDirModel; @@ -30,7 +29,7 @@ class HbAction; class FmDriveDetailsSize; -class FmViewDetailsDialog : public HbDialog +class FmViewDetailsDialog : public FmDialog { Q_OBJECT @@ -90,7 +89,7 @@ void setNumofSubfolders( int numofSubFolders, int numofFiles, quint64 sizeofFolder ); void setSizeofContent( QList detailsSizeList ); - static HbAction *executeDialog( HbDialog *dialog, const QString &associatedDrives ); + static HbAction *executeDialog( FmDialog *dialog, const QString &associatedDrives ); private: HbListView *mListView; HbLabel *mHeaderLabel; diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/fmdriverlistwidget.cpp --- a/filemanager/src/filemanager/src/fmdriverlistwidget.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/fmdriverlistwidget.cpp Fri May 14 15:42:43 2010 +0300 @@ -38,7 +38,7 @@ FmDriverListWidget::FmDriverListWidget( QGraphicsItem *parent ) : HbWidget( parent ), mCurrentItem( 0 ), - mOperationService( 0 ) + mOperationService( 0 ), mListLongPressed( false ) { init(); mOperationService = FmViewManager::viewManager()->operationService(); @@ -56,7 +56,13 @@ void FmDriverListWidget::on_list_activated( const QModelIndex &index ) { - emit activated( mModel->driveName( index ) ); + FmLogger::log("FmDriverListWidget::on_list_activated"); + if( mListLongPressed ) { + FmLogger::log("FmDriverListWidget::on_list_activated return because long pressed"); + return; + } + FmLogger::log("FmDriverListWidget::on_list_activated emit activate to open drive"); + emit activated( mModel->driveName( index ) ); } void FmDriverListWidget::init() @@ -80,9 +86,11 @@ mSearchPanel->hide(); // mLayout->addItem( mSearchPanel ); - mListView->setItemPrototype( new DiskListViewItem( mListView ) ); + mListView->setItemPrototype( new DiskListViewItem() ); connect( mListView, SIGNAL( activated( const QModelIndex & ) ), this, SLOT( on_list_activated( const QModelIndex & ) ) ); + connect( mListView, SIGNAL( pressed( const QModelIndex & ) ), + this, SLOT( on_list_pressed( const QModelIndex & ) ) ); connect( mListView, SIGNAL( longPressed( HbAbstractViewItem *, const QPointF & ) ), this, SLOT( on_list_longPressed( HbAbstractViewItem *, const QPointF & ) ) ); @@ -107,73 +115,77 @@ void FmDriverListWidget::on_list_longPressed( HbAbstractViewItem *item, const QPointF &coords ) { - HbMenu *contextMenu = new HbMenu(); - + FmLogger::log("FmDriverListWidget::on_list_longPressed"); + mListLongPressed = true; mCurrentItem = item; QString diskName = mModel->driveName( mCurrentItem->modelIndex() ); FmDriverInfo driverInfo = FmUtils::queryDriverInfo( diskName ); FmDriverInfo::DriveState state = driverInfo.driveState(); - - if( !( state & FmDriverInfo::EDriveNotPresent ) && !( state & FmDriverInfo::EDriveLocked ) && - !( state & FmDriverInfo::EDriveCorrupted ) ) { - HbAction *viewAction = new HbAction(); - viewAction->setObjectName( "viewAction" ); - viewAction->setText( hbTrId( "txt_fmgr_menu_view_details_memory" ) ); - contextMenu->addAction( viewAction ); - - //state = 0x210; + if( !( state & FmDriverInfo::EDriveNotPresent ) ) { + HbMenu *contextMenu = new HbMenu(); + + if( state & FmDriverInfo::EDriveAvailable ) { + HbAction *viewAction = new HbAction(); + viewAction->setObjectName( "viewAction" ); + viewAction->setText( hbTrId( "txt_fmgr_menu_view_details_memory" ) ); + contextMenu->addAction( viewAction ); - connect( viewAction, SIGNAL( triggered() ), - this, SLOT( on_viewAction_triggered() ) ); - } - - if( ( state & FmDriverInfo::EDriveRemovable ) && !( state & FmDriverInfo::EDriveMassStorage ) ){ - if ( driverInfo.volumeName().length() ){ - HbAction *renameAction = new HbAction(); - renameAction->setObjectName( "renameAction" ); - renameAction->setText( hbTrId( "txt_fmgr_menu_rename" ) ); - contextMenu->addAction( renameAction ); - - connect( renameAction, SIGNAL( triggered() ), - this, SLOT( on_renameAction_triggered() ) ); + //state = 0x210; + + connect( viewAction, SIGNAL( triggered() ), + this, SLOT( on_viewAction_triggered() ) ); } - else{ - HbAction *nameAction = new HbAction(); - nameAction->setObjectName( "nameAction" ); - nameAction->setText( hbTrId( "txt_fmgr_menu_name" ) ); - contextMenu->addAction( nameAction ); - - connect( nameAction, SIGNAL( triggered() ), - this, SLOT( on_nameAction_triggered() ) ); + + if( ( state & FmDriverInfo::EDriveAvailable ) && ( state & FmDriverInfo::EDriveRemovable ) && !( state & FmDriverInfo::EDriveMassStorage ) ){ + // MMC or Usb memory + if ( driverInfo.volumeName().length() ){ + HbAction *renameAction = new HbAction(); + renameAction->setObjectName( "renameAction" ); + renameAction->setText( hbTrId( "txt_fmgr_menu_rename" ) ); + contextMenu->addAction( renameAction ); + + connect( renameAction, SIGNAL( triggered() ), + this, SLOT( on_renameAction_triggered() ) ); + } + else{ + HbAction *nameAction = new HbAction(); + nameAction->setObjectName( "nameAction" ); + nameAction->setText( hbTrId( "txt_fmgr_menu_name" ) ); + contextMenu->addAction( nameAction ); + + connect( nameAction, SIGNAL( triggered() ), + this, SLOT( on_nameAction_triggered() ) ); + } + if( !( state & FmDriverInfo::EDriveUsbMemory ) ) { // MMC + if( state & FmDriverInfo::EDrivePasswordProtected ){ + HbAction *changePwdAction = new HbAction(); + changePwdAction->setObjectName( "changePwdAction" ); + changePwdAction->setText( hbTrId( "txt_fmgr_menu_change_password" ) ); + contextMenu->addAction( changePwdAction ); + + HbAction *removePwdAction = new HbAction(); + removePwdAction->setObjectName( "removePwdAction" ); + removePwdAction->setText( hbTrId( "txt_fmgr_menu_remove_password" ) ); + contextMenu->addAction( removePwdAction ); + + connect( changePwdAction, SIGNAL( triggered() ), + this, SLOT( on_changePwdAction_triggered() ) ); + connect( removePwdAction, SIGNAL( triggered() ), + this, SLOT( on_removePwdAction_triggered() ) ); + } + else{ + HbAction *setPwdAction = new HbAction(); + setPwdAction->setObjectName( "setPwdAction" ); + setPwdAction->setText( hbTrId( "txt_fmgr_menu_set_password" ) ); + contextMenu->addAction( setPwdAction ); + + connect( setPwdAction, SIGNAL( triggered() ), + this, SLOT( on_setPwdAction_triggered() ) ); + } + } } - - if( state & FmDriverInfo::EDrivePasswordProtected ){ - HbAction *changePwdAction = new HbAction(); - changePwdAction->setObjectName( "changePwdAction" ); - changePwdAction->setText( hbTrId( "txt_fmgr_menu_change_password" ) ); - contextMenu->addAction( changePwdAction ); - - HbAction *removePwdAction = new HbAction(); - removePwdAction->setObjectName( "removePwdAction" ); - removePwdAction->setText( hbTrId( "txt_fmgr_menu_remove_password" ) ); - contextMenu->addAction( removePwdAction ); - - connect( changePwdAction, SIGNAL( triggered() ), - this, SLOT( on_changePwdAction_triggered() ) ); - connect( removePwdAction, SIGNAL( triggered() ), - this, SLOT( on_removePwdAction_triggered() ) ); - } - else{ - HbAction *setPwdAction = new HbAction(); - setPwdAction->setObjectName( "setPwdAction" ); - setPwdAction->setText( hbTrId( "txt_fmgr_menu_set_password" ) ); - contextMenu->addAction( setPwdAction ); - - connect( setPwdAction, SIGNAL( triggered() ), - this, SLOT( on_setPwdAction_triggered() ) ); - } - + if( state & FmDriverInfo::EDriveEjectable ){ HbAction *ejectAction = new HbAction(); ejectAction->setObjectName( "ejectAction" ); @@ -182,36 +194,41 @@ connect( ejectAction, SIGNAL( triggered() ), this, SLOT( on_ejectAction_triggered() ) ); - } + } + + #ifndef _DEBUG_ENABLE_FORMATMENU_ + if ( ( state & FmDriverInfo::EDriveRemovable ) || ( state & FmDriverInfo::EDriveCorrupted ) + || ( state & FmDriverInfo::EDriveLocked ) ){ + #endif + HbAction *formatAction = new HbAction(); + formatAction->setObjectName( "formatAction" ); + formatAction->setText( hbTrId( "txt_fmgr_menu_format" ) ); + contextMenu->addAction( formatAction ); + + connect( formatAction, SIGNAL( triggered() ), + this, SLOT( on_formatAction_triggered() ) ); + #ifndef _DEBUG_ENABLE_FORMATMENU_ + } + #endif + + if( state & FmDriverInfo::EDriveLocked ){ + HbAction *unLockedAction = new HbAction(); + unLockedAction->setObjectName( "unLockedAction" ); + unLockedAction->setText( hbTrId( "Unlock" ) ); + contextMenu->addAction( unLockedAction ); + + connect( unLockedAction, SIGNAL( triggered() ), + this, SLOT( on_unLockedAction_triggered() ) ); + } + contextMenu->setPreferredPos( coords ); + contextMenu->open(); } -#ifndef _DEBUG_ENABLE_FORMATMENU_ -if ( ( state & FmDriverInfo::EDriveRemovable ) || ( state & FmDriverInfo::EDriveCorrupted ) - || ( state & FmDriverInfo::EDriveLocked ) ){ - if( !( state & FmDriverInfo::EDriveNotPresent ) ){ -#endif - HbAction *formatAction = new HbAction(); - formatAction->setObjectName( "formatAction" ); - formatAction->setText( hbTrId( "txt_fmgr_menu_format" ) ); - contextMenu->addAction( formatAction ); + +} - connect( formatAction, SIGNAL( triggered() ), - this, SLOT( on_formatAction_triggered() ) ); -#ifndef _DEBUG_ENABLE_FORMATMENU_ - } - } -#endif - - if( state & FmDriverInfo::EDriveLocked ){ - HbAction *unLockedAction = new HbAction(); - unLockedAction->setObjectName( "unLockedAction" ); - unLockedAction->setText( hbTrId( "Unlock" ) ); - contextMenu->addAction( unLockedAction ); - - connect( unLockedAction, SIGNAL( triggered() ), - this, SLOT( on_unLockedAction_triggered() ) ); - } - - contextMenu->exec( coords ); +void FmDriverListWidget::on_list_pressed( const QModelIndex & index ) +{ + mListLongPressed = false; } void FmDriverListWidget::on_viewAction_triggered() @@ -269,7 +286,7 @@ QString diskName = mModel->driveName( mCurrentItem->modelIndex() ); QString associatedDrives( FmUtils::getDriveLetterFromPath( diskName ) ); - if( FmDlgUtils::showMultiPasswordQuery( firstLabel, secondLabel, newPwd, associatedDrives ) ) { + if( FmDlgUtils::showMultiPasswordQuery( firstLabel, secondLabel, newPwd, FmMaxLengthofDrivePassword, associatedDrives ) ) { if ( FmUtils::setDrivePwd( diskName, oldPwd, newPwd ) == 0 ){ HbMessageBox::information( hbTrId( "The password has been set!" ) ); } @@ -291,7 +308,7 @@ QString diskName = mModel->driveName( mCurrentItem->modelIndex() ); QString associatedDrives( FmUtils::getDriveLetterFromPath( diskName ) ); - while( FmDlgUtils::showSinglePasswordQuery( title, oldPwd, associatedDrives ) ) { + while( FmDlgUtils::showSinglePasswordQuery( title, oldPwd, FmMaxLengthofDrivePassword, associatedDrives ) ) { if ( FmUtils::checkDrivePwd( diskName, oldPwd ) == 0 ){ if( FmDlgUtils::showMultiPasswordQuery( firstLabel, secondLabel, newPwd ) ){ if ( FmUtils::setDrivePwd( diskName, oldPwd, newPwd ) == 0 ){ @@ -319,9 +336,9 @@ QString diskName = mModel->driveName( mCurrentItem->modelIndex() ); //QString password( tr( "a ") ); - if( HbMessageBox::question( tr( "Do you want to remove the password? Memory card becomes unlocked." ) ) ){ + if( FmDlgUtils::question( tr( "Do you want to remove the password? Memory card becomes unlocked." ) ) ){ QString associatedDrives( FmUtils::getDriveLetterFromPath( diskName ) ); - while( FmDlgUtils::showSinglePasswordQuery( title, oldPwd, associatedDrives ) ) { + while( FmDlgUtils::showSinglePasswordQuery( title, oldPwd, FmMaxLengthofDrivePassword, associatedDrives ) ) { if ( FmUtils::checkDrivePwd( diskName, oldPwd ) == 0 ) { if ( FmUtils::removeDrivePwd( diskName, oldPwd ) == 0 ){ HbMessageBox::information( hbTrId( "The password has been removed!" ) ); @@ -372,7 +389,7 @@ { QString diskName = mModel->driveName( mCurrentItem->modelIndex() ); - if( HbMessageBox::question( hbTrId( "Format? Data will be deleted during formatting." ) ) ){ + if( FmDlgUtils::question( hbTrId( "Format? Data will be deleted during formatting." ) ) ){ if( FmErrNone != mOperationService->asyncFormat( diskName ) ) HbMessageBox::information( hbTrId( "Formatting failed." ) ); } @@ -382,7 +399,7 @@ { QString diskName = mModel->driveName( mCurrentItem->modelIndex() ); - if( HbMessageBox::question( hbTrId( "Eject memory card? Some applications will be closed." ) ) ){ + if( FmDlgUtils::question( hbTrId( "Eject memory card? Some applications will be closed." ) ) ){ FmUtils::ejectDrive( diskName ); } } @@ -395,7 +412,13 @@ void FmDriverListWidget::activeSearchPanel() { - mFindTargetPath.clear(); + QStringList driveList; + FmUtils::getDriveList( driveList, true ); + if(driveList.count() > 0 ) { + mFindTargetPath = driveList.first(); + } else { + mFindTargetPath.clear(); + } mLayout->addItem( mSearchPanel ); mSearchPanel->show(); } diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/fmdriverlistwidget.h --- a/filemanager/src/filemanager/src/fmdriverlistwidget.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/fmdriverlistwidget.h Fri May 14 15:42:43 2010 +0300 @@ -50,6 +50,7 @@ private slots: void on_list_activated( const QModelIndex &index ); void on_list_longPressed( HbAbstractViewItem *item, const QPointF &coords ); + void on_list_pressed( const QModelIndex & index ) ; void on_viewAction_triggered(); void on_renameAction_triggered(); @@ -79,6 +80,9 @@ QString mFindTargetPath; QGraphicsLinearLayout *mLayout; + + //used to avoid activate when long press list. + bool mListLongPressed; }; #endif diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/fmdriverview.cpp --- a/filemanager/src/filemanager/src/fmdriverview.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/fmdriverview.cpp Fri May 14 15:42:43 2010 +0300 @@ -32,6 +32,7 @@ FmDriverView::FmDriverView() : FmViewBase( EDriverView ) { + FmLogger::log( "FmDriverView::FmDriverView" ); initMenu(); initToolBar(); initDiskListWidget(); diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/fmfilebrowsewidget.cpp --- a/filemanager/src/filemanager/src/fmfilebrowsewidget.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/fmfilebrowsewidget.cpp Fri May 14 15:42:43 2010 +0300 @@ -50,7 +50,8 @@ mFileBrowseStyle( style ), mCurrentItem( 0 ), mOperationService( 0 ), - mSearchPanel( 0 ) + mSearchPanel( 0 ), + mListLongPressed( false ) { initFileModel(); initListView(); @@ -236,17 +237,31 @@ void FmFileBrowseWidget::on_list_activated( const QModelIndex &index ) { + mActivatedModelIndex = index; + emit listActivated(); +} + +void FmFileBrowseWidget::on_listActivated() +{ + FmLogger::log("FmFileBrowseWidget::on_listActivated start"); + if( mListLongPressed ) { + FmLogger::log("FmFileBrowseWidget::on_list_activated end because longPressed"); + return; + } if (!mSelectable) { - if (mModel->isDir(index) ) { - changeRootIndex( index ); + if (mModel->isDir(mActivatedModelIndex) ) { + FmLogger::log("FmFileBrowseWidget::on_list_activated changeRootIndex>>"); + changeRootIndex( mActivatedModelIndex ); + FmLogger::log("FmFileBrowseWidget::on_list_activated changeRootIndex<<"); } else { - QString filePath( mModel->filePath( index ) ); + QString filePath( mModel->filePath( mActivatedModelIndex ) ); QFileInfo fileInfo( filePath ); if ( fileInfo.isFile() ) { mOperationService->syncLaunchFileOpen( filePath ); } } } + FmLogger::log("FmFileBrowseWidget::on_listActivated end"); } void FmFileBrowseWidget::on_tree_activated( const QModelIndex &index ) @@ -258,6 +273,7 @@ void FmFileBrowseWidget::on_list_longPressed( HbAbstractViewItem *item, const QPointF &coords ) { + mListLongPressed = true; HbMenu *contextMenu = new HbMenu(); mCurrentItem = item; @@ -322,7 +338,13 @@ // this, SLOT( on_sendAction_triggered() ) ); // } - contextMenu->exec( coords ); + contextMenu->setPreferredPos( coords ); + contextMenu->open(); +} + +void FmFileBrowseWidget::on_list_pressed( const QModelIndex & index ) +{ + mListLongPressed = false; } void FmFileBrowseWidget::on_tree_longPressed( HbAbstractViewItem *item, const QPointF &coords ) @@ -357,6 +379,8 @@ connect( mListView, SIGNAL( activated( const QModelIndex& ) ), this, SLOT( on_list_activated( const QModelIndex& ) ) ); + connect( this, SIGNAL( listActivated() ), + this, SLOT( on_listActivated() ), Qt::QueuedConnection ); connect( mListView, SIGNAL( longPressed( HbAbstractViewItem *, const QPointF & ) ), this, SLOT( on_list_longPressed( HbAbstractViewItem *, const QPointF & ) ) ); } @@ -453,6 +477,7 @@ void FmFileBrowseWidget::refreshModel( const QString& path ) { + FmLogger::log( "FmFileBrowseWidget::refreshModel start" ); QString currPath( currentPath().absoluteFilePath() ); QString refreshPath( path ); @@ -478,6 +503,7 @@ setRootPath( refreshPath ); emit setTitle( FmUtils::fillDriveVolume( mCurrentDrive, true ) ); } + FmLogger::log( "FmFileBrowseWidget::refreshModel end" ); } bool FmFileBrowseWidget::checkPathAndSetStyle( const QString& path ) @@ -487,9 +513,9 @@ FmDriverInfo::DriveState state = FmUtils::queryDriverInfo( driveName ).driveState(); if( state & FmDriverInfo::EDriveLocked ) { - mEmptyTipLabel->setPlainText( hbTrId( "Memory Card is locked" ) ); + mEmptyTipLabel->setPlainText( hbTrId( "Drive is locked" ) ); } else if( state & FmDriverInfo::EDriveNotPresent ) { - mEmptyTipLabel->setPlainText( hbTrId( "Memory Card is not present" ) ); + mEmptyTipLabel->setPlainText( hbTrId( "Drive is not present" ) ); } else if( state & FmDriverInfo::EDriveCorrupted ) { mEmptyTipLabel->setPlainText( hbTrId( "Drive is Corrupted" ) ); } else { @@ -585,7 +611,7 @@ { QStringList fileList; fileList.push_back( mModel->filePath( mCurrentItem->modelIndex() ) ); - if ( HbMessageBox::question( hbTrId("Confirm Deletion?" ) )) { + if ( FmDlgUtils::question( hbTrId("Confirm Deletion?" ) )) { int ret = mOperationService->asyncRemove( fileList ); switch( ret ) { case FmErrNone: diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/fmfilebrowsewidget.h --- a/filemanager/src/filemanager/src/fmfilebrowsewidget.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/fmfilebrowsewidget.h Fri May 14 15:42:43 2010 +0300 @@ -87,12 +87,15 @@ void startSearch( const QString &targetPath, const QString &criteria ); void setEmptyMenu( bool isMenuEmpty ); void setTitle( const QString &title ); + void listActivated(); private slots: void on_list_activated( const QModelIndex &index ); + void on_listActivated(); void on_tree_activated( const QModelIndex &index ); void on_list_longPressed( HbAbstractViewItem *item, const QPointF &coords ); - void on_tree_longPressed( HbAbstractViewItem *item, const QPointF &coords ); + void on_list_pressed( const QModelIndex & index ) ; + void on_tree_longPressed( HbAbstractViewItem *item, const QPointF &coords ); void on_viewAction_triggered(); void on_copyAction_triggered(); @@ -122,7 +125,7 @@ //currentStyle Style mStyle; - //used to store orignal tree/list style + //used to store original tree/list style Style mFileBrowseStyle; HbAbstractViewItem* mCurrentItem; @@ -133,6 +136,10 @@ HbLabel *mEmptyTipLabel; QString mCurrentDrive; + + //used to avoid activate when long press list. + bool mListLongPressed; + QModelIndex mActivatedModelIndex; }; #endif diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/fmfileview.cpp --- a/filemanager/src/filemanager/src/fmfileview.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/fmfileview.cpp Fri May 14 15:42:43 2010 +0300 @@ -278,7 +278,7 @@ if (files.size() == 0) { infoNoFileSelected(); } else { - if (HbMessageBox::question( tr("Confirm Deletion?" ) )) { + if (FmDlgUtils::question( tr("Confirm Deletion?" ) )) { QStringList fileList; for (int i = 0; i < files.size(); ++i) { fileList.push_back( files[i].absoluteFilePath() ); @@ -381,14 +381,26 @@ void FmFileView::on_newFolder_triggered() { - QString dirName; + int maxFileNameLength = FmUtils::getMaxFileNameLength(); + QString associatedDrive = FmUtils::getDriveLetterFromPath( mWidget->currentPath().absoluteFilePath() ); + + QString dirName( hbTrId( "New folder" ) ); QString path = FmUtils::fillPathWithSplash( mWidget->currentPath().absoluteFilePath() ); QDir dir( path ); if( dir.exists() ) { - while( FmDlgUtils::showTextQuery( hbTrId( "Enter name for " ), dirName, true ) ){ + while( FmDlgUtils::showTextQuery( hbTrId( "Enter name for " ), dirName, + true, maxFileNameLength, associatedDrive , false ) ){ QString newTargetPath = FmUtils::fillPathWithSplash( dir.absolutePath() ) + dirName; QFileInfo newFileInfo( newTargetPath ); + if( !FmUtils::checkFolderFileName( dirName ) ) { + HbMessageBox::information( hbTrId( "Invalid file or folder name!" ) ); + continue; + } + if( !FmUtils::checkMaxPathLength( newTargetPath ) ) { + HbMessageBox::information( hbTrId( "the path you specified is too long!" ) ); + continue; + } if( newFileInfo.exists() ) { HbMessageBox::information( hbTrId( "%1 already exist!" ).arg( dirName ) ); continue; @@ -403,6 +415,7 @@ } } + void FmFileView::on_upAction_triggered() { mWidget->cdUp(); diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/fmfindview.cpp --- a/filemanager/src/filemanager/src/fmfindview.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/fmfindview.cpp Fri May 14 15:42:43 2010 +0300 @@ -52,7 +52,7 @@ { setTitle( keyword ); mFindWidget->find( keyword, path ); - mWaitNote->exec(); + mWaitNote->open(); } void FmFindView::stopFind() diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/fmmainwindow.cpp --- a/filemanager/src/filemanager/src/fmmainwindow.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/fmmainwindow.cpp Fri May 14 15:42:43 2010 +0300 @@ -20,10 +20,9 @@ #include -FmMainWindow::FmMainWindow() +FmMainWindow::FmMainWindow() : mViewManager( 0 ), mFirstViewLoaded( false ) { - init(); - QMetaObject::connectSlotsByName( this ); + connect(this, SIGNAL(viewReady()), this, SLOT(delayedLoading())); } FmMainWindow::~FmMainWindow() @@ -45,13 +44,13 @@ void FmMainWindow::init() { + FmLogger::log("FmMainWindow::init start"); mViewManager = FmViewManager::CreateViewManager( this ); - mViewManager->createDriverView(); - connect( this, SIGNAL( orientationChanged( Qt::Orientation ) ), this, SLOT( onOrientationChanged( Qt::Orientation ) ) ); + FmLogger::log("FmMainWindow::init end"); // if ( orientation() == Qt::Vertical ) { // createDriverView(); // } else { @@ -59,3 +58,14 @@ // } } +void FmMainWindow::delayedLoading() +{ + FmLogger::log("FmMainWindow::delayedLoading start"); + if( mFirstViewLoaded ) { + return; + } + init(); + mFirstViewLoaded = true; + FmLogger::log("FmMainWindow::delayedLoading end"); +} + diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/fmmainwindow.h --- a/filemanager/src/filemanager/src/fmmainwindow.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/fmmainwindow.h Fri May 14 15:42:43 2010 +0300 @@ -35,11 +35,12 @@ private slots: void onOrientationChanged( Qt::Orientation orientation ); - + void delayedLoading(); private: void init(); FmViewManager *mViewManager; + bool mFirstViewLoaded; }; #endif diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/fmsplitview.cpp --- a/filemanager/src/filemanager/src/fmsplitview.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/fmsplitview.cpp Fri May 14 15:42:43 2010 +0300 @@ -50,7 +50,7 @@ void FmSplitView::on_normalViewAction_triggered() { - mainWindow()->setCurrentView( mainWindow()->viewAt(0) ); + mainWindow()->setCurrentView( mainWindow()->views().first() ); } void FmSplitView::initMenu() diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/fmviewmanager.cpp --- a/filemanager/src/filemanager/src/fmviewmanager.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/fmviewmanager.cpp Fri May 14 15:42:43 2010 +0300 @@ -28,17 +28,18 @@ #include "fmoperationservice.h" #include "fmoperationbase.h" #include "fmdrivewatcher.h" +#include "fmdialog.h" #include #include #include #include -#include + FmViewManager *FmViewManager::mViewManager = 0; -FmDlgCloseUnit::FmDlgCloseUnit( HbDialog *dialog ) : mDialog( dialog ) +FmDlgCloseUnit::FmDlgCloseUnit( FmDialog *dialog ) : mDialog( dialog ) { } FmDlgCloseUnit::~FmDlgCloseUnit() @@ -64,7 +65,7 @@ return mAssociatedDrives; } -HbDialog *FmDlgCloseUnit::dialog() +FmDialog *FmDlgCloseUnit::dialog() { return mDialog; } @@ -150,10 +151,19 @@ emit refreshModel( path ); } +void FmViewManager::on_operationService_notifyFinish( FmOperationBase *operationBase ) +{ + if( operationBase->operationType() == FmOperationService::EOperationTypeBackup ) + { + emit refreshBackupView(); + } + +} + int FmViewManager::viewCount() { - return mMainWindow->viewCount(); + return mMainWindow->views().count(); } @@ -175,8 +185,7 @@ QString absolutePath = fileInfo.absoluteFilePath(); QString checkedPath = FmUtils::checkDriveToFolderFilter( absolutePath ); - FmDriverInfo::DriveState driveState = FmUtils::queryDriverInfo( path ).driveState(); - if( driveState & FmDriverInfo::EDriveAvailable ) { + if( FmUtils::isDriveAvailable( path ) ) { if( !FmUtils::isPathAccessabel( checkedPath ) ) { checkedPath.clear(); } @@ -229,6 +238,7 @@ mMainWindow->addView( backupView ); mMainWindow->setCurrentView( backupView ); + connect( this, SIGNAL( refreshBackupView() ), backupView, SLOT( refreshBackupView() ) ); } diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/fmviewmanager.h --- a/filemanager/src/filemanager/src/fmviewmanager.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/fmviewmanager.h Fri May 14 15:42:43 2010 +0300 @@ -30,21 +30,21 @@ class FmOperationBase; class QFileSystemWatcher; class FmDriveWatcher; -class HbDialog; +class FmDialog; class FmDlgCloseUnit { public: - FmDlgCloseUnit( HbDialog *dialog ); + FmDlgCloseUnit( FmDialog *dialog ); ~FmDlgCloseUnit(); void addAssociatedDrives( QString drives ); void removeAssociatedDrives( QString drives ); QString associatedDrives(); - HbDialog *dialog(); + FmDialog *dialog(); private: - HbDialog *mDialog; + FmDialog *mDialog; QString mAssociatedDrives; }; @@ -96,8 +96,10 @@ void on_fsWatcher_fileChanged(const QString &path); void on_fsWatcher_directoryChanged(const QString &path); void on_driveWatcher_driveAddedOrChanged(); + void on_operationService_notifyFinish( FmOperationBase *operationBase ); signals: void refreshModel( const QString &path ); + void refreshBackupView(); private: /// create view will push current view to stack diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/listviewitems.cpp --- a/filemanager/src/filemanager/src/listviewitems.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/listviewitems.cpp Fri May 14 15:42:43 2010 +0300 @@ -34,10 +34,11 @@ mDiskNameLabel( 0 ), mSizeLabel( 0 ), mFreeLabel( 0 ), - mCheckBox( 0 ) + mCheckBox( 0 ), + hLayout( 0 ) { - init(); + //init(); } DiskListViewItem::~DiskListViewItem() @@ -58,11 +59,15 @@ HbAbstractViewItem *DiskListViewItem::createItem() { - return new DiskListViewItem( parentItem() ); + return new DiskListViewItem( *this ); } void DiskListViewItem::updateChildItems() { + //HbListViewItem::updateChildItems(); + if( !hLayout ) { + init(); + } QVariant variant = modelIndex().data( Qt::DecorationRole ); QIcon icon = qvariant_cast( variant ); if( icon.isNull() ) { @@ -92,9 +97,11 @@ void DiskListViewItem::init() { - QGraphicsLinearLayout *hLayout = new QGraphicsLinearLayout(); + hLayout = new QGraphicsLinearLayout(); + hLayout->setOrientation( Qt::Horizontal ); - + hLayout->addItem(layout()); + mIconLabel = new HbLabel(); mIconLabel->setMinimumWidth(32); hLayout->addItem( mIconLabel ); diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/listviewitems.h --- a/filemanager/src/filemanager/src/listviewitems.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/listviewitems.h Fri May 14 15:42:43 2010 +0300 @@ -26,6 +26,7 @@ class HbCheckBox; class HbLabel; +class QGraphicsLinearLayout; class DiskListViewItem : public HbListViewItem { @@ -38,7 +39,6 @@ virtual bool canSetModelIndex( const QModelIndex &index ) const; virtual HbAbstractViewItem *createItem(); virtual void updateChildItems(); - private slots: void setCheckedState( int state ); @@ -53,6 +53,7 @@ HbLabel *mSizeLabel; HbLabel *mFreeLabel; HbCheckBox *mCheckBox; + QGraphicsLinearLayout *hLayout; }; /* not used diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/main.cpp --- a/filemanager/src/filemanager/src/main.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/main.cpp Fri May 14 15:42:43 2010 +0300 @@ -29,18 +29,21 @@ int main( int argc, char *argv[] ) { + FmLogger::log( "main start" ); HbApplication app( argc, argv ); app.setApplicationName( "filemanager" ); QTranslator translator; QString lang = QLocale::system().name(); QString path = "z:/resource/qt/translations/"; - translator.load( path + "filemanager_" + lang ); + translator.load( path + "filemanager_" + lang ); app.installTranslator(&translator); + FmLogger::log( "main_createMainwindow start" ); FmMainWindow mw; + FmLogger::log( "main_createMainwindow end" ); mw.show(); - + FmLogger::log( "main end" ); return app.exec(); } diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/filemanager/src/operationservice/fmoperationresultprocesser.cpp --- a/filemanager/src/filemanager/src/operationservice/fmoperationresultprocesser.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/filemanager/src/operationservice/fmoperationresultprocesser.cpp Fri May 14 15:42:43 2010 +0300 @@ -55,7 +55,7 @@ QString questionText = QString( "file " ) + srcFile + QString( " already exist, replace it?" ); - if( HbMessageBox::question( questionText ) ) { + if( FmDlgUtils::question( questionText ) ) { *isAccepted = true; } else { *isAccepted = false; @@ -183,8 +183,13 @@ FmOperationFormat *paramFormat = static_cast( operationBase ); QString title( tr( "Drive name ") ); QString driveName( paramFormat->driverName() ); - QString volumeName; - while( FmDlgUtils::showTextQuery( title, volumeName, false, FmMaxLengthofDriveName ) ){ + FmDriverInfo driverInfo = FmUtils::queryDriverInfo( driveName ); + FmDriverInfo::DriveState state = driverInfo.driveState(); + if( ( state & FmDriverInfo::EDriveAvailable ) && + ( state & FmDriverInfo::EDriveRemovable ) && + !( state & FmDriverInfo::EDriveMassStorage ) ) { + QString volumeName; + while( FmDlgUtils::showTextQuery( title, volumeName, false, FmMaxLengthofDriveName ) ){ int err = FmUtils::renameDrive( driveName, volumeName ); if ( err == FmErrNone ){ HbMessageBox::information( hbTrId( "The name has been changed!" ) ); @@ -197,6 +202,7 @@ break; } } + } break; } case FmOperationService::EOperationTypeBackup: @@ -223,6 +229,18 @@ case FmErrAlreadyStarted: HbMessageBox::information( QString( hbTrId("Operation already started!")) ); return; + case FmErrLocked: + HbMessageBox::information( QString( hbTrId("Operation failed because drive is locked!")) ); + return; + case FmErrPathNotFound: + HbMessageBox::information( QString( hbTrId("Operation failed because can not find target path or drive is not available!") ) ); + return; + case FmErrCorrupt: + HbMessageBox::information( QString( hbTrId("Operation failed because target media is corrupted!") ) ); + return; + case FmErrNotReady: + HbMessageBox::information( QString( hbTrId("Operation failed because device is not ready!") ) ); + return; case FmErrDiskFull: HbMessageBox::information( QString( hbTrId("Not enough space. Operation cancelled.!")) ); return; @@ -308,7 +326,7 @@ mNote->primaryAction()->setDisabled( true ); else mNote->primaryAction()->setDisabled( false ); - mNote->exec(); + mNote->open(); } @@ -339,7 +357,7 @@ else{ mNote->primaryAction()->setDisabled( false ); } - mNote->exec(); + mNote->open(); } void FmOperationResultProcesser::showProgress( QString title, bool cancelable, int maxValue ) @@ -373,7 +391,7 @@ mNote->primaryAction()->setDisabled( false ); } - mNote->exec(); + mNote->open(); } void FmOperationResultProcesser::setProgress( int value ) diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/fmbkupenginewrapper/inc/fmbackupsettings.h --- a/filemanager/src/fmbkupenginewrapper/inc/fmbackupsettings.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/fmbkupenginewrapper/inc/fmbackupsettings.h Fri May 14 15:42:43 2010 +0300 @@ -69,7 +69,8 @@ EScheduling, EWeekday, ETime, - ETarget + ETarget, + EBackupdate }; public: @@ -241,6 +242,14 @@ QString targetDrive() const; /** + * Gets available backup target drive + * if targetDrive exist, return targetDrive + * otherwise return other first available backup drive + * @return Available backup target drive, empty QString for null + */ + QString availableTargetDrive() const; + + /** * Loads saved backup settings */ void load(); @@ -284,6 +293,10 @@ */ QString targetDriveToString( const QString& targetDrive ); + /** + * Updates the backup date + */ + void updateBackupDate(); private: /** * Gets the count of contents selected @@ -318,6 +331,11 @@ */ FmBackupEntry* createTargetDriveEntry(); + /** + * Creates backup date entry + */ + FmBackupEntry* createBackupDateEntry(); + void refreshList(); void resetAndDestoryBackupEntry(); private: @@ -348,10 +366,16 @@ QString mTargetDrive; /** + * Backup date + */ + QDate mDate; + + /** * Backup setting list items */ QList< FmBackupEntry* > mBackupEntryList; + FmBkupEngine *mBkupEngine; }; diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/fmbkupenginewrapper/inc/fmbkupengine.h --- a/filemanager/src/fmbkupenginewrapper/inc/fmbkupengine.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/fmbkupenginewrapper/inc/fmbkupengine.h Fri May 14 15:42:43 2010 +0300 @@ -84,7 +84,7 @@ void GetRestoreInfoArray( QList &drivesAndOperationList, QList< FmRestoreInfo > &restoreInfoList, - const int aDrive = FmErrNotFound ); + const QString& aDrive ); void getBackupDriveList( QStringList &driveList ); diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/fmbkupenginewrapper/private/symbian/fmbkupengine_p.cpp --- a/filemanager/src/fmbkupenginewrapper/private/symbian/fmbkupengine_p.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/fmbkupenginewrapper/private/symbian/fmbkupengine_p.cpp Fri May 14 15:42:43 2010 +0300 @@ -98,8 +98,18 @@ QList backupCategoryList, QString drive, quint32 content) { + FmLogger::log( "FmBkupEnginePrivate::startBackup_with drive: " + drive + + "_number:" + QString::number(DriverNameToNumber( drive ))); if( drive.isEmpty() ) { iError = KErrPathNotFound; + FmLogger::log( "FmBkupEnginePrivate::startBackup_with return with KErrPathNotFound because drive is empty" ); + return false; + } + QStringList backupableDriveList; + getBackupDriveList( backupableDriveList ); + if( !backupableDriveList.contains( drive, Qt::CaseInsensitive ) ) { + iError = KErrPathNotFound; + FmLogger::log( "FmBkupEnginePrivate::startBackup_with return with KErrPathNotFound because drive is not available" ); return false; } QString logString; @@ -183,10 +193,9 @@ FmLogger::log( logString ); QList< FmRestoreInfo > restoreInfoList; - TInt driveNumber = DriverNameToNumber( drive ); - GetRestoreInfoArray( drivesAndOperationList, restoreInfoList, driveNumber ); + GetRestoreInfoArray( drivesAndOperationList, restoreInfoList, drive ); - for ( TInt i( 0 ); i < restoreInfoList.count(); i++ ) + for ( TInt i( 0 ); i < restoreInfoList.count(); ++i ) { bool toContinue = false; FmRestoreInfo &info = restoreInfoList[ i ]; @@ -405,6 +414,7 @@ int FmBkupEnginePrivate::error() { + FmLogger::log( "FmBkupEnginePrivate::error:" + QString::number( iError ) ); switch (iError) { case KErrNone: @@ -419,6 +429,12 @@ return FmErrCancel; case KErrPathNotFound: return FmErrPathNotFound; + case KErrLocked: + return FmErrLocked; + case KErrCorrupt: + return FmErrCorrupt; + case KErrNotReady: + return FmErrNotReady; default: return FmErrUnKnown; } @@ -650,8 +666,9 @@ void FmBkupEnginePrivate::GetRestoreInfoArray( QList drivesAndOperationList, QList< FmRestoreInfo > &restoreInfoList, - const TInt aDrive ) + const QString& aDrive ) { + int targetDrive = DriverNameToNumber( aDrive ); FmBackupSettings& settings( *( q->BackupSettingsL() ) ); restoreInfoList.clear(); @@ -684,7 +701,7 @@ archives, params, AllowedDriveAttMatchMask(), - aDrive ); + targetDrive ); // Fill restore info TInt count( archives.Count() ); @@ -750,6 +767,9 @@ TInt FmBkupEnginePrivate::DriverNameToNumber( QString driverName ) { + if( driverName.isEmpty() ) { + return KErrNotFound; + } TInt drive = 0; drive = driverName[0].toUpper().toAscii() - 'A' + EDriveA; return drive; @@ -784,7 +804,6 @@ } } } - fs.Close(); } diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/fmbkupenginewrapper/private/symbian/fmbkupengine_p.h --- a/filemanager/src/fmbkupenginewrapper/private/symbian/fmbkupengine_p.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/fmbkupenginewrapper/private/symbian/fmbkupengine_p.h Fri May 14 15:42:43 2010 +0300 @@ -77,7 +77,7 @@ bool StartRestoreL( QList drivesAndOperationList ); void GetRestoreInfoArray( QList drivesAndOperationList, QList< FmRestoreInfo > &restoreInfoList, - const TInt aDrive = KErrNotFound ); + const QString& aDrive ); void getBackupDriveList( QStringList &driveList ); diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/fmbkupenginewrapper/private/win32/fmbkupengine_p.cpp --- a/filemanager/src/fmbkupenginewrapper/private/win32/fmbkupengine_p.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/fmbkupenginewrapper/private/win32/fmbkupengine_p.cpp Fri May 14 15:42:43 2010 +0300 @@ -425,3 +425,9 @@ return driverName; } +void FmBkupEnginePrivate::getBackupDriveList( QStringList &driveList ) + { + driveList.append("E:/"); + driveList.append("F:/"); + } + diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/fmbkupenginewrapper/private/win32/fmbkupengine_p.h --- a/filemanager/src/fmbkupenginewrapper/private/win32/fmbkupengine_p.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/fmbkupenginewrapper/private/win32/fmbkupengine_p.h Fri May 14 15:42:43 2010 +0300 @@ -57,11 +57,12 @@ void GetRestoreInfoArray( QList drivesAndOperationList, QList< FmRestoreInfo > &restoreInfoList, const int aDrive = 0 ); + void getBackupDriveList( QStringList &driveList ); private: int DriverNameToNumber( QString driverName ); QString NumberToDriverName( int driver ); - TBool HasMultipleBackupTargets(); +// TBool HasMultipleBackupTargets(); signals: void notifyPreparing( bool cancelable ); diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/fmbkupenginewrapper/src/fmbackupsettings.cpp --- a/filemanager/src/fmbkupenginewrapper/src/fmbackupsettings.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/fmbkupenginewrapper/src/fmbackupsettings.cpp Fri May 14 15:42:43 2010 +0300 @@ -90,6 +90,21 @@ return mTargetDrive; } +QString FmBackupSettings::availableTargetDrive() const +{ + QString targetDrive; + QStringList driveList; + mBkupEngine->getBackupDriveList( driveList ); + if( !driveList.isEmpty() ) { + if( driveList.contains( mTargetDrive ) ) { + targetDrive = mTargetDrive; + } else { + targetDrive = driveList.first(); + } + } + return targetDrive; +} + int FmBackupSettings::contentsSelected() const { int ret( 0 ); @@ -175,6 +190,19 @@ return CreateEntry( title, tips, FmBackupEntry::ETarget ); } +FmBackupEntry* FmBackupSettings::createBackupDateEntry() +{ + QString tips; + if( mDate.isNull() ) + { + tips = "No previous backups created" ; + } + else + { + tips = QString( "Backup Created " + mDate.toString( "dd.MM.yyyy" ) ); + } + return CreateEntry( QString(""), tips, FmBackupEntry::EBackupdate); +} QString FmBackupSettings::contentToString( const quint32 content ) { QString ret( constFileManagerBackupSettingsContentAll ); @@ -294,6 +322,9 @@ entry = createTargetDriveEntry(); mBackupEntryList.push_back( entry ); } + + entry = createBackupDateEntry(); + mBackupEntryList.push_back( entry ); } void FmBackupSettings::resetAndDestoryBackupEntry() @@ -316,7 +347,7 @@ mBkupEngine->getBackupDriveList( driveList ); QString defaultDrive( driveList.first() ); - + QDate date; QSettings settings("Nokia", "FileManager"); settings.beginGroup("BackupConfigure"); @@ -326,7 +357,7 @@ mWeekday = (TFileManagerBackupWeekday)(settings.value("weekday", EFileManagerBackupWeekdayMonday ).toInt()); // monday for default value mTime = (settings.value("time", QTime::currentTime() ).toTime()); // empty for default mTargetDrive = (settings.value("targetDrive", defaultDrive ) ).toString(); // C for default - + mDate = (settings.value("backupDate", date)).toDate(); settings.endGroup(); refreshList(); } @@ -343,8 +374,14 @@ settings.setValue( "weekday", mWeekday ); settings.setValue( "time", mTime.toString() ); settings.setValue( "targetDrive", mTargetDrive ); - + settings.setValue( "backupDate", mDate.toString( Qt::ISODate ) ); settings.endGroup(); refreshList(); } + +void FmBackupSettings::updateBackupDate() +{ + mDate.setDate( QDate::currentDate().year(), QDate::currentDate().month(), QDate::currentDate().day() ); + save(); +} diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/fmbkupenginewrapper/src/fmbkupengine.cpp --- a/filemanager/src/fmbkupenginewrapper/src/fmbkupengine.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/fmbkupenginewrapper/src/fmbkupengine.cpp Fri May 14 15:42:43 2010 +0300 @@ -88,7 +88,7 @@ void FmBkupEngine::GetRestoreInfoArray( QList &drivesAndOperationList, QList< FmRestoreInfo > &restoreInfoList, - const int aDrive ) + const QString& aDrive ) { d->GetRestoreInfoArray( drivesAndOperationList, restoreInfoList, aDrive ); } diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/fmbkupenginewrapper/src/fmrestoresettings.cpp --- a/filemanager/src/fmbkupenginewrapper/src/fmrestoresettings.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/fmbkupenginewrapper/src/fmrestoresettings.cpp Fri May 14 15:42:43 2010 +0300 @@ -60,7 +60,8 @@ QList< FmRestoreInfo > restoreInfoList; - mEngine.GetRestoreInfoArray( drivesAndOperationList, restoreInfoList ); + QString targetDrive = mEngine.BackupSettingsL()->availableTargetDrive(); + mEngine.GetRestoreInfoArray( drivesAndOperationList, restoreInfoList, targetDrive ); // fetch info list from engine, and then init the entry list for display diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/fmfiledialog/fmfiledialog.pro --- a/filemanager/src/fmfiledialog/fmfiledialog.pro Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/fmfiledialog/fmfiledialog.pro Fri May 14 15:42:43 2010 +0300 @@ -31,13 +31,13 @@ -lcone \ -ldirectorylocalizer - TARGET.UID3 = 0x2002BCC2 + TARGET.UID3 = 0x2002BCC3 # export headers to app -# EXPORT_PLATFORM_HEADERS += \ -# ../../filemanager_plat/inc/fmglobal.h \ -# ../../filemanager_plat/inc/fmfiledialog.h -# -# headers.sources = $$EXPORT_PLATFORM_HEADERS -# for(header, headers.sources):BLD_INF_RULES.prj_exports += "./$$header $$APP_LAYER_PLATFORM_EXPORT_PATH($$basename(header))" + EXPORT_PLATFORM_HEADERS += \ + ../../filemanager_plat/inc/fmglobal.h \ + ../../filemanager_plat/inc/fmfiledialog.h + + headers.sources = $$EXPORT_PLATFORM_HEADERS + for(header, headers.sources):BLD_INF_RULES.prj_exports += "./$$header $$APP_LAYER_PLATFORM_EXPORT_PATH($$basename(header))" } diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/fmfiledialog/src/fmfiledialog.cpp --- a/filemanager/src/fmfiledialog/src/fmfiledialog.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/fmfiledialog/src/fmfiledialog.cpp Fri May 14 15:42:43 2010 +0300 @@ -32,6 +32,7 @@ #include "hblineedit.h" #include +#include FmFileDialog::FmFileDialog( QGraphicsItem *parent ) : HbDialog( parent ), d_ptr( new FmFileDialogPrivate( this ) ) @@ -136,13 +137,18 @@ bool FmFileDialog::exec() { - if ( d_ptr->isOkAction( HbDialog::exec() ) ) { + HbDialog::open( this, SLOT(dialogClosed(HbAction*)) ); + d_ptr->eventLoop().exec(); + + if ( d_ptr->isOkAction( d_ptr->retAction() ) ) { return true; } else { return false ; } } - - - +void FmFileDialog::dialogClosed(HbAction *action) +{ + d_ptr->setRetAction( action ); + d_ptr->eventLoop().exit(); +} diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/fmfiledialog/src/fmfiledialog_p.cpp --- a/filemanager/src/fmfiledialog/src/fmfiledialog_p.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/fmfiledialog/src/fmfiledialog_p.cpp Fri May 14 15:42:43 2010 +0300 @@ -357,4 +357,19 @@ return false; } +void FmFileDialogPrivate::setRetAction( HbAction *action ) +{ + mRetAction = action; +} + +HbAction *FmFileDialogPrivate::retAction() +{ + return mRetAction; +} + +QEventLoop &FmFileDialogPrivate::eventLoop() +{ + return mEventLoop; +} + #include "moc_fmfiledialog.cpp" diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/fmfiledialog/src/fmfiledialog_p.h --- a/filemanager/src/fmfiledialog/src/fmfiledialog_p.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/fmfiledialog/src/fmfiledialog_p.h Fri May 14 15:42:43 2010 +0300 @@ -20,8 +20,10 @@ #ifndef FMFILEDIALOG_P_H #define FMFILEDIALOG_P_H +#include "fmfiledialog.h" + #include -#include "fmfiledialog.h" +#include class HbPushButton; class FmFileWidget; @@ -64,7 +66,11 @@ QString currentPath() const; QString selectedFile() const; bool isOkAction( HbAction *action ); - + + void setRetAction( HbAction *action ); + HbAction *retAction(); + QEventLoop &eventLoop(); + protected: void createAndSetActions(const QString & primaryActionText,const QString & secondaryActionText); void createContentWidget(); @@ -81,7 +87,7 @@ void setTitle( const QString &str ); void setRootPath( const QString &pathName ); - + public: void _q_handleUpButton(); void _q_handleTextChanged(const QString &text); @@ -111,6 +117,9 @@ QString mCaptionHead; FmFileDialogArgs mArgs; + + HbAction *mRetAction; + QEventLoop mEventLoop; }; #endif // FMFILEDIALOG_P_H diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/fmfiledialog/src/fmfilewidget.cpp --- a/filemanager/src/fmfiledialog/src/fmfilewidget.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/fmfiledialog/src/fmfilewidget.cpp Fri May 14 15:42:43 2010 +0300 @@ -20,6 +20,7 @@ #include "fmutils.h" #include "fmdrivemodel.h" #include "fmdrivewatcher.h" +#include "fmcommon.h" #include "hbstyle.h" #include "hbabstractitemview.h" @@ -65,42 +66,64 @@ void FmFileWidget::setRootPath( const QString &pathName ) { + FmLogger::log( "FmFileWidget::setRootPath start" ); if( pathName.isEmpty() || !FmUtils::isPathAccessabel( pathName ) ) { + FmLogger::log( "FmFileWidget::setRootPath set drive model" ); setModel( mDriveModel ); + FmLogger::log( "FmFileWidget::setRootPath set drive model end" ); emit pathChanged( QString() ); } else { + FmLogger::log( "FmFileWidget::setRootPath set dir model end" ); setModel( mDirModel ); + FmLogger::log( "FmFileWidget::setRootPath set dir model end" ); mListView->setRootIndex( mDirModel->index( pathName ) ); + FmLogger::log( "FmFileWidget::setRootPath set rootIndex" ); emit pathChanged( pathName ); } + FmLogger::log( "FmFileWidget::setRootPath end" ); } - - void FmFileWidget::on_list_activated( const QModelIndex &index ) + { + mActivatedModelIndex = index; + emit listActivated(); + } + +void FmFileWidget::on_listActivated() { + FmLogger::log("FmFileWidget::on_list_activated start" ); if( mCurrentModel == mDriveModel ) { - QString driveName = mDriveModel->driveName( index ); + QString driveName = mDriveModel->driveName( mActivatedModelIndex ); QString checkedPath = FmUtils::checkDriveToFolderFilter( driveName ); if( checkedPath.isEmpty() ) { + FmLogger::log("FmFileWidget::on_list_activated end becaise checkedpath empty" ); return; } + FmLogger::log("FmFileWidget::on_list_activated setModel dir start" ); setModel( mDirModel ); + FmLogger::log("FmFileWidget::on_list_activated setModel dir end" ); mListView->setRootIndex( mDirModel->index( checkedPath ) ); + FmLogger::log("FmFileWidget::on_list_activated setRootIndex" ); emit pathChanged( checkedPath ); + FmLogger::log("FmFileWidget::on_list_activated finish emit pathChanged" ); } else if( mCurrentModel == mDirModel ) { - if ( mDirModel->isDir(index) ) { - changeRootIndex( index ); + if ( mDirModel->isDir( mActivatedModelIndex ) ) { + FmLogger::log("FmFileWidget::on_list_activated start changeRootIndex" ); + changeRootIndex( mActivatedModelIndex ); + FmLogger::log("FmFileWidget::on_list_activated finish changeRootIndex" ); + FmLogger::log("FmFileWidget::on_list_activated finish emit fileActivated" ); } else { - QFileInfo fileInfo( mDirModel->filePath( index ) ); + QFileInfo fileInfo( mDirModel->filePath( mActivatedModelIndex ) ); if( fileInfo.isFile() ) { emit fileActivated( fileInfo.fileName() ); + FmLogger::log("FmFileWidget::on_list_activated finish emit fileActivated" ); } } } else { Q_ASSERT( false ); } + FmLogger::log("FmFileWidget::on_list_activated end" ); } void FmFileWidget::setModelFilter( QDir::Filters filters ) @@ -115,7 +138,9 @@ void FmFileWidget::changeRootIndex( const QModelIndex &index ) { + FmLogger::log("FmFileWidget::changeRootIndex start" ); if( mCurrentModel != mDirModel ) { + FmLogger::log("FmFileWidget::changeRootIndex end because model not equal dirmodel" ); return; } @@ -124,6 +149,7 @@ QFileInfo fileInfo = mDirModel->fileInfo( mListView->rootIndex() ); QString string = fileInfo.absoluteFilePath(); emit pathChanged( string ); + FmLogger::log("FmFileWidget::changeRootIndex end" ); } void FmFileWidget::init() @@ -154,7 +180,9 @@ // QMetaObject::connectSlotsByName( this ); connect( mListView, SIGNAL( activated( QModelIndex ) ), this, SLOT( on_list_activated( QModelIndex ) ) ); - + connect( this, SIGNAL( listActivated() ), + this, SLOT( on_listActivated() ), Qt::QueuedConnection ); + connect( mDriveWatcher, SIGNAL( driveAddedOrChanged() ), this, SLOT( on_driveWatcher_driveAddedOrChanged() ) ); diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/fmfiledialog/src/fmfilewidget.h --- a/filemanager/src/fmfiledialog/src/fmfilewidget.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/fmfiledialog/src/fmfilewidget.h Fri May 14 15:42:43 2010 +0300 @@ -53,9 +53,11 @@ signals: void pathChanged( const QString &path ); void fileActivated( const QString &path ); + void listActivated(); private slots: void on_list_activated( const QModelIndex &index ); + void on_listActivated(); void on_driveWatcher_driveAddedOrChanged(); private: @@ -71,6 +73,8 @@ QAbstractItemModel *mCurrentModel; FmDriveWatcher *mDriveWatcher; + + QModelIndex mActivatedModelIndex; }; diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/inc/commonutils.pri --- a/filemanager/src/inc/commonutils.pri Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/inc/commonutils.pri Fri May 14 15:42:43 2010 +0300 @@ -34,6 +34,9 @@ $$PWD/fmdrivewatcher/private/symbian/fmdriveevent.cpp } win32 { + INCLUDEPATH += $$PWD/fmdrivewatcher/ + INCLUDEPATH += $$PWD/fmdrivewatcher/private/win32/ + INTERNAL_HEADERS += $$PWD/fmdrivewatcher/private/win32/fmdrivewatcherprivate.h INTERNAL_SOURCES += $$PWD/fmutils_win.cpp \ diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/inc/fmdefine.h --- a/filemanager/src/inc/fmdefine.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/inc/fmdefine.h Fri May 14 15:42:43 2010 +0300 @@ -47,6 +47,8 @@ #define FmErrBadName -26 #define FmErrPathNotFound -27 #define FmErrRemoveDefaultFolder -28 +#define FmErrLocked -29 +#define FmErrCorrupt -30 #define FmEstimateUpperLimit 90 // available mem/backup size*100%=90%, User selectable continuation #define FmEstimateLowerLimit 10 // available mem/backup size*100%=10%, Backup will be interrupted @@ -59,5 +61,6 @@ #define Folder_C_Data "C:/Data" #define FmMaxLengthofDriveName 11 +#define FmMaxLengthofDrivePassword 8 #endif diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/inc/fmfileiconprovider.cpp --- a/filemanager/src/inc/fmfileiconprovider.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/inc/fmfileiconprovider.cpp Fri May 14 15:42:43 2010 +0300 @@ -47,8 +47,10 @@ if( driveState & FmDriverInfo::EDriveMassStorage ) { // Mass Storage return QIcon( massMemoryIcon ); - } - else{ + } else if( driveState & FmDriverInfo::EDriveUsbMemory ) { + // Usb Memory + return QIcon( usbMemoryIcon ); + } else{ //Memory Card return QIcon( mmcIcon ); } diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/inc/fmlogger.h --- a/filemanager/src/inc/fmlogger.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/inc/fmlogger.h Fri May 14 15:42:43 2010 +0300 @@ -24,7 +24,7 @@ #include #include #include - +#include class FmLogger { public: @@ -32,14 +32,14 @@ static bool log( const QString &log ) { #ifdef _DEBUG_LOG_ENABLE_ + QString logStr( QDateTime::currentDateTime().toString("hh:mm:ss:zzz") + " " + log + "\r\n" ); QFile file( FMLOG_PATH ); if ( !file.open( QIODevice::WriteOnly | QIODevice::Append ) ) { return false; } QTextStream out( &file ); - out << log; - out << "\r\n"; + out << logStr; #else Q_UNUSED( log ); #endif diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/inc/fmutils.h --- a/filemanager/src/inc/fmutils.h Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/inc/fmutils.h Fri May 14 15:42:43 2010 +0300 @@ -28,23 +28,24 @@ public: enum driveState { - EDriveNotPresent = 0x1, - EDriveLocked = 0x2, - EDriveCorrupted = 0x4, - EDriveWriteProtected = 0x8, - EDriveRemovable = 0x10, - EDriveRom = 0x20, - EDriveFormattable = 0x40, - EDriveFormatted = 0x80, - EDriveLockable = 0x100, - EDrivePasswordProtected = 0x200, - EDriveBackupped = 0x400, - EDriveConnected = 0x800, - EDriveEjectable = 0x1000, - EDriveInUse = 0x2000, - EDriveMassStorage = 0x4000, - EDriveRam = 0x8000, - EDriveAvailable = 0x10000 + EDriveNotPresent = 0x1, // true when Drive have not inserted, for example, MMC Card + EDriveAvailable = 0x2, // false when drive is locked or corrupted, for example MMC Card + EDriveLocked = 0x4, + EDriveCorrupted = 0x8, + EDriveWriteProtected = 0x10, + EDriveRemovable = 0x20, + EDriveRom = 0x40, + EDriveFormattable = 0x80, + EDriveFormatted = 0x100, + EDriveLockable = 0x200, + EDrivePasswordProtected = 0x400, + EDriveBackupped = 0x800, + EDriveConnected = 0x1000, + EDriveEjectable = 0x2000, + EDriveInUse = 0x4000, + EDriveMassStorage = 0x8000, + EDriveRam = 0x10000, + EDriveUsbMemory = 0x20000, }; Q_DECLARE_FLAGS( DriveState, driveState ) @@ -87,7 +88,6 @@ static QString getDriveLetterFromPath( const QString &path ); static FmDriverInfo queryDriverInfo( const QString &driverName ); static QString formatStorageSize( quint64 size ); - //static quint32 getDriverState( const QString &driverName ); static int removeDrivePwd( const QString &driverName, const QString &Pwd ); static int unlockDrive( const QString &driverName, const QString &Pwd ); static int checkDrivePwd( const QString &driverName, const QString &pwd); @@ -119,6 +119,10 @@ static QString getBurConfigPath( QString appPath ); static bool isDefaultFolder( const QString &folderPath ); static QString Localize( const QString &path ); + + static int getMaxFileNameLength(); + static bool checkMaxPathLength( const QString& path ); + static bool checkFolderFileName( const QString& name ); }; diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/inc/fmutils_s60.cpp --- a/filemanager/src/inc/fmutils_s60.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/inc/fmutils_s60.cpp Fri May 14 15:42:43 2010 +0300 @@ -40,7 +40,7 @@ #include #include -#include +#include #define BURCONFIGFILE "z:/private/2002BCC0/burconfig.xml" @@ -70,17 +70,29 @@ drive = driverName[0].toUpper().toAscii() - 'A' + EDriveA; quint32 state( 0 ); - int err = fs.Volume( volumeInfo, drive ); + int volumeInfoErr( KErrNone ); + int driveInfoErr( KErrNone ); + int errorCode( KErrNone ); + volumeInfoErr = fs.Volume( volumeInfo, drive ); + errorCode = volumeInfoErr; QString volumeName( (QChar*)( volumeInfo.iName.Des().Ptr() ), volumeInfo.iName.Length() ); - - if( err == KErrNone ) { - TDriveInfo driveInfo = volumeInfo.iDrive; + + TDriveInfo driveInfo; + if( volumeInfoErr == KErrNone ) { + driveInfo = volumeInfo.iDrive; + } else { + driveInfoErr = fs.Drive( driveInfo, drive ); + if( driveInfoErr != KErrNone ) { + errorCode = driveInfoErr; + } + } + + if( volumeName == KErrNone || driveInfoErr == KErrNone ) { + //TDriveInfo driveInfo = volumeInfo.iDrive; quint32 drvStatus( 0 ); - err = DriveInfo::GetDriveStatus( fs, drive, drvStatus ); + int err = DriveInfo::GetDriveStatus( fs, drive, drvStatus ); if( err == KErrNone ) { - QString logString = driverName +':'+ QString::number( drvStatus); - FmLogger::log(logString); if ( ( drvStatus & DriveInfo::EDriveInternal ) && ( drvStatus & DriveInfo::EDriveExternallyMountable ) ){ @@ -89,7 +101,11 @@ state |= FmDriverInfo::EDriveMassStorage | FmDriverInfo::EDriveRemovable; } - + if ( drvStatus & DriveInfo::EDriveUsbMemory ) + { + state |= FmDriverInfo::EDriveUsbMemory; + } + if ( drvStatus & DriveInfo::EDriveRom ){ state |= FmDriverInfo::EDriveRom; } @@ -123,12 +139,36 @@ state |= FmDriverInfo::EDriveNotPresent; } } + // If memory card is not ready but type is present, + // then check if it is reserved. + if( err == KErrNone && volumeInfoErr == KErrNotReady && + driveInfo.iType != EMediaNotPresent ) + { + // Check USB file transfer state + TInt prop( ECoreAppUIsUSBFileTransferUninitialized ); + RProperty::Get( + KPSUidCoreApplicationUIs, + KCoreAppUIsUSBFileTransfer, prop ); + if ( prop == ECoreAppUIsUSBFileTransferActive ) + { + errorCode = KErrInUse; // Reserved for file transfer + } + } + if( err!= KErrNone ) + { + errorCode = err; + } } - //handle error code - switch( err ) + + // handle error code + // volumeInfoErr will occur while drive is lock,corrupted... + // driveInfoErr can not be promoted for locked, corrupted drive. + // so we can not use driveInfoErr to justify EDriveAvailable + switch( errorCode ) { case KErrNone: - state |= FmDriverInfo::EDriveAvailable; + // this drive could be used as it is not be locked, or corrupt. + state |= FmDriverInfo::EDriveAvailable; break; case KErrLocked: state |= FmDriverInfo::EDriveLocked; @@ -136,10 +176,19 @@ case KErrCorrupt: state |= FmDriverInfo::EDriveCorrupted; break; + case KErrInUse: + state |= FmDriverInfo::EDriveInUse; + break; default: // other errors state |= FmDriverInfo::EDriveNotPresent; break; } + QString logString ( "FmUtils::queryDriverInfo_" + driverName + + "_volumeInfoErr:" + QString::number( volumeInfoErr ) + + "_driveInfoErr:" + QString::number( driveInfoErr ) + + "_errorCode:" + QString::number( errorCode ) + + "_driveSatus:" + QString::number( state ) ); + FmLogger::log( logString ); return FmDriverInfo( volumeInfo.iSize, volumeInfo.iFree, driverName, volumeName, state ); } @@ -155,81 +204,6 @@ return QString::number( size / ( 1024.0 * 1024.0 * 1024.0 ), 'f', 1 ) + " GB"; } } -/* -quint32 FmUtils::getDriverState( const QString &driverName ) -{ - CCoeEnv *env = CCoeEnv::Static(); - RFs& fs = env->FsSession(); - - TVolumeInfo volumeInfo; - TInt drive = 0; - drive = driverName[0].toUpper().toAscii() - 'A' + EDriveA; - - quint32 state( 0 ); - int err = fs.Volume( volumeInfo, drive ); - QString volumeName( (QChar*)( volumeInfo.iName.Des().Ptr() ), volumeInfo.iName.Length() ); - - //handle error code - if( err != KErrNone ) { - state |= FmDriverInfo::EDriveNotPresent; - } - if ( err == KErrLocked ) { - state |= FmDriverInfo::EDriveLocked; - } - - TDriveInfo driveInfo = volumeInfo.iDrive; - - quint32 drvStatus( 0 ); - DriveInfo::GetDriveStatus( fs, drive, drvStatus ); - - QString logString = driverName +':'+ QString::number( drvStatus); - FmLogger::log(logString); - - if ( ( drvStatus & DriveInfo::EDriveInternal ) && - ( drvStatus & DriveInfo::EDriveExternallyMountable ) ){ - // Handle mass storage bits here - - state |= FmDriverInfo::EDriveMassStorage | FmDriverInfo::EDriveRemovable; - } - - - if ( drvStatus & DriveInfo::EDriveRom ){ - state |= FmDriverInfo::EDriveRom; - } - - if ( drvStatus & DriveInfo::EDriveRam ){ - state |= FmDriverInfo::EDriveRam; - } - - if ( driveInfo.iMediaAtt & KMediaAttFormattable ){ - state |= FmDriverInfo::EDriveFormattable; - } - if ( driveInfo.iMediaAtt & KMediaAttWriteProtected ){ - state |= FmDriverInfo::EDriveWriteProtected; - } - if ( driveInfo.iMediaAtt & KMediaAttHasPassword ){ - state |= FmDriverInfo::EDrivePasswordProtected; - } - if ( driveInfo.iMediaAtt & KMediaAttLocked ){ - state |= FmDriverInfo::EDriveLocked; - } - - if ( driveInfo.iDriveAtt & KDriveAttRemovable ){ - state |= FmDriverInfo::EDriveRemovable; - - if ( drvStatus & DriveInfo::EDriveSwEjectable ){ - state |= FmDriverInfo::EDriveEjectable; - } - } - - if( driveInfo.iType == EMediaNotPresent ){ - state |= FmDriverInfo::EDriveNotPresent; - } - - return state; - -} -*/ int FmUtils::removeDrivePwd( const QString &driverName, const QString &Pwd ) { @@ -373,7 +347,7 @@ int FmUtils::renameDrive( const QString &driverName, const QString &newVolumeName) { - foreach( QChar ch, newVolumeName ) + foreach( const QChar &ch, newVolumeName ) { bool a = ch.isSpace(); bool b = ch.isLetterOrNumber(); @@ -742,12 +716,12 @@ if( driveState & FmDriverInfo::EDriveRemovable ) { if( driveState & FmDriverInfo::EDriveMassStorage ) { volumeName.append( QObject::tr( "Mass Storage" ) ); - } - else{ + } else if( driveState & FmDriverInfo::EDriveUsbMemory ) { + volumeName.append( QObject::tr( "Usb Memory" ) ); + } else{ volumeName.append( QObject::tr( "Memory Card" ) ); } - } - else{ + } else{ volumeName.append( QObject::tr( "Phone Memory" ) ); } } @@ -861,3 +835,37 @@ } return formatPath; } + +int FmUtils::getMaxFileNameLength() + { + return KMaxFileName; + } + +bool FmUtils::checkMaxPathLength( const QString& path ) + { + if( path.length() > KMaxPath ) { + return false; + } + return true; + } +bool FmUtils::checkFolderFileName( const QString& name ) +{ + if( name.endsWith( QChar('.'), Qt::CaseInsensitive ) ) { + return false; + } + if( name.contains( QChar('\\'), Qt::CaseInsensitive ) || + name.contains( QChar('/'), Qt::CaseInsensitive ) || + name.contains( QChar(':'), Qt::CaseInsensitive ) || + name.contains( QChar('*'), Qt::CaseInsensitive ) || + name.contains( QChar('?'), Qt::CaseInsensitive ) || + name.contains( QChar('\"'), Qt::CaseInsensitive ) || + name.contains( QChar('<'), Qt::CaseInsensitive ) || + name.contains( QChar('>'), Qt::CaseInsensitive ) || + name.contains( QChar('|'), Qt::CaseInsensitive ) ){ + return false; + } + if( name.length() > KMaxFileName ) { + return false; + } + return true; +} diff -r ada7962b4308 -r edd66bde63a4 filemanager/src/inc/fmutils_win.cpp --- a/filemanager/src/inc/fmutils_win.cpp Mon May 03 12:24:39 2010 +0300 +++ b/filemanager/src/inc/fmutils_win.cpp Fri May 14 15:42:43 2010 +0300 @@ -147,7 +147,7 @@ int FmUtils::renameDrive( const QString &driverName, const QString &newVolumeName) { Q_UNUSED( driverName ); - foreach( QChar ch, newVolumeName ) + foreach( const QChar &ch, newVolumeName ) { // If not alphadigit or space, return error if( !ch.isLetterOrNumber() && !ch.isSpace() ) diff -r ada7962b4308 -r edd66bde63a4 filemanager/tsrc/tsrc.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/tsrc/tsrc.pro Fri May 14 15:42:43 2010 +0300 @@ -0,0 +1,26 @@ +# +# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +TEMPLATE = subdirs +SUBDIRS = unit/unit_backuprestoresettings + +CONFIG += ordered +#CONFIG += symbian_test +test.depends = first +test.CONFIG += recursive +autotest.depends = first +autotest.CONFIG += recursive +QMAKE_EXTRA_TARGETS += test autotest diff -r ada7962b4308 -r edd66bde63a4 filemanager/tsrc/unit/unit_backuprestoresettings/runtest.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/tsrc/unit/unit_backuprestoresettings/runtest.bat Fri May 14 15:42:43 2010 +0300 @@ -0,0 +1,19 @@ +@rem +@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +@rem All rights reserved. +@rem This component and the accompanying materials are made available +@rem under the terms of "Eclipse Public License v1.0" +@rem which accompanies this distribution, and is available +@rem at the URL "http://www.eclipse.org/legal/epl-v10.html". +@rem +@rem Initial Contributors: +@rem Nokia Corporation - initial contribution. +@rem +@rem Contributors: +@rem +@rem Description: +@rem + +\epoc32\RELEASE\WINSCW\udeb\unit_backuprestoresettings.exe -xml -o c:\unit_backuprestoresettings.xml +copy \epoc32\winscw\c\unit_backuprestoresettings.xml +del \epoc32\winscw\c\unit_backuprestoresettings.xml \ No newline at end of file diff -r ada7962b4308 -r edd66bde63a4 filemanager/tsrc/unit/unit_backuprestoresettings/src/unit_backuprestoresettings.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/tsrc/unit/unit_backuprestoresettings/src/unit_backuprestoresettings.cpp Fri May 14 15:42:43 2010 +0300 @@ -0,0 +1,289 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: This class is test case for backupsettings and restoresettings +* +*/ + +#include + +#include "fmbackupsettings.h" +#include "fmrestoresettings.h" +#include "fmbkupengine.h" +#include + +class TestSettings: public QObject +{ + Q_OBJECT + +private slots: + void testTestSettingsContentAll(); + void testTestSettingsContentOne(); + void testTestSettingsContentTwo(); + + void testContentToString(); + void testContentToString_data(); + + void testSchedulingToString(); + void testSchedulingToString_data(); + + void testWeekdayToString(); + void testWeekdayToString_data(); + + void testFmBackupEntry(); + + void testFmRestoreInfo(); + void testFmRestoreEntry(); + + void cleanupTestCase(); // Finalize test data + +private: + FmBackupSettings *settings; +}; + +void TestSettings::cleanupTestCase() +{ + QCoreApplication::processEvents(); +} + +void TestSettings::testTestSettingsContentAll() +{ + FmBkupEngine *backupEngine = new FmBkupEngine( this ); + settings = new FmBackupSettings( backupEngine ); + QTime time = QTime::currentTime(); + settings->setContent(FmBackupSettings::EFileManagerBackupContentAll); + settings->setScheduling(FmBackupSettings::EFileManagerBackupScheduleWeekly); + settings->setWeekday(FmBackupSettings::EFileManagerBackupWeekdayMonday); + settings->setTime(time); + settings->setTargetDrive("C:"); + + settings->save(); + delete settings; + + + settings = new FmBackupSettings( backupEngine ); + settings->load(); + + QVERIFY(settings->content() == FmBackupSettings::EFileManagerBackupContentAll); + QVERIFY(settings->scheduling() == FmBackupSettings::EFileManagerBackupScheduleWeekly); + QVERIFY(settings->weekday() == FmBackupSettings::EFileManagerBackupWeekdayMonday); + QVERIFY( settings->time().toString() == time.toString() ); + QVERIFY(settings->targetDrive() == "C:"); + + QList< FmBackupEntry* > backupEntryList = settings->backupEntryList(); + + for( int i = 0; i< backupEntryList.count(); i++ ) + { + FmBackupEntry* entry = backupEntryList[i]; + switch( entry->type() ) + { + case FmBackupEntry::EContents: + { + QVERIFY( entry->title() == constFileManagerBackupSettingsTitleContents ); + break; + } + case FmBackupEntry::EScheduling: + { + QVERIFY( entry->title() == constFileManagerBackupSettingsTitleScheduling ); + break; + } + case FmBackupEntry::EWeekday: + { + QVERIFY( entry->title() == constFileManagerBackupSettingsTitleWeekday ); + break; + } + case FmBackupEntry::ETime: + { + QVERIFY( entry->title() == constFileManagerBackupSettingsTitleTime ); + break; + } + case FmBackupEntry::ETarget: + { + QVERIFY( entry->title() == constFileManagerBackupSettingsTitleTargetDrive ); + break; + } + + } + qDebug( entry->title().toUtf8().data() ); + qDebug( entry->tips().toUtf8().data() ); + } + delete backupEngine; +} + + +void TestSettings::testTestSettingsContentOne() +{ + FmBkupEngine *backupEngine = new FmBkupEngine( this ); + settings = new FmBackupSettings( backupEngine ); + QTime time = QTime::currentTime(); + settings->setContent(FmBackupSettings::EFileManagerBackupContentSettings | + FmBackupSettings::EFileManagerBackupContentMessages); + settings->setScheduling(FmBackupSettings::EFileManagerBackupScheduleWeekly); + settings->setWeekday(FmBackupSettings::EFileManagerBackupWeekdayWednesday); + settings->setTime(time); + settings->setTargetDrive("E:"); + + settings->save(); + delete settings; + + settings = new FmBackupSettings( backupEngine ); + settings->load(); + + QVERIFY(settings->content() == quint32(FmBackupSettings::EFileManagerBackupContentSettings | + FmBackupSettings::EFileManagerBackupContentMessages)); + QVERIFY(settings->scheduling() == FmBackupSettings::EFileManagerBackupScheduleWeekly); + QVERIFY(settings->weekday() == FmBackupSettings::EFileManagerBackupWeekdayWednesday); + QVERIFY( settings->time().toString() == time.toString() ); + QVERIFY(settings->targetDrive() == "E:"); + delete backupEngine; +} + +void TestSettings::testTestSettingsContentTwo() +{ + FmBkupEngine *backupEngine = new FmBkupEngine( this ); + settings = new FmBackupSettings( backupEngine ); + QTime time = QTime::currentTime(); + settings->setContent(FmBackupSettings::EFileManagerBackupContentSettings | + FmBackupSettings::EFileManagerBackupContentMessages); + settings->setScheduling(FmBackupSettings::EFileManagerBackupScheduleWeekly); + settings->setWeekday(FmBackupSettings::EFileManagerBackupWeekdayWednesday); + settings->setTime(time); + settings->setTargetDrive("E:"); + + settings->save(); + delete settings; + + settings = new FmBackupSettings( backupEngine ); + settings->load(); + + QVERIFY(settings->content() == quint32( FmBackupSettings::EFileManagerBackupContentSettings | + FmBackupSettings::EFileManagerBackupContentMessages ) ); + QVERIFY(settings->scheduling() == FmBackupSettings::EFileManagerBackupScheduleWeekly); + QVERIFY(settings->weekday() == FmBackupSettings::EFileManagerBackupWeekdayWednesday); + QVERIFY( settings->time().toString() == time.toString() ); + QVERIFY(settings->targetDrive() == "E:"); + delete backupEngine; +} + +void TestSettings::testContentToString() +{ + QFETCH(quint32, param); + QFETCH(QString, value); + + QCOMPARE(FmBackupSettings::contentToString( param ), value); +} + +void TestSettings::testContentToString_data() +{ + QTest::addColumn("param"); + QTest::addColumn("value"); + + QTest::newRow("contentToString_0") << (quint32)FmBackupSettings::EFileManagerBackupContentAll << constFileManagerBackupSettingsContentAll; + QTest::newRow("contentToString_1") << (quint32)FmBackupSettings::EFileManagerBackupContentSettings << constFileManagerBackupSettingsContentSettings; + QTest::newRow("contentToString_2") << (quint32)FmBackupSettings::EFileManagerBackupContentMessages << constFileManagerBackupSettingsContentMessages; + QTest::newRow("contentToString_3") << (quint32)FmBackupSettings::EFileManagerBackupContentContacts << constFileManagerBackupSettingsContentContacts; + QTest::newRow("contentToString_4") << (quint32)FmBackupSettings::EFileManagerBackupContentCalendar << constFileManagerBackupSettingsContentCalendar; + QTest::newRow("contentToString_5") << (quint32)FmBackupSettings::EFileManagerBackupContentBookmarks << constFileManagerBackupSettingsContentBookmarks; + QTest::newRow("contentToString_6") << (quint32)FmBackupSettings::EFileManagerBackupContentUserFiles << constFileManagerBackupSettingsContentUserFiles; +} + +void TestSettings::testSchedulingToString() +{ + QFETCH(int, param); + QFETCH(QString, value); + FmBkupEngine *backupEngine = new FmBkupEngine( this ); + settings = new FmBackupSettings( backupEngine ); + QCOMPARE(settings->schedulingToString( (FmBackupSettings::TFileManagerBackupSchedule)param ), value); +} + +void TestSettings::testSchedulingToString_data() +{ + QTest::addColumn("param"); + QTest::addColumn("value"); + + QTest::newRow("schedulingToString_0") << (int)FmBackupSettings::EFileManagerBackupScheduleNever << constFileManagerBackupScheduleNever; + QTest::newRow("schedulingToString_1") << (int)FmBackupSettings::EFileManagerBackupScheduleDaily << constFileManagerBackupScheduleDaily; + QTest::newRow("schedulingToString_2") << (int)FmBackupSettings::EFileManagerBackupScheduleWeekly << constFileManagerBackupScheduleWeekly; +} + +void TestSettings::testWeekdayToString() +{ + QFETCH(int, param); + QFETCH(QString, value); + + QCOMPARE(FmBackupSettings::weekdayToString( (FmBackupSettings::TFileManagerBackupWeekday)param ), value); +} + +void TestSettings::testWeekdayToString_data() +{ + + QTest::addColumn("param"); + QTest::addColumn("value"); + + QTest::newRow("weekdayToString_0") << (int)FmBackupSettings::EFileManagerBackupWeekdayMonday << constFileManagerBackupWeekdayMonday; + QTest::newRow("weekdayToString_1") << (int)FmBackupSettings::EFileManagerBackupWeekdayTuesday << constFileManagerBackupWeekdayTuesday; + QTest::newRow("weekdayToString_2") << (int)FmBackupSettings::EFileManagerBackupWeekdayWednesday << constFileManagerBackupWeekdayWednesday; + QTest::newRow("weekdayToString_3") << (int)FmBackupSettings::EFileManagerBackupWeekdayThursday << constFileManagerBackupWeekdayThursday; + QTest::newRow("weekdayToString_4") << (int)FmBackupSettings::EFileManagerBackupWeekdayFriday << constFileManagerBackupWeekdayFirday; + QTest::newRow("weekdayToString_5") << (int)FmBackupSettings::EFileManagerBackupWeekdaySaturday << constFileManagerBackupWeekdaySaturday; + QTest::newRow("weekdayToString_6") << (int)FmBackupSettings::EFileManagerBackupWeekdaySunday << constFileManagerBackupWeekdaySunday; +} + + +void TestSettings::testFmBackupEntry() +{ + FmBackupEntry backupEntry( "title","tips", FmBackupEntry::EContents ); + QVERIFY( backupEntry.title() == "title" ); + QVERIFY( backupEntry.tips() == "tips" ); + QVERIFY( backupEntry.type() == FmBackupEntry::EContents ); + + FmBackupEntry backupEntryCopy( backupEntry ); + QVERIFY( backupEntryCopy.title() == "title" ); + QVERIFY( backupEntryCopy.tips() == "tips" ); + QVERIFY( backupEntryCopy.type() == FmBackupEntry::EContents ); + +} + +void TestSettings::testFmRestoreInfo() +{ + QDateTime dateTime = QDateTime::currentDateTime(); + FmRestoreInfo restoreInfo((quint32)FmBackupSettings::EFileManagerBackupContentSettings, dateTime, "E:" ); + QVERIFY( restoreInfo.content() == (quint32)FmBackupSettings::EFileManagerBackupContentSettings ); + QVERIFY( restoreInfo.dateTime().toString() == dateTime.toString() ); + QVERIFY( restoreInfo.drive() == "E:" ); + + FmRestoreInfo restoreInfoCopy( restoreInfo ); + QVERIFY( restoreInfoCopy.content() == restoreInfo.content() ); + QVERIFY( restoreInfoCopy.dateTime().toString() == restoreInfo.dateTime().toString() ); + QVERIFY( restoreInfoCopy.drive() == restoreInfo.drive() ); + + FmRestoreInfo restoreInfoNext = restoreInfo; + QVERIFY( restoreInfoNext.content() == restoreInfo.content() ); + QVERIFY( restoreInfoNext.dateTime().toString() == restoreInfo.dateTime().toString() ); + QVERIFY( restoreInfoNext.drive() == restoreInfo.drive() ); +} + +void TestSettings::testFmRestoreEntry() +{ + QDateTime dateTime = QDateTime::currentDateTime(); + FmRestoreInfo restoreInfo((quint32)FmBackupSettings::EFileManagerBackupContentSettings, dateTime, "E:" ); + + FmRestoreEntry restoreEntry( "displayText", restoreInfo ); + QVERIFY( restoreEntry.text() == "displayText"); + QVERIFY( restoreEntry.restoreInfo().content() == (quint32)FmBackupSettings::EFileManagerBackupContentSettings ); + QVERIFY( restoreEntry.restoreInfo().dateTime().toString() == dateTime.toString() ); + QVERIFY( restoreEntry.restoreInfo().drive() == "E:" ); +} + +QTEST_MAIN(TestSettings) +#include "unit_backuprestoresettings.moc" diff -r ada7962b4308 -r edd66bde63a4 filemanager/tsrc/unit/unit_backuprestoresettings/unit_backuprestoresettings.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/tsrc/unit/unit_backuprestoresettings/unit_backuprestoresettings.pro Fri May 14 15:42:43 2010 +0300 @@ -0,0 +1,41 @@ +# +# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +QT += testlib +CONFIG += qtestlib +TEMPLATE = app +TARGET = +include ( ../../../src/inc/commoninc.pri ) +DEPENDPATH += . +INCLUDEPATH += . +INCLUDEPATH += ../../../src/fmbkupenginewrapper/inc +TARGET.CAPABILITY = ALL -TCB +# Input +SOURCES += src/unit_backuprestoresettings.cpp +LIBS += -lfmbkupenginewrapper + +unix { + test.commands = /epoc32/RELEASE/WINSCW/udeb/unit_backuprestoresettings.exe + autotest.commands = /epoc32/RELEASE/WINSCW/udeb/unit_backuprestoresettings.exe -xml -o c:/unit_backuprestoresettings.xml +} else:win32 { + test.CONFIG += recursive + autotest.CONFIG += recursive + build_pass { + test.commands =/epoc32/RELEASE/WINSCW/udeb/unit_backuprestoresettings.exe + autotest.commands =/epoc32/RELEASE/WINSCW/udeb/unit_backuprestoresettings -xml -o c:/unit_backuprestoresettings.xml + } +} +QMAKE_EXTRA_TARGETS += test autotest \ No newline at end of file diff -r ada7962b4308 -r edd66bde63a4 layers.sysdef.xml --- a/layers.sysdef.xml Mon May 03 12:24:39 2010 +0300 +++ b/layers.sysdef.xml Fri May 14 15:42:43 2010 +0300 @@ -6,8 +6,9 @@ - + + @@ -15,5 +16,10 @@ + + + + + \ No newline at end of file