app/src/mpmainwindow.cpp
changeset 51 560ce2306a17
parent 47 4cc1412daed0
child 55 f3930dda3342
--- a/app/src/mpmainwindow.cpp	Fri Aug 06 16:51:36 2010 -0500
+++ b/app/src/mpmainwindow.cpp	Tue Aug 24 03:36:14 2010 -0500
@@ -58,6 +58,7 @@
       mMediaWallViewPlugin(0),
       mCurrentViewPlugin(0),
       mVerticalViewType( CollectionView ),
+      mPreviousVerticalViewType( NoView ),
       mMusicServices(0),
       mPopupHandler(0),
       mUserExit( false ),
@@ -221,19 +222,22 @@
             lower();
             break;
         case MpCommon::ActivateCollectionView:
-            activateView(CollectionView);
+            activateView( CollectionView );
             break;
         case MpCommon::ActivatePlaybackView:
-            activateView(PlaybackView);
+            activateView( PlaybackView );
             break;
         case MpCommon::ActivateSettingsView:
-            activateView(SettingsView);
+            activateView( SettingsView );
             break;
         case MpCommon::ActivateDetailsView:
-            activateView(DetailsView);
+            activateView( DetailsView );
             break;
         case MpCommon::ActivatePreviousView:
-            activateView(mVerticalViewType);
+            if ( orientation() == Qt::Vertical 
+                    && mPreviousVerticalViewType != NoView ) {
+                activateView( mPreviousVerticalViewType );
+            }
             break;
     }
     TX_EXIT
@@ -248,7 +252,7 @@
             activateView( mVerticalViewType );   
         }
         else {
-            activateView(MediaWallView);
+            activateView( MediaWallView );
         }
 }
 
@@ -281,7 +285,13 @@
     Q_ASSERT( mCurrentViewPlugin );
 
     if ( mCurrentViewPlugin ) {
-        if ( viewType != MediaWallView && viewType != DetailsView ) {
+        if ( viewType != MediaWallView ) {
+            //storing previous vertical view type only if it is not the same
+            //view, this to be able to keep track of the previously activated 
+            //view excluding media wall switching.
+            if ( mVerticalViewType != viewType ) {
+                mPreviousVerticalViewType = mVerticalViewType;
+            }
             mVerticalViewType = viewType;
         }
         addView( reinterpret_cast<HbView*>( mCurrentViewPlugin->getView() ) );
@@ -336,8 +346,7 @@
     }
     else if ( mCollectionViewPlugin && mCurrentViewPlugin != mCollectionViewPlugin ) {
         activateView( CollectionView );
-        MpViewBase* collectionView = reinterpret_cast<MpViewBase*>(mCollectionViewPlugin->getView());
-        collectionView->setDefaultView();
+
     }
 
     TX_EXIT