From 450af6f28eb905155e13cf8f54aec24a97606735 Mon Sep 17 00:00:00 2001 From: David Brito <39559632+davbrito@users.noreply.github.com> Date: Wed, 21 Oct 2020 14:51:37 -0400 Subject: [PATCH] add const to newsboat::ConfigActionHandler::dump_config --- .gitignore | 1 + include/colormanager.h | 2 +- include/configactionhandler.h | 2 +- include/configcontainer.h | 2 +- include/configparser.h | 2 +- include/controller.h | 2 +- include/filtercontainer.h | 2 +- include/keymap.h | 4 ++-- include/nullconfigactionhandler.h | 2 +- include/regexmanager.h | 2 +- include/rssignores.h | 2 +- include/view.h | 4 ++++ src/colormanager.cpp | 2 +- src/configcontainer.cpp | 2 +- src/controller.cpp | 2 +- src/filtercontainer.cpp | 2 +- src/keymap.cpp | 6 +++--- src/regexmanager.cpp | 2 +- src/rssignores.cpp | 2 +- test/configparser.cpp | 2 +- 20 files changed, 26 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index 0ab4292f3..aaf8eea14 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ doc/podboat-cmds-linked.asciidoc *.sw? /target/ **/*.rs.bk +.vscode diff --git a/include/colormanager.h b/include/colormanager.h index 0e940e7e7..20d440020 100644 --- a/include/colormanager.h +++ b/include/colormanager.h @@ -28,7 +28,7 @@ class ColorManager : public ConfigActionHandler { void register_commands(ConfigParser& cfgparser); void handle_action(const std::string& action, const std::vector& params) override; - void dump_config(std::vector& config_output) override; + void dump_config(std::vector& config_output) const override; void apply_colors(Stfl::Form& form) const; std::map get_styles() const { diff --git a/include/configactionhandler.h b/include/configactionhandler.h index e87313074..795540cf4 100644 --- a/include/configactionhandler.h +++ b/include/configactionhandler.h @@ -12,7 +12,7 @@ class ConfigActionHandler { virtual void handle_action(const std::string& action, const std::string& params); - virtual void dump_config(std::vector& config_output) = 0; + virtual void dump_config(std::vector& config_output) const = 0; ConfigActionHandler() {} virtual ~ConfigActionHandler() {} diff --git a/include/configcontainer.h b/include/configcontainer.h index 6bca421ac..3cd5f3d6e 100644 --- a/include/configcontainer.h +++ b/include/configcontainer.h @@ -62,7 +62,7 @@ class ConfigContainer : public ConfigActionHandler { void register_commands(ConfigParser& cfgparser); void handle_action(const std::string& action, const std::vector& params) override; - void dump_config(std::vector& config_output) override; + void dump_config(std::vector& config_output) const override; bool get_configvalue_as_bool(const std::string& key) const; int get_configvalue_as_int(const std::string& key) const; diff --git a/include/configparser.h b/include/configparser.h index 3bee41f43..768202abb 100644 --- a/include/configparser.h +++ b/include/configparser.h @@ -24,7 +24,7 @@ class ConfigParser : public ConfigActionHandler { ConfigActionHandler& handler); void handle_action(const std::string& action, const std::vector& params) override; - void dump_config(std::vector&) override + void dump_config(std::vector&) const override { /* nothing because ConfigParser itself only handles include */ } diff --git a/include/controller.h b/include/controller.h index 524196096..7acb77c18 100644 --- a/include/controller.h +++ b/include/controller.h @@ -72,7 +72,7 @@ class Controller { void load_configfile(const std::string& filename); - void dump_config(const std::string& filename); + void dump_config(const std::string& filename) const; void update_flags(std::shared_ptr item); diff --git a/include/filtercontainer.h b/include/filtercontainer.h index ab5342a46..ab0c4fe77 100644 --- a/include/filtercontainer.h +++ b/include/filtercontainer.h @@ -21,7 +21,7 @@ class FilterContainer : public ConfigActionHandler { ~FilterContainer() override; void handle_action(const std::string& action, const std::vector& params) override; - void dump_config(std::vector& config_output) override; + void dump_config(std::vector& config_output) const override; std::vector& get_filters() { return filters; diff --git a/include/keymap.h b/include/keymap.h index c2f4f29ee..d89162779 100644 --- a/include/keymap.h +++ b/include/keymap.h @@ -186,7 +186,7 @@ class KeyMap : public ConfigActionHandler { std::vector get_keys(Operation op, const std::string& context); void handle_action(const std::string& action, const std::string& params) override; - void dump_config(std::vector& config_output) override; + void dump_config(std::vector& config_output) const override; std::vector get_keymap_descriptions(std::string context); std::vector parse_operation_sequence(const std::string& line); @@ -196,7 +196,7 @@ class KeyMap : public ConfigActionHandler { bool is_valid_context(const std::string& context); unsigned short get_flag_from_context(const std::string& context); std::map get_internal_operations() const; - std::string getopname(Operation op); + std::string getopname(Operation op) const; std::map> keymap_; std::map> macros_; std::vector startup_operations_sequence; diff --git a/include/nullconfigactionhandler.h b/include/nullconfigactionhandler.h index 3bb4e0d27..1c1f5ad4c 100644 --- a/include/nullconfigactionhandler.h +++ b/include/nullconfigactionhandler.h @@ -13,7 +13,7 @@ class NullConfigActionHandler : public ConfigActionHandler { const std::vector&) override { } - void dump_config(std::vector&) override {} + void dump_config(std::vector&) const override {} }; } // namespace newsboat diff --git a/include/regexmanager.h b/include/regexmanager.h index 70f9924e7..18db82d4a 100644 --- a/include/regexmanager.h +++ b/include/regexmanager.h @@ -20,7 +20,7 @@ class RegexManager : public ConfigActionHandler { RegexManager(); void handle_action(const std::string& action, const std::vector& params) override; - void dump_config(std::vector& config_output) override; + void dump_config(std::vector& config_output) const override; void quote_and_highlight(std::string& str, const std::string& location); void remove_last_regex(const std::string& location); int article_matches(Matchable* item); diff --git a/include/rssignores.h b/include/rssignores.h index f92032882..f123ed879 100644 --- a/include/rssignores.h +++ b/include/rssignores.h @@ -18,7 +18,7 @@ class RssIgnores : public ConfigActionHandler { ~RssIgnores() override; void handle_action(const std::string& action, const std::vector& params) override; - void dump_config(std::vector& config_output) override; + void dump_config(std::vector& config_output) const override; bool matches(RssItem* item); bool matches_lastmodified(const std::string& url); bool matches_resetunread(const std::string& url); diff --git a/include/view.h b/include/view.h index 8c28ee4fd..3215dd130 100644 --- a/include/view.h +++ b/include/view.h @@ -52,6 +52,10 @@ class View { { return keys; } + const KeyMap* get_keymap() const + { + return keys; + } void set_tags(const std::vector& t); void push_empty_formaction(); void pop_current_formaction(); diff --git a/src/colormanager.cpp b/src/colormanager.cpp index 4bafffbc5..d9fb604de 100644 --- a/src/colormanager.cpp +++ b/src/colormanager.cpp @@ -84,7 +84,7 @@ void ColorManager::handle_action(const std::string& action, ActionHandlerStatus::INVALID_COMMAND); } -void ColorManager::dump_config(std::vector& config_output) +void ColorManager::dump_config(std::vector& config_output) const { for (const auto& element_style : element_styles) { const std::string& element = element_style.first; diff --git a/src/configcontainer.cpp b/src/configcontainer.cpp index 9f244953b..c5f029553 100644 --- a/src/configcontainer.cpp +++ b/src/configcontainer.cpp @@ -457,7 +457,7 @@ void ConfigContainer::toggle(const std::string& key) } } -void ConfigContainer::dump_config(std::vector& config_output) +void ConfigContainer::dump_config(std::vector& config_output) const { std::lock_guard guard(config_data_mtx); for (const auto& cfg : config_data) { diff --git a/src/controller.cpp b/src/controller.cpp index 1f626f720..7fdbc673f 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -899,7 +899,7 @@ void Controller::load_configfile(const std::string& filename) } } -void Controller::dump_config(const std::string& filename) +void Controller::dump_config(const std::string& filename) const { std::vector configlines; cfg.dump_config(configlines); diff --git a/src/filtercontainer.cpp b/src/filtercontainer.cpp index 788569dc3..22de0a0fc 100644 --- a/src/filtercontainer.cpp +++ b/src/filtercontainer.cpp @@ -44,7 +44,7 @@ void FilterContainer::handle_action(const std::string& action, } } -void FilterContainer::dump_config(std::vector& config_output) +void FilterContainer::dump_config(std::vector& config_output) const { for (const auto& filter : filters) { config_output.push_back(strprintf::fmt("define-filter %s %s", diff --git a/src/keymap.cpp b/src/keymap.cpp index f0b2ad147..f893a3c72 100644 --- a/src/keymap.cpp +++ b/src/keymap.cpp @@ -632,11 +632,11 @@ Operation KeyMap::get_operation(const std::string& keycode, return keymap_[context][key]; } -void KeyMap::dump_config(std::vector& config_output) +void KeyMap::dump_config(std::vector& config_output) const { for (const auto& ctx : contexts) { const std::string& context = ctx.first; - std::map& x = keymap_[context]; + const auto& x = keymap_.at(context); for (const auto& keymap : x) { if (keymap.second < OP_INT_MIN) { std::string configline = "bind-key "; @@ -668,7 +668,7 @@ void KeyMap::dump_config(std::vector& config_output) } } -std::string KeyMap::getopname(Operation op) +std::string KeyMap::getopname(Operation op) const { for (const auto& opdesc : opdescs) { if (opdesc.op == op) { diff --git a/src/regexmanager.cpp b/src/regexmanager.cpp index 8a4db3865..ab50838ef 100644 --- a/src/regexmanager.cpp +++ b/src/regexmanager.cpp @@ -21,7 +21,7 @@ RegexManager::RegexManager() locations["feedlist"]; } -void RegexManager::dump_config(std::vector& config_output) +void RegexManager::dump_config(std::vector& config_output) const { for (const auto& foo : cheat_store_for_dump_config) { config_output.push_back(foo); diff --git a/src/rssignores.cpp b/src/rssignores.cpp index 228f0fd02..bd05e0616 100644 --- a/src/rssignores.cpp +++ b/src/rssignores.cpp @@ -65,7 +65,7 @@ void RssIgnores::handle_action(const std::string& action, } } -void RssIgnores::dump_config(std::vector& config_output) +void RssIgnores::dump_config(std::vector& config_output) const { for (const auto& ign : ignores) { std::string configline = "ignore-article "; diff --git a/test/configparser.cpp b/test/configparser.cpp index d80f06b14..b733f9b2f 100644 --- a/test/configparser.cpp +++ b/test/configparser.cpp @@ -21,7 +21,7 @@ class ConfigHandlerHistoryDummy : public ConfigActionHandler { history.emplace_back(action, params); }; - void dump_config(std::vector&) override {}; + void dump_config(std::vector&) const override {}; std::vector>> history; };