diff -r 491b3ed49290 -r 65326cf895ed filemanager/src/fmbkupenginewrapper/src/fmbackupsettings.cpp --- a/filemanager/src/fmbkupenginewrapper/src/fmbackupsettings.cpp Tue Aug 31 15:06:05 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,389 +0,0 @@ -/* - * 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 the backup settings of file manager - */ - -#include "fmbackupsettings.h" -#include "fmbkupengine.h" -#include "fmcommon.h" - -#include -#include -#include -#include - -#include - -FmBackupSettings::FmBackupSettings( FmBkupEngine *aFmBkupEngine ) : mBkupEngine( aFmBkupEngine ) -{ - -} - -FmBackupSettings::~FmBackupSettings( void ) -{ - resetAndDestoryBackupEntry(); -} - -void FmBackupSettings::setContent( const quint32 aContent ) -{ - mContent = aContent; - save(); -} - -void FmBackupSettings::setScheduling( const TFileManagerBackupSchedule aScheduling ) -{ - mScheduling = aScheduling; - save(); -} - -void FmBackupSettings::setWeekday( const TFileManagerBackupWeekday weekday ) -{ - mWeekday = weekday; - save(); -} - -void FmBackupSettings::setTime( const QTime &aTime ) -{ - mTime = aTime; - save(); -} - -void FmBackupSettings::setTargetDrive( const QString &aDrive ) -{ - mTargetDrive = aDrive; - save(); -} - -quint32 FmBackupSettings::content() const -{ - return mContent; -} - -FmBackupSettings::TFileManagerBackupSchedule FmBackupSettings::scheduling() const -{ - return mScheduling; -} - -FmBackupSettings::TFileManagerBackupWeekday FmBackupSettings::weekday() const -{ - return mWeekday; -} - -const QTime& FmBackupSettings::time() const -{ - return mTime; -} - -QString FmBackupSettings::targetDrive() const -{ - 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 ); - // Count selected only - quint32 mask( mContent ); - while ( mask ){ - if ( mask & 1 ){ - ++ret; - } - mask >>= 1; - } - return ret; -} - -FmBackupEntry* FmBackupSettings::CreateEntry( const QString &title, const QString &tips, const FmBackupEntry::TSettingType type ) -{ - FmBackupEntry *entry = new FmBackupEntry( title, tips, type ); - return entry; -} - -FmBackupEntry* FmBackupSettings::createContentsEntry() -{ - QString title; - QString tips; - - title = hbTrId( "Backup Contents" ); - - int selected( contentsSelected() ); - if ( !( mContent & EFileManagerBackupContentAll ) && selected > 1 ){ - // create text as " 5 selected" - tips = QString( QString::number(selected) + " selected" ); - } - else - { - // create single content name - tips = contentToString( mContent ); - } - - return CreateEntry( title, tips, FmBackupEntry::EContents ); -} - -FmBackupEntry* FmBackupSettings::createSchedulingEntry() -{ - QString title; - QString tips; - - title = hbTrId( "Backup scheduling" ); - tips = schedulingToString( mScheduling ); - - return CreateEntry( title, tips, FmBackupEntry::EScheduling ); -} - -FmBackupEntry* FmBackupSettings::createWeekdayEntry() -{ - QString title; - QString tips; - - title = hbTrId( "Weekday" ); - tips = weekdayToString( mWeekday ); - - return CreateEntry( title, tips, FmBackupEntry::EWeekday ); -} - -FmBackupEntry* FmBackupSettings::createTimeEntry() -{ - QString title; - QString tips; - - title = hbTrId( "Time" ); - tips = mTime.toString( "hh:mm" ); - - return CreateEntry( title, tips, FmBackupEntry::ETime ); -} - -FmBackupEntry* FmBackupSettings::createTargetDriveEntry() -{ - QString title; - QString tips; - - title = hbTrId( "Backup destination" ); - tips = targetDriveToString( mTargetDrive ); - - return CreateEntry( title, tips, FmBackupEntry::ETarget ); -} - -FmBackupEntry* FmBackupSettings::createBackupDateEntry() -{ - QString tips; - if( mDate.isNull() ) - { - tips = hbTrId( "No previous backups created"); - } - else - { - tips = hbTrId( "Backup Created " ) + mDate.toString( "dd.MM.yyyy" ); - } - return CreateEntry( QString(""), tips, FmBackupEntry::EBackupdate); -} -QString FmBackupSettings::contentToString( const quint32 content ) -{ - QString ret( hbTrId( "All" ) ); - - if ( content & EFileManagerBackupContentAll ){ - ret = hbTrId( "All" ); - } - else if ( content & EFileManagerBackupContentSettings ){ - ret = hbTrId( "Settings" ); - } - else if ( content & EFileManagerBackupContentMessages ){ - ret = hbTrId( "Messages" ); - } - else if ( content & EFileManagerBackupContentContacts ){ - ret = hbTrId( "Contacts" ); - } - else if ( content & EFileManagerBackupContentCalendar ){ - ret = hbTrId( "Calendar" ); - } - else if ( content & EFileManagerBackupContentBookmarks ){ - ret = hbTrId( "Bookmarks" ); - } - else if ( content & EFileManagerBackupContentUserFiles ){ - ret = hbTrId( "Files" ); - } - return ret; -} - -QString FmBackupSettings::weekdayToString( const TFileManagerBackupWeekday weekday ) -{ - QString ret = ""; - switch (weekday) - { - case EFileManagerBackupWeekdayMonday: - ret = hbTrId( "Monday" ); - break; - case EFileManagerBackupWeekdayTuesday: - ret = hbTrId( "Tuesday" ); - break; - case EFileManagerBackupWeekdayWednesday: - ret = hbTrId( "Wednesday" ); - break; - case EFileManagerBackupWeekdayThursday: - ret = hbTrId( "Thursday" ); - break; - case EFileManagerBackupWeekdayFriday: - ret = hbTrId( "Friday" ); - break; - case EFileManagerBackupWeekdaySaturday: - ret = hbTrId( "Saturday" ); - break; - case EFileManagerBackupWeekdaySunday: - ret = hbTrId( "Sunday" ); - break; - } - return ret; -} - - -QString FmBackupSettings::schedulingToString( const TFileManagerBackupSchedule scheduling ) -{ - QString ret = ""; - switch (scheduling) - { - case EFileManagerBackupScheduleNever: - ret = hbTrId( "Never" ); - break; - case EFileManagerBackupScheduleDaily: - ret = hbTrId ("Daily" ); - break; - case EFileManagerBackupScheduleWeekly: - ret = hbTrId( "Weekly" ); - break; - } - return ret; -} - -QString FmBackupSettings::targetDriveToString( const QString &targetDrive ) -{ - //TODO: Get Volume Name and append to return value - return targetDrive; -} - -QList< FmBackupEntry* > FmBackupSettings::backupEntryList() -{ - return mBackupEntryList; -} - -void FmBackupSettings::refreshList() -{ - resetAndDestoryBackupEntry(); - FmBackupEntry* entry = 0; - - entry = createContentsEntry(); - mBackupEntryList.push_back( entry ); - - entry = createSchedulingEntry(); - mBackupEntryList.push_back( entry ); - - if ( mScheduling == EFileManagerBackupScheduleWeekly ) - { - entry = createWeekdayEntry(); - mBackupEntryList.push_back( entry ); - } - - if ( mScheduling == EFileManagerBackupScheduleWeekly || - mScheduling == EFileManagerBackupScheduleDaily ) - { - entry = createTimeEntry(); - mBackupEntryList.push_back( entry ); - } - - QStringList driveList; - mBkupEngine->getBackupDriveList( driveList ); - - if( driveList.count() > 1 ) { - entry = createTargetDriveEntry(); - mBackupEntryList.push_back( entry ); - } - - entry = createBackupDateEntry(); - mBackupEntryList.push_back( entry ); -} - -void FmBackupSettings::resetAndDestoryBackupEntry() -{ - for( QList< FmBackupEntry* >::iterator it = mBackupEntryList.begin(); - it!= mBackupEntryList.end(); ++it ){ - delete *it; - } - mBackupEntryList.clear(); -} - - - -// load and save - -void FmBackupSettings::load() -{ - - QStringList driveList; - mBkupEngine->getBackupDriveList( driveList ); - QString defaultDrive( driveList.first() ); - - QDate date; - QSettings settings("Nokia", "FileManager"); - - settings.beginGroup("BackupConfigure"); - - mContent = (settings.value("content", 1).toUInt()); // All for default value - mScheduling = (TFileManagerBackupSchedule)(settings.value("scheduling", EFileManagerBackupScheduleNever ).toInt()); // Never schedule for default value - 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(); -} - - -void FmBackupSettings::save() -{ - - QSettings settings( "Nokia", "FileManager" ); - settings.beginGroup( "BackupConfigure" ); - - settings.setValue( "content", mContent ); - settings.setValue( "scheduling", mScheduling ); - 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(); -}