feat: better dialog when adding duplicate magnet (#2709)
Instead of giving the entire magnet link, which can be too long to be readable, give the magnet's display name (if available) or the info hash as a fallback. Fixes #1217.
This commit is contained in:
parent
4450973d94
commit
8c598c463c
|
@ -29,6 +29,23 @@ QString getNameFromMetainfo(QByteArray const& benc)
|
||||||
return QString::fromStdString(metainfo.name());
|
return QString::fromStdString(metainfo.name());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString getNameFromMagnet(QString const& magnet)
|
||||||
|
{
|
||||||
|
auto tmp = tr_magnet_metainfo{};
|
||||||
|
|
||||||
|
if (!tmp.parseMagnet(magnet.toStdString()))
|
||||||
|
{
|
||||||
|
return magnet;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!std::empty(tmp.name()))
|
||||||
|
{
|
||||||
|
return QString::fromStdString(tmp.name());
|
||||||
|
}
|
||||||
|
|
||||||
|
return QString::fromStdString(tmp.infoHashString());
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
int AddData::set(QString const& key)
|
int AddData::set(QString const& key)
|
||||||
|
@ -79,7 +96,7 @@ QString AddData::readableName() const
|
||||||
return filename;
|
return filename;
|
||||||
|
|
||||||
case MAGNET:
|
case MAGNET:
|
||||||
return magnet;
|
return getNameFromMagnet(magnet);
|
||||||
|
|
||||||
case URL:
|
case URL:
|
||||||
return url.toString();
|
return url.toString();
|
||||||
|
|
Loading…
Reference in New Issue