void FileUtils::RevealInFinder(const String& fullpath)
{
    FileSystem* fs = GetSubsystem<FileSystem>();
    if (fs->DirExists(fullpath))
        fs->SystemOpen(fullpath);
    else if (fs->FileExists(fullpath))
        fs->SystemOpen(GetPath(fullpath));
}
bool UIButton::OnEvent(const tb::TBWidgetEvent &ev)
{
    if (ev.type == EVENT_TYPE_CLICK)
	{
        String text = GetText();
        if (text.StartsWith("http://") || text.StartsWith("https://"))
		{
            FileSystem* fileSystem = GetSubsystem<FileSystem>();
            fileSystem->SystemOpen(text);
        }
    }
    return UIWidget::OnEvent(ev);
}
bool UIAbout::OnEvent(const TBWidgetEvent &ev)
{
    if (ev.type == EVENT_TYPE_CLICK)
    {
        if (ev.target->GetID() == TBIDC("purchase_pro"))
        {
            FileSystem* fileSystem = GetSubsystem<FileSystem>();
            fileSystem->SystemOpen("https://store.atomicgameengine.com/site");
        }
        else if (ev.target->GetID() == TBIDC("ok"))
        {
            GetSubsystem<UIModalOps>()->Hide();
            return true;
        }

    }

    return false;
}