From 51136701bbae0e09950a0353f217a1559e8a626d Mon Sep 17 00:00:00 2001 From: Andrzej Rybczak Date: Sat, 17 Jan 2015 11:57:21 +0100 Subject: [PATCH] Revert "proxy song list: remove highlight" Highlight is too good not to have. This reverts commit 9cbcf61faca58f27de3305d7b5786b40ac5297b1. --- src/actions.cpp | 8 ++++---- src/proxy_song_list.h | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/actions.cpp b/src/actions.cpp index b90c17ec..d6ebc2ea 100644 --- a/src/actions.cpp +++ b/src/actions.cpp @@ -379,11 +379,11 @@ void ScrollUpArtist::run() std::string artist = s->getArtist(); while (pos > 0) { - myScreen->scroll(NC::Scroll::Up); s = pl.getSong(--pos); if (!s || s->getArtist() != artist) break; } + pl.highlight(pos); } } @@ -404,11 +404,11 @@ void ScrollUpAlbum::run() std::string album = s->getAlbum(); while (pos > 0) { - myScreen->scroll(NC::Scroll::Up); s = pl.getSong(--pos); if (!s || s->getAlbum() != album) break; } + pl.highlight(pos); } } @@ -429,11 +429,11 @@ void ScrollDownArtist::run() std::string artist = s->getArtist(); while (pos < pl.size() - 1) { - myScreen->scroll(NC::Scroll::Down); s = pl.getSong(++pos); if (!s || s->getArtist() != artist) break; } + pl.highlight(pos); } } @@ -454,11 +454,11 @@ void ScrollDownAlbum::run() std::string album = s->getAlbum(); while (pos < pl.size() - 1) { - myScreen->scroll(NC::Scroll::Down); s = pl.getSong(++pos); if (!s || s->getAlbum() != album) break; } + pl.highlight(pos); } } diff --git a/src/proxy_song_list.h b/src/proxy_song_list.h index aa3192ba..68c7db26 100644 --- a/src/proxy_song_list.h +++ b/src/proxy_song_list.h @@ -43,6 +43,7 @@ class ProxySongList virtual bool empty() = 0; virtual size_t size() = 0; virtual size_t choice() = 0; + virtual void highlight(size_t pos) = 0; virtual bool isSelected(size_t pos) = 0; virtual void setSelected(size_t pos, bool selected) = 0; @@ -64,6 +65,7 @@ class ProxySongList virtual bool empty() { return m_menu.empty(); } virtual size_t size() { return m_menu.size(); } virtual size_t choice() { return m_menu.choice(); } + virtual void highlight(size_t pos) { m_menu.highlight(pos); } virtual bool isSelected(size_t pos) { assert(pos < m_menu.size()); @@ -110,6 +112,7 @@ public: bool empty() const { return m_impl->empty(); } size_t size() const { return m_impl->size(); } size_t choice() const { return m_impl->choice(); } + void highlight(size_t pos) const { m_impl->highlight(pos); } bool isSelected(size_t pos) const { return m_impl->isSelected(pos); } void setSelected(size_t pos, bool selected) const { m_impl->setSelected(pos, selected); }