diff --git a/src/bindings.cpp b/src/bindings.cpp index 9f6dea73..caf32be2 100644 --- a/src/bindings.cpp +++ b/src/bindings.cpp @@ -108,7 +108,7 @@ Action *parseActionLine(const std::string &line, F error) std::string arg = getEnclosedString(line, '"', '"', 0); Key k = stringToSpecialKey(arg); if (k != Key::noOp) - result = new PushCharacters(&Global::wFooter, { k.getChar() }); + result = new PushCharacters(&Global::wFooter, std::vector{ k.getChar() }); else error() << "invalid character passed to push_character: '" << arg << "'\n"; } diff --git a/src/media_library.cpp b/src/media_library.cpp index 51ba6da0..d22e7c7d 100644 --- a/src/media_library.cpp +++ b/src/media_library.cpp @@ -75,16 +75,12 @@ void DisplayPrimaryTags(NC::Menu &menu); bool SortSongsByTrack(const MPD::Song &a, const MPD::Song &b); struct SortAllTracks { - const std::array m_gets; + static const std::array GetFuns; LocaleStringComparison m_cmp; public: - SortAllTracks() : m_gets({{ - &MPD::Song::getDate, - &MPD::Song::getAlbum, - &MPD::Song::getDisc - }}), m_cmp(std::locale(), Config.ignore_leading_the) { } + SortAllTracks() : m_cmp(std::locale(), Config.ignore_leading_the) { } bool operator()(const MPD::Song &a, const MPD::Song &b) { - for (auto get = m_gets.begin(); get != m_gets.end(); ++get) { + for (auto get = GetFuns.begin(); get != GetFuns.end(); ++get) { int ret = m_cmp(a.getTags(*get, Config.tags_separator), b.getTags(*get, Config.tags_separator)); if (ret != 0) @@ -93,6 +89,11 @@ public: return a.getTrack() < b.getTrack(); } }; +const std::array SortAllTracks::GetFuns = {{ + &MPD::Song::getDate, + &MPD::Song::getAlbum, + &MPD::Song::getDisc +}}; class SortSearchConstraints { LocaleStringComparison m_cmp; @@ -408,7 +409,7 @@ void MediaLibrary::mouseButtonPressed(MEVENT me) { auto tryNextColumn = [this]() -> bool { bool result = true; - if (isActiveWindow(Songs)) + if (this->isActiveWindow(Songs)) { if (nextColumnAvailable()) nextColumn(); @@ -419,7 +420,7 @@ void MediaLibrary::mouseButtonPressed(MEVENT me) }; auto tryPreviousColumn = [this]() -> bool { bool result = true; - if (isActiveWindow(Tags)) + if (this->isActiveWindow(Tags)) { if (previousColumnAvailable()) previousColumn(); diff --git a/src/sel_items_adder.cpp b/src/sel_items_adder.cpp index 6b29526f..4bff5d38 100644 --- a/src/sel_items_adder.cpp +++ b/src/sel_items_adder.cpp @@ -243,7 +243,10 @@ void SelectedItemsAdder::addToExistingPlaylist(const std::string &playlist) cons for (auto s = m_selected_items.begin(); s != m_selected_items.end(); ++s) Mpd.AddToPlaylist(playlist, *s); if (Mpd.CommitCommandsList()) + { Statusbar::msg("Selected item(s) added to playlist \"%s\"", playlist.c_str()); + m_old_screen->switchTo(); + } } void SelectedItemsAdder::addAtTheEndOfPlaylist() const