Fixed lookups when CDs are changed

Artist is again displayed alongside the CD title
Fixed button state updates when CDs are changed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13868 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
DarkWyrm
2005-08-01 16:29:30 +00:00
parent b72cf2601f
commit 8fe6296f19
5 changed files with 104 additions and 125 deletions
+26 -55
View File
@@ -357,6 +357,7 @@ CDPlayer::NoticeChange(Notifier *notifier)
if(ps)
{
AdjustButtonStates();
HandlePlayState();
}
else
@@ -393,34 +394,29 @@ CDPlayer::HandlePlayState(void)
{
case kNoCD:
{
AdjustButtonStates();
fCurrentTrack->SetHighColor(fStopColor);
fCurrentTrack->Invalidate();
break;
}
case kStopped:
{
AdjustButtonStates();
fCurrentTrack->SetHighColor(fStopColor);
fCurrentTrack->Invalidate();
break;
}
case kPaused:
{
AdjustButtonStates();
fCurrentTrack->SetHighColor(fPlayColor);
break;
}
case kPlaying:
{
AdjustButtonStates();
fCurrentTrack->SetHighColor(fPlayColor);
fCurrentTrack->Invalidate();
break;
}
case kSkipping:
{
AdjustButtonStates();
fCurrentTrack->SetHighColor(fStopColor);
break;
}
@@ -434,58 +430,33 @@ CDPlayer::HandlePlayState(void)
void
CDPlayer::AdjustButtonStates(void)
{
CDState state = engine->GetState();
CDState state = gCDDevice.GetState();
switch(state)
if(state==kNoCD)
{
case kNoCD:
{
// Everything needs to be disabled when there is no CD
fStop->SetEnabled(false);
fPlay->SetEnabled(false);
fNextTrack->SetEnabled(false);
fPrevTrack->SetEnabled(false);
fSave->SetEnabled(false);
break;
}
case kStopped:
{
fStop->SetEnabled(true);
fPlay->SetEnabled(true);
fNextTrack->SetEnabled(true);
fPrevTrack->SetEnabled(true);
// TODO: Enable when Save is implemented
// fSave->SetEnabled(true);
fPlay->SetState(0);
break;
}
case kPaused:
{
fPlay->SetState(0);
break;
}
case kPlaying:
{
fStop->SetEnabled(true);
fPlay->SetEnabled(true);
fNextTrack->SetEnabled(true);
fPrevTrack->SetEnabled(true);
// TODO: Enable when Save is implemented
// fSave->SetEnabled(true);
fPlay->SetState(1);
break;
}
case kSkipping:
default:
{
break;
}
// Everything needs to be disabled when there is no CD
fStop->SetEnabled(false);
fPlay->SetEnabled(false);
fNextTrack->SetEnabled(false);
fPrevTrack->SetEnabled(false);
fSave->SetEnabled(false);
}
else
{
fStop->SetEnabled(true);
fPlay->SetEnabled(true);
fNextTrack->SetEnabled(true);
fPrevTrack->SetEnabled(true);
// TODO: Enable when Save is implemented
// fSave->SetEnabled(true);
}
if(state==kPlaying)
fPlay->SetState(1);
else
fPlay->SetState(0);
}
void
@@ -628,7 +599,7 @@ public:
CDPlayerWindow::CDPlayerWindow(void)
: BWindow(BRect (100, 100, 610, 200), "CD Player", B_TITLED_WINDOW, B_NOT_V_RESIZABLE |
B_NOT_ZOOMABLE | B_ASYNCHRONOUS_CONTROLS)
B_NOT_ZOOMABLE)
{
float wmin,wmax,hmin,hmax;