add key_select_album: select album around cursor
Default key for this is 'B'. This use to be the default for ToggleBitrateVisibility, which has changed to '#'.
This commit is contained in:
committed by
Andrzej Rybczak
parent
4d406c85f2
commit
7600429383
4
doc/keys
4
doc/keys
@@ -48,7 +48,7 @@
|
|||||||
#
|
#
|
||||||
#key_toggle_mouse = '|'
|
#key_toggle_mouse = '|'
|
||||||
#
|
#
|
||||||
#key_toggle_bitrate_visibility = 'B'
|
#key_toggle_bitrate_visibility = '#'
|
||||||
#
|
#
|
||||||
#key_screen_switcher = 9
|
#key_screen_switcher = 9
|
||||||
#
|
#
|
||||||
@@ -132,6 +132,8 @@
|
|||||||
#
|
#
|
||||||
#key_deselect_all = 'V'
|
#key_deselect_all = 'V'
|
||||||
#
|
#
|
||||||
|
#key_select_album = 'B'
|
||||||
|
#
|
||||||
#key_add_selected_items = 'A'
|
#key_add_selected_items = 'A'
|
||||||
#
|
#
|
||||||
#key_clear = 'c'
|
#key_clear = 'c'
|
||||||
|
|||||||
@@ -182,6 +182,7 @@ void Help::GetKeybindings()
|
|||||||
*w << DisplayKeys(Key.ToggleMouse) << "Toggle mouse support\n";
|
*w << DisplayKeys(Key.ToggleMouse) << "Toggle mouse support\n";
|
||||||
*w << DisplayKeys(Key.ReverseSelection) << "Reverse selection\n";
|
*w << DisplayKeys(Key.ReverseSelection) << "Reverse selection\n";
|
||||||
*w << DisplayKeys(Key.DeselectAll) << "Deselect all items\n";
|
*w << DisplayKeys(Key.DeselectAll) << "Deselect all items\n";
|
||||||
|
*w << DisplayKeys(Key.SelectAlbum) << "Select songs of album around cursor\n";
|
||||||
*w << DisplayKeys(Key.AddSelected) << "Add selected items to playlist/m3u file\n";
|
*w << DisplayKeys(Key.AddSelected) << "Add selected items to playlist/m3u file\n";
|
||||||
*w << "\n";
|
*w << "\n";
|
||||||
*w << DisplayKeys(Key.ToggleRepeat) << "Toggle repeat mode\n";
|
*w << DisplayKeys(Key.ToggleRepeat) << "Toggle repeat mode\n";
|
||||||
|
|||||||
@@ -1694,6 +1694,44 @@ int main(int argc, char *argv[])
|
|||||||
ShowMessage("Items deselected!");
|
ShowMessage("Items deselected!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (Keypressed(input, Key.SelectAlbum))
|
||||||
|
{
|
||||||
|
if (myScreen->allowsSelection())
|
||||||
|
{
|
||||||
|
Menu<MPD::Song> *songs = NULL;
|
||||||
|
if (myScreen == myPlaylist && !myPlaylist->Items->Empty())
|
||||||
|
songs = myPlaylist->Items;
|
||||||
|
else if (myScreen->ActiveWindow() == myPlaylistEditor->Content)
|
||||||
|
songs = myPlaylistEditor->Content;
|
||||||
|
|
||||||
|
if (songs && !songs->Empty())
|
||||||
|
{
|
||||||
|
size_t pos = songs->Choice();
|
||||||
|
std::string album = songs->at(pos).GetAlbum();
|
||||||
|
List *mList = myScreen->GetList();
|
||||||
|
// select song under cursor
|
||||||
|
mList->Select(pos, 1);
|
||||||
|
// go up
|
||||||
|
while (pos > 0)
|
||||||
|
{
|
||||||
|
if (songs->at(--pos).GetAlbum() != album)
|
||||||
|
break;
|
||||||
|
else
|
||||||
|
mList->Select(pos, 1);
|
||||||
|
}
|
||||||
|
// go down
|
||||||
|
pos = songs->Choice();
|
||||||
|
while (pos < songs->Size() - 1)
|
||||||
|
{
|
||||||
|
if (songs->at(++pos).GetAlbum() != album)
|
||||||
|
break;
|
||||||
|
else
|
||||||
|
mList->Select(pos, 1);
|
||||||
|
}
|
||||||
|
ShowMessage("Album around cursor position selected.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (Keypressed(input, Key.AddSelected))
|
else if (Keypressed(input, Key.AddSelected))
|
||||||
{
|
{
|
||||||
mySelectedItemsAdder->SwitchTo();
|
mySelectedItemsAdder->SwitchTo();
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ void NcmpcppKeys::SetDefaults()
|
|||||||
ToggleSpaceMode[0] = 't';
|
ToggleSpaceMode[0] = 't';
|
||||||
ToggleAddMode[0] = 'T';
|
ToggleAddMode[0] = 'T';
|
||||||
ToggleMouse[0] = '|';
|
ToggleMouse[0] = '|';
|
||||||
ToggleBitrateVisibility[0] = 'B';
|
ToggleBitrateVisibility[0] = '#';
|
||||||
Shuffle[0] = 'Z';
|
Shuffle[0] = 'Z';
|
||||||
ToggleCrossfade[0] = 'x';
|
ToggleCrossfade[0] = 'x';
|
||||||
SetCrossfade[0] = 'X';
|
SetCrossfade[0] = 'X';
|
||||||
@@ -213,6 +213,7 @@ void NcmpcppKeys::SetDefaults()
|
|||||||
Lyrics[0] = 'l';
|
Lyrics[0] = 'l';
|
||||||
ReverseSelection[0] = 'v';
|
ReverseSelection[0] = 'v';
|
||||||
DeselectAll[0] = 'V';
|
DeselectAll[0] = 'V';
|
||||||
|
SelectAlbum[0] = 'B';
|
||||||
AddSelected[0] = 'A';
|
AddSelected[0] = 'A';
|
||||||
Clear[0] = 'c';
|
Clear[0] = 'c';
|
||||||
Crop[0] = 'C';
|
Crop[0] = 'C';
|
||||||
@@ -294,6 +295,7 @@ void NcmpcppKeys::SetDefaults()
|
|||||||
Lyrics[1] = NullKey;
|
Lyrics[1] = NullKey;
|
||||||
ReverseSelection[1] = NullKey;
|
ReverseSelection[1] = NullKey;
|
||||||
DeselectAll[1] = NullKey;
|
DeselectAll[1] = NullKey;
|
||||||
|
SelectAlbum[1] = NullKey;
|
||||||
AddSelected[1] = NullKey;
|
AddSelected[1] = NullKey;
|
||||||
Clear[1] = NullKey;
|
Clear[1] = NullKey;
|
||||||
Crop[1] = NullKey;
|
Crop[1] = NullKey;
|
||||||
@@ -555,6 +557,8 @@ void NcmpcppKeys::Read()
|
|||||||
GetKeys(key, ReverseSelection);
|
GetKeys(key, ReverseSelection);
|
||||||
else if (key.find("key_deselect_all ") != std::string::npos)
|
else if (key.find("key_deselect_all ") != std::string::npos)
|
||||||
GetKeys(key, DeselectAll);
|
GetKeys(key, DeselectAll);
|
||||||
|
else if (key.find("key_select_album ") != std::string::npos)
|
||||||
|
GetKeys(key, SelectAlbum);
|
||||||
else if (key.find("key_add_selected_items ") != std::string::npos)
|
else if (key.find("key_add_selected_items ") != std::string::npos)
|
||||||
GetKeys(key, AddSelected);
|
GetKeys(key, AddSelected);
|
||||||
else if (key.find("key_clear ") != std::string::npos)
|
else if (key.find("key_clear ") != std::string::npos)
|
||||||
|
|||||||
@@ -118,6 +118,7 @@ struct NcmpcppKeys
|
|||||||
int Lyrics[2];
|
int Lyrics[2];
|
||||||
int ReverseSelection[2];
|
int ReverseSelection[2];
|
||||||
int DeselectAll[2];
|
int DeselectAll[2];
|
||||||
|
int SelectAlbum[2];
|
||||||
int AddSelected[2];
|
int AddSelected[2];
|
||||||
int Clear[2];
|
int Clear[2];
|
||||||
int Crop[2];
|
int Crop[2];
|
||||||
|
|||||||
Reference in New Issue
Block a user