taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswapgrid.cpp
changeset 5 c743ef5928ba
parent 4 4d54b72983ae
child 9 f966699dea19
equal deleted inserted replaced
4:4d54b72983ae 5:c743ef5928ba
    27  /* ================================================================================
    27  /* ================================================================================
    28   * CTsFastSwapGrid
    28   * CTsFastSwapGrid
    29   * ================================================================================
    29   * ================================================================================
    30   */
    30   */
    31 
    31 
       
    32 const TInt KCloseIconRedrawTime = 300000; // 0.3 second
       
    33 
    32 // -----------------------------------------------------------------------------
    34 // -----------------------------------------------------------------------------
    33 // CTsFastSwapGrid::CTsFastSwapGrid
    35 // CTsFastSwapGrid::CTsFastSwapGrid
    34 // -----------------------------------------------------------------------------
    36 // -----------------------------------------------------------------------------
    35 //
    37 //
    36 CTsFastSwapGrid::CTsFastSwapGrid()
    38 CTsFastSwapGrid::CTsFastSwapGrid()
    48 //
    50 //
    49 CTsFastSwapGrid::~CTsFastSwapGrid()
    51 CTsFastSwapGrid::~CTsFastSwapGrid()
    50     {
    52     {
    51     iCloseItems.Close();
    53     iCloseItems.Close();
    52     delete iBgContext;
    54     delete iBgContext;
       
    55     delete iCloseIconRedrawTimer;
    53     iFullyVisibleItems.Close();
    56     iFullyVisibleItems.Close();
    54     iPartialVisibleItems.Close();
    57     iPartialVisibleItems.Close();
    55     }
    58     }
    56 
    59 
    57 // -----------------------------------------------------------------------------
    60 // -----------------------------------------------------------------------------
    69                TRect(),
    72                TRect(),
    70                TRect(),
    73                TRect(),
    71                ETrue );
    74                ETrue );
    72     iBgContext->SetCenter( KAknsIIDQsnFrPopupCenter );
    75     iBgContext->SetCenter( KAknsIIDQsnFrPopupCenter );
    73     iVisibleViewRect = TRect( 0, 0, 0, 0 );
    76     iVisibleViewRect = TRect( 0, 0, 0, 0 );
       
    77     iCloseIconRedrawTimer = new (ELeave) CTsFastSwapTimer( *this );
       
    78     iCloseIconRedrawTimer->ConstructL();
    74     }
    79     }
    75 
    80 
    76 // -----------------------------------------------------------------------------
    81 // -----------------------------------------------------------------------------
    77 // CTsFastSwapGrid::HandlePointerEventL
    82 // CTsFastSwapGrid::HandlePointerEventL
    78 // -----------------------------------------------------------------------------
    83 // -----------------------------------------------------------------------------
   132                         MTouchFeedback* feedback = MTouchFeedback::Instance();
   137                         MTouchFeedback* feedback = MTouchFeedback::Instance();
   133                         feedback->InstantFeedback(this,
   138                         feedback->InstantFeedback(this,
   134                                                   ETouchFeedbackBasicButton, 
   139                                                   ETouchFeedbackBasicButton, 
   135                                                   ETouchFeedbackVibra, 
   140                                                   ETouchFeedbackVibra, 
   136                                                   aPointerEvent);
   141                                                   aPointerEvent);
   137                         iFastSwapGridObserver->HandleCloseEventL( hitDataIdx );
   142                         iCloseIconRedrawTimer->Cancel();
       
   143                         iCloseIconRedrawTimer->After(KCloseIconRedrawTime);
   138                         }
   144                         }
   139                     ResetCloseHit();
       
   140                     if ( GridBehaviour() == EHybrid )
   145                     if ( GridBehaviour() == EHybrid )
   141                         {
   146                         {
   142                         ShowHighlight();
   147                         ShowHighlight();
   143                         }
   148                         }
   144                     else
   149                     else
   251     CleanupStack::Pop( itemDrawer );
   256     CleanupStack::Pop( itemDrawer );
   252     CleanupStack::Pop( data );
   257     CleanupStack::Pop( data );
   253     LoadCloseIcon();
   258     LoadCloseIcon();
   254     }
   259     }
   255 
   260 
       
   261 // -----------------------------------------------------------------------------
       
   262 // CTsFastSwapGrid::TimerCompletedL
       
   263 // -----------------------------------------------------------------------------
       
   264 //
       
   265 void CTsFastSwapGrid::TimerCompletedL( CTsFastSwapTimer* aSource )
       
   266     {
       
   267     if ( aSource == iCloseIconRedrawTimer )
       
   268         {
       
   269         iFastSwapGridObserver->HandleCloseEventL( iCloseIconHitIdx );
       
   270         ResetCloseHit();
       
   271         }
       
   272     }
   256 
   273 
   257 // -----------------------------------------------------------------------------
   274 // -----------------------------------------------------------------------------
   258 // CTsFastSwapGrid::SetCloseItemsL
   275 // CTsFastSwapGrid::SetCloseItemsL
   259 // -----------------------------------------------------------------------------
   276 // -----------------------------------------------------------------------------
   260 //
   277 //
   408     {
   425     {
   409     // Load and set close icon
   426     // Load and set close icon
   410     CFbsBitmap* icon = NULL;
   427     CFbsBitmap* icon = NULL;
   411     CFbsBitmap* mask = NULL;
   428     CFbsBitmap* mask = NULL;
   412 
   429 
   413     TRAP_IGNORE(AknsUtils::CreateIconLC( AknsUtils::SkinInstance(),
   430     TRAP_IGNORE(AknsUtils::CreateColorIconLC( AknsUtils::SkinInstance(),
   414                 KAknsIIDQgnIndiItutListCollapse,
   431                 KAknsIIDQgnIndiItutListCollapse,
       
   432                 KAknsIIDQsnTextColors,    // we use text color here, eventhough this is an icon
       
   433                 EAknsCIQsnTextColorsCG13, // softkey text color
   415                 icon,
   434                 icon,
   416                 mask,
   435                 mask,
   417                 KAvkonBitmapFile,
   436                 KAvkonBitmapFile,
   418                 EMbmAvkonQgn_indi_button_preview_close,
   437                 EMbmAvkonQgn_indi_button_preview_close,
   419                 EMbmAvkonQgn_indi_button_preview_close_mask
   438                 EMbmAvkonQgn_indi_button_preview_close_mask,
       
   439                 KRgbWhite
   420                 );
   440                 );
   421                 CleanupStack::Pop( 2 ); // codescanner::cleanup
   441                 CleanupStack::Pop( 2 ); // codescanner::cleanup
   422                 );
   442                 );
   423 
   443 
   424     TAknLayoutRect gridAppPane;
   444     TAknLayoutRect gridAppPane;