settings: use separate bindings for switching between columns

This commit is contained in:
Andrzej Rybczak
2010-08-17 15:49:37 +02:00
parent de084e70bf
commit c97f4fac59
5 changed files with 63 additions and 31 deletions

View File

@@ -42,6 +42,10 @@
# #
#key_volume_down = 260 '-' #key_volume_down = 260 '-'
# #
#key_prev_column = 260
#
#key_next_column = 261
#
#key_toggle_space_mode = 't' #key_toggle_space_mode = 't'
# #
#key_toggle_add_mode = 'T' #key_toggle_add_mode = 'T'

View File

@@ -274,8 +274,8 @@ void Help::GetKeybindings()
*w << "\n\n " << fmtBold << "Keys - Media library\n -----------------------------------------\n" << fmtBoldEnd; *w << "\n\n " << fmtBold << "Keys - Media library\n -----------------------------------------\n" << fmtBoldEnd;
if (!Config.media_library_disable_two_column_mode) if (!Config.media_library_disable_two_column_mode)
*w << DisplayKeys(Key.MediaLibrary) << "Switch between two/three columns\n"; *w << DisplayKeys(Key.MediaLibrary) << "Switch between two/three columns\n";
*w << DisplayKeys(&Key.VolumeDown[0], 1) << "Previous column\n"; *w << DisplayKeys(Key.PrevColumn) << "Previous column\n";
*w << DisplayKeys(&Key.VolumeUp[0], 1) << "Next column\n"; *w << DisplayKeys(Key.NextColumn) << "Next column\n";
*w << DisplayKeys(Key.Enter) << "Add to playlist and play song/album/artist's songs\n"; *w << DisplayKeys(Key.Enter) << "Add to playlist and play song/album/artist's songs\n";
*w << DisplayKeys(Key.Space) << "Add to playlist song/album/artist's songs\n"; *w << DisplayKeys(Key.Space) << "Add to playlist song/album/artist's songs\n";
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
@@ -285,8 +285,8 @@ void Help::GetKeybindings()
*w << "\n\n " << fmtBold << "Keys - Playlist Editor\n -----------------------------------------\n" << fmtBoldEnd; *w << "\n\n " << fmtBold << "Keys - Playlist Editor\n -----------------------------------------\n" << fmtBoldEnd;
*w << DisplayKeys(&Key.VolumeDown[0], 1) << "Previous column\n"; *w << DisplayKeys(Key.PrevColumn) << "Previous column\n";
*w << DisplayKeys(&Key.VolumeUp[0], 1) << "Next column\n"; *w << DisplayKeys(Key.NextColumn) << "Next column\n";
*w << DisplayKeys(Key.Enter) << "Add item to playlist and play\n"; *w << DisplayKeys(Key.Enter) << "Add item to playlist and play\n";
*w << DisplayKeys(Key.Space) << "Add to playlist/select item\n"; *w << DisplayKeys(Key.Space) << "Add to playlist/select item\n";
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
@@ -320,8 +320,8 @@ void Help::GetKeybindings()
*w << DisplayKeys(Key.Enter) << "Perform operation on all/selected songs (middle column)\n"; *w << DisplayKeys(Key.Enter) << "Perform operation on all/selected songs (middle column)\n";
*w << DisplayKeys(Key.Space) << "Switch to albums/directories view (left column)\n"; *w << DisplayKeys(Key.Space) << "Switch to albums/directories view (left column)\n";
*w << DisplayKeys(Key.Space) << "Select/deselect song (right column)\n"; *w << DisplayKeys(Key.Space) << "Select/deselect song (right column)\n";
*w << DisplayKeys(&Key.VolumeDown[0], 1) << "Previous column\n"; *w << DisplayKeys(Key.PrevColumn) << "Previous column\n";
*w << DisplayKeys(&Key.VolumeUp[0], 1) << "Next column\n"; *w << DisplayKeys(Key.NextColumn) << "Next column\n";
*w << DisplayKeys(Key.GoToParentDir) << "Go to parent directory (left column, directories view)\n"; *w << DisplayKeys(Key.GoToParentDir) << "Go to parent directory (left column, directories view)\n";
# endif // HAVE_TAGLIB_H # endif // HAVE_TAGLIB_H

View File

