commondrm/drmsettingsplugin/src/drmsettingsusagecheckbox.cpp
changeset 23 493788a4a8a4
parent 0 95b198f216e5
equal deleted inserted replaced
5:79d62d1d7957 23:493788a4a8a4
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 // INCLUDE FILES
    19 // INCLUDE FILES
    20 #include <stringloader.h>
    20 #include <StringLoader.h>
    21 #include <aknquerydialog.h>
    21 #include <AknQueryDialog.h>
    22 #include <akninfopopupnotecontroller.h>
    22 #include <AknInfoPopupNoteController.h>
    23 #include <drmsettingspluginrsc.rsg>
    23 #include <drmsettingspluginrsc.rsg>
    24 
    24 
    25 #include "drmsettingsusagecheckbox.h"
    25 #include "drmsettingsusagecheckbox.h"
    26 #include "drmsettingsusagelist.h"
    26 #include "drmsettingsusagelist.h"
    27 #include "drmsettingsmodel.h"
    27 #include "drmsettingsmodel.h"
       
    28 #include "drmsettingsplugin.h"
    28 
    29 
    29 // ================= MEMBER FUNCTIONS =======================
    30 // ================= MEMBER FUNCTIONS =======================
    30 
    31 
    31 // -----------------------------------------------------------------------------
    32 // -----------------------------------------------------------------------------
    32 // CDrmSettingUsageCheckBox::CDrmSettingUsageCheckBox
    33 // CDrmSettingUsageCheckBox::CDrmSettingUsageCheckBox
    33 // Default constructor.
    34 // Default constructor.
    34 // -----------------------------------------------------------------------------
    35 // -----------------------------------------------------------------------------
    35 //
    36 //
    36 CDrmSettingUsageCheckBox::CDrmSettingUsageCheckBox( 
    37 CDrmSettingUsageCheckBox::CDrmSettingUsageCheckBox(
    37     TInt aResourceId,
    38     TInt aResourceId,
    38     CDRMSettingUsageList* aList,
    39     CDRMSettingUsageList* aList,
    39     CDRMSettingsModel* aModel ) : CAknCheckBoxSettingPage( aResourceId, aList ),
    40     CDRMSettingsModel* aModel,
       
    41     CDRMSettingsPlugin* aPlugin ) : CAknCheckBoxSettingPage( aResourceId, aList ),
    40                                   iList( aList ),
    42                                   iList( aList ),
    41                                   iModel( aModel )
    43                                   iModel( aModel ),
       
    44                                   iDrmSettingsPlugin( aPlugin )
    42     {
    45     {
    43 	}
    46     }
    44 
    47 
    45 // ----------------------------------------------------------------------------
    48 // ----------------------------------------------------------------------------
    46 // CDrmSettingUsageCheckBox::~CDrmSettingUsageCheckBox
    49 // CDrmSettingUsageCheckBox::~CDrmSettingUsageCheckBox
    47 //
    50 //
    48 // Destructor
    51 // Destructor
    55 
    58 
    56 // -----------------------------------------------------------------------------
    59 // -----------------------------------------------------------------------------
    57 // CDrmSettingUsageCheckBox::OfferKeyEventL
    60 // CDrmSettingUsageCheckBox::OfferKeyEventL
    58 // -----------------------------------------------------------------------------
    61 // -----------------------------------------------------------------------------
    59 //
    62 //
    60 TKeyResponse CDrmSettingUsageCheckBox::OfferKeyEventL( 
    63 TKeyResponse CDrmSettingUsageCheckBox::OfferKeyEventL(
    61     const TKeyEvent& aKeyEvent,
    64     const TKeyEvent& aKeyEvent,
    62     TEventCode aType )
    65     TEventCode aType )
    63     {
    66     {
    64     TKeyResponse response( EKeyWasNotConsumed );
    67     TKeyResponse response( EKeyWasNotConsumed );
    65     if ( aKeyEvent.iCode != EKeyApplicationF )
    68     if ( aKeyEvent.iCode != EKeyApplicationF )
    66         {
    69         {
    67         response = this->ListBoxControl()->OfferKeyEventL( aKeyEvent, aType );
    70         response = this->ListBoxControl()->OfferKeyEventL( aKeyEvent, aType );
    68         }
    71         }
    69     
    72 
    70     if ( aType == EEventKeyUp )
    73     if ( aType == EEventKeyUp )
    71         {
    74         {
    72         ShowInfoPopupL();
    75         ShowInfoPopupL();
    73         }
    76         }
    74     
    77 
       
    78     if ( ( aType == EEventKey ) && ( aKeyEvent.iCode == EKeyEscape ) )
       
    79         {
       
    80         iDrmSettingsPlugin->HandleCommandL( EEikCmdExit );
       
    81         }
       
    82 
    75     return response;
    83     return response;
    76     }
    84     }
    77 
    85 
    78 // -----------------------------------------------------------------------------
    86 // -----------------------------------------------------------------------------
    79 // CDrmSettingUsageCheckBox::DynamicInitL
    87 // CDrmSettingUsageCheckBox::DynamicInitL
    81 //
    89 //
    82 void CDrmSettingUsageCheckBox::DynamicInitL()
    90 void CDrmSettingUsageCheckBox::DynamicInitL()
    83     {
    91     {
    84     HBufC* emptyText( StringLoader::LoadLC( R_USAGE_REPORTING_LIST_EMPTY,
    92     HBufC* emptyText( StringLoader::LoadLC( R_USAGE_REPORTING_LIST_EMPTY,
    85                                             iEikonEnv ) );
    93                                             iEikonEnv ) );
    86 	this->ListBoxControl()->View()->SetListEmptyTextL( *emptyText );
    94     this->ListBoxControl()->View()->SetListEmptyTextL( *emptyText );
    87 	CleanupStack::PopAndDestroy( emptyText );
    95     CleanupStack::PopAndDestroy( emptyText );
    88 	}
    96     }
    89 
    97 
    90 // -----------------------------------------------------------------------------
    98 // -----------------------------------------------------------------------------
    91 // CDrmSettingUsageCheckBox::OkToExitL
    99 // CDrmSettingUsageCheckBox::OkToExitL
    92 // -----------------------------------------------------------------------------
   100 // -----------------------------------------------------------------------------
    93 //
   101 //
    94 TBool CDrmSettingUsageCheckBox::OkToExitL( TBool aAccept )
   102 TBool CDrmSettingUsageCheckBox::OkToExitL( TBool aAccept )
    95     {
   103     {
    96     TBool exit( ETrue );
   104     TBool exit( ETrue );
    97     
   105 
    98     if ( aAccept )
   106     if ( aAccept )
    99         {
   107         {
   100         iList->UpdateContexts();
   108         iList->UpdateContexts();
   101     
   109 
   102         if ( !iModel->IsMeteringAllowedForAll() )
   110         if ( !iModel->IsMeteringAllowedForAll() )
   103             {
   111             {
   104             HBufC* query( StringLoader::LoadLC( R_DRM_CONF_QUERY_METERING,
   112             HBufC* query( StringLoader::LoadLC( R_DRM_CONF_QUERY_METERING,
   105                                                 iEikonEnv ) );
   113                                                 iEikonEnv ) );
   106         
   114 
   107             CAknQueryDialog* queryDialog( CAknQueryDialog::NewL() );
   115             CAknQueryDialog* queryDialog( CAknQueryDialog::NewL() );
   108         
   116 
   109             TBool retVal( queryDialog->ExecuteLD( R_DRM_CONFIRMATION_QUERY_METERING,
   117             TBool retVal( queryDialog->ExecuteLD( R_DRM_CONFIRMATION_QUERY_METERING,
   110                                                   *query ) );
   118                                                   *query ) );
   111             CleanupStack::PopAndDestroy( query );
   119             CleanupStack::PopAndDestroy( query );
   112             
   120 
   113             if ( !retVal )
   121             if ( !retVal )
   114                 {
   122                 {
   115                 exit = EFalse;
   123                 exit = EFalse;
   116                 }
   124                 }
   117             }
   125             }
   118         }
   126         }
   119     
   127 
   120     return exit;
   128     return exit;
   121     }
   129     }
   122 
   130 
   123 // -----------------------------------------------------------------------------
   131 // -----------------------------------------------------------------------------
   124 // CDrmSettingUsageCheckBox::AcceptSettingL
   132 // CDrmSettingUsageCheckBox::AcceptSettingL
   141         }
   149         }
   142     TInt index( this->ListBoxControl()->View()->CurrentItemIndex() );
   150     TInt index( this->ListBoxControl()->View()->CurrentItemIndex() );
   143     if ( index != -1 )
   151     if ( index != -1 )
   144         {
   152         {
   145         iPopupController->SetTextL( iList->At(index)->ItemText() );
   153         iPopupController->SetTextL( iList->At(index)->ItemText() );
   146         iPopupController->ShowInfoPopupNote();    
   154         iPopupController->ShowInfoPopupNote();
   147         }
   155         }
   148     }
   156     }
   149 
   157 
   150 //  End of File
   158 //  End of File