actions: add missing flag restriction for physical deletion
This commit is contained in:
@@ -643,9 +643,19 @@ void DeletePlaylistItems::run()
|
||||
|
||||
bool DeleteBrowserItems::canBeRun() const
|
||||
{
|
||||
auto check_if_deletion_allowed = []() {
|
||||
if (Config.allow_for_physical_item_deletion)
|
||||
return true;
|
||||
else
|
||||
{
|
||||
Statusbar::msg("Flag 'allow_for_physical_item_deletion' needs to be enabled in configuration file");
|
||||
return false;
|
||||
}
|
||||
};
|
||||
return myScreen == myBrowser
|
||||
&& !myBrowser->main().empty()
|
||||
&& isMPDMusicDirSet();
|
||||
&& isMPDMusicDirSet()
|
||||
&& check_if_deletion_allowed();
|
||||
}
|
||||
|
||||
void DeleteBrowserItems::run()
|
||||
|
||||
@@ -543,6 +543,8 @@ void Browser::ChangeBrowseMode()
|
||||
|
||||
bool Browser::deleteItem(const MPD::Item &item, std::string &errmsg)
|
||||
{
|
||||
if (!Config.allow_for_physical_item_deletion)
|
||||
FatalError("Browser::deleteItem invoked with allow_for_physical_item_deletion = false");
|
||||
if (isParentDirectory((item)))
|
||||
FatalError("Parent directory passed to Browser::deleteItem");
|
||||
|
||||
|
||||
@@ -217,6 +217,7 @@ void Configuration::SetDefaults()
|
||||
store_lyrics_in_song_dir = false;
|
||||
generate_win32_compatible_filenames = true;
|
||||
ask_for_locked_screen_width_part = true;
|
||||
allow_for_physical_item_deletion = false;
|
||||
progressbar_boldness = true;
|
||||
set_window_title = true;
|
||||
mpd_port = 6600;
|
||||
@@ -824,6 +825,11 @@ void Configuration::Read()
|
||||
if (!v.empty())
|
||||
ask_for_locked_screen_width_part = v == "yes";
|
||||
}
|
||||
else if (name == "allow_for_physical_item_deletion")
|
||||
{
|
||||
if (!v.empty())
|
||||
allow_for_physical_item_deletion = v == "yes";
|
||||
}
|
||||
else if (name == "progressbar_boldness")
|
||||
{
|
||||
if (!v.empty())
|
||||
|
||||
@@ -183,6 +183,7 @@ struct Configuration
|
||||
bool store_lyrics_in_song_dir;
|
||||
bool generate_win32_compatible_filenames;
|
||||
bool ask_for_locked_screen_width_part;
|
||||
bool allow_for_physical_item_deletion;
|
||||
bool progressbar_boldness;
|
||||
|
||||
int mpd_port;
|
||||
|
||||
Reference in New Issue
Block a user