mpdata/src/mpmpxcollectiondata.cpp
author hgs
Tue, 24 Aug 2010 03:36:14 -0500
changeset 51 560ce2306a17
parent 36 a0afa279b8fe
permissions -rw-r--r--
201033
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description: Music Player collection data.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
#include "mpmpxcollectiondata.h"
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
#include "mpmpxcollectiondata_p.h"
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
/*!
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
    \class MpMpxCollectionData
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
    \brief Music Player collection data.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
    Collection data provides access to collection data needed by the view.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
    Every item of data can be accessed via an index and its details by specifying
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
    the data type of the selected data item.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
*/
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
/*!
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
    \enum MpMpxCollectionData::DataType
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
    This enum defines available data types.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
 */
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
/*!
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
    \fn void contextChanged( TCollectionContext context )
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
    This signal is emitted when a new data set is available and the
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
    collection context is changed.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
    \sa setMpxMedia()
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
 */
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
/*!
35
hgs
parents: 22
diff changeset
    46
    \fn void dataChanged()
hgs
parents: 22
diff changeset
    47
hgs
parents: 22
diff changeset
    48
    This signal is emitted when a new data set is available within the
hgs
parents: 22
diff changeset
    49
    same context. This can happen after operations like delete and several
hgs
parents: 22
diff changeset
    50
    playlist related operations (save, rearrange, remove).
hgs
parents: 22
diff changeset
    51
hgs
parents: 22
diff changeset
    52
    \sa setMpxMedia()
hgs
parents: 22
diff changeset
    53
 */
hgs
parents: 22
diff changeset
    54
51
hgs
parents: 36
diff changeset
    55
/*!
hgs
parents: 36
diff changeset
    56
    \fn void dataChanged( int fromIndex, int toIndex )
hgs
parents: 36
diff changeset
    57
hgs
parents: 36
diff changeset
    58
    This signal is emitted when a new data set is available within the
hgs
parents: 36
diff changeset
    59
    same context. This can happen during an incremental open operation,
hgs
parents: 36
diff changeset
    60
    if the view accesses a range of data that doesn't have final data
hgs
parents: 36
diff changeset
    61
    (i.e. Unknown). This signal is emitted upon completion of incremental
hgs
parents: 36
diff changeset
    62
    open operation, if such unavailable range was accessed.
hgs
parents: 36
diff changeset
    63
hgs
parents: 36
diff changeset
    64
    \sa setMpxMedia()
hgs
parents: 36
diff changeset
    65
 */
35
hgs
parents: 22
diff changeset
    66
hgs
parents: 22
diff changeset
    67
/*!
hgs
parents: 22
diff changeset
    68
    \fn void albumDataChanged()
hgs
parents: 22
diff changeset
    69
hgs
parents: 22
diff changeset
    70
    This signal is specific to views with TBone. This signal is emitted when
hgs
parents: 22
diff changeset
    71
    a new data set is available for the list section of the TBone. Currently,
hgs
parents: 22
diff changeset
    72
    the only operation that can trigger this is the delete operation.
hgs
parents: 22
diff changeset
    73
hgs
parents: 22
diff changeset
    74
    \sa setMpxMedia()
hgs
parents: 22
diff changeset
    75
 */
hgs
parents: 22
diff changeset
    76
hgs
parents: 22
diff changeset
    77
/*!
hgs
parents: 22
diff changeset
    78
    \fn void refreshAlbumSongs()
hgs
parents: 22
diff changeset
    79
hgs
parents: 22
diff changeset
    80
    This signal is specific to views with TBone. This signal is emitted when
hgs
parents: 22
diff changeset
    81
    album song data is available (for the list section of the TBone), upon
hgs
parents: 22
diff changeset
    82
    completion of MpEngine's findAlbumSongs() operation.
hgs
parents: 22
diff changeset
    83
hgs
parents: 22
diff changeset
    84
    \sa setAlbumContent()
hgs
parents: 22
diff changeset
    85
 */
