mpviewplugins/mpplaybackviewplugin/src/mpequalizerwidget.cpp
changeset 35 fdb31ab341af
parent 34 2c5162224003
child 32 c163ef0b758d
equal deleted inserted replaced
34:2c5162224003 35:fdb31ab341af
    18 // System includes
    18 // System includes
    19 #include <QStringList>
    19 #include <QStringList>
    20 #include <hblabel.h>
    20 #include <hblabel.h>
    21 #include <hbaction.h>
    21 #include <hbaction.h>
    22 #include <hbradiobuttonlist.h>
    22 #include <hbradiobuttonlist.h>
       
    23 #include <EqualizerConstants.h>
    23 
    24 
    24 // User includes
    25 // User includes
    25 #include "mpequalizerwidget.h"
    26 #include "mpequalizerwidget.h"
    26 #include "mpequalizerwrapper.h"
    27 #include "mpenginefactory.h"
    27 #include "mptrace.h"
    28 #include "mptrace.h"
    28 
    29 
    29 // CONSTANTS
       
    30 const int KEqualizerPresetNone = -1;
       
    31 
    30 
    32 /*!
    31 /*!
    33     \class MpEqualizerWidget
    32     \class MpEqualizerWidget
    34     \brief Provide radio button list to select a predefined eq. preset
    33     \brief Provide radio button list to select a predefined eq. preset
    35 */
    34 */
    36 
    35 
    37 /*!
    36 /*!
    38  Constructs the Equalizer widget.
    37  Constructs the Equalizer widget.
    39  */
    38  */
    40 MpEqualizerWidget::MpEqualizerWidget() :
    39 MpEqualizerWidget::MpEqualizerWidget() :
    41     mEqualizerWrapper(0),
    40     mMpEngine(0),
    42     mPresetsList(0),
    41     mPresetsList(0),
    43     mOriginalPreset(KEqualizerPresetNone),
    42     mOriginalPreset(KEqualizerPresetNone)
    44     mEqualizerReady(false)
       
    45 {
    43 {
    46     TX_ENTRY
    44     TX_ENTRY
    47     
    45     
    48     initialize();
    46     initialize();
    49     
    47     
    53 /*!
    51 /*!
    54  Destructs the widget.
    52  Destructs the widget.
    55  */
    53  */
    56 MpEqualizerWidget::~MpEqualizerWidget()
    54 MpEqualizerWidget::~MpEqualizerWidget()
    57 {
    55 {
    58     TX_ENTRY
    56 	TX_LOG
    59     
       
    60     delete mEqualizerWrapper;
       
    61     
       
    62     TX_EXIT
       
    63 }
    57 }
    64 
    58 
    65 /*!
    59 /*!
    66  Initialize dialog by loading the EqualizerUtility.
    60  Initialize dialog by loading the EqualizerUtility.
    67  */
    61  */
    68 void MpEqualizerWidget::initialize()
    62 void MpEqualizerWidget::initialize()
    69 {
    63 {
    70     TX_ENTRY
    64     TX_ENTRY
    71     
    65     
    72     mEqualizerWrapper = new MpEqualizerWrapper( this );
    66     mMpEngine = MpEngineFactory::sharedEngine();
    73 
       
    74     connect( mEqualizerWrapper,
       
    75             SIGNAL( equalizerReady() ),
       
    76             this,
       
    77             SLOT( equalizerReady() ) );
       
    78 
    67 
    79     TX_EXIT
    68     TX_EXIT
    80 }
    69 }
    81 
    70 
    82 /*!
    71 /*!
    91 	setModal( true );
    80 	setModal( true );
    92     setDismissPolicy(HbDialog::NoDismiss);
    81     setDismissPolicy(HbDialog::NoDismiss);
    93     setFrameType(HbPopup::Strong);
    82     setFrameType(HbPopup::Strong);
    94     setHeadingWidget(new HbLabel(hbTrId("txt_mus_title_select_preset")));
    83     setHeadingWidget(new HbLabel(hbTrId("txt_mus_title_select_preset")));
    95 
    84 
    96 
    85     mOriginalPreset = mMpEngine->activePreset();
    97     if ( mEqualizerReady ) {
    86     QStringList listItems;
    98         mOriginalPreset = mEqualizerWrapper->activePreset();
    87     QStringList presetNames = mMpEngine->presetNames();
    99         QStringList listItems = mEqualizerWrapper->presetNames();
    88     for ( int i=0; i<presetNames.count(); i++ ) {
   100         listItems.prepend(hbTrId("txt_mus_list_off"));
    89         QString name = getLogicalName( presetNames.at(i) );
   101 
    90         if ( name.size() > 0 ) {
   102         int presetSelected;
    91             listItems.append( name );
   103         if (mOriginalPreset == KEqualizerPresetNone) {
    92         }
   104             presetSelected = 0;     //First list item corresponds to "OFF"
    93     }
   105         }
    94     listItems.prepend(hbTrId("txt_mus_list_off"));
   106         else {
    95     TX_LOG_ARGS( "PresetNames=" << listItems);
   107             presetSelected = mOriginalPreset;
    96     int presetSelected;
   108         }
    97     if (mOriginalPreset == KEqualizerPresetNone) {
   109 
    98         presetSelected = 0;     //First list item corresponds to "OFF"
   110         mPresetsList = new HbRadioButtonList(listItems, presetSelected, HbRadioButtonList::NoPreview, this);
    99     }
   111         setContentWidget( mPresetsList );  //mPresetsList now owned by HbDialog
   100     else {
   112 
   101         presetSelected = mOriginalPreset;
   113         connect( mPresetsList, 
   102     }
   114                SIGNAL(itemSelected(int)), 
   103 
   115                this, 
   104     mPresetsList = new HbRadioButtonList(listItems, presetSelected, HbRadioButtonList::NoPreview, this);
   116                SLOT(presetSelected(int)));
   105     setContentWidget( mPresetsList );  //mPresetsList now owned by HbDialog
   117     }
   106 
       
   107     connect( mPresetsList, 
       
   108            SIGNAL(itemSelected(int)), 
       
   109            this, 
       
   110            SLOT(presetSelected(int)));
   118     
   111     
   119     clearActions();
   112     clearActions();
   120     action = new HbAction( hbTrId( "txt_common_button_ok" ) );
   113     action = new HbAction( hbTrId( "txt_common_button_ok" ) );
   121     connect( action, SIGNAL( triggered( bool ) ), this, SLOT( okSelected( bool ) ) );
   114     connect( action, SIGNAL( triggered( bool ) ), this, SLOT( okSelected( bool ) ) );
   122     addAction( action );
   115     addAction( action );
   132  */
   125  */
   133 void MpEqualizerWidget::presetSelected(int index)
   126 void MpEqualizerWidget::presetSelected(int index)
   134 {
   127 {
   135     TX_ENTRY
   128     TX_ENTRY
   136     
   129     
   137     if (mEqualizerWrapper) {
   130     if (mMpEngine) {
   138         if (index == 0) {
   131         if (index == 0) {
   139             mEqualizerWrapper->disableEqualizer();
   132             mMpEngine->disableEqualizer();
   140         }
   133         }
   141         else{
   134         else{
   142             mEqualizerWrapper->applyPreset( index );
   135             mMpEngine->applyPreset( index );
   143         }
   136         }
   144     }
   137     }
   145     
   138     
   146     TX_EXIT
   139     TX_EXIT
   147 }
   140 }
   152 void MpEqualizerWidget::cancelSelected(bool checked)
   145 void MpEqualizerWidget::cancelSelected(bool checked)
   153 {
   146 {
   154     TX_ENTRY
   147     TX_ENTRY
   155     Q_UNUSED(checked);
   148     Q_UNUSED(checked);
   156     
   149     
   157     if (mEqualizerWrapper && mPresetsList) {
   150     if (mMpEngine && mPresetsList) {
   158         // Return to the original Preset
   151         // Return to the original Preset
   159         if (mOriginalPreset != mEqualizerWrapper->activePreset()) {
   152         if (mOriginalPreset != mMpEngine->activePreset()) {
   160             if (mOriginalPreset == KEqualizerPresetNone) {
   153             if (mOriginalPreset == KEqualizerPresetNone) {
   161                 mEqualizerWrapper->disableEqualizer();
   154                 mMpEngine->disableEqualizer();
   162                 mPresetsList->setSelected( 0 );     //First list item corresponds to "OFF"
   155                 mPresetsList->setSelected( 0 );     //First list item corresponds to "OFF"
   163             }
   156             }
   164             else {
   157             else {
   165                 mEqualizerWrapper->applyPreset( mOriginalPreset );
   158                 mMpEngine->applyPreset( mOriginalPreset );
   166                 mPresetsList->setSelected( mOriginalPreset );
   159                 mPresetsList->setSelected( mOriginalPreset );
   167             }            
   160             }            
   168         }
   161         }
   169     }
   162     }
   170     
   163     
   178 {
   171 {
   179     TX_ENTRY
   172     TX_ENTRY
   180     Q_UNUSED(checked);    
   173     Q_UNUSED(checked);    
   181     
   174     
   182     //Update original preset
   175     //Update original preset
   183     if (mEqualizerWrapper) {
   176     if (mMpEngine) {
   184         mOriginalPreset = mEqualizerWrapper->activePreset();
   177         mOriginalPreset = mMpEngine->activePreset();
   185     }
   178     }
   186     
   179     
   187     TX_EXIT
   180     TX_EXIT
   188 }
   181 }
   189 
   182 
   190 /*!
   183 /*!
   191  Equalizer utility is ready
   184   Return the logical name base on preset name. Used for localization.
   192  */
   185  */
   193 void MpEqualizerWidget::equalizerReady()
   186 QString MpEqualizerWidget::getLogicalName( QString name )
   194 {
   187 {
   195     TX_ENTRY
   188     TX_ENTRY_ARGS( "Name = " << name );
   196     
   189     QString logicalName;
   197     mEqualizerReady = true;
   190 
   198     
   191     if ( name == "Bass Booster" ) {
   199     TX_EXIT
   192         logicalName = hbTrId( "txt_mus_list_bass_booster" );
       
   193     }
       
   194     else if ( name == "Classic" ) {
       
   195         logicalName = hbTrId( "txt_mus_list_classical" );
       
   196     }
       
   197     else if ( name == "Pop" ) {
       
   198         logicalName = hbTrId( "txt_mus_list_pop" );
       
   199     }
       
   200     else if ( name == "Jazz" ) {
       
   201         logicalName = hbTrId( "txt_mus_list_jazz" );
       
   202     }
       
   203     else if ( name == "Rock" ) {
       
   204         logicalName = hbTrId( "txt_mus_list_rock" );
       
   205     }
       
   206     
       
   207     TX_EXIT_ARGS( "Logical String = " << logicalName );
       
   208     return logicalName;
   200 }
   209 }
   201 
   210 
   202 //End of File
   211 //End of File