coreapplicationuis/powersaveutilities/batterypopupcontrol/src/batterypopupcontrol.cpp
changeset 56 11a052f4b02e
parent 49 76883296a0d5
child 65 8a530a83576a
--- a/coreapplicationuis/powersaveutilities/batterypopupcontrol/src/batterypopupcontrol.cpp	Tue Jul 06 14:26:20 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,589 +0,0 @@
-/*
-* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  BatteryPopupControl implementation
-*
-*/
-
-
-//#include <aknutils.h>
-//#include <aknpanic.h>
-//#include <aknpreviewpopupcontroller.h>
-//#include <aknglobalpopupprioritycontroller.h>
-#include <barsread.h> // TResourceReader
-#include <eiklabel.h>
-#include <fbs.h>
-//#include <aknappui.h>
-//#include <aknlayoutscalable_avkon.cdl.h>
-//#include <aknsdrawutils.h>
-//#include <aknbiditextutils.h>
-#include <data_caging_path_literals.hrh> // KDC_RESOURCE_FILES_DIR
-#include <batterypopupcontrol.mbg>
-// ----------- Touch feedback additions start
-#ifdef RD_TACTILE_FEEDBACK
-#include <touchfeedback.h>
-#endif //RD_TACTILE_FEEDBACK
-// ----------- Touch feedback additions end
-#include <gulicon.h>
-#include "batterypopupcontrol.h"
-#include "trace.h"
-
-// Constants
-//const TInt KPopupShowDelay = 0;       // Show immediately
-//const TInt KPopupHideDelay = 3000000; // hide after 3 sec
-//const TInt KMaxLinkTextLength = 255;
-
-// ======== MEMBER FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// Default constructor.
-// -----------------------------------------------------------------------------
-//
-CBatteryPopupControl::CBatteryPopupControl(): 
-    iHighlightedItem( EFalse )
-    {
-    FUNC_LOG
-    }
-
-// -----------------------------------------------------------------------------
-// CBatteryPopupControl::NewL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CBatteryPopupControl* CBatteryPopupControl::NewL(
-        const TDesC& aContentText,
-        const TDesC& aLinkText )
-    {
-    FUNC_LOG
-    CBatteryPopupControl* self =
-                            new ( ELeave ) CBatteryPopupControl();
-                                
-    CleanupStack::PushL( self );
-    self->ConstructL( aContentText, aLinkText );
-    CleanupStack::Pop( self );
-    return self;
-    }    
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CBatteryPopupControl::~CBatteryPopupControl()
-    {  
-    FUNC_LOG   
-  //  delete iController;
-    delete iText;
-    delete iIcon;
-    delete iLinkText;
-    } 
-
-// -----------------------------------------------------------------------------
-// CBatteryPopupControl::SetCommandObserver
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CBatteryPopupControl::SetCommandObserver(
-        MEikCommandObserver& aCommandObserver )
-    {
-    FUNC_LOG
-    iCommandObserver = &aCommandObserver;
-    }
-
-// -----------------------------------------------------------------------------
-// CBatteryPopupControl::ShowPopUpL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CBatteryPopupControl::ShowPopUpL()
-    {    
-    FUNC_LOG
-    
- /*   iController = CAknPreviewPopUpController::NewL( *this, CAknPreviewPopUpController::ELayoutDefault | CAknPreviewPopUpController::EDontClose );            
-    iController->AddObserverL( *this );
-    
-    // Set popup's hide/show delays
-    iController->SetPopUpShowDelay( KPopupShowDelay );
-    iController->SetPopUpHideDelay( KPopupHideDelay );
-               
-    // Position
-    TPoint uipRect;
-    if( AknLayoutUtils::LayoutMetricsPosition( 
-        AknLayoutUtils::EBatteryPane, uipRect ) )
-        {
-        iController->SetPosition( uipRect );
-        }
-		
-    // Launch
-    iController->ShowPopUp();  */
-    }
-
-// -----------------------------------------------------------------------------
-// From class CCoeControl.
-// CBatteryPopupControl::HandleResourceChange
-// -----------------------------------------------------------------------------
-//
-void CBatteryPopupControl::HandleResourceChange(
-        TInt aType )
-    {
-    FUNC_LOG
-    	
-   /* CCoeControl::HandleResourceChange( aType );
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SizeChanged();
-        }*/
-    }
-
-
-// -----------------------------------------------------------------------------
-// From class CCoeControl.
-// CBatteryPopupControl::SetContainerWindowL
-// -----------------------------------------------------------------------------
-//
-void CBatteryPopupControl::SetContainerWindowL(
-        const CCoeControl& aContainer )
-    {
-    FUNC_LOG
-    	
- //   CCoeControl::SetContainerWindowL( aContainer );
-    
-    if( iText )
-        {
-        iText->SetContainerWindowL( aContainer );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// From class MCoeControlObserver.
-// CBatteryPopupControl::HandleControlEventL
-// -----------------------------------------------------------------------------
-//
-void CBatteryPopupControl::HandleControlEventL(
-        CCoeControl* /*aControl*/,
-        TCoeEvent /*aEventType*/ )
-    {
-    FUNC_LOG
-    }
-// ---------------------------------------------------------------------------
-// From MAknPreviewPopUpObserver
-// ---------------------------------------------------------------------------
-//
-/*
-void CBatteryPopupControl::HandlePreviewPopUpEventL(
-    CAknPreviewPopUpController aController,
-   TPreviewPopUpEvent aEvent )
-    {
-    FUNC_LOG
-
-    switch ( aEvent )
-        {
-        case EPreviewPopUpShown:
-            AknGlobalPopupPriorityController::ShowPopup( *this, ETrue );
-            break;
-        case EPreviewPopUpHidden:
-            AknGlobalPopupPriorityController::RemovePopupPriority( *this );
-            break;
-        }
-    }
-    */
-// -----------------------------------------------------------------------------
-// CAknStylusActivatedPopUpContent::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CBatteryPopupControl::ConstructL( const TDesC& aContentText,
-                                       const TDesC& aLinkText )
-    {
-    FUNC_LOG
-
-    if( aContentText != KNullDesC )
-        {           
-        iText = new ( ELeave ) CEikLabel;
-        iText->SetTextL( aContentText );
-        CreateIconL();
-        }
-    
-    if( aLinkText != KNullDesC )
-        {
-        // Check if only link is displayed.
-        if( aContentText != KNullDesC )
-            {
-            iVariant = EVariantIconTextLink;
-            }      
-        iLinkText = aLinkText.AllocL(); 
-        }
- /*       
-    TRect rectPopUpWindow = PopUpWindowRectFromLayout( 
-        AknLayoutScalable_Avkon::popup_battery_window( iVariant ) );
-      
-    TAknWindowComponentLayout infoPaneLayout =
-        AknLayoutScalable_Avkon::bg_popup_sub_pane_cp25( iVariant );
-        
-    TRect rectInfoPane = RectFromLayout( rectPopUpWindow, infoPaneLayout );
-
-    TAknTextComponentLayout textLayout =
-        AknLayoutScalable_Avkon::popup_battery_window_t1( iVariant );
-    TAknLayoutText textRect;
-    textRect.LayoutText( rectPopUpWindow, textLayout );
-    */
-    // Font for command links
-  //  iFont = textRect.Font();    
-    }
-    
-// -----------------------------------------------------------------------------
-// From class CCoeControl.
-// CBatteryPopupControl::ComponentControl
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CBatteryPopupControl::ComponentControl(
-        TInt aIndex ) const
-    {
-    FUNC_LOG	
-    switch ( aIndex )
-        {
-        case 0:
-            {
-            if( iText )
-                {
-                return iText;             
-                }
-            }        
-        default:
-         //   __ASSERT_ALWAYS( aIndex >= 0, User::Panic( 
-          //      _L("CBatteryPopupControl::ComponentControl"), EAknPanicOutOfRange ) );
-            return NULL;
-        }        
-    }
-
-
-// -----------------------------------------------------------------------------
-// From class CCoeControl.
-// CBatteryPopupControl::CountComponentControls
-// -----------------------------------------------------------------------------
-//
-TInt CBatteryPopupControl::CountComponentControls() const
-    {
-    FUNC_LOG
-    TInt count = 0;   
-
-    if( iText )
-        {
-        count++;
-        }
-    
-    return count;
-    }
-
-
-// -----------------------------------------------------------------------------
-// From class CCoeControl.
-// CBatteryPopupControl::Draw
-// -----------------------------------------------------------------------------
-//
-void CBatteryPopupControl::Draw( const TRect& /*aRect*/ ) const
-    {
-    FUNC_LOG
-      	
- /*   CWindowGc& gc = SystemGc();
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    
-    if( iIcon )
-        {
-        CFbsBitmap* bmp = NULL;
-        TRgb color( KRgbWhite ); // Default never used
-        bmp = AknsUtils::GetCachedBitmap( skin, KAknsIIDQsnComponentColorBmpCG2 );
-        AknsUtils::GetCachedColor( skin, color, 
-            KAknsIIDQsnComponentColors, EAknsCIQsnComponentColorsCG2 );
-
-        AknIconUtils::SetSize( iIcon->Mask(), iBitmapLayout.Rect().Size() );
-        if ( bmp )
-            {
-            iBitmapLayout.DrawImage( gc, bmp, iIcon->Mask() );
-            }
-        else
-            {
-            AknIconUtils::SetSize( iIcon->Bitmap(), iBitmapLayout.Rect().Size() );     
-            bmp = iIcon->Bitmap();
-            iBitmapLayout.DrawImage( gc, bmp, iIcon->Mask() );
-            }
-        gc.Reset(); 
-        }
-    TRgb textColor;
-    AknsUtils::GetCachedColor( skin, textColor, KAknsIIDQsnHighlightColors,
-                               EAknsCIQsnHighlightColorsCG3 );
-
-    gc.SetPenStyle( CGraphicsContext::ESolidPen ); 
-    gc.SetPenColor( textColor );
-
-    const CFont* font = iFont;
-    if ( !font )
-        {
-        font = iCoeEnv->NormalFont();
-        }
-    gc.UseFont( font );
-
-    gc.SetUnderlineStyle( EUnderlineOn );
-    if(iLinkText)
-        {
-        TRect rect( iLinkRect );
-        if ( Background() )
-            {
-            Background()->Draw( gc, *this, rect );
-            }
-
-        // buffer for visually ordered text
-        HBufC* visualText = NULL; 
-        TRAPD( err, visualText = HBufC::NewL( KMaxLinkTextLength + 
-            KAknBidiExtraSpacePerLine ) ); 
-        if ( err != KErrNone )
-            {
-            return; 
-            }
-        TPtr ptr = visualText->Des(); 
-        TInt clipWidth = rect.Width();
-
-        if ( iHighlightedItem ) 
-            {
-            TRgb highlightcolor = AKN_LAF_COLOR( 244 );
-            AknsUtils::GetCachedColor( skin, highlightcolor, 
-                                       KAknsIIDQsnHighlightColors, EAknsCIQsnHighlightColorsCG1 );
-
-            gc.SetBrushColor( highlightcolor );
-            gc.SetBrushStyle( CGraphicsContext::ESolidBrush ); 
-            }
-        else
-            {
-            gc.SetBrushStyle( CGraphicsContext::ENullBrush );
-            }
-
-        // bidi processing - using AknBidiTextUtils.
-        AknBidiTextUtils::ConvertToVisualAndClip(
-            *(iLinkText),
-            ptr,
-            *font,
-            clipWidth,
-            clipWidth );
-
-        TInt baselineOffset = 0;
-        baselineOffset = font->AscentInPixels() +
-            ( rect.Height() - font->AscentInPixels() ) / 2;
-        gc.DrawText( ptr, rect, baselineOffset, 
-            CGraphicsContext::ELeft );
-        delete visualText; 
-        }*/
-    }
-
-
-// -----------------------------------------------------------------------------
-// From class CCoeControl.
-// CBatteryPopupControl::MinimumSize
-// -----------------------------------------------------------------------------
-//
-TSize CBatteryPopupControl::MinimumSize()
-    {
-    FUNC_LOG
-    TInt nbrOfInfoLines = 0;
-    TInt minWidth = 0;
-    
-    if( iText )
-        {
-        nbrOfInfoLines = iText->NumberOfLines();
-        CEikLabel* textLabel; 
-        for ( TInt i=0; i < nbrOfInfoLines; i++ )
-            {
-            textLabel = iText;
-            TPtrC ptrText = ( *textLabel->Text() );
-            minWidth = Max( textLabel->CalcMinimumSize( ptrText ).iWidth, minWidth ); 
-            }
-        }
-    if(iLinkText)
-        {     
-        TInt tempWidth = iFont->TextWidthInPixels( *( iLinkText ) );
-        minWidth = Max( minWidth, tempWidth );
-        }
-  //  TInt rectWidth = 0;
-    
-/*    TAknWindowComponentLayout infoPaneLayout = 
-        AknLayoutScalable_Avkon::bg_popup_sub_pane_cp25( iVariant );
-               
-    TRect rectPopUpWindow =  PopUpWindowRectFromLayout( 
-        AknLayoutScalable_Avkon::popup_battery_window( iVariant ) );   
-
-    TRect rectInfoPane = RectFromLayout( rectPopUpWindow, infoPaneLayout );
-    
-    rectWidth = Max( rectInfoPane.Width(), minWidth ); 
-    
-    TInt rectHeight = rectInfoPane.Height();*/
-   
- //   return TSize( rectWidth, rectHeight ); 
-    }
-
-
-// -----------------------------------------------------------------------------
-// From class CCoeControl.
-// CBatteryPopupControl::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CBatteryPopupControl::SizeChanged()
-    {
-    FUNC_LOG 	
-    // Get popup window rect
- /*   TRect rectPopUpWindow =  PopUpWindowRectFromLayout( 
-        AknLayoutScalable_Avkon::bg_popup_sub_pane_cp25( iVariant ) );
-    
-    // Get pane icon and text layouts
-    TAknWindowLineLayout paneIconLayout(
-        AknLayoutScalable_Avkon::popup_battery_window_g1(iVariant));
-
-    //Set icon and text rects
-    if( iIcon )
-        {
-        iBitmapLayout.LayoutRect( rectPopUpWindow, paneIconLayout );
-        }
-    
-    if( iText )
-        {
-        TAknTextComponentLayout textLayout =
-        AknLayoutScalable_Avkon::popup_battery_window_t1( iVariant );
-    
-        TAknLayoutText textRect;
-        textRect.LayoutText( rectPopUpWindow, textLayout );
-    
-        iText->SetRect( textRect.TextRect() );    
-        // Set text font
-        iText->SetFont( textRect.Font() );
-        }
-        
-    // Set link text rect
-    if( iLinkText )
-        {
-        TAknLayoutText linkLayoutText;
-        // popup_battery_window_t2 doesn't have other variants as EVariantIconTextLink
-        linkLayoutText.LayoutText( rectPopUpWindow,
-            AknLayoutScalable_Avkon::popup_battery_window_t2( EVariantIconTextLink ) );
-       
-        iFont = linkLayoutText.Font();
-        
-        TInt tempWidth = iFont->TextWidthInPixels( *(iLinkText) );
-        TRect tempRect;
-        
-        if( iText )
-            {                     
-            tempRect = TRect( linkLayoutText.TextRect() ); 
-            }
-        else
-            {
-            TAknLayoutRect linkLayout;
-          
-            linkLayout.LayoutRect( rectPopUpWindow, paneIconLayout );
-  
-            tempRect = TRect( linkLayout.Rect() );            
-            }
-        tempRect.SetWidth( tempWidth );
-        iLinkRect = tempRect;
-        }*/
-    }
-
-// -----------------------------------------------------------------------------
-// RectFromLayout
-// -----------------------------------------------------------------------------
-//
-/*TRect CBatteryPopupControl::RectFromLayout( const TRect& aParent,
-        const TAknWindowComponentLayout& aComponentLayout ) const
-    {
-    TAknWindowLineLayout lineLayout = aComponentLayout.LayoutLine();
-    TAknLayoutRect layoutRect;
-    layoutRect.LayoutRect( aParent, lineLayout );
-    return layoutRect.Rect();
-    }*/
-
-// -----------------------------------------------------------------------------
-// PopUpWindowRectFromLayout
-// -----------------------------------------------------------------------------
-//
-/*TRect CBatteryPopupControl::PopUpWindowRectFromLayout( const
-    TAknWindowComponentLayout& aComponentLayout ) const
-    {
-    FUNC_LOG          
-    // get popup window width from the widest variety
-    TAknWindowLineLayout lineLayout = aComponentLayout.LayoutLine();
-    
-    lineLayout.iW = AknLayoutScalable_Avkon::
-        popup_battery_window( iVariant ).LayoutLine().iW;
-    TAknLayoutRect layoutRect;
-    layoutRect.LayoutRect( iAvkonAppUi->ApplicationRect(), lineLayout );
-
-    return layoutRect.Rect();
-    }*/
-   
-// -----------------------------------------------------------------------------
-// From class CCoeControl
-// CBatteryPopupControl::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CBatteryPopupControl::HandlePointerEventL(
-    const TPointerEvent& aPointerEvent )
-    {
-    FUNC_LOG    
-    if(iLinkText)
-        {
-        if ( iLinkRect.Contains( aPointerEvent.iPosition ) )
-            {
-            if ( !iHighlightedItem )
-                {         
-                iHighlightedItem = ETrue;             
-             //   DrawNow( iLinkRect );
-                }
-#ifdef RD_TACTILE_FEEDBACK
-            if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-                {
-                MTouchFeedback* feedback = MTouchFeedback::Instance();
-                
-                if ( feedback )
-                    {
-                    feedback->InstantFeedback( ETouchFeedbackBasic );
-                    }
-                }
-#endif // RD_TACTILE_FEEDBACK                   
-            // Nofity command observer  
-            if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
-                {
-              //  iCommandObserver->ProcessCommandL( ELinkFirst );
-                iHighlightedItem = EFalse; 
-                }
-            }
-				}
-    }
-// -----------------------------------------------------------------------------
-// CBatteryPopupControl::CreateIconL()
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CBatteryPopupControl::CreateIconL(  )
-    {
-    FUNC_LOG
-    
-    TParse* fp = new( ELeave ) TParse();
-    CleanupStack::PushL( fp );
-    _LIT( KBIPPluginIconDirAndName, "z:\\resource\\apps\\batterypopupcontrol.mif");
-    fp->Set( KBIPPluginIconDirAndName, &KDC_BITMAP_DIR, NULL );
-    
-    delete iIcon;
-    iIcon = NULL;
-    
- /*   iIcon = AknsUtils::CreateGulIconL( AknsUtils::SkinInstance(),
-                                       KAknsIIDQgnPropBatteryIcon,
-                                       fp->FullName(),
-                                       EMbmBatterypopupcontrolQgn_prop_battery_ps_deactivate,
-                                       EMbmBatterypopupcontrolQgn_prop_battery_ps_deactivate_mask );
-*/
-    CleanupStack::PopAndDestroy( fp );
-    }      
-//  End of File