hgs
parents: 22
diff changeset
    86
hgs
parents: 22
diff changeset
    87
/*!
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
 Constructs the collection data.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
 */
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
MpMpxCollectionData::MpMpxCollectionData( QObject *parent )
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
    : QObject(parent)
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
{
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    93
    d_ptr = new MpMpxCollectionDataPrivate(this);
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    94
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
/*!
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
 Destructs the collection data.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
 */
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
MpMpxCollectionData::~MpMpxCollectionData()
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
{
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   101
    delete d_ptr;
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
/*!
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
 Returns the current collection context.
35
hgs
parents: 22
diff changeset
   106
 /sa setContext()
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
 */
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
TCollectionContext MpMpxCollectionData::context() const
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
{
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
    return d_ptr->context();
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   111
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
/*!
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
 Returns the number of data entries.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   115
 */
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   116
int MpMpxCollectionData::count() const
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   117
{
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   118
    return d_ptr->count();
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   119
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
/*!
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   122
 Returns the \a title of the collection data based on the current context.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
 */
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   124
QString MpMpxCollectionData::collectionTitle() const
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
{
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   126
    return d_ptr->collectionTitle();
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   127
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   128
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   129
/*!
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
 Returns the data for the specified \a index and \a type.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   131
 */
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   132
QString MpMpxCollectionData::itemData( int index, MpMpxCollectionData::DataType type ) const
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   133
{
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   134
    return d_ptr->itemData(index, type);
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   135
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   136
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   137
/*!
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   138
 Returns if the current container is of type 'Auto playlist'.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   139
 */
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   140
bool MpMpxCollectionData::isAutoPlaylist()
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   141
{
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   142
    return d_ptr->isAutoPlaylist();
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
/*!
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
 Returns if the item specified by \a index is of type 'Auto playlist'.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
 */
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   148
bool MpMpxCollectionData::isAutoPlaylist( int index )
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
{
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   150
    return d_ptr->isAutoPlaylist(index);
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   151
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   152
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   153
/*!
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
 Returns the count of the items contained within item specified by \a index.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   155
 */
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
int MpMpxCollectionData::itemCount( int index )
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   157
{
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
    return d_ptr->itemCount(index);
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   159
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
/*!
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
 Returns the current container id.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
 */
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
int MpMpxCollectionData::containerId()
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
{
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
    return d_ptr->containerId();
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
/*!
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
 Returns id of the item specified by \a index
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
 */
36
hgs
parents: 35
diff changeset
   172
int MpMpxCollectionData::itemId( int index )
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
{
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
    return d_ptr->itemId(index);
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
/*!
36
hgs
parents: 35
diff changeset
   178
 Returns id of the album song specified by \a index
hgs
parents: 35
diff changeset
   179
 */
hgs
parents: 35
diff changeset
   180
int MpMpxCollectionData::albumSongId( int index )
hgs
parents: 35
diff changeset
   181
{
hgs
parents: 35
diff changeset
   182
    return d_ptr->albumSongId( index );
hgs
parents: 35
diff changeset
   183
}
hgs
parents: 35
diff changeset
   184
hgs
parents: 35
diff changeset
   185
/*!
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
 Removes item specified by \a index, also internally caches the item for drag
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
 and drop operations.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
 
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
 \sa testCachedItem() insertCachedItem()
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
 */
36
hgs
parents: 35
diff changeset
   191
void MpMpxCollectionData::removeItem( int index )
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
{
36
hgs
parents: 35
diff changeset
   193
    d_ptr->removeItem( index );
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
/*!
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
 Test wether the cached item matches \a itemId.
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
 \sa removeItem() insertCachedItem()
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
 */
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
bool MpMpxCollectionData::testCachedItem( int itemId )
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
{
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
    return d_ptr->testCachedItem( itemId );
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
/*!
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
 Inserts the cached item in the location specified by \a index
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
 \sa removeItem() testCachedItem()
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
 */
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
void MpMpxCollectionData::insertCachedItem(int index)
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
{
35
hgs
parents: 22
diff changeset
   211
    d_ptr->insertCachedItem( index );
hgs
parents: 22
diff changeset
   212
}
hgs
parents: 22
diff changeset
   213
hgs
parents: 22
diff changeset
   214
/*!
hgs
parents: 22
diff changeset
   215
 Sets the current album in focus. Also, triggers refreshAlbumSongs() signal
hgs
parents: 22
diff changeset
   216
 if data contains album songs already and returns true. Otherwise, function
hgs
parents: 22
diff changeset
   217
 returns false.
hgs
parents: 22
diff changeset
   218
 */
hgs
parents: 22
diff changeset
   219
bool MpMpxCollectionData::setCurrentAlbum( int index )
hgs
parents: 22
diff changeset
   220
{
hgs
parents: 22
diff changeset
   221
    return d_ptr->setCurrentAlbum( index );
hgs
parents: 22
diff changeset
   222
}
hgs
parents: 22
diff changeset
   223
hgs
parents: 22
diff changeset
   224
/*!
hgs
parents: 22
diff changeset
   225
 Returns the current album index.
hgs
parents: 22
diff changeset
   226
 \sa setCurrentAlbum()
hgs
parents: 22
diff changeset
   227
 */
hgs
parents: 22
diff changeset
   228
int MpMpxCollectionData::currentAlbumIndex() const
hgs
parents: 22
diff changeset
   229
{
hgs
parents: 22
diff changeset
   230
    return d_ptr->currentAlbumIndex();
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   231
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   233
/*!
35
hgs
parents: 22
diff changeset
   234
 Returns the number of songs in the current album.
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   235
 */
35
hgs
parents: 22
diff changeset
   236
int MpMpxCollectionData::albumSongsCount() const
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   237
{
35
hgs
parents: 22
diff changeset
   238
    return d_ptr->albumSongsCount();
hgs
parents: 22
diff changeset
   239
}
hgs
parents: 22
diff changeset
   240
hgs
parents: 22
diff changeset
   241
/*!
hgs
parents: 22
diff changeset
   242
 Returns the data for the specified \a index and \a type in the current album.
hgs
parents: 22
diff changeset
   243
 Currently supported data types are: Title and Uri. All others will return
hgs
parents: 22
diff changeset
   244
hgs
parents: 22
diff changeset
   245
 empty string.
hgs
parents: 22
diff changeset
   246
hgs
parents: 22
diff changeset
   247
 \sa setCurrentAlbum()
hgs
parents: 22
diff changeset
   248
 */
hgs
parents: 22
diff changeset
   249
QString MpMpxCollectionData::albumSongData( int index, MpMpxCollectionData::DataType type ) const
hgs
parents: 22
diff changeset
   250
{
hgs
parents: 22
diff changeset
   251
    return d_ptr->albumSongData( index, type );
hgs
parents: 22
diff changeset
   252
}
hgs
parents: 22
diff changeset
   253
hgs
parents: 22
diff changeset
   254
/*!
51
hgs
parents: 36
diff changeset
   255
 Returns item property for the specified \a index and \a type in the current item.
hgs
parents: 36
diff changeset
   256
 Currently supported data types are: Corrupted and DrmExpired. All others will return
hgs
parents: 36
diff changeset
   257
 false bool.
hgs
parents: 36
diff changeset
   258
 */
hgs
parents: 36
diff changeset
   259
hgs
parents: 36
diff changeset
   260
bool MpMpxCollectionData::hasItemProperty( int index, MpMpxCollectionData:: DataProperty type ) const
hgs
parents: 36
diff changeset
   261
{
hgs
parents: 36
diff changeset
   262
    return d_ptr->hasItemProperty( index, type );
hgs
parents: 36
diff changeset
   263
}
hgs
parents: 36
diff changeset
   264
hgs
parents: 36
diff changeset
   265
/*!
hgs
parents: 36
diff changeset
   266
 Returns item property for the specified \a index and \a type in the current album.
hgs
parents: 36
diff changeset
   267
 Currently supported data types are: Corrupted and DrmExpired. All others will return
hgs
parents: 36
diff changeset
   268
 false bool.
hgs
parents: 36
diff changeset
   269
 */
hgs
parents: 36
diff changeset
   270
bool MpMpxCollectionData::hasAlbumSongProperty( int index, MpMpxCollectionData:: DataProperty type ) const
hgs
parents: 36
diff changeset
   271
{
hgs
parents: 36
diff changeset
   272
    return d_ptr->hasAlbumSongProperty( index, type);
hgs
parents: 36
diff changeset
   273
}
hgs
parents: 36
diff changeset
   274
hgs
parents: 36
diff changeset
   275
/*!
35
hgs
parents: 22
diff changeset
   276
 Sets the media \a entries from the MPX framework. The \a reopen flag indicates
hgs
parents: 22
diff changeset
   277
 whether the new media is a result of reopenCollection() operation in the MpEngine.
hgs
parents: 22
diff changeset
   278
 Internal usage only from MpEngine.
hgs
parents: 22
diff changeset
   279
 */
hgs
parents: 22
diff changeset
   280
void MpMpxCollectionData::setMpxMedia( const CMPXMedia& entries, bool reopen )
hgs
parents: 22
diff changeset
   281
{
hgs
parents: 22
diff changeset
   282
    d_ptr->setMpxMedia(entries, reopen);
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   283
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   284
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   285
/*!
51
hgs
parents: 36
diff changeset
   286
 Called when collection was opened with incremental open. This indicates that the
hgs
parents: 36
diff changeset
   287
 media received in setMpxMedia() has an update.
hgs
parents: 36
diff changeset
   288
 */
hgs
parents: 36
diff changeset
   289
void MpMpxCollectionData::incrementalOpenUpdate()
hgs
parents: 36
diff changeset
   290
{
hgs
parents: 36
diff changeset
   291
    d_ptr->incrementalOpenUpdate();
hgs
parents: 36
diff changeset
   292
}
hgs
parents: 36
diff changeset
   293
hgs
parents: 36
diff changeset
   294
/*!
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   295
 Returns the container media from the MPX framework.
35
hgs
parents: 22
diff changeset
   296
 Internal usage only from MpEngine.
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   297
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   298
 \sa setMpxMedia()
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
 */
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   300
const CMPXMedia& MpMpxCollectionData::containerMedia()
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
{
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   302
    return d_ptr->containerMedia();
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
}
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   304
35
hgs
parents: 22
diff changeset
   305
/*!
hgs
parents: 22
diff changeset
   306
 Sets the context.
hgs
parents: 22
diff changeset
   307
 Used to fake open() and back() in T-Bone supporting views.
hgs
parents: 22
diff changeset
   308
 Used to force the context for Media Wall view.
hgs
parents: 22
diff changeset
   309
 */
hgs
parents: 22
diff changeset
   310
void MpMpxCollectionData::setContext( TCollectionContext context )
hgs
parents: 22
diff changeset
   311
{
hgs
parents: 22
diff changeset
   312
    d_ptr->setContext( context );
hgs
parents: 22
diff changeset
   313
}
hgs
parents: 22
diff changeset
   314
hgs
parents: 22
diff changeset
   315
/*!
hgs
parents: 22
diff changeset
   316
 Sets the media \a albumContent from the MPX framework.
hgs
parents: 22
diff changeset
   317
 Internal usage only from MpEngine.
hgs
parents: 22
diff changeset
   318
 Album songs have been populated. Notify the change by emitting
hgs
parents: 22
diff changeset
   319
 refreshAlbumSongs() signal.
hgs
parents: 22
diff changeset
   320
hgs
parents: 22
diff changeset
   321
 \sa setCurrentAlbum()
hgs
parents: 22
diff changeset
   322
 */
hgs
parents: 22
diff changeset
   323
void MpMpxCollectionData::setAlbumContent( const CMPXMedia& albumContent )
hgs
parents: 22
diff changeset
   324
{
hgs
parents: 22
diff changeset
   325
    d_ptr->setAlbumContent(albumContent);
hgs
parents: 22
diff changeset
   326
}
hgs
parents: 22
diff changeset
   327
hgs
parents: 22
diff changeset
   328
/*!
36
hgs
parents: 35
diff changeset
   329
 Returns the index of the item with \a ItemUniqueId.
35
hgs
parents: 22
diff changeset
   330
 Only supported for ECollectionContextAlbumsMediaWall.
hgs
parents: 22
diff changeset
   331
hgs
parents: 22
diff changeset
   332
 \sa setContext()
hgs
parents: 22
diff changeset
   333
 */
hgs
parents: 22
diff changeset
   334
int MpMpxCollectionData::itemIndex( int itemUniqueId )
hgs
parents: 22
diff changeset
   335
{
hgs
parents: 22
diff changeset
   336
    return d_ptr->itemIndex( itemUniqueId );
hgs
parents: 22
diff changeset
   337
}
hgs
parents: 22
diff changeset
   338
36
hgs
parents: 35
diff changeset
   339
/*!
hgs
parents: 35
diff changeset
   340
 Returns the index within the album data for the song with \a songUniqueId.
hgs
parents: 35
diff changeset
   341
hgs
parents: 35
diff changeset
   342
 */
hgs
parents: 35
diff changeset
   343
int MpMpxCollectionData::albumSongIndex( int songUniqueId )
hgs
parents: 35
diff changeset
   344
{
hgs
parents: 35
diff changeset
   345
    return d_ptr->albumSongIndex( songUniqueId );
hgs
parents: 35
diff changeset
   346
}
hgs
parents: 35
diff changeset
   347
51
hgs
parents: 36
diff changeset
   348
/*!
hgs
parents: 36
diff changeset
   349
 Returns the list of index for the song with \a songUniqueId. 
hgs
parents: 36
diff changeset
   350
 A list is returned due to playlist can contain the same song 
hgs
parents: 36
diff changeset
   351
 multiple times.
hgs
parents: 36
diff changeset
   352
hgs
parents: 36
diff changeset
   353
 */
hgs
parents: 36
diff changeset
   354
QList<int>  MpMpxCollectionData::songIndex( int songUniqueId )
hgs
parents: 36
diff changeset
   355
{
hgs
parents: 36
diff changeset
   356
    return d_ptr->songIndex( songUniqueId );
hgs
parents: 36
diff changeset
   357
}
hgs
parents: 36
diff changeset
   358
hgs
parents: 36
diff changeset
   359
/*!
hgs
parents: 36
diff changeset
   360
 Set model index \a index as corrupted.  
36
hgs
parents: 35
diff changeset
   361
51
hgs
parents: 36
diff changeset
   362
 */
hgs
parents: 36
diff changeset
   363
void MpMpxCollectionData::setCorruptValue( QModelIndex index, bool tBone )
hgs
parents: 36
diff changeset
   364
{
hgs
parents: 36
diff changeset
   365
    d_ptr->setCorruptValue( index, tBone );
hgs
parents: 36
diff changeset
   366
}
36
hgs
parents: 35
diff changeset
   367
51
hgs
parents: 36
diff changeset
   368
/*!
hgs
parents: 36
diff changeset
   369
 Set the reloadAlbumContent variable to \a reloadAlbum
hgs
parents: 36
diff changeset
   370
hgs
parents: 36
diff changeset
   371
 */
hgs
parents: 36
diff changeset
   372
void MpMpxCollectionData::setReloadAlbumContent( bool reloadAlbum )
hgs
parents: 36
diff changeset
   373
{
hgs
parents: 36
diff changeset
   374
    d_ptr->setReloadAlbumContent( reloadAlbum );
hgs
parents: 36
diff changeset
   375
}
hgs
parents: 36
diff changeset
   376