mpviewplugins/mpplaybackviewplugin/src/mpplaybackview.cpp
author hgs
Fri, 03 Sep 2010 19:58:01 -0500
changeset 55 f3930dda3342
parent 51 560ce2306a17
permissions -rw-r--r--
201035
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
4e84c994a771 Revision: 201007
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".
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description: Music Player Playback view.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
35
hgs
parents: 34
diff changeset
    18
#include <QPainter>
hgs
parents: 34
diff changeset
    19
#include <QtGui>
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#include <hbmenu.h>
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include <hbinstance.h>
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include <hbtoolbar.h>
35
hgs
parents: 34
diff changeset
    24
#include <hbtoolbutton.h>
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include <hbaction.h>
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include <hbicon.h>
51
hgs
parents: 45
diff changeset
    27
#include <hbmessagebox.h>
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include "mpplaybackview.h"
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
#include "mpplaybackwidget.h"
35
hgs
parents: 34
diff changeset
    31
#include "mpenginefactory.h"
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
#include "mpplaybackdata.h"
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
#include "mpsettingsmanager.h"
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
#include "mpcommondefs.h"
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
#include "mptrace.h"
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
    36
#include "mpequalizerwidget.h"
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
    \class MpPlaybackView
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
    \brief Music Player playback view.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
    Playback view provides access to music playback in the device.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
    This class owns the menu and the toolbar. In addition, it is
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
    responsible for creating UI widgets and the underlying engine
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
    components and connecting them to work together.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
*/
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
    \fn void command( int command )
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
    This signal is emitted when the view issues a \a command to the
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    53
    application such as request to switch to a different view.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
 */
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
 Constructs the playback view.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
 */
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
MpPlaybackView::MpPlaybackView()
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
    60
    : mMpEngine( 0 ),
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
    61
      mPlaybackData( 0 ),
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
    62
      mPlaybackWidget( 0 ),
35
hgs
parents: 34
diff changeset
    63
      mEqualizerWidget( 0 ),
hgs
parents: 34
diff changeset
    64
      mSoftKeyBack( 0 ),
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
    65
      mActivated( false ),
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
    66
      mPlayIcon( 0 ),
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
    67
      mPauseIcon( 0 ),
35
hgs
parents: 34
diff changeset
    68
      mTimer(0),
hgs
parents: 34
diff changeset
    69
      mSeeking(false)