@@ -580,42 +580,60 @@ int main(int argc, char *argv[])
{ {
myScreen->SpacePressed(); myScreen->SpacePressed();
} }
else if (Keypressed(input, Key.VolumeUp)) else if (Keypressed(input, Key.PrevColumn)
{ && (myScreen == myLibrary
if (myScreen == myLibrary && input == Key.VolumeUp[0]) || myScreen == myPlaylistEditor
{
myLibrary->NextColumn();
}
else if (myScreen == myPlaylistEditor && input == Key.VolumeUp[0])
{
myPlaylistEditor->NextColumn();
}
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
else if (myScreen == myTagEditor && input == Key.VolumeUp[0]) || myScreen == myTagEditor
# endif // HAVE_TAGLIB_H)
)
)
{ {
myTagEditor->NextColumn(); if (myScreen == myLibrary)
}
# endif // HAVE_TAGLIB_H
else
Mpd.SetVolume(Mpd.GetVolume()+1);
}
else if (Keypressed(input, Key.VolumeDown))
{
if (myScreen == myLibrary && input == Key.VolumeDown[0])
{ {
myLibrary->PrevColumn(); myLibrary->PrevColumn();
} }
else if (myScreen == myPlaylistEditor && input == Key.VolumeDown[0]) else if (myScreen == myPlaylistEditor)
{ {
myPlaylistEditor->PrevColumn(); myPlaylistEditor->PrevColumn();
} }
# ifdef HAVE_TAGLIB_H # ifdef HAVE_TAGLIB_H
else if (myScreen == myTagEditor && input == Key.VolumeDown[0]) else if (myScreen == myTagEditor)
{ {
myTagEditor->PrevColumn(); myTagEditor->PrevColumn();
} }
# endif // HAVE_TAGLIB_H # endif // HAVE_TAGLIB_H
else }
else if (Keypressed(input, Key.NextColumn)
&& (myScreen == myLibrary
|| myScreen == myPlaylistEditor
# ifdef HAVE_TAGLIB_H
|| myScreen == myTagEditor
# endif // HAVE_TAGLIB_H)
)
)
{
if (myScreen == myLibrary)
{
myLibrary->NextColumn();
}
else if (myScreen == myPlaylistEditor)
{
myPlaylistEditor->NextColumn();
}
# ifdef HAVE_TAGLIB_H
else if (myScreen == myTagEditor)
{
myTagEditor->NextColumn();
}
# endif // HAVE_TAGLIB_H
}
else if (Keypressed(input, Key.VolumeUp))
{
Mpd.SetVolume(Mpd.GetVolume()+1);
}
else if (Keypressed(input, Key.VolumeDown))
{
Mpd.SetVolume(Mpd.GetVolume()-1); Mpd.SetVolume(Mpd.GetVolume()-1);
} }
else if (Keypressed(input, Key.Delete)) else if (Keypressed(input, Key.Delete))

View File

@@ -168,6 +168,8 @@ void NcmpcppKeys::SetDefaults()
Delete[0] = KEY_DC; Delete[0] = KEY_DC;
VolumeUp[0] = KEY_RIGHT; VolumeUp[0] = KEY_RIGHT;
VolumeDown[0] = KEY_LEFT; VolumeDown[0] = KEY_LEFT;
PrevColumn[0] = KEY_LEFT;
NextColumn[0] = KEY_RIGHT;
ScreenSwitcher[0] = 9; ScreenSwitcher[0] = 9;
Help[0] = '1'; Help[0] = '1';
Playlist[0] = '2'; Playlist[0] = '2';
@@ -253,6 +255,8 @@ void NcmpcppKeys::SetDefaults()
Delete[1] = 'd'; Delete[1] = 'd';
VolumeUp[1] = '+'; VolumeUp[1] = '+';
VolumeDown[1] = '-'; VolumeDown[1] = '-';
PrevColumn[1] = NullKey;
NextColumn[1] = NullKey;
ScreenSwitcher[1] = NullKey; ScreenSwitcher[1] = NullKey;
Help[1] = 265; Help[1] = 265;
Playlist[1] = 266; Playlist[1] = 266;
@@ -474,6 +478,10 @@ void NcmpcppKeys::Read()
GetKeys(key, VolumeUp); GetKeys(key, VolumeUp);
else if (key.find("key_volume_down ") != std::string::npos) else if (key.find("key_volume_down ") != std::string::npos)
GetKeys(key, VolumeDown); GetKeys(key, VolumeDown);
else if (key.find("key_prev_column ") != std::string::npos)
GetKeys(key, PrevColumn);
else if (key.find("key_next_column ") != std::string::npos)
GetKeys(key, NextColumn);
else if (key.find("key_screen_switcher ") != std::string::npos) else if (key.find("key_screen_switcher ") != std::string::npos)
GetKeys(key, ScreenSwitcher); GetKeys(key, ScreenSwitcher);
else if (key.find("key_help ") != std::string::npos) else if (key.find("key_help ") != std::string::npos)

View File

@@ -73,6 +73,8 @@ struct NcmpcppKeys
int Delete[2]; int Delete[2];
int VolumeUp[2]; int VolumeUp[2];
int VolumeDown[2]; int VolumeDown[2];
int PrevColumn[2];
int NextColumn[2];
int ScreenSwitcher[2]; int ScreenSwitcher[2];
int Help[2]; int Help[2];
int Playlist[2]; int Playlist[2];