ui/viewmanagement/viewmanager/src/glxviewmanager.cpp
author hgs
Thu, 14 Oct 2010 17:54:23 +0530
changeset 72 0a8e959402e5
parent 71 27f2d7aec52a
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:   ?Description
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
#include <glxviewmanager.h>
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#include <glxview.h>
24
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    22
#include "glxicondefs.h" //Contains the icon names/Ids
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include <glxviewsfactory.h>
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include <glxeffectengine.h>
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include <hbmainwindow.h>
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include <glxexternalutility.h>
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include <glxloggerenabler.h>
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#include <glxmenumanager.h>
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include <glxcommandhandlers.hrh>
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
#include <glxplugincommandid.hrh>
26
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
    31
#include "glxlocalisationstrings.h"
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
#include <hbaction.h>
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
#include <hbtoolbar.h>
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
#include <hbmenu.h>
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
#include <QDebug>
24
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    37
#include <hbstyleloader.h>
42
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
    38
#include <hbprogressdialog.h>
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
    39
#include <QItemSelectionModel>
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
    40
#include <glxmainwindoweventfilter.h>
45
hgs
parents: 44
diff changeset
    41
#include <xqsettingsmanager.h>
hgs
parents: 44
diff changeset
    42
#include <xqsettingskey.h>
54
hgs
parents: 52
diff changeset
    43
#include <glxviewids.h>
hgs
parents: 52
diff changeset
    44
#include "glxmodelroles.h"
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
24
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    46
GlxViewManager::GlxViewManager() 
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    47
    : mBackAction( NULL ), 
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    48
      mMenuManager( NULL ), 
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    49
      mEffectEngine( NULL ), 
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    50
      mViewToolBar( NULL ), 
42
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
    51
      mMarkingToolBar( NULL ), 
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
    52
      mSelectionModel ( NULL ),
72
hgs
parents: 71
diff changeset
    53
      mProgressDialog( NULL ),
hgs
parents: 71
diff changeset
    54
      mIsViewTransitionRunning( false ),
hgs
parents: 71
diff changeset
    55
      mEffect( NO_EFFECT )
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
    qDebug("GlxViewManager::GlxViewManager() ");
42
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
    58
54
hgs
parents: 52
diff changeset
    59
    //check the case when application launch through some other application (view plugin)
hgs
parents: 52
diff changeset
    60
    mMainWindow = GlxExternalUtility::instance()->getMainWindow();
hgs
parents: 52
diff changeset
    61
    if(mMainWindow == NULL)	{
hgs
parents: 52
diff changeset
    62
        mMainWindow = new HbMainWindow();
24
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    63
    }
72
hgs
parents: 71
diff changeset
    64
    connect( mMainWindow, SIGNAL( viewReady() ), this, 
hgs
parents: 71
diff changeset
    65
            SLOT( handleReadyView() ) );
hgs
parents: 71
diff changeset
    66
    
54
hgs
parents: 52
diff changeset
    67
    //Without this Zoom Does not work
hgs
parents: 52
diff changeset
    68
    mWindowEventFilter = new GlxMainWindowEventFilter;
72
hgs
parents: 71
diff changeset
    69
    mMainWindow->scene()->installEventFilter( mWindowEventFilter );
hgs
parents: 71
diff changeset
    70
    mMainWindow->viewport()->setAttribute( Qt::WA_AcceptTouchEvents );
hgs
parents: 71
diff changeset
    71
    mMainWindow->viewport()->grabGesture( Qt::PinchGesture );
54
hgs
parents: 52
diff changeset
    72
72
hgs
parents: 71
diff changeset
    73
    HbStyleLoader::registerFilePath( ":/data/photos.css" );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
}
54
hgs
parents: 52
diff changeset
    75
72
hgs
parents: 71
diff changeset
    76
