Sort forge versions right. Do not spam the multimc log with mc server status stuff.

This commit is contained in:
Petr Mrázek
2014-01-16 23:06:07 +01:00
parent d85e820a07
commit 7b96d74d3b
4 changed files with 31 additions and 13 deletions

View File

@ -404,12 +404,8 @@ void ForgeListLoadTask::listDownloaded()
{
return;
}
qSort(list.begin(), list.end(), [](const BaseVersionPtr & p1, const BaseVersionPtr & p2)
{
// TODO better comparison (takes major/minor/build number into account)
return p1->name() > p2->name();
});
std::sort(list.begin(), list.end(), [](const BaseVersionPtr & l, const BaseVersionPtr & r)
{ return (*l > *r); });
m_list->updateListData(list);

View File

@ -29,25 +29,38 @@ typedef std::shared_ptr<ForgeVersion> ForgeVersionPtr;
struct ForgeVersion : public BaseVersion
{
virtual QString descriptor()
virtual QString descriptor() override
{
return filename;
}
;
virtual QString name()
virtual QString name() override
{
return "Forge " + jobbuildver;
}
;
virtual QString typeString() const
virtual QString typeString() const override
{
if (installer_url.isEmpty())
return "Universal";
else
return "Installer";
}
;
virtual bool operator<(BaseVersion &a) override
{
ForgeVersion *pa = dynamic_cast<ForgeVersion *>(&a);
if(!pa)
return true;
return m_buildnr < pa->m_buildnr;
}
virtual bool operator>(BaseVersion &a) override
{
ForgeVersion *pa = dynamic_cast<ForgeVersion *>(&a);
if(!pa)
return false;
return m_buildnr > pa->m_buildnr;
}
int m_buildnr = 0;
QString universal_url;
QString changelog_url;