mpviewplugins/mpdetailsviewplugin/src/mpsharedata.cpp
author hgs
Fri, 14 May 2010 18:54:37 -0500
changeset 35 fdb31ab341af
child 36 a0afa279b8fe
permissions -rw-r--r--
201019
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35
hgs
parents:
diff changeset
     1
#ifdef SHARE_FUNC_ENABLED
hgs
parents:
diff changeset
     2
hgs
parents:
diff changeset
     3
#include "mpsharedata.h"
hgs
parents:
diff changeset
     4
#include "mpsongdata.h"
hgs
parents:
diff changeset
     5
hgs
parents:
diff changeset
     6
// TODO OVI_URL needs to come from cenrep
hgs
parents:
diff changeset
     7
const QString OVI_URL = "http://music.ovi.com";
hgs
parents:
diff changeset
     8
hgs
parents:
diff changeset
     9
// The music note symbol that we post if we do not have music store URL.
hgs
parents:
diff changeset
    10
const QString MUSIC_NOTE_SYMBOL = "♫ ";
hgs
parents:
diff changeset
    11
hgs
parents:
diff changeset
    12
MpShareData::MpShareData()
hgs
parents:
diff changeset
    13
    : mOwner( 0 ),
hgs
parents:
diff changeset
    14
      mSongData( 0 )
hgs
parents:
diff changeset
    15
{
hgs
parents:
diff changeset
    16
}
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
MpShareData::~MpShareData()
hgs
parents:
diff changeset
    19
{
hgs
parents:
diff changeset
    20
}
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
void MpShareData::setOwner( QObject* aOwner )
hgs
parents:
diff changeset
    23
{
hgs
parents:
diff changeset
    24
    mOwner = aOwner;
hgs
parents:
diff changeset
    25
}
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
QObject* MpShareData::owner() const
hgs
parents:
diff changeset
    28
{
hgs
parents:
diff changeset
    29
    return mOwner;
hgs
parents:
diff changeset
    30
}
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
void MpShareData::setSongData( MpSongData* aSongData )
hgs
parents:
diff changeset
    33
{
hgs
parents:
diff changeset
    34
    mSongData = aSongData;
hgs
parents:
diff changeset
    35
}
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
MpSongData* MpShareData::songData() const
hgs
parents:
diff changeset
    38
{
hgs
parents:
diff changeset
    39
    return mSongData;
hgs
parents:
diff changeset
    40
}
hgs
parents:
diff changeset
    41
hgs
parents:
diff changeset
    42
void MpShareData::setErrorMessage( const QString& s )
hgs
parents:
diff changeset
    43
{
hgs
parents:
diff changeset
    44
    mErrorMessage = s;
hgs
parents:
diff changeset
    45
}
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
QString MpShareData::errorMessage() const
hgs
parents:
diff changeset
    48
{
hgs
parents:
diff changeset
    49
    return mErrorMessage;
hgs
parents:
diff changeset
    50
}
hgs
parents:
diff changeset
    51
hgs
parents:
diff changeset
    52
void MpShareData::setUsername( const QString& s )
hgs
parents:
diff changeset
    53
{
hgs
parents:
diff changeset
    54
    mUsername = s;
hgs
parents:
diff changeset
    55
}
hgs
parents:
diff changeset
    56
hgs
parents:
diff changeset
    57
QString MpShareData::username() const
hgs
parents:
diff changeset
    58
{
hgs
parents:
diff changeset
    59
    return mUsername;
hgs
parents:
diff changeset
    60
}
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
void MpShareData::setPassword( const QString& s )
hgs
parents:
diff changeset
    63
{
hgs
parents:
diff changeset
    64
    mPassword = s;
hgs
parents:
diff changeset
    65
}
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
QString MpShareData::password() const
hgs
parents:
diff changeset
    68
{
hgs
parents:
diff changeset
    69
    return mPassword;
hgs
parents:
diff changeset
    70
}
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
void MpShareData::setLanguage( const QString& s )
hgs
parents:
diff changeset
    73
{
hgs
parents:
diff changeset
    74
	mLanguage = s;
hgs
parents:
diff changeset
    75
}
hgs
parents:
diff changeset
    76
hgs
parents:
diff changeset
    77
QString MpShareData::language() const
hgs
parents:
diff changeset
    78
{
hgs
parents:
diff changeset
    79
	return mLanguage;
hgs
parents:
diff changeset
    80
}
hgs
parents:
diff changeset
    81
hgs
parents:
diff changeset
    82
