Skip to content
This repository was archived by the owner on Apr 28, 2022. It is now read-only.

Commit 19a8d7e

Browse files
committed
Merge branch 'jb47352' into 'master'
[nemo-systemsettings] Expose symlink from UDisks2 block. Contributes to JB#47352 See merge request mer-core/nemo-qml-plugin-systemsettings!121
2 parents 955f077 + 093edef commit 19a8d7e

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

src/udisks2block.cpp

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,32 @@ QString UDisks2::Block::idUUID() const
294294
return value(QStringLiteral("IdUUID")).toString();
295295
}
296296

297+
QStringList UDisks2::Block::symlinks() const
298+
{
299+
QStringList links;
300+
QVariant variantListBytes = value(QStringLiteral("Symlinks"));
301+
302+
if (variantListBytes.canConvert<QVariantList>()) {
303+
QSequentialIterable iterable = variantListBytes.value<QSequentialIterable>();
304+
305+
for (const QVariant &a : iterable) {
306+
QByteArray symlinkBytes;
307+
308+
if (a.canConvert<QVariantList>()) {
309+
QSequentialIterable i = a.value<QSequentialIterable>();
310+
for (const QVariant &variantByte : i) {
311+
symlinkBytes.append(variantByte.toChar());
312+
}
313+
}
314+
315+
if (!symlinkBytes.isEmpty())
316+
links << QString::fromLocal8Bit(symlinkBytes);
317+
}
318+
}
319+
320+
return links;
321+
}
322+
297323
QString UDisks2::Block::mountPath() const
298324
{
299325
return m_mountPath;

src/udisks2block_p.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ class SYSTEMSETTINGS_EXPORT Block : public QObject
100100
QString idLabel() const;
101101
QString idUUID() const;
102102

103+
QStringList symlinks() const;
104+
103105
QString mountPath() const;
104106

105107
QVariant value(const QString &key) const;

0 commit comments

Comments
 (0)