new feature: cyclic scrolling
This commit is contained in:
@@ -142,6 +142,8 @@
|
|||||||
#
|
#
|
||||||
#fancy_scrolling = "yes"
|
#fancy_scrolling = "yes"
|
||||||
#
|
#
|
||||||
|
#cyclic_scrolling = "no"
|
||||||
|
#
|
||||||
#follow_now_playing_lyrics = "no"
|
#follow_now_playing_lyrics = "no"
|
||||||
#
|
#
|
||||||
#ncmpc_like_songs_adding = "no" (enabled - add/remove, disabled - always add)
|
#ncmpc_like_songs_adding = "no" (enabled - add/remove, disabled - always add)
|
||||||
|
|||||||
@@ -123,6 +123,9 @@ No need to describe it, huh?
|
|||||||
.B fancy_scrolling = yes/no
|
.B fancy_scrolling = yes/no
|
||||||
If enabled, content of other columns will be updated immediately while scrolling, otherwise only after you stop scrolling.
|
If enabled, content of other columns will be updated immediately while scrolling, otherwise only after you stop scrolling.
|
||||||
.TP
|
.TP
|
||||||
|
.B cyclic_scrolling = yes/no
|
||||||
|
If enabled, cyclic scrolling is used (e.g. if you press down arrow being at the end of list, it'll take you to the beginning)
|
||||||
|
.TP
|
||||||
.B playlist_show_remaining_time = yes/no
|
.B playlist_show_remaining_time = yes/no
|
||||||
If enabled, time remaining to end of playlist will be shown after playlist's statistics.
|
If enabled, time remaining to end of playlist will be shown after playlist's statistics.
|
||||||
.TP
|
.TP
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ void Browser::Init()
|
|||||||
w = new Menu<Item>(0, MainStartY, COLS, MainHeight, Config.columns_in_browser ? Display::Columns(Config.song_columns_list_format) : "", Config.main_color, brNone);
|
w = new Menu<Item>(0, MainStartY, COLS, MainHeight, Config.columns_in_browser ? Display::Columns(Config.song_columns_list_format) : "", Config.main_color, brNone);
|
||||||
w->HighlightColor(Config.main_highlight_color);
|
w->HighlightColor(Config.main_highlight_color);
|
||||||
w->SetTimeout(ncmpcpp_window_timeout);
|
w->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
w->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
w->SetSelectPrefix(&Config.selected_item_prefix);
|
w->SetSelectPrefix(&Config.selected_item_prefix);
|
||||||
w->SetSelectSuffix(&Config.selected_item_suffix);
|
w->SetSelectSuffix(&Config.selected_item_suffix);
|
||||||
w->SetItemDisplayer(Display::Items);
|
w->SetItemDisplayer(Display::Items);
|
||||||
|
|||||||
@@ -52,17 +52,20 @@ void MediaLibrary::Init()
|
|||||||
Artists = new Menu<string>(0, MainStartY, itsLeftColWidth, MainHeight, IntoStr(Config.media_lib_primary_tag) + "s", Config.main_color, brNone);
|
Artists = new Menu<string>(0, MainStartY, itsLeftColWidth, MainHeight, IntoStr(Config.media_lib_primary_tag) + "s", Config.main_color, brNone);
|
||||||
Artists->HighlightColor(Config.active_column_color);
|
Artists->HighlightColor(Config.active_column_color);
|
||||||
Artists->SetTimeout(ncmpcpp_window_timeout);
|
Artists->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
Artists->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
Artists->SetItemDisplayer(Display::Generic);
|
Artists->SetItemDisplayer(Display::Generic);
|
||||||
|
|
||||||
Albums = new Menu< std::pair<std::string, SearchConstraints> >(itsMiddleColStartX, MainStartY, itsMiddleColWidth, MainHeight, "Albums", Config.main_color, brNone);
|
Albums = new Menu< std::pair<std::string, SearchConstraints> >(itsMiddleColStartX, MainStartY, itsMiddleColWidth, MainHeight, "Albums", Config.main_color, brNone);
|
||||||
Albums->HighlightColor(Config.main_highlight_color);
|
Albums->HighlightColor(Config.main_highlight_color);
|
||||||
Albums->SetTimeout(ncmpcpp_window_timeout);
|
Albums->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
Albums->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
Albums->SetItemDisplayer(Display::Pairs);
|
Albums->SetItemDisplayer(Display::Pairs);
|
||||||
Albums->SetGetStringFunction(StringPairToString);
|
Albums->SetGetStringFunction(StringPairToString);
|
||||||
|
|
||||||
Songs = new Menu<Song>(itsRightColStartX, MainStartY, itsRightColWidth, MainHeight, "Songs", Config.main_color, brNone);
|
Songs = new Menu<Song>(itsRightColStartX, MainStartY, itsRightColWidth, MainHeight, "Songs", Config.main_color, brNone);
|
||||||
Songs->HighlightColor(Config.main_highlight_color);
|
Songs->HighlightColor(Config.main_highlight_color);
|
||||||
Songs->SetTimeout(ncmpcpp_window_timeout);
|
Songs->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
Songs->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
Songs->SetSelectPrefix(&Config.selected_item_prefix);
|
Songs->SetSelectPrefix(&Config.selected_item_prefix);
|
||||||
Songs->SetSelectSuffix(&Config.selected_item_suffix);
|
Songs->SetSelectSuffix(&Config.selected_item_suffix);
|
||||||
Songs->SetItemDisplayer(Display::Songs);
|
Songs->SetItemDisplayer(Display::Songs);
|
||||||
|
|||||||
23
src/menu.h
23
src/menu.h
@@ -148,7 +148,7 @@ namespace NCurses
|
|||||||
void ShowFiltered() { itsOptionsPtr = &itsFilteredOptions; }
|
void ShowFiltered() { itsOptionsPtr = &itsFilteredOptions; }
|
||||||
|
|
||||||
virtual void Refresh();
|
virtual void Refresh();
|
||||||
virtual void Scroll(Where);
|
virtual void Scroll(Where where);
|
||||||
virtual void Reset();
|
virtual void Reset();
|
||||||
virtual void Clear(bool clrscr = 1);
|
virtual void Clear(bool clrscr = 1);
|
||||||
|
|
||||||
@@ -166,6 +166,7 @@ namespace NCurses
|
|||||||
|
|
||||||
void HighlightColor(Color col) { itsHighlightColor = col; }
|
void HighlightColor(Color col) { itsHighlightColor = col; }
|
||||||
void Highlighting(bool hl) { highlightEnabled = hl; }
|
void Highlighting(bool hl) { highlightEnabled = hl; }
|
||||||
|
void CyclicScrolling(bool cs) { useCyclicScrolling = cs; }
|
||||||
|
|
||||||
virtual bool Empty() const { return itsOptionsPtr->empty(); }
|
virtual bool Empty() const { return itsOptionsPtr->empty(); }
|
||||||
|
|
||||||
@@ -203,6 +204,7 @@ namespace NCurses
|
|||||||
|
|
||||||
Color itsHighlightColor;
|
Color itsHighlightColor;
|
||||||
bool highlightEnabled;
|
bool highlightEnabled;
|
||||||
|
bool useCyclicScrolling;
|
||||||
|
|
||||||
Buffer *itsSelectedPrefix;
|
Buffer *itsSelectedPrefix;
|
||||||
Buffer *itsSelectedSuffix;
|
Buffer *itsSelectedSuffix;
|
||||||
@@ -228,6 +230,7 @@ template <typename T> NCurses::Menu<T>::Menu(size_t startx,
|
|||||||
itsHighlight(0),
|
itsHighlight(0),
|
||||||
itsHighlightColor(itsBaseColor),
|
itsHighlightColor(itsBaseColor),
|
||||||
highlightEnabled(1),
|
highlightEnabled(1),
|
||||||
|
useCyclicScrolling(0),
|
||||||
itsSelectedPrefix(0),
|
itsSelectedPrefix(0),
|
||||||
itsSelectedSuffix(0)
|
itsSelectedSuffix(0)
|
||||||
{
|
{
|
||||||
@@ -432,10 +435,11 @@ template <typename T> void NCurses::Menu<T>::Scroll(Where where)
|
|||||||
if (itsHighlight <= itsBeginning && itsHighlight > 0)
|
if (itsHighlight <= itsBeginning && itsHighlight > 0)
|
||||||
{
|
{
|
||||||
itsBeginning--;
|
itsBeginning--;
|
||||||
//Window::Scroll(wUp);
|
|
||||||
}
|
}
|
||||||
if (itsHighlight == 0)
|
if (itsHighlight == 0)
|
||||||
{
|
{
|
||||||
|
if (useCyclicScrolling)
|
||||||
|
return Scroll(wEnd);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -444,7 +448,7 @@ template <typename T> void NCurses::Menu<T>::Scroll(Where where)
|
|||||||
}
|
}
|
||||||
if (!(*itsOptionsPtr)[itsHighlight] || (*itsOptionsPtr)[itsHighlight]->isStatic)
|
if (!(*itsOptionsPtr)[itsHighlight] || (*itsOptionsPtr)[itsHighlight]->isStatic)
|
||||||
{
|
{
|
||||||
Scroll(itsHighlight == 0 ? wDown : wUp);
|
Scroll(itsHighlight == 0 && !useCyclicScrolling ? wDown : wUp);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -453,10 +457,11 @@ template <typename T> void NCurses::Menu<T>::Scroll(Where where)
|
|||||||
if (itsHighlight >= MaxCurrentHighlight && itsHighlight < MaxHighlight)
|
if (itsHighlight >= MaxCurrentHighlight && itsHighlight < MaxHighlight)
|
||||||
{
|
{
|
||||||
itsBeginning++;
|
itsBeginning++;
|
||||||
//Window::Scroll(wDown);
|
|
||||||
}
|
}
|
||||||
if (itsHighlight == MaxHighlight)
|
if (itsHighlight == MaxHighlight)
|
||||||
{
|
{
|
||||||
|
if (useCyclicScrolling)
|
||||||
|
return Scroll(wHome);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -465,12 +470,14 @@ template <typename T> void NCurses::Menu<T>::Scroll(Where where)
|
|||||||
}
|
}
|
||||||
if (!(*itsOptionsPtr)[itsHighlight] || (*itsOptionsPtr)[itsHighlight]->isStatic)
|
if (!(*itsOptionsPtr)[itsHighlight] || (*itsOptionsPtr)[itsHighlight]->isStatic)
|
||||||
{
|
{
|
||||||
Scroll(itsHighlight == MaxHighlight ? wUp : wDown);
|
Scroll(itsHighlight == MaxHighlight && !useCyclicScrolling ? wUp : wDown);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case wPageUp:
|
case wPageUp:
|
||||||
{
|
{
|
||||||
|
if (useCyclicScrolling && itsHighlight == 0)
|
||||||
|
return Scroll(wEnd);
|
||||||
itsHighlight -= itsHeight;
|
itsHighlight -= itsHeight;
|
||||||
itsBeginning -= itsHeight;
|
itsBeginning -= itsHeight;
|
||||||
if (itsBeginning < 0)
|
if (itsBeginning < 0)
|
||||||
@@ -481,12 +488,14 @@ template <typename T> void NCurses::Menu<T>::Scroll(Where where)
|
|||||||
}
|
}
|
||||||
if (!(*itsOptionsPtr)[itsHighlight] || (*itsOptionsPtr)[itsHighlight]->isStatic)
|
if (!(*itsOptionsPtr)[itsHighlight] || (*itsOptionsPtr)[itsHighlight]->isStatic)
|
||||||
{
|
{
|
||||||
Scroll(itsHighlight == 0 ? wDown: wUp);
|
Scroll(itsHighlight == 0 && !useCyclicScrolling ? wDown : wUp);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case wPageDown:
|
case wPageDown:
|
||||||
{
|
{
|
||||||
|
if (useCyclicScrolling && itsHighlight == MaxHighlight)
|
||||||
|
return Scroll(wHome);
|
||||||
itsHighlight += itsHeight;
|
itsHighlight += itsHeight;
|
||||||
itsBeginning += itsHeight;
|
itsBeginning += itsHeight;
|
||||||
if (itsBeginning > MaxBeginning)
|
if (itsBeginning > MaxBeginning)
|
||||||
@@ -497,7 +506,7 @@ template <typename T> void NCurses::Menu<T>::Scroll(Where where)
|
|||||||
}
|
}
|
||||||
if (!(*itsOptionsPtr)[itsHighlight] || (*itsOptionsPtr)[itsHighlight]->isStatic)
|
if (!(*itsOptionsPtr)[itsHighlight] || (*itsOptionsPtr)[itsHighlight]->isStatic)
|
||||||
{
|
{
|
||||||
Scroll(itsHighlight == MaxHighlight ? wUp : wDown);
|
Scroll(itsHighlight == MaxHighlight && !useCyclicScrolling ? wUp : wDown);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1376,6 +1376,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
Menu<string> mDialog((COLS-dialog_width)/2, (LINES-dialog_height)/2, dialog_width, dialog_height, "Add selected items to...", Config.main_color, Config.window_border);
|
Menu<string> mDialog((COLS-dialog_width)/2, (LINES-dialog_height)/2, dialog_width, dialog_height, "Add selected items to...", Config.main_color, Config.window_border);
|
||||||
mDialog.SetTimeout(ncmpcpp_window_timeout);
|
mDialog.SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
mDialog.CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
mDialog.SetItemDisplayer(Display::Generic);
|
mDialog.SetItemDisplayer(Display::Generic);
|
||||||
|
|
||||||
bool playlists_not_active = myScreen == myBrowser && Config.local_browser;
|
bool playlists_not_active = myScreen == myBrowser && Config.local_browser;
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ void Playlist::Init()
|
|||||||
{
|
{
|
||||||
w = new Menu<MPD::Song>(0, MainStartY, COLS, MainHeight, Config.columns_in_playlist ? Display::Columns(Config.song_columns_list_format) : "", Config.main_color, brNone);
|
w = new Menu<MPD::Song>(0, MainStartY, COLS, MainHeight, Config.columns_in_playlist ? Display::Columns(Config.song_columns_list_format) : "", Config.main_color, brNone);
|
||||||
w->SetTimeout(ncmpcpp_window_timeout);
|
w->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
w->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
w->HighlightColor(Config.main_highlight_color);
|
w->HighlightColor(Config.main_highlight_color);
|
||||||
w->SetSelectPrefix(&Config.selected_item_prefix);
|
w->SetSelectPrefix(&Config.selected_item_prefix);
|
||||||
w->SetSelectSuffix(&Config.selected_item_suffix);
|
w->SetSelectSuffix(&Config.selected_item_suffix);
|
||||||
@@ -61,6 +62,7 @@ void Playlist::Init()
|
|||||||
|
|
||||||
SortDialog = new Menu< std::pair<std::string, MPD::Song::GetFunction> >((COLS-SortDialogWidth)/2, (LINES-SortDialogHeight)/2, SortDialogWidth, SortDialogHeight, "Sort songs by...", Config.main_color, Config.window_border);
|
SortDialog = new Menu< std::pair<std::string, MPD::Song::GetFunction> >((COLS-SortDialogWidth)/2, (LINES-SortDialogHeight)/2, SortDialogWidth, SortDialogHeight, "Sort songs by...", Config.main_color, Config.window_border);
|
||||||
SortDialog->SetTimeout(ncmpcpp_window_timeout);
|
SortDialog->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
SortDialog->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
SortDialog->SetItemDisplayer(Display::Pairs);
|
SortDialog->SetItemDisplayer(Display::Pairs);
|
||||||
|
|
||||||
SortDialog->AddOption(std::make_pair("Artist", &MPD::Song::GetArtist));
|
SortDialog->AddOption(std::make_pair("Artist", &MPD::Song::GetArtist));
|
||||||
|
|||||||
@@ -49,11 +49,13 @@ void PlaylistEditor::Init()
|
|||||||
Playlists = new Menu<string>(0, MainStartY, LeftColumnWidth, MainHeight, "Playlists", Config.main_color, brNone);
|
Playlists = new Menu<string>(0, MainStartY, LeftColumnWidth, MainHeight, "Playlists", Config.main_color, brNone);
|
||||||
Playlists->HighlightColor(Config.active_column_color);
|
Playlists->HighlightColor(Config.active_column_color);
|
||||||
Playlists->SetTimeout(ncmpcpp_window_timeout);
|
Playlists->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
Playlists->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
Playlists->SetItemDisplayer(Display::Generic);
|
Playlists->SetItemDisplayer(Display::Generic);
|
||||||
|
|
||||||
Content = new Menu<Song>(RightColumnStartX, MainStartY, RightColumnWidth, MainHeight, "Playlist's content", Config.main_color, brNone);
|
Content = new Menu<Song>(RightColumnStartX, MainStartY, RightColumnWidth, MainHeight, "Playlist's content", Config.main_color, brNone);
|
||||||
Content->HighlightColor(Config.main_highlight_color);
|
Content->HighlightColor(Config.main_highlight_color);
|
||||||
Content->SetTimeout(ncmpcpp_window_timeout);
|
Content->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
Content->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
Content->SetSelectPrefix(&Config.selected_item_prefix);
|
Content->SetSelectPrefix(&Config.selected_item_prefix);
|
||||||
Content->SetSelectSuffix(&Config.selected_item_suffix);
|
Content->SetSelectSuffix(&Config.selected_item_suffix);
|
||||||
Content->SetItemDisplayer(Display::Songs);
|
Content->SetItemDisplayer(Display::Songs);
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ void SearchEngine::Init()
|
|||||||
w = new Menu< std::pair<Buffer *, Song *> >(0, MainStartY, COLS, MainHeight, "", Config.main_color, brNone);
|
w = new Menu< std::pair<Buffer *, Song *> >(0, MainStartY, COLS, MainHeight, "", Config.main_color, brNone);
|
||||||
w->HighlightColor(Config.main_highlight_color);
|
w->HighlightColor(Config.main_highlight_color);
|
||||||
w->SetTimeout(ncmpcpp_window_timeout);
|
w->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
w->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
w->SetItemDisplayer(Display::SearchEngine);
|
w->SetItemDisplayer(Display::SearchEngine);
|
||||||
w->SetSelectPrefix(&Config.selected_item_prefix);
|
w->SetSelectPrefix(&Config.selected_item_prefix);
|
||||||
w->SetSelectSuffix(&Config.selected_item_suffix);
|
w->SetSelectSuffix(&Config.selected_item_suffix);
|
||||||
|
|||||||
@@ -274,6 +274,7 @@ void DefaultConfiguration(ncmpcpp_config &conf)
|
|||||||
conf.ignore_leading_the = false;
|
conf.ignore_leading_the = false;
|
||||||
conf.block_search_constraints_change = true;
|
conf.block_search_constraints_change = true;
|
||||||
conf.use_console_editor = false;
|
conf.use_console_editor = false;
|
||||||
|
conf.use_cyclic_scrolling = false;
|
||||||
conf.set_window_title = true;
|
conf.set_window_title = true;
|
||||||
conf.mpd_port = 6600;
|
conf.mpd_port = 6600;
|
||||||
conf.mpd_connection_timeout = 15;
|
conf.mpd_connection_timeout = 15;
|
||||||
@@ -574,6 +575,10 @@ void ReadConfiguration(ncmpcpp_config &conf)
|
|||||||
{
|
{
|
||||||
conf.fancy_scrolling = v == "yes";
|
conf.fancy_scrolling = v == "yes";
|
||||||
}
|
}
|
||||||
|
else if (cl.find("cyclic_scrolling") != string::npos)
|
||||||
|
{
|
||||||
|
conf.use_cyclic_scrolling = v == "yes";
|
||||||
|
}
|
||||||
else if (cl.find("playlist_show_remaining_time") != string::npos)
|
else if (cl.find("playlist_show_remaining_time") != string::npos)
|
||||||
{
|
{
|
||||||
conf.playlist_show_remaining_time = v == "yes";
|
conf.playlist_show_remaining_time = v == "yes";
|
||||||
|
|||||||
@@ -165,6 +165,7 @@ struct ncmpcpp_config
|
|||||||
bool ignore_leading_the;
|
bool ignore_leading_the;
|
||||||
bool block_search_constraints_change;
|
bool block_search_constraints_change;
|
||||||
bool use_console_editor;
|
bool use_console_editor;
|
||||||
|
bool use_cyclic_scrolling;
|
||||||
|
|
||||||
int mpd_port;
|
int mpd_port;
|
||||||
int mpd_connection_timeout;
|
int mpd_connection_timeout;
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ void TinyTagEditor::Init()
|
|||||||
w = new Menu<Buffer>(0, MainStartY, COLS, MainHeight, "", Config.main_color, brNone);
|
w = new Menu<Buffer>(0, MainStartY, COLS, MainHeight, "", Config.main_color, brNone);
|
||||||
w->HighlightColor(Config.main_highlight_color);
|
w->HighlightColor(Config.main_highlight_color);
|
||||||
w->SetTimeout(ncmpcpp_window_timeout);
|
w->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
w->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
w->SetItemDisplayer(Display::Generic);
|
w->SetItemDisplayer(Display::Generic);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -306,12 +307,14 @@ void TagEditor::Init()
|
|||||||
Albums = new Menu<string_pair>(0, MainStartY, LeftColumnWidth, MainHeight, "Albums", Config.main_color, brNone);
|
Albums = new Menu<string_pair>(0, MainStartY, LeftColumnWidth, MainHeight, "Albums", Config.main_color, brNone);
|
||||||
Albums->HighlightColor(Config.active_column_color);
|
Albums->HighlightColor(Config.active_column_color);
|
||||||
Albums->SetTimeout(ncmpcpp_window_timeout);
|
Albums->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
Albums->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
Albums->SetItemDisplayer(Display::Pairs);
|
Albums->SetItemDisplayer(Display::Pairs);
|
||||||
Albums->SetGetStringFunction(StringPairToString);
|
Albums->SetGetStringFunction(StringPairToString);
|
||||||
|
|
||||||
Dirs = new Menu<string_pair>(0, MainStartY, LeftColumnWidth, MainHeight, "Directories", Config.main_color, brNone);
|
Dirs = new Menu<string_pair>(0, MainStartY, LeftColumnWidth, MainHeight, "Directories", Config.main_color, brNone);
|
||||||
Dirs->HighlightColor(Config.active_column_color);
|
Dirs->HighlightColor(Config.active_column_color);
|
||||||
Dirs->SetTimeout(ncmpcpp_window_timeout);
|
Dirs->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
Dirs->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
Dirs->SetItemDisplayer(Display::Pairs);
|
Dirs->SetItemDisplayer(Display::Pairs);
|
||||||
Dirs->SetGetStringFunction(StringPairToString);
|
Dirs->SetGetStringFunction(StringPairToString);
|
||||||
|
|
||||||
@@ -320,11 +323,13 @@ void TagEditor::Init()
|
|||||||
TagTypes = new Menu<string>(MiddleColumnStartX, MainStartY, MiddleColumnWidth, MainHeight, "Tag types", Config.main_color, brNone);
|
TagTypes = new Menu<string>(MiddleColumnStartX, MainStartY, MiddleColumnWidth, MainHeight, "Tag types", Config.main_color, brNone);
|
||||||
TagTypes->HighlightColor(Config.main_highlight_color);
|
TagTypes->HighlightColor(Config.main_highlight_color);
|
||||||
TagTypes->SetTimeout(ncmpcpp_window_timeout);
|
TagTypes->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
TagTypes->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
TagTypes->SetItemDisplayer(Display::Generic);
|
TagTypes->SetItemDisplayer(Display::Generic);
|
||||||
|
|
||||||
Tags = new Menu<Song>(RightColumnStartX, MainStartY, RightColumnWidth, MainHeight, "Tags", Config.main_color, brNone);
|
Tags = new Menu<Song>(RightColumnStartX, MainStartY, RightColumnWidth, MainHeight, "Tags", Config.main_color, brNone);
|
||||||
Tags->HighlightColor(Config.main_highlight_color);
|
Tags->HighlightColor(Config.main_highlight_color);
|
||||||
Tags->SetTimeout(ncmpcpp_window_timeout);
|
Tags->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
Tags->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
Tags->SetSelectPrefix(&Config.selected_item_prefix);
|
Tags->SetSelectPrefix(&Config.selected_item_prefix);
|
||||||
Tags->SetSelectSuffix(&Config.selected_item_suffix);
|
Tags->SetSelectSuffix(&Config.selected_item_suffix);
|
||||||
Tags->SetItemDisplayer(Display::Tags);
|
Tags->SetItemDisplayer(Display::Tags);
|
||||||
@@ -1165,6 +1170,7 @@ void TagEditor::DealWithFilenames(SongList &v)
|
|||||||
|
|
||||||
Menu<string> *Main = new Menu<string>((COLS-width)/2, (LINES-height)/2, width, height, "", Config.main_color, Config.window_border);
|
Menu<string> *Main = new Menu<string>((COLS-width)/2, (LINES-height)/2, width, height, "", Config.main_color, Config.window_border);
|
||||||
Main->SetTimeout(ncmpcpp_window_timeout);
|
Main->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
Main->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
Main->SetItemDisplayer(Display::Generic);
|
Main->SetItemDisplayer(Display::Generic);
|
||||||
Main->AddOption("Get tags from filename");
|
Main->AddOption("Get tags from filename");
|
||||||
Main->AddOption("Rename files");
|
Main->AddOption("Rename files");
|
||||||
@@ -1225,6 +1231,7 @@ void TagEditor::DealWithFilenames(SongList &v)
|
|||||||
|
|
||||||
Main = new Menu<string>((COLS-width)/2, (LINES-height)/2, one_width, height, "", Config.main_color, Config.active_window_border);
|
Main = new Menu<string>((COLS-width)/2, (LINES-height)/2, one_width, height, "", Config.main_color, Config.active_window_border);
|
||||||
Main->SetTimeout(ncmpcpp_window_timeout);
|
Main->SetTimeout(ncmpcpp_window_timeout);
|
||||||
|
Main->CyclicScrolling(Config.use_cyclic_scrolling);
|
||||||
Main->SetItemDisplayer(Display::Generic);
|
Main->SetItemDisplayer(Display::Generic);
|
||||||
|
|
||||||
if (!Patterns.empty())
|
if (!Patterns.empty())
|
||||||
|
|||||||
Reference in New Issue
Block a user