filemanager/src/filemanager/src/backuprestore/fmdeletebackupview.cpp
branchRCL_3
changeset 20 491b3ed49290
equal deleted inserted replaced
19:95243422089a 20:491b3ed49290
       
     1 /*
       
     2  * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3  * All rights reserved.
       
     4  * This component and the accompanying materials are made available
       
     5  * under the terms of "Eclipse Public License v1.0"
       
     6  * which accompanies this distribution, and is available
       
     7  * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8  *
       
     9  * Initial Contributors:
       
    10  * Nokia Corporation - initial contribution.
       
    11  * 
       
    12  * Contributors:
       
    13  *     Zhiqiang Yang <zhiqiang.yang@nokia.com>
       
    14  * 
       
    15  * Description:
       
    16  *     The source file of the delete backup view of file manager
       
    17  */
       
    18 
       
    19 #include "fmdeletebackupview.h"
       
    20 #include "fmdeletebackupwidget.h"
       
    21 #include "fmviewmanager.h"
       
    22 #include "fmoperationbase.h"
       
    23 #include "fmdlgutils.h"
       
    24 
       
    25 #include <QApplication>
       
    26 
       
    27 #include <hbaction.h>
       
    28 #include <hbtoolbar.h>
       
    29 #include <hbmenu.h>
       
    30 #include <hbmainwindow.h>
       
    31 
       
    32 FmDeleteBackupView::FmDeleteBackupView() : FmViewBase( EDeleteBackupView )
       
    33 {
       
    34 	setTitle( hbTrId( "Delete Backup" ) );
       
    35 
       
    36 	initMainWidget();
       
    37 	initToolBar();
       
    38 	initMenu();    
       
    39 	mOperationService = FmViewManager::viewManager()->operationService();
       
    40 }
       
    41 
       
    42 FmDeleteBackupView::~FmDeleteBackupView()
       
    43 {
       
    44     removeToolBarAction();
       
    45 }
       
    46 
       
    47 void FmDeleteBackupView::initMenu()
       
    48 {
       
    49 #ifdef FM_CHANGE_ORIENT_ENABLE
       
    50     HbAction *action = 0;
       
    51 	action = new HbAction( this );
       
    52     action->setObjectName( "rotateAction" );
       
    53     action->setText( hbTrId( "Change orientation" ) );
       
    54     menu()->addAction( action );
       
    55     connect( action, SIGNAL(triggered()), this, SLOT( on_rotateAction_triggered() ), Qt::QueuedConnection );
       
    56 #endif
       
    57 
       
    58 	mDeleteAction = new HbAction( this );
       
    59     mDeleteAction->setObjectName( "deleteAction" );
       
    60     mDeleteAction->setText( hbTrId( "Delete backups" ) );
       
    61     menu()->addAction( mDeleteAction );
       
    62     mDeleteAction->setEnabled(false);
       
    63     connect( mDeleteAction, SIGNAL(triggered()), this, SLOT( on_deleteAction_triggered() ), Qt::QueuedConnection );
       
    64 }
       
    65 
       
    66 void FmDeleteBackupView::initMainWidget()
       
    67 {
       
    68 	mDeleteBackupWidget = new FmDeleteBackupWidget( this );
       
    69     mDeleteBackupWidget->setObjectName( "deleteBackupWidget" );
       
    70     setWidget( mDeleteBackupWidget );
       
    71     connect(mDeleteBackupWidget, SIGNAL(stateChanged(int)), this, SLOT(on_deleteBackupWidget_stateChanged(int)));
       
    72 
       
    73 }
       
    74 
       
    75 void FmDeleteBackupView::on_deleteBackupWidget_stateChanged(int state)
       
    76 {
       
    77     Q_UNUSED(state);
       
    78     QList<int> items = mDeleteBackupWidget->selectionIndexes();
       
    79     if (items.count() > 0) {
       
    80         mLeftAction->setEnabled(true);
       
    81         mDeleteAction->setEnabled(true);
       
    82     } else {
       
    83         mLeftAction->setEnabled(false);
       
    84         mDeleteAction->setEnabled(false);
       
    85     }
       
    86 }
       
    87 
       
    88 void FmDeleteBackupView::initToolBar()
       
    89 {
       
    90 	mLeftAction = new HbAction( this );
       
    91     mLeftAction->setObjectName( "leftAction" );
       
    92     mLeftAction->setText( hbTrId( "delete" ) );
       
    93     toolBar()->addAction( mLeftAction );
       
    94     mLeftAction->setEnabled(false);
       
    95     toolBar()->setOrientation( Qt::Horizontal );
       
    96 
       
    97     connect( mLeftAction, SIGNAL(triggered()), this, SLOT( on_leftAction_triggered() ), Qt::QueuedConnection );
       
    98 }
       
    99 
       
   100 void FmDeleteBackupView::on_leftAction_triggered()
       
   101 {
       
   102     on_deleteAction_triggered();
       
   103 }
       
   104 
       
   105 #ifdef FM_CHANGE_ORIENT_ENABLE
       
   106 void FmDeleteBackupView::on_rotateAction_triggered()
       
   107 {
       
   108 	if ( mainWindow()->orientation() == Qt::Vertical ) {
       
   109 		mainWindow()->setOrientation( Qt::Horizontal );
       
   110 	}
       
   111 	else {
       
   112 		mainWindow()->setOrientation( Qt::Vertical );
       
   113 	}
       
   114 }
       
   115 #endif
       
   116 
       
   117 void FmDeleteBackupView::on_deleteAction_triggered()
       
   118 {
       
   119     QList<int > items = mDeleteBackupWidget->selectionIndexes();
       
   120     if( items.count() <= 0 || !FmDlgUtils::question( hbTrId("Confirm Deletion?" ) ) ){
       
   121         return;
       
   122     }
       
   123 
       
   124     quint64 selection( 0 );
       
   125     for ( int i( 0 ); i < items.count(); ++i )
       
   126        {
       
   127        selection |= ( ( quint64 ) 1 ) << ( items[ i ] );
       
   128        }
       
   129                    
       
   130     mOperationService->syncDeleteBackup( selection );
       
   131     mDeleteBackupWidget->refresh();
       
   132     on_deleteBackupWidget_stateChanged(0);
       
   133 }
       
   134 
       
   135 void FmDeleteBackupView::removeToolBarAction()
       
   136 {
       
   137     toolBar()->removeAction( mLeftAction );
       
   138 }
       
   139 
       
   140 void FmDeleteBackupView::refreshDeleteBackupView()
       
   141 {
       
   142     mDeleteBackupWidget->refresh();
       
   143 }