status: fix toggling flags
This commit is contained in:
@@ -331,14 +331,14 @@ void MouseEvent::run()
|
||||
&& m_mouse_event.y == LINES-(Config.statusbar_visibility ? 2 : 1)
|
||||
) // progressbar
|
||||
{
|
||||
if (Status::State::player() == MPD::psStop)
|
||||
if (Status::get().playerState() == MPD::psStop)
|
||||
return;
|
||||
Mpd.Seek(myPlaylist->currentSongPosition(),
|
||||
myPlaylist->currentSongLength()*m_mouse_event.x/double(COLS));
|
||||
Mpd.Seek(Status::get().currentSongPosition(),
|
||||
Status::get().totalTime()*m_mouse_event.x/double(COLS));
|
||||
}
|
||||
else if (m_mouse_event.bstate & BUTTON1_PRESSED
|
||||
&& (Config.statusbar_visibility || Config.design == Design::Alternative)
|
||||
&& Status::State::player() != MPD::psStop
|
||||
&& Status::get().playerState() != MPD::psStop
|
||||
&& m_mouse_event.y == (Config.design == Design::Alternative ? 1 : LINES-1)
|
||||
&& m_mouse_event.x < 9
|
||||
) // playing/paused
|
||||
@@ -616,13 +616,13 @@ void SlaveScreen::run()
|
||||
|
||||
void VolumeUp::run()
|
||||
{
|
||||
int volume = std::min(Status::State::volume()+Config.volume_change_step, 100u);
|
||||
int volume = std::min(Status::get().volume()+Config.volume_change_step, 100u);
|
||||
Mpd.SetVolume(volume);
|
||||
}
|
||||
|
||||
void VolumeDown::run()
|
||||
{
|
||||
int volume = std::max(int(Status::State::volume()-Config.volume_change_step), 0);
|
||||
int volume = std::max(int(Status::get().volume()-Config.volume_change_step), 0);
|
||||
Mpd.SetVolume(volume);
|
||||
}
|
||||
|
||||
@@ -744,8 +744,8 @@ void DeleteStoredPlaylist::run()
|
||||
|
||||
void ReplaySong::run()
|
||||
{
|
||||
if (Status::State::player() != MPD::psStop)
|
||||
Mpd.Seek(myPlaylist->currentSongPosition(), 0);
|
||||
if (Status::get().playerState() != MPD::psStop)
|
||||
Mpd.Seek(Status::get().currentSongPosition(), 0);
|
||||
}
|
||||
|
||||
void PreviousSong::run()
|
||||
@@ -979,7 +979,7 @@ void Add::run()
|
||||
|
||||
bool SeekForward::canBeRun() const
|
||||
{
|
||||
return Status::State::player() != MPD::psStop && myPlaylist->currentSongLength() > 0;
|
||||
return Status::get().playerState() != MPD::psStop && Status::get().totalTime() > 0;
|
||||
}
|
||||
|
||||
void SeekForward::run()
|
||||
@@ -989,7 +989,7 @@ void SeekForward::run()
|
||||
|
||||
bool SeekBackward::canBeRun() const
|
||||
{
|
||||
return Status::State::player() != MPD::psStop && myPlaylist->currentSongLength() > 0;
|
||||
return Status::get().playerState() != MPD::psStop && Status::get().totalTime() > 0;
|
||||
}
|
||||
|
||||
void SeekBackward::run()
|
||||
@@ -1140,9 +1140,9 @@ void TogglePlayingSongCentering::run()
|
||||
Config.autocenter_mode ? "on" : "off"
|
||||
);
|
||||
if (Config.autocenter_mode
|
||||
&& Status::State::player() != MPD::psStop
|
||||
&& Status::get().playerState() != MPD::psStop
|
||||
&& !myPlaylist->main().isFiltered())
|
||||
myPlaylist->main().highlight(myPlaylist->currentSongPosition());
|
||||
myPlaylist->main().highlight(Status::get().currentSongPosition());
|
||||
}
|
||||
|
||||
void UpdateDatabase::run()
|
||||
@@ -1162,13 +1162,13 @@ bool JumpToPlayingSong::canBeRun() const
|
||||
return ((myScreen == myPlaylist && !myPlaylist->isFiltered())
|
||||
|| myScreen == myBrowser
|
||||
|| myScreen == myLibrary)
|
||||
&& Status::State::player() != MPD::psStop;
|
||||
&& Status::get().playerState() != MPD::psStop;
|
||||
}
|
||||
|
||||
void JumpToPlayingSong::run()
|
||||
{
|
||||
if (myScreen == myPlaylist)
|
||||
myPlaylist->main().highlight(myPlaylist->currentSongPosition());
|
||||
myPlaylist->main().highlight(Status::get().currentSongPosition());
|
||||
else if (myScreen == myBrowser)
|
||||
{
|
||||
myBrowser->LocateSong(myPlaylist->nowPlayingSong());
|
||||
@@ -1182,7 +1182,7 @@ void JumpToPlayingSong::run()
|
||||
|
||||
void ToggleRepeat::run()
|
||||
{
|
||||
Mpd.SetRepeat(!Status::State::repeat());
|
||||
Mpd.SetRepeat(!Status::get().repeat());
|
||||
}
|
||||
|
||||
void Shuffle::run()
|
||||
@@ -1192,7 +1192,7 @@ void Shuffle::run()
|
||||
|
||||
void ToggleRandom::run()
|
||||
{
|
||||
Mpd.SetRandom(!Status::State::random());
|
||||
Mpd.SetRandom(!Status::get().random());
|
||||
}
|
||||
|
||||
bool StartSearching::canBeRun() const
|
||||
@@ -1237,17 +1237,17 @@ void SaveTagChanges::run()
|
||||
|
||||
void ToggleSingle::run()
|
||||
{
|
||||
Mpd.SetSingle(!Status::State::single());
|
||||
Mpd.SetSingle(!Status::get().single());
|
||||
}
|
||||
|
||||
void ToggleConsume::run()
|
||||
{
|
||||
Mpd.SetConsume(!Status::State::consume());
|
||||
Mpd.SetConsume(!Status::get().consume());
|
||||
}
|
||||
|
||||
void ToggleCrossfade::run()
|
||||
{
|
||||
Mpd.SetCrossfade(Status::State::crossfade() ? 0 : Config.crossfade_time);
|
||||
Mpd.SetCrossfade(Status::get().crossfade() ? 0 : Config.crossfade_time);
|
||||
}
|
||||
|
||||
void SetCrossfade::run()
|
||||
@@ -1612,7 +1612,7 @@ void JumpToTagEditor::run()
|
||||
|
||||
bool JumpToPositionInSong::canBeRun() const
|
||||
{
|
||||
return Status::State::player() != MPD::psStop && myPlaylist->currentSongLength() > 0;
|
||||
return Status::get().playerState() != MPD::psStop && Status::get().totalTime() > 0;
|
||||
}
|
||||
|
||||
void JumpToPositionInSong::run()
|
||||
@@ -2668,7 +2668,7 @@ void seek()
|
||||
using Global::Timer;
|
||||
using Global::SeekingInProgress;
|
||||
|
||||
if (!myPlaylist->currentSongLength())
|
||||
if (!Status::get().totalTime())
|
||||
{
|
||||
Statusbar::print("Unknown item length");
|
||||
return;
|
||||
@@ -2676,8 +2676,8 @@ void seek()
|
||||
|
||||
Progressbar::lock();
|
||||
Statusbar::lock();
|
||||
|
||||
unsigned songpos = Status::State::elapsedTime();
|
||||
|
||||
unsigned songpos = Status::elapsedTime();
|
||||
auto t = Timer;
|
||||
|
||||
int old_timeout = wFooter->getTimeout();
|
||||
@@ -2702,8 +2702,8 @@ void seek()
|
||||
auto a = k.first->action();
|
||||
if (a == seekForward)
|
||||
{
|
||||
if (songpos < myPlaylist->currentSongLength())
|
||||
songpos = std::min(songpos + howmuch, myPlaylist->currentSongLength());
|
||||
if (songpos < Status::get().totalTime())
|
||||
songpos = std::min(songpos + howmuch, Status::get().totalTime());
|
||||
}
|
||||
else if (a == seekBackward)
|
||||
{
|
||||
@@ -2727,12 +2727,12 @@ void seek()
|
||||
if (Config.display_remaining_time)
|
||||
{
|
||||
tracklength += "-";
|
||||
tracklength += MPD::Song::ShowTime(myPlaylist->currentSongLength()-songpos);
|
||||
tracklength += MPD::Song::ShowTime(Status::get().totalTime()-songpos);
|
||||
}
|
||||
else
|
||||
tracklength += MPD::Song::ShowTime(songpos);
|
||||
tracklength += "/";
|
||||
tracklength += MPD::Song::ShowTime(myPlaylist->currentSongLength());
|
||||
tracklength += MPD::Song::ShowTime(Status::get().totalTime());
|
||||
tracklength += "]";
|
||||
*wFooter << NC::XY(wFooter->getWidth()-tracklength.length(), 1) << tracklength;
|
||||
break;
|
||||
@@ -2740,22 +2740,22 @@ void seek()
|
||||
if (Config.display_remaining_time)
|
||||
{
|
||||
tracklength = "-";
|
||||
tracklength += MPD::Song::ShowTime(myPlaylist->currentSongLength()-songpos);
|
||||
tracklength += MPD::Song::ShowTime(Status::get().totalTime()-songpos);
|
||||
}
|
||||
else
|
||||
tracklength = MPD::Song::ShowTime(songpos);
|
||||
tracklength += "/";
|
||||
tracklength += MPD::Song::ShowTime(myPlaylist->currentSongLength());
|
||||
tracklength += MPD::Song::ShowTime(Status::get().totalTime());
|
||||
*wHeader << NC::XY(0, 0) << tracklength << " ";
|
||||
wHeader->refresh();
|
||||
break;
|
||||
}
|
||||
*wFooter << NC::Format::NoBold;
|
||||
Progressbar::draw(songpos, myPlaylist->currentSongLength());
|
||||
Progressbar::draw(songpos, Status::get().totalTime());
|
||||
wFooter->refresh();
|
||||
}
|
||||
SeekingInProgress = false;
|
||||
Mpd.Seek(myPlaylist->currentSongPosition(), songpos);
|
||||
Mpd.Seek(Status::get().currentSongPosition(), songpos);
|
||||
|
||||
wFooter->setTimeout(old_timeout);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user