From c68631b2f080257108f979295fc6a5e2d58304d6 Mon Sep 17 00:00:00 2001 From: Andrzej Rybczak Date: Sun, 17 May 2015 16:30:11 +0200 Subject: [PATCH] actions: respect regular expression config when searching in text fields --- NEWS | 1 + src/actions.cpp | 2 +- src/scrollpad.cpp | 8 ++++---- src/scrollpad.h | 5 ++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/NEWS b/NEWS index 45e1dcde..3c700acd 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,7 @@ ncmpcpp-0.7 (????-??-??) * Selecting items no longer depends on space mode and is bound by default to Insert key. * Support for Alt, Ctrl and Shift modifiers as well as Escape key was added. * Action that updates the environment can now be used in bindings configuration file. +* Searching in text fields now respects regular expression configuration. ncmpcpp-0.6.4 (2015-05-02) diff --git a/src/actions.cpp b/src/actions.cpp index a0da9723..9ffd144d 100644 --- a/src/actions.cpp +++ b/src/actions.cpp @@ -1812,7 +1812,7 @@ void Find::run() Statusbar::print("Searching..."); auto s = static_cast *>(myScreen); s->main().removeProperties(); - if (token.empty() || s->main().setProperties(NC::Format::Reverse, token, NC::Format::NoReverse)) + if (token.empty() || s->main().setProperties(NC::Format::Reverse, token, NC::Format::NoReverse, Config.regex_type)) Statusbar::print("Done"); else Statusbar::print("No matching patterns found"); diff --git a/src/scrollpad.cpp b/src/scrollpad.cpp index 6900dc24..166cc5d6 100644 --- a/src/scrollpad.cpp +++ b/src/scrollpad.cpp @@ -27,7 +27,7 @@ namespace { template -bool regexSearch(NC::Buffer &buf, PropT begin, const std::string &ws, PropT end, size_t id, boost::regex::flag_type flags) +bool regexSearch(NC::Buffer &buf, PropT begin, const std::string &ws, PropT end, boost::regex::flag_type flags, size_t id) { try { boost::regex rx(ws, flags); @@ -273,14 +273,14 @@ void Scrollpad::reset() m_beginning = 0; } -bool Scrollpad::setProperties(Color begin, const std::string &s, Color end, size_t id, boost::regex::flag_type flags) +bool Scrollpad::setProperties(Color begin, const std::string &s, Color end, size_t flags, size_t id) { return regexSearch(m_buffer, std::move(begin), s, std::move(end), id, flags); } -bool Scrollpad::setProperties(Format begin, const std::string &s, Format end, size_t id, boost::regex::flag_type flags) +bool Scrollpad::setProperties(Format begin, const std::string &s, Format end, size_t flags, size_t id) { - return regexSearch(m_buffer, begin, s, end, id, flags); + return regexSearch(m_buffer, begin, s, end, flags, id); } void Scrollpad::removeProperties(size_t id) diff --git a/src/scrollpad.h b/src/scrollpad.h index 1891ce0e..9fd6d345 100644 --- a/src/scrollpad.h +++ b/src/scrollpad.h @@ -21,7 +21,6 @@ #ifndef NCMPCPP_SCROLLPAD_H #define NCMPCPP_SCROLLPAD_H -#include #include "window.h" #include "strbuffer.h" @@ -47,8 +46,8 @@ struct Scrollpad: public Window void flush(); void reset(); - bool setProperties(Color begin, const std::string &s, Color end, size_t id = -2, boost::regex::flag_type flags = boost::regex::icase); - bool setProperties(Format begin, const std::string &s, Format end, size_t id = -2, boost::regex::flag_type flags = boost::regex::icase); + bool setProperties(Color begin, const std::string &s, Color end, size_t flags, size_t id = -2); + bool setProperties(Format begin, const std::string &s, Format end, size_t flags, size_t id = -2); void removeProperties(size_t id = -2); template