qtinternetradio/ui/src/irmainmodel.cpp
changeset 3 ee64f059b8e1
parent 0 09774dfdd46b
child 12 608f67c22514
equal deleted inserted replaced
2:2e1adbfc62af 3:ee64f059b8e1
    12 * Contributors:
    12 * Contributors:
    13 *
    13 *
    14 * Description:
    14 * Description:
    15 *
    15 *
    16 */
    16 */
    17 
       
    18 #include <QBrush>
       
    19 #include <hbglobal.h>
    17 #include <hbglobal.h>
    20 
    18 
    21 #include "iruidefines.h"
       
    22 #include "irmainmodel.h"
    19 #include "irmainmodel.h"
    23 #include "irsymbiandocument.h"
    20 #include "irplaylist.h"
    24 
    21 
    25 IRMainModel::IRMainModel(QObject *aParent) : QAbstractListModel(aParent)
    22 IRMainModel::IRMainModel(IRPlayList *aPlayList, QObject *aParent) : QAbstractListModel(aParent), iPlayList(aPlayList)
    26 {
    23 {
    27     initModel();
    24     initModel();
    28 }
    25 }
    29 
    26 
    30 int IRMainModel::rowCount(const QModelIndex &aParent) const
    27 int IRMainModel::rowCount(const QModelIndex &aParent) const
    44     if (aRole == Qt::DisplayRole)
    41     if (aRole == Qt::DisplayRole)
    45     {
    42     {
    46         int row = aIndex.row();
    43         int row = aIndex.row();
    47         QVariantList list;
    44         QVariantList list;
    48         list.append(iPrimaryTexts.at(row));
    45         list.append(iPrimaryTexts.at(row));
    49         list.append(iSecondaryTexts.at(row));
       
    50         return list;
    46         return list;
    51     }
       
    52     else if (aRole == Qt::BackgroundRole)
       
    53     {
       
    54         if (aIndex.row() % 2 == 0)
       
    55         {
       
    56             return QBrush(KListEvenRowColor);
       
    57         }
       
    58         else
       
    59         {
       
    60             return QBrush(KListOddRowColor);
       
    61         }
       
    62     }
    47     }
    63     
    48     
    64     return QVariant();
    49     return QVariant();
    65 }
    50 }
    66 
    51 
    67 void IRMainModel::initModel()
    52 void IRMainModel::initModel()
    68 {
    53 {
    69     iPrimaryTexts << hbTrId("txt_irad_list_recently_played_stations") 
    54     iPrimaryTexts << hbTrId("txt_irad_list_stations_by_country_region")
    70                   << hbTrId("txt_irad_list_stations_by_country_region")
       
    71                   << hbTrId("txt_irad_list_stations_by_language")
    55                   << hbTrId("txt_irad_list_stations_by_language")
       
    56                   << hbTrId("txt_irad_list_recently_played_stations")
    72                   << hbTrId("txt_irad_list_recently_played_songs");
    57                   << hbTrId("txt_irad_list_recently_played_songs");
    73     iSecondaryTexts << tr("BBC World Service, Cloud FM ...") << tr("US, UK, France, Korea, Mexico ...") 
       
    74                     << tr("English, French, German...")
       
    75                     << tr("Recently played songs");
       
    76 }
    58 }
       
    59 
    77 void IRMainModel::checkUpdate()
    60 void IRMainModel::checkUpdate()
    78 {
    61 {
    79     IRSymbianDocument *document = IRSymbianDocument::getInstance();
    62     if (NULL == iPlayList)
    80     QString primary = hbTrId("txt_irad_subtitle_stations_from_play_list");     
    63     {
    81     QString secondary = tr("Stations from play list file");
    64         return;
    82     if (document->isPlsAvailable())
    65     }
       
    66     
       
    67     QString primary = hbTrId("txt_irad_subtitle_stations_from_play_list");
       
    68     if (iPlayList->getNumberOfEntries() > 0)
    83     {
    69     {
    84         //if pls item is not in collections view, add
    70         //if pls item is not in collections view, add
    85         if (iPrimaryTexts.indexOf(primary) == -1)
    71         if (iPrimaryTexts.indexOf(primary) == -1)
    86         {
    72         {
    87             int number = iPrimaryTexts.count();
    73             int number = iPrimaryTexts.count();
    88             beginInsertRows(QModelIndex(), number, number);
    74             beginInsertRows(QModelIndex(), number, number);
    89             iPrimaryTexts << primary;
    75             iPrimaryTexts << primary;
    90             iSecondaryTexts << secondary;
       
    91             endInsertRows();
    76             endInsertRows();
    92         }
    77         }
    93     }
    78     }
    94     else
    79     else
    95     {
    80     {
    97         int index = iPrimaryTexts.indexOf(primary);
    82         int index = iPrimaryTexts.indexOf(primary);
    98         if (index != -1)
    83         if (index != -1)
    99         {
    84         {
   100             beginRemoveRows(QModelIndex(), index, index);
    85             beginRemoveRows(QModelIndex(), index, index);
   101             iPrimaryTexts.removeAt(index);
    86             iPrimaryTexts.removeAt(index);
   102             iSecondaryTexts.removeAt(index);
       
   103             endRemoveRows();
    87             endRemoveRows();
   104         }
    88         }
   105     }
    89     }
   106 }
    90 }