refresh status window immediately after prompting user
this fixes #2537.
This commit is contained in:
@@ -592,18 +592,21 @@ int main(int argc, char *argv[])
|
|||||||
|| (myScreen->ActiveWindow() == myPlaylistEditor->Playlists)
|
|| (myScreen->ActiveWindow() == myPlaylistEditor->Playlists)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
LockStatusbar();
|
|
||||||
std::string name = myScreen == myBrowser ? myBrowser->Main()->Current().name : myPlaylistEditor->Playlists->Current();
|
std::string name = myScreen == myBrowser ? myBrowser->Main()->Current().name : myPlaylistEditor->Playlists->Current();
|
||||||
|
LockStatusbar();
|
||||||
Statusbar() << "Delete playlist \"" << name << "\" ? [y/n] ";
|
Statusbar() << "Delete playlist \"" << name << "\" ? [y/n] ";
|
||||||
|
wFooter->Refresh();
|
||||||
curs_set(1);
|
curs_set(1);
|
||||||
int in = 0;
|
input = 0;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
TraceMpdStatus();
|
TraceMpdStatus();
|
||||||
wFooter->ReadKey(in);
|
wFooter->ReadKey(input);
|
||||||
}
|
}
|
||||||
while (in != 'y' && in != 'n');
|
while (input != 'y' && input != 'n');
|
||||||
if (in == 'y')
|
curs_set(0);
|
||||||
|
UnlockStatusbar();
|
||||||
|
if (input == 'y')
|
||||||
{
|
{
|
||||||
Mpd.DeletePlaylist(locale_to_utf_cpy(name));
|
Mpd.DeletePlaylist(locale_to_utf_cpy(name));
|
||||||
ShowMessage("Playlist \"%s\" deleted!", name.c_str());
|
ShowMessage("Playlist \"%s\" deleted!", name.c_str());
|
||||||
@@ -612,10 +615,8 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
ShowMessage("Aborted!");
|
ShowMessage("Aborted!");
|
||||||
curs_set(0);
|
|
||||||
if (myPlaylistEditor->Main()) // check if initialized
|
if (myPlaylistEditor->Main()) // check if initialized
|
||||||
myPlaylistEditor->Playlists->Clear(0); // make playlists list update itself
|
myPlaylistEditor->Playlists->Clear(0); // make playlists list update itself
|
||||||
UnlockStatusbar();
|
|
||||||
}
|
}
|
||||||
else if (myScreen == myBrowser && !myBrowser->Main()->Empty() && myBrowser->Main()->Current().type != itPlaylist)
|
else if (myScreen == myBrowser && !myBrowser->Main()->Empty() && myBrowser->Main()->Current().type != itPlaylist)
|
||||||
{
|
{
|
||||||
@@ -637,18 +638,21 @@ int main(int argc, char *argv[])
|
|||||||
if (item.type == itDirectory && item.song) // parent dir
|
if (item.type == itDirectory && item.song) // parent dir
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
LockStatusbar();
|
|
||||||
std::string name = item.type == itSong ? item.song->GetName() : item.name;
|
std::string name = item.type == itSong ? item.song->GetName() : item.name;
|
||||||
|
LockStatusbar();
|
||||||
Statusbar() << "Delete " << (item.type == itSong ? "file" : "directory") << " \"" << name << "\" ? [y/n] ";
|
Statusbar() << "Delete " << (item.type == itSong ? "file" : "directory") << " \"" << name << "\" ? [y/n] ";
|
||||||
|
wFooter->Refresh();
|
||||||
curs_set(1);
|
curs_set(1);
|
||||||
int in = 0;
|
input = 0;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
TraceMpdStatus();
|
TraceMpdStatus();
|
||||||
wFooter->ReadKey(in);
|
wFooter->ReadKey(input);
|
||||||
}
|
}
|
||||||
while (in != 'y' && in != 'n');
|
while (input != 'y' && input != 'n');
|
||||||
if (in == 'y')
|
curs_set(0);
|
||||||
|
UnlockStatusbar();
|
||||||
|
if (input == 'y')
|
||||||
{
|
{
|
||||||
std::string path;
|
std::string path;
|
||||||
if (!Config.local_browser)
|
if (!Config.local_browser)
|
||||||
@@ -671,8 +675,7 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
ShowMessage("Aborted!");
|
ShowMessage("Aborted!");
|
||||||
curs_set(0);
|
|
||||||
UnlockStatusbar();
|
|
||||||
}
|
}
|
||||||
else if (myScreen->ActiveWindow() == myPlaylistEditor->Content && !myPlaylistEditor->Content->Empty())
|
else if (myScreen->ActiveWindow() == myPlaylistEditor->Content && !myPlaylistEditor->Content->Empty())
|
||||||
{
|
{
|
||||||
@@ -757,17 +760,18 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
LockStatusbar();
|
LockStatusbar();
|
||||||
Statusbar() << "Playlist already exists, overwrite: " << playlist_name << " ? [y/n] ";
|
Statusbar() << "Playlist already exists, overwrite: " << playlist_name << " ? [y/n] ";
|
||||||
|
wFooter->Refresh();
|
||||||
curs_set(1);
|
curs_set(1);
|
||||||
int in = 0;
|
input = 0;
|
||||||
MessagesAllowed = 0;
|
while (input != 'y' && input != 'n')
|
||||||
while (in != 'y' && in != 'n')
|
|
||||||
{
|
{
|
||||||
TraceMpdStatus();
|
TraceMpdStatus();
|
||||||
wFooter->ReadKey(in);
|
wFooter->ReadKey(input);
|
||||||
}
|
}
|
||||||
MessagesAllowed = 1;
|
curs_set(0);
|
||||||
|
UnlockStatusbar();
|
||||||
|
|
||||||
if (in == 'y')
|
if (input == 'y')
|
||||||
{
|
{
|
||||||
Mpd.DeletePlaylist(real_playlist_name);
|
Mpd.DeletePlaylist(real_playlist_name);
|
||||||
if (Mpd.SavePlaylist(real_playlist_name))
|
if (Mpd.SavePlaylist(real_playlist_name))
|
||||||
@@ -775,10 +779,8 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
ShowMessage("Aborted!");
|
ShowMessage("Aborted!");
|
||||||
curs_set(0);
|
|
||||||
if (myPlaylistEditor->Main()) // check if initialized
|
if (myPlaylistEditor->Main()) // check if initialized
|
||||||
myPlaylistEditor->Playlists->Clear(0); // make playlist's list update itself
|
myPlaylistEditor->Playlists->Clear(0); // make playlist's list update itself
|
||||||
UnlockStatusbar();
|
|
||||||
if (myScreen == myPlaylist)
|
if (myScreen == myPlaylist)
|
||||||
myPlaylist->EnableHighlighting();
|
myPlaylist->EnableHighlighting();
|
||||||
}
|
}
|
||||||
@@ -1627,23 +1629,24 @@ int main(int argc, char *argv[])
|
|||||||
if (myScreen->ActiveWindow() == myPlaylistEditor->Content
|
if (myScreen->ActiveWindow() == myPlaylistEditor->Content
|
||||||
|| Config.ask_before_clearing_main_playlist)
|
|| Config.ask_before_clearing_main_playlist)
|
||||||
{
|
{
|
||||||
int in = 0;
|
|
||||||
LockStatusbar();
|
LockStatusbar();
|
||||||
Statusbar() << "Do you really want to clear playlist";
|
Statusbar() << "Do you really want to clear playlist";
|
||||||
if (myScreen->ActiveWindow() == myPlaylistEditor->Content)
|
if (myScreen->ActiveWindow() == myPlaylistEditor->Content)
|
||||||
*wFooter << " \"" << myPlaylistEditor->Playlists->Current() << "\"";
|
*wFooter << " \"" << myPlaylistEditor->Playlists->Current() << "\"";
|
||||||
*wFooter << " ? [y/n] ";
|
*wFooter << " ? [y/n] ";
|
||||||
|
wFooter->Refresh();
|
||||||
curs_set(1);
|
curs_set(1);
|
||||||
|
input = 0;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
TraceMpdStatus();
|
TraceMpdStatus();
|
||||||
wFooter->ReadKey(in);
|
wFooter->ReadKey(input);
|
||||||
}
|
}
|
||||||
while (in != 'y' && in != 'n');
|
while (input != 'y' && input != 'n');
|
||||||
curs_set(0);
|
curs_set(0);
|
||||||
UnlockStatusbar();
|
UnlockStatusbar();
|
||||||
|
|
||||||
if (in != 'y')
|
if (input != 'y')
|
||||||
{
|
{
|
||||||
ShowMessage("Aborted!");
|
ShowMessage("Aborted!");
|
||||||
continue;
|
continue;
|
||||||
@@ -1806,17 +1809,18 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
LockStatusbar();
|
LockStatusbar();
|
||||||
Statusbar() << "Tag type ? [" << fmtBold << 'a' << fmtBoldEnd << "rtist/" << fmtBold << 'y' << fmtBoldEnd << "ear/" << fmtBold << 'g' << fmtBoldEnd << "enre/" << fmtBold << 'c' << fmtBoldEnd << "omposer/" << fmtBold << 'p' << fmtBoldEnd << "erformer] ";
|
Statusbar() << "Tag type ? [" << fmtBold << 'a' << fmtBoldEnd << "rtist/" << fmtBold << 'y' << fmtBoldEnd << "ear/" << fmtBold << 'g' << fmtBoldEnd << "enre/" << fmtBold << 'c' << fmtBoldEnd << "omposer/" << fmtBold << 'p' << fmtBoldEnd << "erformer] ";
|
||||||
int item;
|
wFooter->Refresh();
|
||||||
curs_set(1);
|
curs_set(1);
|
||||||
|
input = 0;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
TraceMpdStatus();
|
TraceMpdStatus();
|
||||||
wFooter->ReadKey(item);
|
wFooter->ReadKey(input);
|
||||||
}
|
}
|
||||||
while (item != 'a' && item != 'y' && item != 'g' && item != 'c' && item != 'p');
|
while (input != 'a' && input != 'y' && input != 'g' && input != 'c' && input != 'p');
|
||||||
curs_set(0);
|
curs_set(0);
|
||||||
UnlockStatusbar();
|
UnlockStatusbar();
|
||||||
mpd_TagItems new_tagitem = IntoTagItem(item);
|
mpd_TagItems new_tagitem = IntoTagItem(input);
|
||||||
if (new_tagitem != Config.media_lib_primary_tag)
|
if (new_tagitem != Config.media_lib_primary_tag)
|
||||||
{
|
{
|
||||||
Config.media_lib_primary_tag = new_tagitem;
|
Config.media_lib_primary_tag = new_tagitem;
|
||||||
|
|||||||
@@ -533,6 +533,7 @@ void TagEditor::EnterPressed()
|
|||||||
{
|
{
|
||||||
LockStatusbar();
|
LockStatusbar();
|
||||||
Statusbar() << "Number tracks? [y/n] ";
|
Statusbar() << "Number tracks? [y/n] ";
|
||||||
|
wFooter->Refresh();
|
||||||
curs_set(1);
|
curs_set(1);
|
||||||
int in = 0;
|
int in = 0;
|
||||||
do
|
do
|
||||||
@@ -541,6 +542,8 @@ void TagEditor::EnterPressed()
|
|||||||
wFooter->ReadKey(in);
|
wFooter->ReadKey(in);
|
||||||
}
|
}
|
||||||
while (in != 'y' && in != 'n');
|
while (in != 'y' && in != 'n');
|
||||||
|
curs_set(0);
|
||||||
|
UnlockStatusbar();
|
||||||
if (in == 'y')
|
if (in == 'y')
|
||||||
{
|
{
|
||||||
MPD::SongList::iterator it = EditedSongs.begin();
|
MPD::SongList::iterator it = EditedSongs.begin();
|
||||||
@@ -550,8 +553,6 @@ void TagEditor::EnterPressed()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
ShowMessage("Aborted!");
|
ShowMessage("Aborted!");
|
||||||
curs_set(0);
|
|
||||||
UnlockStatusbar();
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
|
|||||||
Reference in New Issue
Block a user