1
0
mirror of https://github.com/clementine-player/Clementine synced 2024-12-16 19:31:02 +01:00

Handle URL QVariants properly when displaying filenames in the playlist view. Fixes issue 3127

This commit is contained in:
David Sansome 2012-08-26 12:23:39 +01:00
parent 78d473512d
commit 75a057a47d

View File

@ -426,15 +426,21 @@ QWidget* TagCompletionItemDelegate::createEditor(
} }
QString NativeSeparatorsDelegate::displayText(const QVariant& value, const QLocale&) const { QString NativeSeparatorsDelegate::displayText(const QVariant& value, const QLocale&) const {
const QString text = value.toString(); const QString string_value = value.toString();
if (text.contains("://")) {
const QUrl url = QUrl::fromEncoded(text.toAscii()); QUrl url;
if (url.scheme() == "file") { if (value.type() == QVariant::Url) {
return QDir::toNativeSeparators(url.toLocalFile()); url = value.toUrl();
} } else if (string_value.contains("://")) {
return text; url = QUrl::fromEncoded(string_value.toAscii());
} else {
return QDir::toNativeSeparators(string_value);
} }
return QDir::toNativeSeparators(text);
if (url.scheme() == "file") {
return QDir::toNativeSeparators(url.toLocalFile());
}
return string_value;
} }
SongSourceDelegate::SongSourceDelegate(QObject* parent, Player* player) SongSourceDelegate::SongSourceDelegate(QObject* parent, Player* player)