From 7f55c82846eb42a833c46010694c450b393d0825 Mon Sep 17 00:00:00 2001 From: "Devin J. Pohly" Date: Sat, 31 Jan 2015 04:18:32 -0500 Subject: [PATCH 1/2] toggling wheel sections should not end screen --- src/WheelBase.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/WheelBase.cpp b/src/WheelBase.cpp index 99142ec4e1..8adb5fd205 100644 --- a/src/WheelBase.cpp +++ b/src/WheelBase.cpp @@ -290,7 +290,7 @@ bool WheelBase::Select() // return true if this selection can end the screen { case WheelItemDataType_Generic: m_LastSelection = m_CurWheelItemData[m_iSelection]; - break; + return true; case WheelItemDataType_Section: { RString sThisItemSectionName = m_CurWheelItemData[m_iSelection]->m_sText; @@ -305,12 +305,11 @@ bool WheelBase::Select() // return true if this selection can end the screen m_soundExpand.Play(); } } - break; + // Opening/closing sections cannot end the screen + return false; default: - break; + return true; } - - return true; } WheelItemBaseData* WheelBase::GetItem( unsigned int iIndex ) From f18fa454950e3a046a90cb26bbde2f40251f415a Mon Sep 17 00:00:00 2001 From: "Devin J. Pohly" Date: Sat, 31 Jan 2015 04:26:51 -0500 Subject: [PATCH 2/2] MusicWheel: fix CloseCurrentFolder with OnlyShowActiveSection Moves all of the wheel-entry-hiding logic into SetOpenSection rather than prematurely throwing out section headings. Now when we close the active section with OnlyShowActiveSection in effect, the headings are shown rather than an empty wheel. --- src/MusicWheel.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/MusicWheel.cpp b/src/MusicWheel.cpp index 82d87c33e0..e1a3b9b641 100644 --- a/src/MusicWheel.cpp +++ b/src/MusicWheel.cpp @@ -677,10 +677,7 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelIt // todo: preferred sort section color handling? -aj RageColor colorSection = (so==SORT_GROUP) ? SONGMAN->GetSongGroupColor(pSong->m_sGroupName) : SECTION_COLORS.GetValue(iSectionColorIndex); iSectionColorIndex = (iSectionColorIndex+1) % NUM_SECTION_COLORS; - // In certain situations (e.g. simulating Pump it Up), themes may - // want to only show one group at a time. - if( !HIDE_INACTIVE_SECTIONS ) - arrayWheelItemDatas.push_back( new MusicWheelItemData(WheelItemDataType_Section, NULL, sThisSection, NULL, colorSection, iSectionCount) ); + arrayWheelItemDatas.push_back( new MusicWheelItemData(WheelItemDataType_Section, NULL, sThisSection, NULL, colorSection, iSectionCount) ); sLastSection = sThisSection; } } @@ -1361,9 +1358,14 @@ void MusicWheel::SetOpenSection( RString group ) for( unsigned i = 0; i < from.size(); ++i ) { MusicWheelItemData &d = *from[i]; + // Don't show songs outside the current group if( (d.m_Type == WheelItemDataType_Song || d.m_Type == WheelItemDataType_Course) && !d.m_sText.empty() && d.m_sText != group ) continue; + // In certain situations (e.g. simulating Pump it Up), themes may + // want to hide inactive group headings as well. + if( HIDE_INACTIVE_SECTIONS && d.m_Type == WheelItemDataType_Section && group != "" ) + continue; // If AUTO_SET_STYLE, hide courses that prefer a style that isn't available. if( d.m_Type == WheelItemDataType_Course && CommonMetrics::AUTO_SET_STYLE )