qtinternetradio/ui/src/irsettingsview.cpp
branchGCC_SURGE
changeset 13 c9471d26c7f2
parent 12 608f67c22514
child 15 065198191975
equal deleted inserted replaced
9:bfc95e24a059 13:c9471d26c7f2
    22 
    22 
    23 #include "irapplication.h"
    23 #include "irapplication.h"
    24 #include "irsettingsview.h"
    24 #include "irsettingsview.h"
    25 #include "irqsettings.h"
    25 #include "irqsettings.h"
    26 #include "irqenums.h"
    26 #include "irqenums.h"
       
    27 #include <hbmenu.h>
    27 
    28 
    28 IRSettingsView::IRSettingsView(IRApplication *aApplication, TIRViewId aViewId) :
    29 IRSettingsView::IRSettingsView(IRApplication *aApplication, TIRViewId aViewId) :
    29     IRBaseView(aApplication, aViewId), iForm(NULL),iModel(NULL)
    30     IRBaseView(aApplication, aViewId), iForm(NULL),iModel(NULL)
    30 {
    31 {
    31     //this view won't be starting view, don't need lazy init
    32     //this view won't be starting view, don't need lazy init
    32     IRBaseView::lazyInit();
    33     IRBaseView::lazyInit();
    33     setInitCompleted(true);
    34     setInitCompleted(true);
    34     
    35     
    35     iPreferredQuality<<hbTrId("txt_irad_setlabel_download_quality_val_standard")<<hbTrId("txt_irad_setlabel_download_quality_val_high");
    36     setFlag(EViewFlag_UnStackable);
       
    37     
    36     initView();
    38     initView();
    37 }
    39 }
    38 
    40 
    39 IRSettingsView::~IRSettingsView()
    41 IRSettingsView::~IRSettingsView()
    40 {
    42 {
    41 }
       
    42 
       
    43 void IRSettingsView::preferredQualitySelected(int aIndex)
       
    44 {
       
    45     if (0 == aIndex)
       
    46     {
       
    47         iSettings->setPreferredQuality(EIRQStandardQuality);
       
    48     }
       
    49     else
       
    50     {
       
    51         iSettings->setPreferredQuality(EIRQHighQuality);
       
    52     }
       
    53 }
    43 }
    54 
    44 
    55 void IRSettingsView::initView()
    45 void IRSettingsView::initView()
    56 {
    46 {
    57     QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical, this);
    47     QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical, this);
    58     setLayout(layout);
    48     setLayout(layout);
    59 
    49 
    60     HbGroupBox * titleText = new HbGroupBox();
    50     HbGroupBox * titleText = new HbGroupBox();
    61     titleText->setHeading( hbTrId("txt_irad_subtitle_network_setting") ); 
    51 #ifdef SUBTITLE_STR_BY_LOCID
       
    52     titleText->setHeading( hbTrId("txt_common_opt_settings") );
       
    53 #else
       
    54     titleText->setHeading( hbTrId("Settings") );    
       
    55 #endif
    62     layout->addItem(titleText);
    56     layout->addItem(titleText);
    63 
    57 
    64     iForm = new HbDataForm();
    58     iForm = new HbDataForm();
    65     layout->addItem(iForm);
    59     layout->addItem(iForm);
    66 
    60 
    68     iModel = new HbDataFormModel();
    62     iModel = new HbDataFormModel();
    69     
    63     
    70     //set the preferred quality
    64     //set the preferred quality
    71     setPreferredQuality();
    65     setPreferredQuality();
    72     iForm->setModel(iModel);
    66     iForm->setModel(iModel);
       
    67     
       
    68     HbMenu *viewMenu = menu();
       
    69 #ifdef SUBTITLE_STR_BY_LOCID
       
    70     viewMenu->addAction(hbTrId("txt_common_opt_exit"),iApplication, SIGNAL(quit()));
       
    71 #else
       
    72     viewMenu->addAction(hbTrId("Exit"),iApplication, SIGNAL(quit()));    
       
    73 #endif
    73 }
    74 }
    74 
    75 
    75 void IRSettingsView::setPreferredQuality()
    76 void IRSettingsView::setPreferredQuality()
    76 {
    77 {
       
    78 #ifdef SUBTITLE_STR_BY_LOCID
    77     HbDataFormModelItem *preferredQualityItem = new HbDataFormModelItem(
    79     HbDataFormModelItem *preferredQualityItem = new HbDataFormModelItem(
    78             HbDataFormModelItem::RadioButtonListItem, hbTrId("txt_irad_setlabel_download_quality"));
    80             HbDataFormModelItem::ToggleValueItem, hbTrId("txt_irad_setlabel_download_quality"));
       
    81 #else
       
    82     HbDataFormModelItem *preferredQualityItem = new HbDataFormModelItem(
       
    83             HbDataFormModelItem::ToggleValueItem, hbTrId("Download quality"));    
       
    84 #endif
    79     iModel->appendDataFormItem(preferredQualityItem);
    85     iModel->appendDataFormItem(preferredQualityItem);
    80 	
    86 
    81     preferredQualityItem->setContentWidgetData(QString("items"), iPreferredQuality);
       
    82     IRQPreferredQuality settingValue = iSettings->getPreferredQuality();
    87     IRQPreferredQuality settingValue = iSettings->getPreferredQuality();
    83     preferredQualityItem->setContentWidgetData(QString("selected"), settingValue);
    88     if(EIRQStandardQuality == settingValue)
    84 	
    89     {
    85     iForm->addConnection(preferredQualityItem,SIGNAL(itemSelected(int)),this,SLOT(preferredQualitySelected(int)));
    90 #ifdef SUBTITLE_STR_BY_LOCID
       
    91         preferredQualityItem->setContentWidgetData("text", hbTrId("txt_irad_setlabel_download_quality_val_standard"));
       
    92         preferredQualityItem->setContentWidgetData("additionalText", hbTrId("txt_irad_setlabel_download_quality_val_high"));
       
    93 #else
       
    94         preferredQualityItem->setContentWidgetData("text", hbTrId("Standard"));
       
    95         preferredQualityItem->setContentWidgetData("additionalText", hbTrId("High"));        
       
    96 #endif
       
    97     }
       
    98     else if(EIRQHighQuality == settingValue)
       
    99     {
       
   100 #ifdef SUBTITLE_STR_BY_LOCID
       
   101         preferredQualityItem->setContentWidgetData("text", hbTrId("txt_irad_setlabel_download_quality_val_high"));
       
   102         preferredQualityItem->setContentWidgetData("additionalText", hbTrId("txt_irad_setlabel_download_quality_val_standard"));
       
   103 #else
       
   104         preferredQualityItem->setContentWidgetData("text", hbTrId("High"));
       
   105         preferredQualityItem->setContentWidgetData("additionalText", hbTrId("Standard"));        
       
   106 #endif
       
   107     }
       
   108     
       
   109     connect(iModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), 
       
   110         this, SLOT(toggleChange(QModelIndex, QModelIndex)));
    86 }
   111 }
    87 
   112 
       
   113 void IRSettingsView::toggleChange(QModelIndex aStartIn, QModelIndex aEndIn)
       
   114 {
       
   115     Q_UNUSED(aEndIn);
       
   116 
       
   117     HbDataFormModelItem *item = iModel->itemFromIndex(aStartIn);
       
   118     
       
   119     if(item->type() == HbDataFormModelItem::ToggleValueItem) 
       
   120     {
       
   121 #ifdef SUBTITLE_STR_BY_LOCID
       
   122         if(item->data(HbDataFormModelItem::LabelRole).toString() == hbTrId("txt_irad_setlabel_download_quality"))
       
   123 #else
       
   124         if(item->data(HbDataFormModelItem::LabelRole).toString() == hbTrId("Download quality"))            
       
   125 #endif
       
   126         {
       
   127             QVariant data = item->contentWidgetData("text");
       
   128             QString value = data.toString();
       
   129             
       
   130 #ifdef SUBTITLE_STR_BY_LOCID
       
   131             if(value == (hbTrId("txt_irad_setlabel_download_quality_val_standard")))
       
   132 #else
       
   133             if(value == (hbTrId("Standard")))                
       
   134 #endif
       
   135             {    
       
   136                 // User has made it Standard.
       
   137                 iSettings->setPreferredQuality(EIRQStandardQuality);
       
   138             }
       
   139 #ifdef SUBTITLE_STR_BY_LOCID
       
   140             else if(value == (hbTrId("txt_irad_setlabel_download_quality_val_high")))
       
   141 #else
       
   142             else if(value == (hbTrId("High")))                
       
   143 #endif
       
   144             {
       
   145                 // User has made it High.
       
   146                 iSettings->setPreferredQuality(EIRQHighQuality);
       
   147             }
       
   148         }
       
   149     }
       
   150 }