QString MpShareData::objectType() const
hgs
parents:
diff changeset
    83
{
hgs
parents:
diff changeset
    84
    if ( !mSongData || mSongData->link().isEmpty() )
hgs
parents:
diff changeset
    85
    {
hgs
parents:
diff changeset
    86
        return "NOTE-APPEND";
hgs
parents:
diff changeset
    87
    }
hgs
parents:
diff changeset
    88
    else
hgs
parents:
diff changeset
    89
    {
hgs
parents:
diff changeset
    90
        // No link, append artist-song
hgs
parents:
diff changeset
    91
        return "URI";
hgs
parents:
diff changeset
    92
    }
hgs
parents:
diff changeset
    93
}
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
int MpShareData::objectReservedLength() const
hgs
parents:
diff changeset
    96
{
hgs
parents:
diff changeset
    97
    return objectContent().length();
hgs
parents:
diff changeset
    98
}
hgs
parents:
diff changeset
    99
hgs
parents:
diff changeset
   100
QString MpShareData::objectContent() const
hgs
parents:
diff changeset
   101
{
hgs
parents:
diff changeset
   102
	QString result = "";
hgs
parents:
diff changeset
   103
    if ( mSongData )
hgs
parents:
diff changeset
   104
    {
hgs
parents:
diff changeset
   105
        if ( !mSongData->link().isEmpty() )
hgs
parents:
diff changeset
   106
        {
hgs
parents:
diff changeset
   107
            return mSongData->link();
hgs
parents:
diff changeset
   108
        }
hgs
parents:
diff changeset
   109
        else if ( !mSongData->artist().isEmpty() && !mSongData->title().isEmpty() )
hgs
parents:
diff changeset
   110
        {
hgs
parents:
diff changeset
   111
            // TODO: do we need to have right-to-left text direction here,
hgs
parents:
diff changeset
   112
            // i.e. putting the title before the artist in such a case?
hgs
parents:
diff changeset
   113
            result = MUSIC_NOTE_SYMBOL + mSongData->artist() + ": " + mSongData->title() + " " + OVI_URL;
hgs
parents:
diff changeset
   114
        }
hgs
parents:
diff changeset
   115
        else if ( !mSongData->artist().isEmpty() )
hgs
parents:
diff changeset
   116
        {
hgs
parents:
diff changeset
   117
            result = MUSIC_NOTE_SYMBOL + mSongData->artist() + " " + OVI_URL;
hgs
parents:
diff changeset
   118
        }
hgs
parents:
diff changeset
   119
        else if ( !mSongData->title().isEmpty() )
hgs
parents:
diff changeset
   120
        {
hgs
parents:
diff changeset
   121
            result = MUSIC_NOTE_SYMBOL + mSongData->title() + " " + OVI_URL;
hgs
parents:
diff changeset
   122
        }
hgs
parents:
diff changeset
   123
        else
hgs
parents:
diff changeset
   124
        {
hgs
parents:
diff changeset
   125
            result = MUSIC_NOTE_SYMBOL + OVI_URL;
hgs
parents:
diff changeset
   126
        }
hgs
parents:
diff changeset
   127
    }
hgs
parents:
diff changeset
   128
    else
hgs
parents:
diff changeset
   129
    {
hgs
parents:
diff changeset
   130
        result = MUSIC_NOTE_SYMBOL + OVI_URL;
hgs
parents:
diff changeset
   131
    }
hgs
parents:
diff changeset
   132
    return result;
hgs
parents:
diff changeset
   133
}
hgs
parents:
diff changeset
   134
hgs
parents:
diff changeset
   135
QString MpShareData::title() const
hgs
parents:
diff changeset
   136
{
hgs
parents:
diff changeset
   137
    return mSongData ? mSongData->title() : "";
hgs
parents:
diff changeset
   138
}
hgs
parents:
diff changeset
   139
hgs
parents:
diff changeset
   140
QString MpShareData::album() const
hgs
parents:
diff changeset
   141
{
hgs
parents:
diff changeset
   142
    return mSongData ? mSongData->album() : "";
hgs
parents:
diff changeset
   143
}
hgs
parents:
diff changeset
   144
hgs
parents:
diff changeset
   145
QString MpShareData::artist() const
hgs
parents:
diff changeset
   146
{
hgs
parents:
diff changeset
   147
    return mSongData ? mSongData->artist() : "";
hgs
parents:
diff changeset
   148
}
hgs
parents:
diff changeset
   149
hgs
parents:
diff changeset
   150
QString MpShareData::albumArtBase64() const
hgs
parents:
diff changeset
   151
{
hgs
parents:
diff changeset
   152
    return mSongData ? mSongData->albumArtBase64() : "";
hgs
parents:
diff changeset
   153
}
hgs
parents:
diff changeset
   154
hgs
parents:
diff changeset
   155
#endif // SHARE_FUNC_ENABLED