GlxViewManager::~GlxViewManager()
45
hgs
parents: 44
diff changeset
    77
{
72
hgs
parents: 71
diff changeset
    78
    qDebug("GlxViewManager::~GlxViewManager");
hgs
parents: 71
diff changeset
    79
    HbStyleLoader::unregisterFilePath(":/data/photos.css");    
hgs
parents: 71
diff changeset
    80
    removeConnection();
hgs
parents: 71
diff changeset
    81
    
hgs
parents: 71
diff changeset
    82
    delete mMenuManager; 
hgs
parents: 71
diff changeset
    83
    delete mViewToolBar;
hgs
parents: 71
diff changeset
    84
    delete mMarkingToolBar;
hgs
parents: 71
diff changeset
    85
    
hgs
parents: 71
diff changeset
    86
    while( mViewList.isEmpty( ) == FALSE){
hgs
parents: 71
diff changeset
    87
        delete mViewList.takeLast() ;
hgs
parents: 71
diff changeset
    88
    }
hgs
parents: 71
diff changeset
    89
        
hgs
parents: 71
diff changeset
    90
    delete mBackAction;
hgs
parents: 71
diff changeset
    91
    delete mProgressDialog;
hgs
parents: 71
diff changeset
    92
    
hgs
parents: 71
diff changeset
    93
    if ( mEffectEngine ) {
hgs
parents: 71
diff changeset
    94
        mEffectEngine->deregistertransitionEffect();
hgs
parents: 71
diff changeset
    95
        delete mEffectEngine;
hgs
parents: 71
diff changeset
    96
    }
hgs
parents: 71
diff changeset
    97
 
hgs
parents: 71
diff changeset
    98
    if( mMainWindow != GlxExternalUtility::instance()->getMainWindow() ){
hgs
parents: 71
diff changeset
    99
        delete mMainWindow;
hgs
parents: 71
diff changeset
   100
    }
hgs
parents: 71
diff changeset
   101
    delete mWindowEventFilter;
hgs
parents: 71
diff changeset
   102
    
hgs
parents: 71
diff changeset
   103
    qDebug("GlxViewManager::~GlxViewManager Exit");
45
hgs
parents: 44
diff changeset
   104
}
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
42
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   106
void GlxViewManager::setupItems( )
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
{
44
hgs
parents: 43
diff changeset
   108
    addBackSoftKeyAction();    
54
hgs
parents: 52
diff changeset
   109
    addConnection();
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   111
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
void GlxViewManager::launchApplication(qint32 id, QAbstractItemModel *model)
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
    mModel = model;
54
hgs
parents: 52
diff changeset
   115
    mMenuManager = new GlxMenuManager( mMainWindow );  //menu manager should be created before view.
hgs
parents: 52
diff changeset
   116
    mMenuManager->setModel( mModel );
hgs
parents: 52
diff changeset
   117
    mView = resolveView( id );
hgs
parents: 52
diff changeset
   118
43
hgs
parents: 42
diff changeset
   119
    createToolBar();
hgs
parents: 42
diff changeset
   120
    
hgs
parents: 42
diff changeset
   121
    /* We are showing the toolBar before activating the 
hgs
parents: 42
diff changeset
   122
     * view. This is done to avoid the animation effect seen otherwise 
hgs
parents: 42
diff changeset
   123
     * when the tool bar comes up.
hgs
parents: 42
diff changeset
   124
     * 
hgs
parents: 42
diff changeset
   125
     * If animation Effect is not removed, it leads to flickering effect 
hgs
parents: 42
diff changeset
   126
     * since we are creating a new tool bar..although a fake tool bar was 
hgs
parents: 42
diff changeset
   127
     * already created on the splashscreen
hgs
parents: 42
diff changeset
   128
     * 
hgs
parents: 42
diff changeset
   129
     */
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
    mView->activate();
54
hgs
parents: 52
diff changeset
   131
    mView->setModel( mModel );
hgs
parents: 52
diff changeset
   132
    //visibility of tool bar dependes of view internal state so add the toolbar after setting model
hgs
parents: 52
diff changeset
   133
    mView->addToolBar( mViewToolBar ); 
hgs
parents: 52
diff changeset
   134
    mMainWindow->setCurrentView( mView, false );
hgs
parents: 52
diff changeset
   135
    mMainWindow->showFullScreen();
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   136
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   137
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   138
void GlxViewManager::handleAction()
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   139
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   140
    HbAction *action = qobject_cast<HbAction*>(sender());
54
hgs
parents: 52
diff changeset
   141
    action->setChecked( TRUE );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   142
    qint32 commandId = action->data().toInt();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
    emit actionTriggered(commandId);
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
void GlxViewManager::addBackSoftKeyAction ( )
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   148
    qDebug("GlxViewManager::addBackSoftKeyAction ");
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
    //create the back soft key action and set the data
50
hgs
parents: 45
diff changeset
   150
    mBackAction = new HbAction( Hb::BackNaviAction, this );
hgs
parents: 45
diff changeset
   151
    mBackAction->setData( EGlxCmdBack );
45
hgs
parents: 44
diff changeset
   152
    mBackAction->setObjectName( "App Back" );
hgs
parents: 44
diff changeset
   153
    mView->setNavigationAction( mBackAction );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   155
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
Qt::Orientation GlxViewManager::orientation() const
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   157
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
    return mMainWindow->orientation();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   159
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
54
hgs
parents: 52
diff changeset
   161
void GlxViewManager::launchView( qint32 id, QAbstractItemModel *model )
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
{
54
hgs
parents: 52
diff changeset
   163
    qDebug( "GlxViewManager::launchView Id = %d ", id );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
    mModel = model;
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
    deActivateView();
54
hgs
parents: 52
diff changeset
   166
    mMenuManager->setModel( mModel ); //set the model to get the item type info and row count info
hgs
parents: 52
diff changeset
   167
    mView = resolveView( id );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
    activateView();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
void GlxViewManager::launchView (qint32 id, QAbstractItemModel *model, GlxEffect effect, GlxViewEffect viewEffect)
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
    qDebug("GlxViewManager::launchView Id = %d effect %d view effect %d", id, effect, viewEffect);
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
    //In the case of no animation is play during the view transition just call launch view and return
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
    if ( viewEffect == NO_VIEW ) {
72
hgs
parents: 71
diff changeset
   177
        return launchView( id, model );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
    //create and registered the effect
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
    if ( mEffectEngine == NULL ) { 
43
hgs
parents: 42
diff changeset
   182
        mEffectEngine = new GlxEffectEngine();
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
        mEffectEngine->registerTransitionEffect();
72
hgs
parents: 71
diff changeset
   184
        connect( mEffectEngine, SIGNAL( effectFinished() ), this, 
hgs
parents: 71
diff changeset
   185
                SLOT( effectFinished() ), Qt::QueuedConnection );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
    QGraphicsItem *item = NULL;
72
hgs
parents: 71
diff changeset
   189
    mItemList.clear();
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
    //partially clean the view so that animation run smoothly
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
    GlxView *curr_view = (GlxView *) mMainWindow->currentView();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
    curr_view->resetView();
54
hgs
parents: 52
diff changeset
   194
hgs
parents: 52
diff changeset
   195
    mMenuManager->setModel( model ); //set the model to get the item type info and row count info
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
    mView = resolveView(id);
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
    //partially initialise the view so that animation run smoothly
50
hgs
parents: 45
diff changeset
   198
    mView->initializeView( model, curr_view );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
    mModel = model; 
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
    if ( viewEffect == CURRENT_VIEW || viewEffect == BOTH_VIEW ) { 
72
hgs
parents: 71
diff changeset
   202
        item = curr_view->getAnimationItem( effect );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
        if ( item ) {
72
hgs
parents: 71
diff changeset
   204
            mItemList.append(item);
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
            item = NULL;
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
        }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
    if ( viewEffect == LAUNCH_VIEW || viewEffect == BOTH_VIEW ) {
72
hgs
parents: 71
diff changeset
   210
        item = mView->getAnimationItem( effect );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
        if ( item ) {
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
            //increase the z value and show the view to shown the view animation
72
hgs
parents: 71
diff changeset
   213
            mView->setZValue( curr_view->zValue() + 2 );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
            mView->show();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
            item->show();        
72
hgs
parents: 71
diff changeset
   216
            mItemList.append( item );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
        }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
    
54
hgs
parents: 52
diff changeset
   220
    if ( effect == GRID_TO_FULLSCREEN ) {
hgs
parents: 52
diff changeset
   221
        mViewToolBar->setZValue( item->zValue() - 5 );
hgs
parents: 52
diff changeset
   222
    }
hgs
parents: 52
diff changeset
   223
    
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   224
    //error check
72
hgs
parents: 71
diff changeset
   225
    if ( mItemList.count() > 0 ) {
hgs
parents: 71
diff changeset
   226
        mEffectEngine->runEffect( mItemList, effect );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
        mMainWindow->grabMouse();
72
hgs
parents: 71
diff changeset
   228
        mIsViewTransitionRunning = true;
hgs
parents: 71
diff changeset
   229
        mEffect = effect;
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   230
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   231
    else {
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
        deActivateView();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   233
        activateView();       
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   234
    }    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   235
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   236
42
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   237
void GlxViewManager::launchProgressDialog( int maxValue )
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   238
{
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   239
    if ( maxValue <= 0 ) {
45
hgs
parents: 44
diff changeset
   240
        // TNM return the some error code ( negative value ) until it populated the count
hgs
parents: 44
diff changeset
   241
		// To show progress dialog 10 is chossen
hgs
parents: 44
diff changeset
   242
	     maxValue = 10;
hgs
parents: 44
diff changeset
   243
		          
42
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   244
    }
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   245
    if ( mProgressDialog == NULL ) {
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   246
        mProgressDialog = new HbProgressDialog( HbProgressDialog::ProgressDialog );
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   247
        mProgressDialog->actions().at(0)->disconnect( SIGNAL( triggered() ) );
72
hgs
parents: 71
diff changeset
   248
        connect ( mProgressDialog->actions().at(0), SIGNAL( triggered() ), 
hgs
parents: 71
diff changeset
   249
                this, SLOT( hideProgressDialog() ) );
42
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   250
        mProgressDialog->setMinimum( 0 );
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   251
    }
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   252
    mProgressDialog->setMaximum( maxValue );
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   253
    mProgressDialog->setProgressValue( 0 );
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   254
    mProgressDialog->setModal( true );
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   255
    mProgressDialog->actions().at(0)->setText( GLX_BUTTON_HIDE );
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   256
    mProgressDialog->open();
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   257
}
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   258
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   259
void GlxViewManager::hideProgressDialog( )
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   260
{
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   261
    mMainWindow->lower();
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   262
}
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   263
45
hgs
parents: 44
diff changeset
   264
void GlxViewManager::updateProgressDialog( int currentValue )
42
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   265
{
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   266
    static int i = 0;
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   267
    HbIcon icon;
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   268
    User::ResetInactivityTime();  
62
hgs
parents: 58
diff changeset
   269
    QString text( GLX_REFRESHING );
42
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   270
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   271
    if ( mProgressDialog ) {
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   272
        i = ++i % 10;
54
hgs
parents: 52
diff changeset
   273
        icon = HbIcon( QString( ":/data/Wait/qgn_graf_ring_wait_%1.svg" ).arg( i + 1, 2, 10, QChar( '0' ) ) );
52
hgs
parents: 50
diff changeset
   274
        mProgressDialog->setIcon(icon);
42
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   275
        
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   276
        int max = mProgressDialog->maximum() ;
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   277
        if ( currentValue > max ) {
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   278
            mProgressDialog->setMaximum( currentValue );
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   279
            max = currentValue ;
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   280
        }
45
hgs
parents: 44
diff changeset
   281
        
hgs
parents: 44
diff changeset
   282
        if ( currentValue < 0 ) {
62
hgs
parents: 58
diff changeset
   283
            mProgressDialog->setText( text ); 
45
hgs
parents: 44
diff changeset
   284
            mProgressDialog->setProgressValue( 0 );
62
hgs
parents: 58
diff changeset
   285
            mProgressDialog->setProgressDialogType( HbProgressDialog::WaitDialog );
45
hgs
parents: 44
diff changeset
   286
        }
hgs
parents: 44
diff changeset
   287
        else {
hgs
parents: 44
diff changeset
   288
            int value = max - currentValue;
hgs
parents: 44
diff changeset
   289
            mProgressDialog->setProgressValue( value );
62
hgs
parents: 58
diff changeset
   290
            text.append( QString( "\n  %1 " ).arg( currentValue ) );
hgs
parents: 58
diff changeset
   291
            mProgressDialog->setText( text );
hgs
parents: 58
diff changeset
   292
            mProgressDialog->setProgressDialogType( HbProgressDialog::ProgressDialog );
45
hgs
parents: 44
diff changeset
   293
        }
42
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   294
    }
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   295
}
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   296
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   297
//to be called only when the photos plugin was activated by external means
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   298
void GlxViewManager::deactivateCurrentView()
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   300
    GlxView *curr_view = (GlxView *) mMainWindow->currentView();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
    if ( curr_view ) {
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   302
        curr_view->deActivate() ;
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   304
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   305
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   306
void GlxViewManager::updateToolBarIcon(int id)
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   307
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   308
    QString path;
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   309
    int toolBarActionId = (int) GLX_ALL_ACTION_ID;
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   310
    int count = mActionList.count();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   312
    qDebug("GlxViewManager::updateToolBarIcon() action ID list %d count %d", id, count);
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   313
    
54
hgs
parents: 52
diff changeset
   314
    for ( int i = 0; i < count ; i++ ) {
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   315
        qDebug("GlxViewManager::updateToolBarIcon() toolBarActionId %d value %d", toolBarActionId, ( id & toolBarActionId ) );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   316
        //check and get the icon path
54
hgs
parents: 52
diff changeset
   317
        if ( ( id & toolBarActionId ) == toolBarActionId ) {
24
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   318
            mActionList[i]->setChecked(TRUE);                        
54
hgs
parents: 52
diff changeset
   319
        }
hgs
parents: 52
diff changeset
   320
        else {
24
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   321
            mActionList[i]->setChecked(FALSE);
54
hgs
parents: 52
diff changeset
   322
        }
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   323
        //to get it the next action id to verify it is selecter or not
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   324
        toolBarActionId = toolBarActionId << 1; 
54
hgs
parents: 52
diff changeset
   325
    }
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   326
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   327
72
hgs
parents: 71
diff changeset
   328
void GlxViewManager::updateToolBarActionState( int id, bool isChecked )
hgs
parents: 71
diff changeset
   329
{
hgs
parents: 71
diff changeset
   330
    int toolBarActionId = (int) GLX_ALL_ACTION_ID;
hgs
parents: 71
diff changeset
   331
    int count = mActionList.count();
hgs
parents: 71
diff changeset
   332
    
hgs
parents: 71
diff changeset
   333
    for ( int i = 0; i < count ; i++ ) {
hgs
parents: 71
diff changeset
   334
        //check and get the icon path
hgs
parents: 71
diff changeset
   335
        if ( ( id & toolBarActionId ) == toolBarActionId ) {
hgs
parents: 71
diff changeset
   336
            mActionList[i]->setChecked( isChecked );                        
hgs
parents: 71
diff changeset
   337
        }
hgs
parents: 71
diff changeset
   338
        //to get it the next action id to verify it is selecter or not
hgs
parents: 71
diff changeset
   339
        toolBarActionId = toolBarActionId << 1; 
hgs
parents: 71
diff changeset
   340
    }
hgs
parents: 71
diff changeset
   341
}
hgs
parents: 71
diff changeset
   342
26
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
   343
void GlxViewManager::checkMarked()
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
   344
{
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
   345
    qDebug("GlxViewManager::checkMarked");
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
   346
    QModelIndexList selectedModelIndex = mSelectionModel->selectedIndexes();
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
   347
    for ( int i = 0 ; i <  mMarkingActionList.count(); i++) {
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
   348
        if( mMarkingActionList.at(i)->data()==EGlxCmdSelect) {
42
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   349
       	    bool noSelection=selectedModelIndex.empty();
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   350
            mMarkingActionList.at(i)->setDisabled(noSelection);
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   351
            break;
26
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
   352
        }
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
   353
    }
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
   354
}
42
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   355
71
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   356
void GlxViewManager::enterMarkingMode( qint32 viewId, qint32 commandId )
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   357
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   358
    GlxView *view = findView ( viewId );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   359
    qDebug("GlxViewManager::enterMarkingMode view ID %d", viewId);
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   360
    
71
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   361
    if ( !mMarkingToolBar ) {
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   362
        createMarkingModeToolBar(); //Marking mode tool bar is different from normal mode tool bar
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   363
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   364
    
71
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   365
    setMarkingToolBarAction( commandId );
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   366
    
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   367
    if ( view ) { 
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   368
        view->enableMarking();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   369
        view->takeToolBar();
72
hgs
parents: 71
diff changeset
   370
        view->addToolBar( mMarkingToolBar );
26
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
   371
        mSelectionModel = view->getSelectionModel();
72
hgs
parents: 71
diff changeset
   372
        if( mSelectionModel ) {
hgs
parents: 71
diff changeset
   373
            connect(mSelectionModel, SIGNAL( selectionChanged
hgs
parents: 71
diff changeset
   374
                    ( const QItemSelection &, const QItemSelection& ) ),
hgs
parents: 71
diff changeset
   375
                    this, SLOT( checkMarked() ) );
26
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
   376
            checkMarked();
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
   377
        }
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   378
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   379
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   380
71
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   381
void GlxViewManager::exitMarkingMode( qint32 viewId )
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   383
    GlxView *view = findView ( viewId );
72
hgs
parents: 71
diff changeset
   384
    qDebug( "GlxViewManager::exitMarkingMode view ID %d", viewId );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   385
    if ( view ) { 
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   386
        view->disableMarking(); 
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   387
        view->takeToolBar();
72
hgs
parents: 71
diff changeset
   388
        view->addToolBar( mViewToolBar );
hgs
parents: 71
diff changeset
   389
        if( mSelectionModel ) {
hgs
parents: 71
diff changeset
   390
            disconnect( mSelectionModel, SIGNAL( selectionChanged
hgs
parents: 71
diff changeset
   391
                    ( const QItemSelection &, const QItemSelection& ) ), 
hgs
parents: 71
diff changeset
   392
                    this, SLOT( checkMarked() ) );
26
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
   393
        }
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   394
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   395
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   396
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   397
void GlxViewManager::handleUserAction(qint32 viewId, qint32 commandId)
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   398
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   399
    GlxView *view = findView ( viewId );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   400
    qDebug("GlxViewManager::handleUserAction view ID %d command id %d", viewId, commandId);
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   401
    if ( view ) { 
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
        view->handleUserAction(commandId);
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   403
    }    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   404
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   406
QItemSelectionModel *  GlxViewManager::getSelectionModel(qint32 viewId) 
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
{ 
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
    GlxView *view = findView ( viewId );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   409
    if ( view ) { 
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
        return view->getSelectionModel();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   412
    return NULL;
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   413
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   414
42
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   415
void GlxViewManager::setModel( QAbstractItemModel *model )
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   416
{
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   417
    if ( mView ) {
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   418
        mView->setModel( model ) ;
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   419
    }
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   420
    
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   421
    if ( mMenuManager ) {
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   422
        mMenuManager->setModel( model );
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   423
    }    
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   424
}
5e1df1b52eb3 201019_01
hgs
parents: 26
diff changeset
   425
72
hgs
parents: 71
diff changeset
   426
void GlxViewManager::cancelViewTransitionEffect()
hgs
parents: 71
diff changeset
   427
{
hgs
parents: 71
diff changeset
   428
    if( mIsViewTransitionRunning ) {
hgs
parents: 71
diff changeset
   429
        mEffectEngine->cancelEffect( mItemList, mEffect );
hgs
parents: 71
diff changeset
   430
        effectFinished();
hgs
parents: 71
diff changeset
   431
    }
hgs
parents: 71
diff changeset
   432
}
hgs
parents: 71
diff changeset
   433
54
hgs
parents: 52
diff changeset
   434
GlxView * GlxViewManager::resolveView( qint32 id )
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   435
{
54
hgs
parents: 52
diff changeset
   436
    qDebug("GlxViewManager::resolveView %d", id );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   437
    GlxView *view = findView ( id );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   438
    if ( view ) {
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   439
        return view ;
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   440
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   441
    
54
hgs
parents: 52
diff changeset
   442
    view = GlxViewsFactory::createView( id, mMainWindow );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   443
    if ( view ) {
54
hgs
parents: 52
diff changeset
   444
        connect ( view, SIGNAL( actionTriggered( qint32 ) ), this, SLOT( actionProcess( qint32 ) ), Qt::QueuedConnection );
hgs
parents: 52
diff changeset
   445
        connect ( view, SIGNAL( itemSpecificMenuTriggered( qint32, QPointF ) ), this, SLOT( itemSpecificMenuTriggered( qint32, QPointF ) ), Qt::QueuedConnection );
hgs
parents: 52
diff changeset
   446
        mViewList.append( view );
hgs
parents: 52
diff changeset
   447
        mMainWindow->addView( view );
hgs
parents: 52
diff changeset
   448
        mMenuManager->addMenu( id, view->menu() );
hgs
parents: 52
diff changeset
   449
        
45
hgs
parents: 44
diff changeset
   450
        if ( mBackAction ) {
hgs
parents: 44
diff changeset
   451
            view->setNavigationAction( mBackAction );
hgs
parents: 44
diff changeset
   452
        }
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   453
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   454
    return view;
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   455
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   456
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   457
void GlxViewManager::itemSpecificMenuTriggered(qint32 viewId,QPointF pos)
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   458
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   459
    mMenuManager->ShowItemSpecificMenu(viewId,pos);
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   460
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   461
72
hgs
parents: 71
diff changeset
   462
void GlxViewManager::handleReadyView()
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   463
{
72
hgs
parents: 71
diff changeset
   464
    emit actionTriggered( EGlxCmdSetupItem );
hgs
parents: 71
diff changeset
   465
    disconnect( mMainWindow, SIGNAL( viewReady() ), this, 
hgs
parents: 71
diff changeset
   466
            SLOT( handleReadyView() ) );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   467
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   468
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   469
void GlxViewManager::effectFinished( )
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   470
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   471
    qDebug("GlxViewManager::EffectFinished");
72
hgs
parents: 71
diff changeset
   472
    if ( mIsViewTransitionRunning ) {
hgs
parents: 71
diff changeset
   473
        mMainWindow->releaseMouse();
hgs
parents: 71
diff changeset
   474
        deActivateView();
hgs
parents: 71
diff changeset
   475
        activateView();
hgs
parents: 71
diff changeset
   476
        mIsViewTransitionRunning = false;
hgs
parents: 71
diff changeset
   477
        mItemList.clear();
hgs
parents: 71
diff changeset
   478
    }
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   479
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   480
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   481
GlxView * GlxViewManager::findView(qint32 id)
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   482
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   483
    qDebug("GlxViewManager::findView Id = %d ", id);
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   484
    int count = mViewList.count();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   485
    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   486
    for ( int i = 0 ; i < count; i++) {
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   487
        if ( mViewList.at(i)->compare(id) ) {
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   488
            return mViewList.at(i);
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   489
        }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   490
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   491
    return NULL;
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   492
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   493
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   494
void GlxViewManager::deActivateView()
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   495
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   496
    qDebug("GlxViewManager::deActivateCurrentView()");
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   497
    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   498
    GlxView *view = (GlxView *) mMainWindow->currentView();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   499
    if ( view ){
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   500
        view->deActivate() ;
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   501
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   502
    if (mView && view) {
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   503
        mView->setZValue(view->zValue());
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   504
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   505
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   506
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   507
void GlxViewManager::activateView()
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   508
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   509
    qDebug("GlxViewManager::activateView()");
54
hgs
parents: 52
diff changeset
   510
hgs
parents: 52
diff changeset
   511
    mView->activate();
hgs
parents: 52
diff changeset
   512
    mView->show();
hgs
parents: 52
diff changeset
   513
    mView->setModel( mModel );
hgs
parents: 52
diff changeset
   514
    //visibility of tool bar dependes of view internal state so add the toolbar after setting model
hgs
parents: 52
diff changeset
   515
    mView->addToolBar( mViewToolBar );
hgs
parents: 52
diff changeset
   516
    mMainWindow->setCurrentView(mView, false);
hgs
parents: 52
diff changeset
   517
    mMainWindow->showFullScreen(); 
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   518
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   519
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   520
void GlxViewManager::createActions()
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   521
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   522
    qDebug("GlxViewManager::createActions() " );
24
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   523
    mActionList.clear();  
54
hgs
parents: 52
diff changeset
   524
hgs
parents: 52
diff changeset
   525
    int curSubstate = getSubState();    
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   526
    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   527
    //create the All tool bar button action
45
hgs
parents: 44
diff changeset
   528
    HbAction* allAction = new HbAction( this );
54
hgs
parents: 52
diff changeset
   529
hgs
parents: 52
diff changeset
   530
    if( curSubstate == FETCHER_ITEM_S ) {
hgs
parents: 52
diff changeset
   531
        allAction->setData( EGlxCmdFetcherAllGridOpen );
hgs
parents: 52
diff changeset
   532
    }else{
hgs
parents: 52
diff changeset
   533
        allAction->setData( EGlxCmdAllGridOpen );
hgs
parents: 52
diff changeset
   534
    }
hgs
parents: 52
diff changeset
   535
45
hgs
parents: 44
diff changeset
   536
    mActionList.append( allAction );    
hgs
parents: 44
diff changeset
   537
    allAction->setIcon( HbIcon( GLXICON_ALL ) ) ;
hgs
parents: 44
diff changeset
   538
    allAction->setObjectName( "All Action" );
24
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   539
       
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   540
    //create the Album tool bar button action
45
hgs
parents: 44
diff changeset
   541
    HbAction* albumAction = new HbAction( this );
54
hgs
parents: 52
diff changeset
   542
hgs
parents: 52
diff changeset
   543
    if( curSubstate == FETCHER_ITEM_S ) {
hgs
parents: 52
diff changeset
   544
        albumAction->setData( EGlxCmdFetcherAlbumListOpen );
hgs
parents: 52
diff changeset
   545
    }else{
hgs
parents: 52
diff changeset
   546
        albumAction->setData( EGlxCmdAlbumListOpen );
hgs
parents: 52
diff changeset
   547
    }
hgs
parents: 52
diff changeset
   548
45
hgs
parents: 44
diff changeset
   549
    mActionList.append( albumAction );
hgs
parents: 44
diff changeset
   550
    albumAction->setIcon( HbIcon( GLXICON_ALBUMS ) ) ;
hgs
parents: 44
diff changeset
   551
    albumAction->setObjectName( "Album Action" );
54
hgs
parents: 52
diff changeset
   552
	
hgs
parents: 52
diff changeset
   553
	//in case of fetcher no need to create other actions
hgs
parents: 52
diff changeset
   554
	if( curSubstate == FETCHER_ITEM_S ) {
hgs
parents: 52
diff changeset
   555
		return;
hgs
parents: 52
diff changeset
   556
		}	
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   557
    //create the album tool bar button action
45
hgs
parents: 44
diff changeset
   558
    HbAction* cameraAction = new HbAction( this );
hgs
parents: 44
diff changeset
   559
    cameraAction->setData( EGlxCmdCameraOpen );
hgs
parents: 44
diff changeset
   560
    mActionList.append( cameraAction );  
hgs
parents: 44
diff changeset
   561
    cameraAction->setIcon( HbIcon( GLXICON_CAMERA ) ) ;
hgs
parents: 44
diff changeset
   562
    cameraAction->setObjectName( "Camera Action" );
hgs
parents: 44
diff changeset
   563
    
hgs
parents: 44
diff changeset
   564
    //Configure the 4 th Action in the tool bar
hgs
parents: 44
diff changeset
   565
    XQSettingsManager *ciSettingsManager = NULL;
hgs
parents: 44
diff changeset
   566
    ciSettingsManager = new XQSettingsManager(this);
hgs
parents: 44
diff changeset
   567
    
hgs
parents: 44
diff changeset
   568
    
hgs
parents: 44
diff changeset
   569
    XQSettingsKey* operatorLinkCenrepKey = NULL;
hgs
parents: 44
diff changeset
   570
    operatorLinkCenrepKey = new XQSettingsKey(XQSettingsKey::TargetCentralRepository, 
hgs
parents: 44
diff changeset
   571
                                            KGlxCi_UidGallery, KGlxOperatorLink);
hgs
parents: 44
diff changeset
   572
    QVariant value = ciSettingsManager->readItemValue(*operatorLinkCenrepKey);
24
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   573
    
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   574
    
45
hgs
parents: 44
diff changeset
   575
    switch(value.toInt()) {
hgs
parents: 44
diff changeset
   576
        case KGlxOvi:
hgs
parents: 44
diff changeset
   577
            {
hgs
parents: 44
diff changeset
   578
                XQSettingsKey* oviCenrepKey = NULL;
hgs
parents: 44
diff changeset
   579
                oviCenrepKey = new XQSettingsKey(XQSettingsKey::TargetCentralRepository, 
hgs
parents: 44
diff changeset
   580
                                                        KGlxCi_UidGallery, KGlxOvi);
hgs
parents: 44
diff changeset
   581
                QVariant Ovivalue = ciSettingsManager->readItemValue(*oviCenrepKey, XQSettingsManager::TypeString);
hgs
parents: 44
diff changeset
   582
                HbAction* configurableAction = new HbAction(this);
hgs
parents: 44
diff changeset
   583
                configurableAction->setData(EGlxCmdOviOpen);
hgs
parents: 44
diff changeset
   584
                mActionList.append(configurableAction);
hgs
parents: 44
diff changeset
   585
            
hgs
parents: 44
diff changeset
   586
                if ( Ovivalue.isValid() && Ovivalue.canConvert<QString>() ) {
hgs
parents: 44
diff changeset
   587
                    configurableAction->setIcon( HbIcon( Ovivalue.toString() ) );
hgs
parents: 44
diff changeset
   588
                }
24
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   589
45
hgs
parents: 44
diff changeset
   590
                delete oviCenrepKey;
hgs
parents: 44
diff changeset
   591
            }
hgs
parents: 44
diff changeset
   592
            break;
hgs
parents: 44
diff changeset
   593
            
hgs
parents: 44
diff changeset
   594
        default:
hgs
parents: 44
diff changeset
   595
            qDebug("GlxViewManager::Configurable Action is empty " );
hgs
parents: 44
diff changeset
   596
            break;
hgs
parents: 44
diff changeset
   597
    }
hgs
parents: 44
diff changeset
   598
    
hgs
parents: 44
diff changeset
   599
    delete operatorLinkCenrepKey;
hgs
parents: 44
diff changeset
   600
    delete ciSettingsManager;
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   601
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   602
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   603
void GlxViewManager::createMarkingModeActions()
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   604
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   605
    mMarkingActionList.clear();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   606
    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   607
    //create the ok tool bar button action
26
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
   608
    HbAction* selectAction = new HbAction(GLX_BUTTON_OK, this);
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   609
    selectAction->setData(EGlxCmdSelect);
45
hgs
parents: 44
diff changeset
   610
    selectAction->setObjectName( "Select Action" );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   611
    mMarkingActionList.append(selectAction);
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   612
    connect( selectAction, SIGNAL(triggered( )), this, SLOT(handleAction( )), Qt::QueuedConnection );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   613
    mMarkingToolBar->addAction( selectAction );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   614
    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   615
    //create the cancel tool bar button action
26
c499df2dbb33 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 24
diff changeset
   616
    HbAction* cancelAction = new HbAction(GLX_BUTTON_CANCEL, this);
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   617
    cancelAction->setData(EGlxCmdCancel);
45
hgs
parents: 44
diff changeset
   618
    cancelAction->setObjectName( "Cancel Action" );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   619
    mMarkingActionList.append(cancelAction); 
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   620
    connect( cancelAction, SIGNAL(triggered( )), this, SLOT(handleAction( )), Qt::QueuedConnection ); 
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   621
    mMarkingToolBar->addAction( cancelAction );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   622
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   623
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   624
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   625
void GlxViewManager::createToolBar()
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   626
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   627
    qDebug("GlxViewManager::createToolBar() " );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   628
    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   629
    mViewToolBar = new HbToolBar();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   630
    mViewToolBar->setOrientation( Qt::Horizontal );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   631
    mViewToolBar->setVisible(true);
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   632
    mViewToolBar->clearActions();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   633
    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   634
    createActions();    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   635
    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   636
    qDebug("GlxViewManager::createToolBar() clear the action" );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   637
    int count = mActionList.count();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   638
    for ( int i = 0; i < count; i++ ) {
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   639
        connect( mActionList.at(i), SIGNAL(triggered( )), this, SLOT(handleAction( )) );
54
hgs
parents: 52
diff changeset
   640
        mActionList.at(i)->setCheckable( TRUE );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   641
        mViewToolBar->addAction( mActionList.at(i) );      
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   642
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   643
    qDebug("GlxViewManager::createToolBar() exit" );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   644
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   645
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   646
void GlxViewManager::createMarkingModeToolBar()
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   647
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   648
    qDebug("GlxViewManager::createMarkingModeToolBar() " );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   649
    mMarkingToolBar = new HbToolBar();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   650
    mMarkingToolBar->setOrientation( Qt::Horizontal );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   651
    mMarkingToolBar->setVisible(true);            
24
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   652
    mMarkingToolBar->clearActions();    
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   653
    createMarkingModeActions();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   654
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   655
71
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   656
void GlxViewManager::setMarkingToolBarAction( qint32 commandId )
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   657
{
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   658
    switch( commandId ) {
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   659
    case EGlxCmdAddToAlbum :
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   660
        mMarkingActionList.at( 0 )->setText( GLX_BUTTON_ADD );
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   661
        break;
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   662
        
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   663
    case EGlxCmdDelete :
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   664
        mMarkingActionList.at( 0 )->setText( GLX_BUTTON_DELETE );
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   665
        break;
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   666
        
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   667
    case EGlxCmdRemoveFrom :
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   668
        mMarkingActionList.at( 0 )->setText( GLX_BUTTON_REMOVE );
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   669
       break;
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   670
       
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   671
    case EGlxCmdSend :
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   672
        mMarkingActionList.at( 0 )->setText( GLX_BUTTON_SHARE );
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   673
        break;
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   674
        
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   675
    default :
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   676
        mMarkingActionList.at( 0 )->setText( GLX_BUTTON_OK );
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   677
        break;
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   678
    }
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   679
}
27f2d7aec52a 201039_01
hgs
parents: 62
diff changeset
   680
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   681
void GlxViewManager::addConnection()
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   682
{    
72
hgs
parents: 71
diff changeset
   683
    if ( mMenuManager ) {
hgs
parents: 71
diff changeset
   684
        connect( mMenuManager, SIGNAL( commandTriggered(qint32 ) ), 
hgs
parents: 71
diff changeset
   685
                this, SLOT( actionProcess(qint32 ) ));
hgs
parents: 71
diff changeset
   686
    }
hgs
parents: 71
diff changeset
   687
    if ( mBackAction ) {
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   688
        connect(mBackAction, SIGNAL( triggered() ), this, SLOT( handleAction() ));
72
hgs
parents: 71
diff changeset
   689
    }
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   690
        
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   691
    if ( mEffectEngine )  {
72
hgs
parents: 71
diff changeset
   692
        connect( mEffectEngine, SIGNAL( effectFinished() ), this, 
hgs
parents: 71
diff changeset
   693
                SLOT( effectFinished() ), Qt::QueuedConnection );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   694
    }        
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   695
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   696
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   697
void GlxViewManager::removeConnection()
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   698
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   699
    int count = mActionList.count();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   700
    for ( int i = 0; i < count; i++ ) {
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   701
        disconnect( mActionList.at(i), SIGNAL(triggered( )), this, SLOT(handleAction( )) );  
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   702
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   703
    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   704
    count = mMarkingActionList.count();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   705
    for ( int i = 0; i < count; i++ ) {
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   706
        disconnect( mMarkingActionList.at(i), SIGNAL(triggered( )), this, SLOT(handleAction( )) );  
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   707
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   708
    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   709
    count = mViewList.count();
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   710
    for ( int i = 0; i < count; i++ ) {
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   711
        disconnect ( mViewList.at(i), SIGNAL(actionTriggered(qint32 )), this, SLOT(actionProcess(qint32 )) );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   712
        disconnect ( mViewList.at(i), SIGNAL(itemSpecificMenuTriggered(qint32, QPointF ) ), this, SLOT( itemSpecificMenuTriggered(qint32, QPointF ) ));
24
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   713
        mMenuManager->removeMenu( mViewList.at(i)->viewId(), mViewList.at(i)->menu() ) ;
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   714
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   715
	   
72
hgs
parents: 71
diff changeset
   716
    if ( mMenuManager ) {
hgs
parents: 71
diff changeset
   717
        disconnect( mMenuManager, SIGNAL( commandTriggered( qint32 ) ), 
hgs
parents: 71
diff changeset
   718
                this, SLOT( actionProcess( qint32 ) ) );
hgs
parents: 71
diff changeset
   719
    }
24
99ad1390cd33 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   720
    
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   721
    if ( mBackAction )
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   722
        disconnect(mBackAction, SIGNAL( triggered() ), this, SLOT( handleAction() ));
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   723
        
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   724
    if ( mEffectEngine )  {
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   725
        disconnect( mEffectEngine, SIGNAL( effectFinished() ), this, SLOT( effectFinished() ) );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   726
    }
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   727
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   728
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   729
void GlxViewManager::destroyView(qint32 id)
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   730
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   731
    qDebug("GlxViewManager::destroyView ");
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   732
    GlxView *view = findView ( id );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   733
    mViewList.removeOne(view);
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   734
    delete view;
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   735
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   736
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   737
void GlxViewManager::actionProcess(qint32 id)
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   738
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   739
    qDebug("GlxViewManager::actionProcess action Id = %d ", id);
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   740
    emit actionTriggered(id);
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   741
}
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   742
54
hgs
parents: 52
diff changeset
   743
int GlxViewManager::getSubState()
hgs
parents: 52
diff changeset
   744
{
hgs
parents: 52
diff changeset
   745
    int curSubstate = NO_GRID_S;    
hgs
parents: 52
diff changeset
   746
    
hgs
parents: 52
diff changeset
   747
    if ( mModel  ) {    
hgs
parents: 52
diff changeset
   748
        QVariant variant = mModel->data( mModel->index(0,0), GlxSubStateRole );    
hgs
parents: 52
diff changeset
   749
        if ( variant.isValid() &&  variant.canConvert<int> ()  ) {
hgs
parents: 52
diff changeset
   750
            curSubstate = variant.value<int>();
hgs
parents: 52
diff changeset
   751
        }
hgs
parents: 52
diff changeset
   752
    }
hgs
parents: 52
diff changeset
   753
    return curSubstate;
hgs
parents: 52
diff changeset
   754
}