From dbca4a80ee696559e426ddb2930d4748449c65d6 Mon Sep 17 00:00:00 2001 From: Andrzej Rybczak Date: Sun, 9 Aug 2009 20:56:15 +0200 Subject: [PATCH] make number of lines scrolled with mouse wheel configurable --- doc/config | 2 ++ doc/ncmpcpp.1 | 3 +++ src/screen.h | 5 +++-- src/settings.cpp | 6 ++++++ src/settings.h | 2 ++ 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/doc/config b/doc/config index 41162025..fee9b7bf 100644 --- a/doc/config +++ b/doc/config @@ -159,6 +159,8 @@ # #cyclic_scrolling = "no" # +#lines_scrolled = "2" +# #follow_now_playing_lyrics = "no" # #ncmpc_like_songs_adding = "no" (enabled - add/remove, disabled - always add) diff --git a/doc/ncmpcpp.1 b/doc/ncmpcpp.1 index fd9186fa..7d678d32 100644 --- a/doc/ncmpcpp.1 +++ b/doc/ncmpcpp.1 @@ -129,6 +129,9 @@ If enabled, content of other columns will be updated immediately while scrolling .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 lines_scrolled = NUMBER +Number of lines that are scrolled with mouse wheel. +.TP .B playlist_show_remaining_time = yes/no If enabled, time remaining to end of playlist will be shown after playlist's statistics. .TP diff --git a/src/screen.h b/src/screen.h index e5383a1d..b7ddc9ff 100644 --- a/src/screen.h +++ b/src/screen.h @@ -25,6 +25,7 @@ #include "menu.h" #include "mpdpp.h" #include "helpers.h" +#include "settings.h" #include "status.h" class BasicScreen @@ -149,12 +150,12 @@ template <> inline void Screen::MouseButtonPressed(MEVENT me) { if (me.bstate & BUTTON2_PRESSED) { - for (size_t i = 0; i < 2; ++i) + for (size_t i = 0; i < Config.lines_scrolled; ++i) Scroll(wDown); } else if (me.bstate & BUTTON4_PRESSED) { - for (size_t i = 0; i < 2; ++i) + for (size_t i = 0; i < Config.lines_scrolled; ++i) Scroll(wUp); } } diff --git a/src/settings.cpp b/src/settings.cpp index b4a378fa..a6ce6cfc 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -293,6 +293,7 @@ void DefaultConfiguration(ncmpcpp_config &conf) conf.message_delay_time = 4; conf.lyrics_db = 0; conf.regex_type = 0; + conf.lines_scrolled = 2; } void ReadKeys(ncmpcpp_keys &keys) @@ -708,6 +709,11 @@ void ReadConfiguration(ncmpcpp_config &conf) conf.lyrics_db = n < Lyrics::DBs ? n : 0; } } + else if (cl.find("lines_scrolled") != std::string::npos) + { + if (!v.empty()) + conf.lines_scrolled = StrToInt(v); + } else if (cl.find("song_window_title_format") != std::string::npos) { if (!v.empty()) diff --git a/src/settings.h b/src/settings.h index b7d534a3..0d02e0a3 100644 --- a/src/settings.h +++ b/src/settings.h @@ -196,6 +196,8 @@ struct ncmpcpp_config int message_delay_time; int lyrics_db; int regex_type; + + unsigned lines_scrolled; }; extern ncmpcpp_config Config;