[PlacesItem] Add support for OnlyInApp metadata for bookmarks

This will allow to edit an existing place to make it application-local
or visible from all applications.

CCBUG: 376619
This commit is contained in:
Elvis Angelaccio 2018-11-11 18:29:36 +01:00
parent 140ccf1df8
commit 20e11282b5
2 changed files with 16 additions and 0 deletions

View file

@ -1,5 +1,6 @@
/***************************************************************************
* Copyright (C) 2012 by Peter Penz <peter.penz19@gmail.com> *
* Copyright (C) 2018 by Elvis Angelaccio <elvis.angelaccio@kde.org> *
* *
* Based on KFilePlacesItem from kdelibs: *
* Copyright (C) 2007 Kevin Ottens <ervin@kde.org> *
@ -80,6 +81,16 @@ QString PlacesItem::udi() const
return dataValue("udi").toString();
}
void PlacesItem::setApplicationName(const QString &applicationName)
{
setDataValue("applicationName", applicationName);
}
QString PlacesItem::applicationName() const
{
return dataValue("applicationName").toString();
}
void PlacesItem::setHidden(bool hidden)
{
setDataValue("isHidden", hidden);
@ -247,6 +258,8 @@ void PlacesItem::updateBookmarkForRole(const QByteArray& role)
m_bookmark.setUrl(url());
} else if (role == "udi") {
m_bookmark.setMetaDataItem(QStringLiteral("UDI"), udi());
} else if (role == "applicationName") {
m_bookmark.setMetaDataItem(QStringLiteral("OnlyInApp"), applicationName());
} else if (role == "isSystemItem") {
m_bookmark.setMetaDataItem(QStringLiteral("isSystemItem"), isSystemItem() ? QStringLiteral("true") : QStringLiteral("false"));
} else if (role == "isHidden") {

View file

@ -52,6 +52,9 @@ public:
void setUdi(const QString& udi);
QString udi() const;
void setApplicationName(const QString& applicationName);
QString applicationName() const;
void setHidden(bool hidden);
bool isHidden() const;