GUI behavioral corrections

This commit is contained in:
dborth 2009-05-28 07:08:01 +00:00
parent 0998b084ea
commit dd90a80436
5 changed files with 23 additions and 8 deletions

View File

@ -161,7 +161,7 @@ void GuiButton::Update(GuiTrigger * t)
#ifdef HW_RVL
// cursor
if(t->wpad.ir.valid)
if(t->wpad.ir.valid && t->chan >= 0)
{
if(this->IsInside(t->wpad.ir.x, t->wpad.ir.y))
{

View File

@ -365,7 +365,13 @@ void GuiFileBrowser::Update(GuiTrigger * t)
gameList[selectedItem]->SetState(STATE_SELECTED, t->chan);
}
int currChan = t->chan;
if(t->wpad.ir.valid && !gameList[i]->IsInside(t->wpad.ir.x, t->wpad.ir.y))
t->chan = -1;
gameList[i]->Update(t);
t->chan = currChan;
if(gameList[i]->GetState() == STATE_SELECTED)
{

View File

@ -270,13 +270,17 @@ void GuiOptionBrowser::Update(GuiTrigger * t)
optionBtn[selectedItem]->SetState(STATE_SELECTED, t->chan);
}
int currChan = t->chan;
if(t->wpad.ir.valid && !optionBtn[i]->IsInside(t->wpad.ir.x, t->wpad.ir.y))
t->chan = -1;
optionBtn[i]->Update(t);
t->chan = currChan;
if(optionBtn[i]->GetState() == STATE_SELECTED)
{
selectedItem = i;
}
}
// pad/joystick navigation
if(!focus)

View File

@ -284,7 +284,6 @@ void GuiSaveBrowser::Update(GuiTrigger * t)
{
selectedItem += 2;
}
arrowDownBtn->ResetState();
}
else if(t->Up() || arrowUpBtn->GetState() == STATE_CLICKED)
{
@ -301,11 +300,16 @@ void GuiSaveBrowser::Update(GuiTrigger * t)
{
selectedItem -= 2;
}
arrowUpBtn->ResetState();
}
endNavigation:
if(arrowDownBtn->GetState() == STATE_CLICKED)
arrowDownBtn->ResetState();
if(arrowUpBtn->GetState() == STATE_CLICKED)
arrowUpBtn->ResetState();
for(i=0; i<SAVELISTSIZE; i++)
{
if(listOffset+i < 0 && action == 1)

View File

@ -1564,6 +1564,7 @@ static int MenuGameSaves(int action)
HaltGui();
mainWindow->Append(&saveBrowser);
mainWindow->ChangeFocus(&saveBrowser);
ResumeGui();
while(menu == MENU_NONE)