void ListFileBrowser::SetButton(int i, const char * name, u64 filesize, bool dir, bool enable)
{
	if(i < 0)
		return;

	else if(i >= (int) fileBtn.size())
	{
		AddButton();
	}

	if(!enable)
	{
		fileBtn[i]->SetVisible(false);
		fileBtn[i]->SetState(STATE_DISABLED);
		return;
	}

	if(fileBtnIcon[i])
		delete fileBtnIcon[i];

	fileBtnIcon[i] = GetIconFromExt((name ? strrchr(name, '.') : NULL), dir);

	fileBtnText[i]->SetText(name);
	fileBtnTextOver[i]->SetText(name);

	if(!dir)
	{
		char temp[100];
		if(filesize > GBSIZE)
			sprintf(temp, "%0.2fGB", filesize/GBSIZE);
		else if(filesize > MBSIZE)
			sprintf(temp, "%0.2fMB", filesize/MBSIZE);
		else if(filesize > KBSIZE)
			sprintf(temp, "%0.2fKB", filesize/KBSIZE);
		else
			sprintf(temp, "%iB", (u32) filesize);

		fileSizeText[i]->SetText(temp);
	}
	else
	{
		fileSizeText[i]->SetText((char *) NULL);
	}

	fileBtn[i]->SetIcon(fileBtnIcon[i]);
	fileBtn[i]->SetVisible(true);

	if(fileBtn[i]->GetState() == STATE_DISABLED)
		fileBtn[i]->SetState(STATE_DEFAULT);
}
void CustomFileBrowser::SetButton(int i, std::wstring name, bool dir, bool enable)
{
	if(i < 0)
		return;

	else if(i >= (int) fileBtn.size())
	{
		AddButton();
	}

	if(!enable)
	{
		fileBtn[i]->SetVisible(false);
		fileBtn[i]->SetState(STATE_DISABLED);
		return;
	}

	if(fileBtnIcon[i])
		delete fileBtnIcon[i];

	std::string fileext = wstr2str(name);
	int index = fileext.find_last_of('.');
	if(index > 0)
	{
		fileext = fileext.substr(index);
		if(!fileext.compare("."))
			fileext = "";
	}
	else
		fileext = "";
	
	fileBtnIcon[i] = GetIconFromExt(fileext, dir);
	fileBtnIcon[i]->SetScale(0.667);
	fileBtnIcon[i]->SetPosition(-7, -7);
	
	fileBtnText[i]->SetText(name);
	fileBtnTextOver[i]->SetText(name);

	fileBtn[i]->SetIcon(fileBtnIcon[i]);
	fileBtn[i]->SetVisible(true);

	if(fileBtn[i]->GetState() == STATE_DISABLED)
		fileBtn[i]->SetState(STATE_DEFAULT);
}