hgs
parents: 34
diff changeset
    70
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
{
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
    TX_LOG
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    75
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    76
 Destructs the playback view.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
 */
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
MpPlaybackView::~MpPlaybackView()
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
{
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
    TX_ENTRY
35
hgs
parents: 34
diff changeset
    81
    delete mSoftKeyBack;
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    82
    delete mPlayIcon;
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
    delete mPauseIcon;
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
    84
    delete mEqualizerWidget;
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
    TX_EXIT
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    87
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
 Initializes the playback view.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
 */
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
void MpPlaybackView::initializeView()
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    93
{
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    94
    TX_ENTRY
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
    mWindow = mainWindow();
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
35
hgs
parents: 34
diff changeset
    98
    mSoftKeyBack = new HbAction( Hb::BackNaviAction, this );
hgs
parents: 34
diff changeset
    99
    connect( mSoftKeyBack, SIGNAL( triggered() ), this, SLOT( back() ) );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
35
hgs
parents: 34
diff changeset
   101
    mMpEngine = MpEngineFactory::sharedEngine();
51
hgs
parents: 45
diff changeset
   102
    connect( mMpEngine, SIGNAL( corruptedStop() ), this, SLOT(showCorruptedNote() ));
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   103
    mPlaybackData = mMpEngine->playbackData();
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   104
    connect( mPlaybackData, SIGNAL( playbackStateChanged() ),
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   105
             this, SLOT( playbackStateChanged() ) );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   107
    mPlaybackWidget = new MpPlaybackWidget( mPlaybackData );
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   108
    connect( mPlaybackWidget, SIGNAL( setPlaybackPosition( int ) ), mMpEngine, SLOT( setPosition( int ) ) );
35
hgs
parents: 34
diff changeset
   109
    //repeat should not be displayed on fetcher or embedded.
hgs
parents: 34
diff changeset
   110
    mRepeat = mViewMode == MpCommon::DefaultView ? MpSettingsManager::repeat() : false;
hgs
parents: 34
diff changeset
   111
    mPlaybackWidget->repeatChanged( mRepeat );
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   112
    setWidget( mPlaybackWidget );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
    setupMenu();
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
    setupToolbar();
35
hgs
parents: 34
diff changeset
   115
    
hgs
parents: 34
diff changeset
   116
    //Connect FF and RW buttons when view (toolbar) is ready
hgs
parents: 34
diff changeset
   117
    connect ( mWindow, SIGNAL( viewReady() ), this, SLOT( connectButtons() ) );
hgs
parents: 34
diff changeset
   118
    
hgs
parents: 34
diff changeset
   119
    if ( mViewMode == MpCommon::DefaultView ) {
hgs
parents: 34
diff changeset
   120
        // Observe changes in settings.
hgs
parents: 34
diff changeset
   121
        connect( MpSettingsManager::instance(), SIGNAL( shuffleChanged( bool ) ),
hgs
parents: 34
diff changeset
   122
                 this, SLOT( shuffleChanged( bool ) ) );
hgs
parents: 34
diff changeset
   123
        connect( MpSettingsManager::instance(), SIGNAL( repeatChanged( bool ) ),
hgs
parents: 34
diff changeset
   124
                 this, SLOT( repeatChanged( bool ) ) );
37
hgs
parents: 35
diff changeset
   125
        connect( mMpEngine, SIGNAL( libraryUpdated() ), this, SLOT( closeEqualizerDialog() ) );
35
hgs
parents: 34
diff changeset
   126
    }
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   127
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   128
    TX_EXIT
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   129
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   131
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   132
 Activates the playback view.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   133
 */
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   134
void MpPlaybackView::activateView()
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   135
{
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   136
    TX_ENTRY
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   137
    mActivated = true;
35
hgs
parents: 34
diff changeset
   138
    setNavigationAction( mSoftKeyBack );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   139
    TX_EXIT
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   140
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   141
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   142
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
 Deactivates the playback view.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
 */
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
void MpPlaybackView::deactivateView()
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
{
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
    TX_ENTRY
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   148
    menu()->close();
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   149
    setNavigationAction( 0 );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   150
    mActivated = false;
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   151
    TX_EXIT
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   152
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   153
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
/*!
37
hgs
parents: 35
diff changeset
   155
 Gets the current status of the view in a form of string
hgs
parents: 35
diff changeset
   156
 */
hgs
parents: 35
diff changeset
   157
QString MpPlaybackView::playbackStatus()
hgs
parents: 35
diff changeset
   158
{
hgs
parents: 35
diff changeset
   159
    TX_ENTRY
hgs
parents: 35
diff changeset
   160
    QString currentStatus;
hgs
parents: 35
diff changeset
   161
    
hgs
parents: 35
diff changeset
   162
        switch ( mPlaybackData->playbackState() ) {
hgs
parents: 35
diff changeset
   163
            case MpPlaybackData::NotPlaying:
hgs
parents: 35
diff changeset
   164
                TX_LOG_ARGS( "playbackStatus: NotPlaying" )
hgs
parents: 35
diff changeset
   165
                currentStatus = "NotPlaying";
hgs
parents: 35
diff changeset
   166
                break;
hgs
parents: 35
diff changeset
   167
			case MpPlaybackData::Playing:
hgs
parents: 35
diff changeset
   168
                TX_LOG_ARGS( "playbackStatus: Playing" )
hgs
parents: 35
diff changeset
   169
                currentStatus = "Playing";
hgs
parents: 35
diff changeset
   170
                break;
hgs
parents: 35
diff changeset
   171
            case MpPlaybackData::Paused:
hgs
parents: 35
diff changeset
   172
                TX_LOG_ARGS( "playbackStatus: Paused" )
hgs
parents: 35
diff changeset
   173
                currentStatus ="Paused";
hgs
parents: 35
diff changeset
   174
                break;
hgs
parents: 35
diff changeset
   175
            case MpPlaybackData::Stopped:
hgs
parents: 35
diff changeset
   176
                TX_LOG_ARGS( "playbackStatus: Stopped" )
hgs
parents: 35
diff changeset
   177
                currentStatus = "Stopped";
hgs
parents: 35
diff changeset
   178
                break;
hgs
parents: 35
diff changeset
   179
            default:
hgs
parents: 35
diff changeset
   180
                break;
hgs
parents: 35
diff changeset
   181
        }
hgs
parents: 35
diff changeset
   182
    TX_EXIT
hgs
parents: 35
diff changeset
   183
    return currentStatus;
hgs
parents: 35
diff changeset
   184
    
hgs
parents: 35
diff changeset
   185
}
hgs
parents: 35
diff changeset
   186
hgs
parents: 35
diff changeset
   187
/*!
hgs
parents: 35
diff changeset
   188
 Gets the current Shuffle setting value
hgs
parents: 35
diff changeset
   189
 */
hgs
parents: 35
diff changeset
   190
bool MpPlaybackView::shuffleEnabled()
hgs
parents: 35
diff changeset
   191
{
hgs
parents: 35
diff changeset
   192
    TX_ENTRY
hgs
parents: 35
diff changeset
   193
    return mShuffle;
hgs
parents: 35
diff changeset
   194
}
hgs
parents: 35
diff changeset
   195
hgs
parents: 35
diff changeset
   196
/*!
hgs
parents: 35
diff changeset
   197
 Gets the current Repeat setting value
hgs
parents: 35
diff changeset
   198
 */
hgs
parents: 35
diff changeset
   199
bool MpPlaybackView::repeatEnabled()
hgs
parents: 35
diff changeset
   200
{
hgs
parents: 35
diff changeset
   201
    TX_ENTRY
hgs
parents: 35
diff changeset
   202
    return mRepeat;
hgs
parents: 35
diff changeset
   203
}
hgs
parents: 35
diff changeset
   204
hgs
parents: 35
diff changeset
   205
/*!
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   206
 Slot to be called to activate settings view.
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
 */
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   208
void MpPlaybackView::startSettingsView()
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
{
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
    TX_LOG
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   211
    emit command( MpCommon::ActivateSettingsView );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
 Slot to handle back command from softkey.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
 */
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
void MpPlaybackView::back()
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
{
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
    TX_ENTRY
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
    // Stop the playback preview when returning to collection in fetch mode
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   221
    switch ( mViewMode ) {
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   222
        case MpCommon::EmbeddedView:
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   223
            TX_LOG_ARGS( "MpCommon::EmbeddedView" )
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   224
            mMpEngine->stop();
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   225
            emit songSelected( "" );
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   226
            break;
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   227
        case MpCommon::FetchView:
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   228
            TX_LOG_ARGS( "MpCommon::FetchView" )
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   229
            mMpEngine->stop(); //Intentional fallthrough        
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   230
        default: 
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   231
            emit command( MpCommon::ActivateCollectionView );
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   232
            break;
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   233
    }
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   234
    
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   235
    TX_EXIT
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   236
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   237
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   239
 Slot to be called to exit.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
 */
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
void MpPlaybackView::exit()
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
{
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   243
    TX_ENTRY
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   244
    emit command( MpCommon::Exit );
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   245
    TX_EXIT
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   246
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   247
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   248
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   249
 Slot to handle playback state changed.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   250
 */
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   251
void MpPlaybackView::playbackStateChanged()
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   252
{
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   253
    TX_ENTRY
35
hgs
parents: 34
diff changeset
   254
    updatePlayPauseIcon();
hgs
parents: 34
diff changeset
   255
    if ( MpPlaybackData::Stopped == mPlaybackData->playbackState() && mViewMode == MpCommon::FetchView ) {
hgs
parents: 34
diff changeset
   256
          back();
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   257
    }
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   258
    TX_EXIT
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   259
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   260
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   261
/*!
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   262
 Slot to handle flip action.
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   263
 */
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   264
void MpPlaybackView::flip()
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   265
{
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   266
    TX_ENTRY
43
hgs
parents: 37
diff changeset
   267
    mMpEngine->retrieveSongDetails();
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   268
    emit command( MpCommon::ActivateDetailsView );
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   269
    TX_EXIT
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   270
}
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   271
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   272
/*!
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   273
 Slot to handle shuffle toggle.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   274
 */
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   275
void MpPlaybackView::toggleShuffle()
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
{
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   277
    mMpEngine->setShuffle( !mShuffle );
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   278
    MpSettingsManager::setShuffle( !mShuffle );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   279
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   282
 Slot to handle /a shuffle setting change.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   283
 */
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   284
void MpPlaybackView::shuffleChanged( bool shuffle )
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   285
{
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   286
    mShuffle = shuffle;
55
hgs
parents: 51
diff changeset
   287
    mShuffleAction->setChecked( mShuffle );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   288
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   289
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   290
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   291
 Slot to handle repeat toggle.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   292
 */
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   293
void MpPlaybackView::toggleRepeat()
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   294
{
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   295
    mMpEngine->setRepeat( !mRepeat );
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   296
    MpSettingsManager::setRepeat( !mRepeat );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   297
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   298
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   300
 Slot to handle /a repeat setting change.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
 */
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   302
void MpPlaybackView::repeatChanged( bool repeat )
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
{
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   304
    mRepeat = repeat;
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   305
    mRepeatAction->setText( mRepeat ?  hbTrId( "txt_mus_opt_repeat_off" ) : hbTrId( "txt_mus_opt_repeat_on" ) );
35
hgs
parents: 34
diff changeset
   306
    mPlaybackWidget->repeatChanged( repeat );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   307
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   308
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   309
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   310
 Slot called when a song is selected in fetch mode.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
 */
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   312
void MpPlaybackView::handleSongSelected()
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   313
{
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   314
    TX_ENTRY
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   315
    mMpEngine->stop();
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   316
    emit songSelected( mPlaybackData->uri() );
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   317
    TX_EXIT
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   318
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   319
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   320
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   321
 setup the menu.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   322
 */
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   323
void MpPlaybackView::setupMenu()
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   324
{
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   325
    TX_ENTRY
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   326
    if ( mViewMode == MpCommon::DefaultView ) {
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   327
        mRepeat = MpSettingsManager::repeat();
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   328
        HbMenu* myMenu = new HbMenu();
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   329
        connect( myMenu->addAction( hbTrId( "txt_mus_opt_equalizer" ) ), SIGNAL( triggered() ), this, SLOT( showEqualizerDialog() ) );
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   330
        connect( myMenu->addAction( hbTrId( "txt_mus_opt_audio_effects" ) ), SIGNAL( triggered() ), this, SLOT( startSettingsView() ) );
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   331
        mRepeatAction = myMenu->addAction( mRepeat ?  hbTrId( "txt_mus_opt_repeat_off" ) : hbTrId( "txt_mus_opt_repeat_on" ) );
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   332
        connect( mRepeatAction , SIGNAL( triggered() ), this, SLOT( toggleRepeat() ) );
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   333
        connect( myMenu->addAction( hbTrId( "txt_common_opt_exit" ) ), SIGNAL( triggered() ), this, SLOT( exit() ) );
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   334
        setMenu( myMenu );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   335
    }
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   336
    TX_EXIT
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   337
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   338
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   339
/*!
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   340
 setup the toolbar.
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   341
 */
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   342
void MpPlaybackView::setupToolbar()
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   343
{
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   344
    TX_ENTRY
35
hgs
parents: 34
diff changeset
   345
    HbToolBar *myToolBar = toolBar();
37
hgs
parents: 35
diff changeset
   346
    myToolBar->setObjectName("PlaybackToolbar");
35
hgs
parents: 34
diff changeset
   347
    myToolBar->setOrientation( Qt::Horizontal );
hgs
parents: 34
diff changeset
   348
    QActionGroup *actionsGroup = new QActionGroup( myToolBar );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   349
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   350
    if ( mViewMode == MpCommon::DefaultView || mViewMode == MpCommon::EmbeddedView ) {
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   351
        mShuffleAction = new HbAction( actionsGroup );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   352
        mShuffle = MpSettingsManager::shuffle();
55
hgs
parents: 51
diff changeset
   353
        mShuffleAction->setIcon( HbIcon( "qtg_mono_shuffle" ) );
hgs
parents: 51
diff changeset
   354
        mShuffleAction->setCheckable( true );
hgs
parents: 51
diff changeset
   355
        mShuffleAction->setChecked( mShuffle );
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   356
        
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   357
        if ( mViewMode == MpCommon::DefaultView ) {
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   358
            connect( mShuffleAction, SIGNAL( triggered( bool ) ),
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   359
                         this, SLOT( toggleShuffle() ) );
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   360
        }
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   361
        else {
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   362
            mShuffleAction->setEnabled( false );
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   363
        }
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   364
        
35
hgs
parents: 34
diff changeset
   365
        myToolBar->addAction( mShuffleAction );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   366
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   367
        HbAction *action = new HbAction( actionsGroup );
35
hgs
parents: 34
diff changeset
   368
        action->setIcon( HbIcon( "qtg_mono_seek_previous" ) );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   369
        action->setCheckable( false );
35
hgs
parents: 34
diff changeset
   370
        action->setObjectName("previous");
hgs
parents: 34
diff changeset
   371
        myToolBar->addAction( action );
hgs
parents: 34
diff changeset
   372
        
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   373
        mPlayPauseAction = new HbAction( actionsGroup );
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   374
        mPlayIcon = new HbIcon( "qtg_mono_play" );
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   375
        mPauseIcon = new HbIcon( "qtg_mono_pause" );
35
hgs
parents: 34
diff changeset
   376
        updatePlayPauseIcon();
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   377
        mPlayPauseAction->setCheckable( false );
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   378
        connect( mPlayPauseAction, SIGNAL( triggered( bool ) ),
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   379
                 mMpEngine, SLOT( playPause() ) );
35
hgs
parents: 34
diff changeset
   380
        myToolBar->addAction( mPlayPauseAction );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   381
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   382
        action = new HbAction( actionsGroup );
35
hgs
parents: 34
diff changeset
   383
        action->setIcon( HbIcon( "qtg_mono_seek_next" ) );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   384
        action->setCheckable( false );
35
hgs
parents: 34
diff changeset
   385
        action->setObjectName("next");
hgs
parents: 34
diff changeset
   386
        myToolBar->addAction( action );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   387
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   388
        HbIcon icon( "qtg_mono_info" );
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   389
        action = new HbAction( actionsGroup );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   390
        action->setIcon( icon );
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   391
        action->setCheckable( false );
35
hgs
parents: 34
diff changeset
   392
hgs
parents: 34
diff changeset
   393
        connect( action, SIGNAL( triggered( bool ) ),
hgs
parents: 34
diff changeset
   394
                 this, SLOT( flip() ) );
hgs
parents: 34
diff changeset
   395
hgs
parents: 34
diff changeset
   396
        myToolBar->addAction( action );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   397
    }
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   398
    else {
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   399
        // Fetch mode
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   400
        HbAction *action = new HbAction( actionsGroup );
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   401
        action->setIcon( HbIcon( "qtg_mono_tick" ) );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
        action->setCheckable( false );
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   403
        connect( action, SIGNAL( triggered( bool ) ),
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   404
                 this, SLOT( handleSongSelected() ) );
35
hgs
parents: 34
diff changeset
   405
        myToolBar->addAction( action );
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   406
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   407
        mPlayPauseAction = new HbAction( actionsGroup );
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   408
        mPlayIcon = new HbIcon( "qtg_mono_play" );
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   409
        mPauseIcon = new HbIcon( "qtg_mono_pause" );
35
hgs
parents: 34
diff changeset
   410
        updatePlayPauseIcon();
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
        mPlayPauseAction->setCheckable( false );
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   412
        connect( mPlayPauseAction, SIGNAL( triggered( bool ) ),
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   413
                 mMpEngine, SLOT( playPause() ) );
35
hgs
parents: 34
diff changeset
   414
        myToolBar->addAction( mPlayPauseAction );
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   415
    }
22
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   416
    
ecf06a08d4d9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   417
    
19
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   418
    TX_EXIT
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   419
}
4e84c994a771 Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   420
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   421
/*!
35
hgs
parents: 34
diff changeset
   422
 Updates the play pause icon on the toolbar base on playback state.
hgs
parents: 34
diff changeset
   423
 */
hgs
parents: 34
diff changeset
   424
void MpPlaybackView::updatePlayPauseIcon()
hgs
parents: 34
diff changeset
   425
{
hgs
parents: 34
diff changeset
   426
    TX_ENTRY
hgs
parents: 34
diff changeset
   427
    switch ( mPlaybackData->playbackState() ) {
hgs
parents: 34
diff changeset
   428
        case MpPlaybackData::Playing:
hgs
parents: 34
diff changeset
   429
        case MpPlaybackData::NotPlaying:
hgs
parents: 34
diff changeset
   430
            TX_LOG_ARGS( "MpPlaybackData::Playing" )
hgs
parents: 34
diff changeset
   431
            mPlayPauseAction->setIcon( *mPauseIcon );
hgs
parents: 34
diff changeset
   432
            break;
hgs
parents: 34
diff changeset
   433
        case MpPlaybackData::Paused:
hgs
parents: 34
diff changeset
   434
        case MpPlaybackData::Stopped:
hgs
parents: 34
diff changeset
   435
            TX_LOG_ARGS( "MpPlaybackData::Paused" )
hgs
parents: 34
diff changeset
   436
            mPlayPauseAction->setIcon( *mPlayIcon );
hgs
parents: 34
diff changeset
   437
            break;
hgs
parents: 34
diff changeset
   438
hgs
parents: 34
diff changeset
   439
        default:
hgs
parents: 34
diff changeset
   440
            break;
hgs
parents: 34
diff changeset
   441
    }
hgs
parents: 34
diff changeset
   442
    TX_EXIT
hgs
parents: 34
diff changeset
   443
}
hgs
parents: 34
diff changeset
   444
hgs
parents: 34
diff changeset
   445
/*!
hgs
parents: 34
diff changeset
   446
 start rewind long press detection
hgs
parents: 34
diff changeset
   447
 */
hgs
parents: 34
diff changeset
   448
void MpPlaybackView::startRewindTimer()
hgs
parents: 34
diff changeset
   449
{
hgs
parents: 34
diff changeset
   450
    if(mTimer){
hgs
parents: 34
diff changeset
   451
        delete mTimer;
hgs
parents: 34
diff changeset
   452
        mTimer = 0;
hgs
parents: 34
diff changeset
   453
    }
hgs
parents: 34
diff changeset
   454
    mTimer = new QTimer(this);
hgs
parents: 34
diff changeset
   455
    mTimer->setSingleShot(true);
hgs
parents: 34
diff changeset
   456
    connect(mTimer, SIGNAL(timeout()), this, SLOT(startSeekRewind()));
hgs
parents: 34
diff changeset
   457
    mTimer->start(600);    
hgs
parents: 34
diff changeset
   458
}
hgs
parents: 34
diff changeset
   459
hgs
parents: 34
diff changeset
   460
/*!
hgs
parents: 34
diff changeset
   461
 start fast forward long press detection
hgs
parents: 34
diff changeset
   462
 */
hgs
parents: 34
diff changeset
   463
void MpPlaybackView::startForwardTimer()
hgs
parents: 34
diff changeset
   464
{
hgs
parents: 34
diff changeset
   465
    if(mTimer){
hgs
parents: 34
diff changeset
   466
        delete mTimer;
hgs
parents: 34
diff changeset
   467
        mTimer = 0;
hgs
parents: 34
diff changeset
   468
    }
hgs
parents: 34
diff changeset
   469
    mTimer = new QTimer(this);
hgs
parents: 34
diff changeset
   470
    mTimer->setSingleShot(true);
hgs
parents: 34
diff changeset
   471
    connect(mTimer, SIGNAL(timeout()), this, SLOT(startSeekForward()));
hgs
parents: 34
diff changeset
   472
    mTimer->start(600);      
hgs
parents: 34
diff changeset
   473
}
hgs
parents: 34
diff changeset
   474
hgs
parents: 34
diff changeset
   475
/*!
hgs
parents: 34
diff changeset
   476
 start backward seeking
hgs
parents: 34
diff changeset
   477
 */
hgs
parents: 34
diff changeset
   478
void MpPlaybackView::startSeekRewind()
hgs
parents: 34
diff changeset
   479
{
hgs
parents: 34
diff changeset
   480
    mMpEngine->startSeekBackward();
hgs
parents: 34
diff changeset
   481
    mSeeking = true;
hgs
parents: 34
diff changeset
   482
}
hgs
parents: 34
diff changeset
   483
hgs
parents: 34
diff changeset
   484
/*!
hgs
parents: 34
diff changeset
   485
 start forward seeking
hgs
parents: 34
diff changeset
   486
 */
hgs
parents: 34
diff changeset
   487
void MpPlaybackView::startSeekForward()
hgs
parents: 34
diff changeset
   488
{
hgs
parents: 34
diff changeset
   489
    mMpEngine->startSeekForward();
hgs
parents: 34
diff changeset
   490
    mSeeking = true;
hgs
parents: 34
diff changeset
   491
}
hgs
parents: 34
diff changeset
   492
hgs
parents: 34
diff changeset
   493
/*!
hgs
parents: 34
diff changeset
   494
 end backward seeking or skip backward
hgs
parents: 34
diff changeset
   495
 */
hgs
parents: 34
diff changeset
   496
void MpPlaybackView::endRewind()
hgs
parents: 34
diff changeset
   497
{
hgs
parents: 34
diff changeset
   498
    if(mTimer){
hgs
parents: 34
diff changeset
   499
        mTimer->stop();
hgs
parents: 34
diff changeset
   500
        delete mTimer;
hgs
parents: 34
diff changeset
   501
        mTimer = 0;
hgs
parents: 34
diff changeset
   502
    }
hgs
parents: 34
diff changeset
   503
    if( mSeeking ) {
hgs
parents: 34
diff changeset
   504
        mMpEngine->stopSeeking();
hgs
parents: 34
diff changeset
   505
    }
hgs
parents: 34
diff changeset
   506
    else {
hgs
parents: 34
diff changeset
   507
        mMpEngine->skipBackward();
hgs
parents: 34
diff changeset
   508
    }
hgs
parents: 34
diff changeset
   509
    mSeeking = false;
hgs
parents: 34
diff changeset
   510
}
hgs
parents: 34
diff changeset
   511
hgs
parents: 34
diff changeset
   512
/*!
hgs
parents: 34
diff changeset
   513
 end forward seeking or skip forward
hgs
parents: 34
diff changeset
   514
 */
hgs
parents: 34
diff changeset
   515
void MpPlaybackView::endForward()
hgs
parents: 34
diff changeset
   516
{
hgs
parents: 34
diff changeset
   517
    if(mTimer){
hgs
parents: 34
diff changeset
   518
        mTimer->stop();
hgs
parents: 34
diff changeset
   519
        delete mTimer;
hgs
parents: 34
diff changeset
   520
        mTimer = 0;
hgs
parents: 34
diff changeset
   521
    }
hgs
parents: 34
diff changeset
   522
    if( mSeeking ) {
hgs
parents: 34
diff changeset
   523
        mMpEngine->stopSeeking();
hgs
parents: 34
diff changeset
   524
    }
hgs
parents: 34
diff changeset
   525
    else {
hgs
parents: 34
diff changeset
   526
        mMpEngine->skipForward();
hgs
parents: 34
diff changeset
   527
    }
hgs
parents: 34
diff changeset
   528
    mSeeking = false;
hgs
parents: 34
diff changeset
   529
}
hgs
parents: 34
diff changeset
   530
hgs
parents: 34
diff changeset
   531
/*!
hgs
parents: 34
diff changeset
   532
 Slot to connect seek forward and backward toolbar buttons
hgs
parents: 34
diff changeset
   533
 */
hgs
parents: 34
diff changeset
   534
void MpPlaybackView::connectButtons()
hgs
parents: 34
diff changeset
   535
{
hgs
parents: 34
diff changeset
   536
    
hgs
parents: 34
diff changeset
   537
    HbToolBar *myToolBar = toolBar();
hgs
parents: 34
diff changeset
   538
    QGraphicsLayout *layout = myToolBar->layout();
hgs
parents: 34
diff changeset
   539
    if( layout ) {
hgs
parents: 34
diff changeset
   540
        int count = layout->count();
hgs
parents: 34
diff changeset
   541
        for ( int i = 0; i < count; i++ ) {
hgs
parents: 34
diff changeset
   542
            HbToolButton *button = dynamic_cast<HbToolButton *>( layout->itemAt(i) );
hgs
parents: 34
diff changeset
   543
            QString name = button->action()->objectName();
hgs
parents: 34
diff changeset
   544
            
hgs
parents: 34
diff changeset
   545
            if ( name == "previous" ) {
hgs
parents: 34
diff changeset
   546
                connect( button, SIGNAL( pressed() ),
hgs
parents: 34
diff changeset
   547
                         this, SLOT( startRewindTimer() ) );
hgs
parents: 34
diff changeset
   548
                connect( button, SIGNAL( released() ),
hgs
parents: 34
diff changeset
   549
                         this, SLOT( endRewind() ) );
hgs
parents: 34
diff changeset
   550
            }
hgs
parents: 34
diff changeset
   551
            if ( name == "next" ) {
hgs
parents: 34
diff changeset
   552
                connect( button, SIGNAL( pressed() ),
hgs
parents: 34
diff changeset
   553
                         this, SLOT( startForwardTimer() ) );
hgs
parents: 34
diff changeset
   554
                connect( button, SIGNAL( released() ),
hgs
parents: 34
diff changeset
   555
                         this, SLOT( endForward() ) );
hgs
parents: 34
diff changeset
   556
                disconnect ( mWindow, SIGNAL( viewReady() ), this, SLOT( connectButtons() ) );
hgs
parents: 34
diff changeset
   557
            }
hgs
parents: 34
diff changeset
   558
        }
hgs
parents: 34
diff changeset
   559
    }
hgs
parents: 34
diff changeset
   560
}
37
hgs
parents: 35
diff changeset
   561
35
hgs
parents: 34
diff changeset
   562
/*!
51
hgs
parents: 45
diff changeset
   563
 Slot to be called to show corrupted message box.
hgs
parents: 45
diff changeset
   564
 */
hgs
parents: 45
diff changeset
   565
void MpPlaybackView::showCorruptedNote()
hgs
parents: 45
diff changeset
   566
{
hgs
parents: 45
diff changeset
   567
    mMpEngine->stop();
hgs
parents: 45
diff changeset
   568
    HbMessageBox *messageBox = new HbMessageBox( hbTrId( "txt_mus_info_unable_to_play_selection" ), HbMessageBox::MessageTypeWarning );
hgs
parents: 45
diff changeset
   569
    messageBox->setAttribute( Qt::WA_DeleteOnClose );
hgs
parents: 45
diff changeset
   570
    messageBox->setIcon( HbIcon( QString("qtg_small_fail") ) ); 
hgs
parents: 45
diff changeset
   571
    connect (messageBox, SIGNAL( aboutToClose() ), this, SLOT( back() ) );
hgs
parents: 45
diff changeset
   572
    messageBox->show();
hgs
parents: 45
diff changeset
   573
}
hgs
parents: 45
diff changeset
   574
hgs
parents: 45
diff changeset
   575
/*!
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   576
 Slot to be called to activate equalizer dialog.
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   577
 */
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   578
void MpPlaybackView::showEqualizerDialog()
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   579
{
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   580
    TX_ENTRY
45
hgs
parents: 43
diff changeset
   581
    if ( !mEqualizerWidget ){
hgs
parents: 43
diff changeset
   582
        mEqualizerWidget = new MpEqualizerWidget();
hgs
parents: 43
diff changeset
   583
        mEqualizerWidget->prepareDialog();
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   584
    }
55
hgs
parents: 51
diff changeset
   585
    
hgs
parents: 51
diff changeset
   586
    mEqualizerWidget->show();
20
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   587
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   588
    TX_EXIT
82baf59ce8dd Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 19
diff changeset
   589
}
37
hgs
parents: 35
diff changeset
   590
hgs
parents: 35
diff changeset
   591
/*!
hgs
parents: 35
diff changeset
   592
 Slot to be called when library has been updated
hgs
parents: 35
diff changeset
   593
 */
hgs
parents: 35
diff changeset
   594
void MpPlaybackView::closeEqualizerDialog()
hgs
parents: 35
diff changeset
   595
{
hgs
parents: 35
diff changeset
   596
    TX_ENTRY
hgs
parents: 35
diff changeset
   597
    
hgs
parents: 35
diff changeset
   598
    if ( mEqualizerWidget ) {
hgs
parents: 35
diff changeset
   599
        mEqualizerWidget->close();
hgs
parents: 35
diff changeset
   600
    }
hgs
parents: 35
diff changeset
   601
    
hgs
parents: 35
diff changeset
   602
    TX_EXIT
hgs
parents: 35
diff changeset
   603
}