From 3c7ce95aaa69c47fb06ddd1e37ac404fc2a4be0a Mon Sep 17 00:00:00 2001 From: Andrzej Rybczak Date: Sat, 19 Dec 2020 16:17:45 +0100 Subject: [PATCH] Deprecate 'noop' value of browser_sort_mode in favor of 'none'. --- CHANGELOG.md | 1 + doc/config | 2 +- doc/ncmpcpp.1 | 2 +- src/actions.cpp | 6 +++--- src/enums.cpp | 8 ++++---- src/enums.h | 2 +- src/screens/browser.cpp | 4 ++-- src/settings.cpp | 11 ++++++++++- src/utility/comparators.cpp | 4 ++-- 9 files changed, 25 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53f8aa50..74584edc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ * Don't run volume changing actions if there is no mixer. * Do not loop after sending a database update command to Mopidy. * Deprecate `visualizer_sync_interval` configuration option. +* Deprecate `noop` value of `browser_sort_mode` in favor of `none`. # ncmpcpp-0.8.2 (2018-04-11) * Help screen: fixed display of EoF keycode diff --git a/doc/config b/doc/config index eaf46d83..e9402817 100644 --- a/doc/config +++ b/doc/config @@ -268,7 +268,7 @@ ## Note: Below variables are used for sorting songs in browser. The sort mode ## determines how songs are sorted, and can be used in combination with a sort ## format to specify a custom sorting format. Available values for -## browser_sort_mode are "name", "mtime", "format" and "noop". +## browser_sort_mode are "name", "mtime", "format" and "none". ## # #browser_sort_mode = name diff --git a/doc/ncmpcpp.1 b/doc/ncmpcpp.1 index 407e7813..0866e58e 100644 --- a/doc/ncmpcpp.1 +++ b/doc/ncmpcpp.1 @@ -173,7 +173,7 @@ Suffix for selected items. Prefix for modified item (tag editor). .TP .B browser_sort_mode -Determines sort mode for browser. Possible values are "name", "mtime", "format" and "noop". +Determines sort mode for browser. Possible values are "name", "mtime", "format" and "none". .TP .B browser_sort_format Format to use for sorting songs in browser. For this option to be effective, browser_sort_mode must be set to "format". diff --git a/src/actions.cpp b/src/actions.cpp index 9d6392ea..ae900b61 100644 --- a/src/actions.cpp +++ b/src/actions.cpp @@ -2270,14 +2270,14 @@ void ToggleBrowserSortMode::run() Statusbar::print("Sort songs by: custom format"); break; case SortMode::CustomFormat: - Config.browser_sort_mode = SortMode::NoOp; + Config.browser_sort_mode = SortMode::None; Statusbar::print("Do not sort songs"); break; - case SortMode::NoOp: + case SortMode::None: Config.browser_sort_mode = SortMode::Name; Statusbar::print("Sort songs by: name"); } - if (Config.browser_sort_mode != SortMode::NoOp) + if (Config.browser_sort_mode != SortMode::None) { size_t sort_offset = myBrowser->inRootDirectory() ? 0 : 1; std::sort(myBrowser->main().begin()+sort_offset, myBrowser->main().end(), diff --git a/src/enums.cpp b/src/enums.cpp index 1e4c41e3..34860c03 100644 --- a/src/enums.cpp +++ b/src/enums.cpp @@ -87,8 +87,8 @@ std::ostream &operator<<(std::ostream &os, SortMode sm) case SortMode::CustomFormat: os << "format"; break; - case SortMode::NoOp: - os << "noop"; + case SortMode::None: + os << "none"; break; } return os; @@ -104,8 +104,8 @@ std::istream &operator>>(std::istream &is, SortMode &sm) sm = SortMode::ModificationTime; else if (ssm == "format") sm = SortMode::CustomFormat; - else if (ssm == "noop") - sm = SortMode::NoOp; + else if (ssm == "none") + sm = SortMode::None; else is.setstate(std::ios::failbit); return is; diff --git a/src/enums.h b/src/enums.h index 896c4061..61bd00ab 100644 --- a/src/enums.h +++ b/src/enums.h @@ -32,7 +32,7 @@ enum class SpaceAddMode { AddRemove, AlwaysAdd }; std::ostream &operator<<(std::ostream &os, SpaceAddMode sam); std::istream &operator>>(std::istream &is, SpaceAddMode &sam); -enum class SortMode { Name, ModificationTime, CustomFormat, NoOp }; +enum class SortMode { Name, ModificationTime, CustomFormat, None }; std::ostream &operator<<(std::ostream &os, SortMode sm); std::istream &operator>>(std::istream &is, SortMode &sm); diff --git a/src/screens/browser.cpp b/src/screens/browser.cpp index 5fd6d0cf..17d61012 100644 --- a/src/screens/browser.cpp +++ b/src/screens/browser.cpp @@ -498,7 +498,7 @@ void Browser::getDirectory(std::string directory) w.addItem(std::move(*dir)); } - if (Config.browser_sort_mode != SortMode::NoOp) + if (Config.browser_sort_mode != SortMode::None) { std::sort(w.begin() + (is_root ? 0 : 1), w.end(), LocaleBasedItemSorting(std::locale(), Config.ignore_leading_the, Config.browser_sort_mode)); @@ -679,7 +679,7 @@ void getLocalDirectoryRecursively(std::vector &songs, const std::stri songs.push_back(getLocalSong(*entry, false)); }; - if (Config.browser_sort_mode != SortMode::NoOp) + if (Config.browser_sort_mode != SortMode::None) { std::sort(songs.begin()+sort_offset, songs.end(), LocaleBasedSorting(std::locale(), Config.ignore_leading_the) diff --git a/src/settings.cpp b/src/settings.cpp index 9117fa67..31e04858 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -387,7 +387,16 @@ bool Configuration::read(const std::vector &config_paths, bool igno "{%a - }{%t}|{%f}", [](std::string v) { return Format::parse(v, Format::Flags::Tag); }); - p.add("browser_sort_mode", &browser_sort_mode, "name"); + p.add("browser_sort_mode", &browser_sort_mode, "name", [](std::string v) { + if (v == "noop") + { + deprecated("browser_sort_mode = 'noop'", + "0.10", + "use 'none' instead"); + v = "none"; + } + return verbose_lexical_cast(v); + }); p.add("browser_sort_format", &browser_sort_format, "{%a - }{%t}|{%f} {(%l)}", [](std::string v) { return Format::parse(v, Format::Flags::Tag); diff --git a/src/utility/comparators.cpp b/src/utility/comparators.cpp index 41b22862..8dbc7d58 100644 --- a/src/utility/comparators.cpp +++ b/src/utility/comparators.cpp @@ -101,8 +101,8 @@ bool LocaleBasedItemSorting::operator()(const MPD::Item &a, const MPD::Item &b) break; } break; - case SortMode::NoOp: - throw std::logic_error("can't sort with NoOp sorting mode"); + case SortMode::None: + throw std::logic_error("can't sort with None sorting mode"); } } else