From ae32b0b3688872ad6e20b2fbf994544feae62a43 Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Sun, 14 Aug 2011 17:44:43 -0400 Subject: [PATCH] TWK-216: reset the proper view mode toggle when changing to a different view mode automatically --- src/libtomahawk/viewmanager.cpp | 13 +++++++++++++ thirdparty/libportfwd/src/portfwd.cpp | 8 ++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/libtomahawk/viewmanager.cpp b/src/libtomahawk/viewmanager.cpp index be0148043..805b0d265 100644 --- a/src/libtomahawk/viewmanager.cpp +++ b/src/libtomahawk/viewmanager.cpp @@ -971,6 +971,19 @@ ViewManager::showCurrentTrack() { setPage( page ); page->jumpToCurrentTrack(); + + // reset the correct mode, if the user has changed it since + + if ( dynamic_cast< CollectionView* >( page ) ) + m_currentMode = PlaylistInterface::Flat; + else if ( dynamic_cast< AlbumView* >( page ) ) + m_currentMode = PlaylistInterface::Album; + else if ( dynamic_cast< ArtistView* >( page ) ) + m_currentMode = PlaylistInterface::Tree; + else + return; + + emit modeChanged( (PlaylistInterface::ViewMode)m_currentMode ); } } diff --git a/thirdparty/libportfwd/src/portfwd.cpp b/thirdparty/libportfwd/src/portfwd.cpp index c90971a6a..a7614e863 100644 --- a/thirdparty/libportfwd/src/portfwd.cpp +++ b/thirdparty/libportfwd/src/portfwd.cpp @@ -99,7 +99,7 @@ Portfwd::init(unsigned int timeout) return false; } m_lanip = std::string(lanaddr); - + freeUPNPDevlist(devlist); get_status(); return true; @@ -117,8 +117,8 @@ Portfwd::get_status() // get external IP adress char ip[16]; - if( 0 != UPNP_GetExternalIPAddress( urls->controlURL, - data->CIF.servicetype, + if( 0 != UPNP_GetExternalIPAddress( urls->controlURL, + data->CIF.servicetype, (char*)&ip ) ) { m_externalip = ""; //failed @@ -141,7 +141,7 @@ Portfwd::add( unsigned short port, unsigned short internal_port ) sprintf(port_str, "%d", port); sprintf(port_str_internal, "%d", internal_port); - r = UPNP_AddPortMapping(urls->controlURL, data->CIF.servicetype, + r = UPNP_AddPortMapping(urls->controlURL, data->first.servicetype, port_str, port_str_internal, m_lanip.c_str(), "tomahawk", "TCP", NULL); if(r!=0) {