+void PlacesPanel::loadBookmarks()
+{
+ KBookmarkGroup root = m_bookmarkManager->root();
+ KBookmark bookmark = root.first();
+ QSet<QString> devices = m_availableDevices;
+
+ while (!bookmark.isNull()) {
+ const QString udi = bookmark.metaDataItem("UDI");
+ const QString appName = bookmark.metaDataItem("OnlyInApp");
+ const bool deviceAvailable = devices.remove(udi);
+
+ const bool allowedHere = appName.isEmpty() || (appName == KGlobal::mainComponent().componentName());
+
+ if ((udi.isEmpty() && allowedHere) || deviceAvailable) {
+ KStandardItem* item = new KStandardItem();
+ item->setIcon(KIcon(bookmark.icon()));
+ item->setText(bookmark.text());
+ item->setDataValue("address", bookmark.address());
+ item->setDataValue("url", bookmark.url());
+ if (deviceAvailable) {
+ item->setDataValue("udi", udi);
+ }
+ m_model->appendItem(item);
+ }
+
+ bookmark = root.next(bookmark);
+ }
+}
+