void Tools::share_link(QString linktoshare){ // thanks matyjas for example on — https://github.com/matyjas/share-bear/ QString title = "Imgrup"; QString desc = "uploaded to imgur with N9"; MDataUri duri; duri.setMimeType ("text/x-url"); duri.setTextData (linktoshare); duri.setAttribute ("title", title); duri.setAttribute ("description", desc); if (duri.isValid() == false) { qCritical() << "Invalid URI"; return; } QStringList link; link << duri.toString(); ShareUiInterface shareIf("com.nokia.ShareUi"); shareIf.share(link); }
// Example 4 //----------- // Read binary data inside data URI // static QByteArray getBinaryDataFromDataUri (const QString & dataUriString) { MDataUri duri = dataUriString; if (duri.isValid() == false) { qWarning() << "Invalid data uri input"; return QByteArray(); } return duri.data(); }
void ShareCommand::share () { QString link = "http://forum.nokia.com"; QString title = "Forum Nokia"; QString desc = "Support for Nokia Developers"; /* qDebug() << "Make data URI from" << link << title << desc; */ MDataUri duri; duri.setMimeType ("text/x-url"); duri.setTextData (link); duri.setAttribute ("title", title); duri.setAttribute ("description", desc); if (duri.isValid() == false) { qCritical() << "Invalid URI"; return; } QStringList items; items << duri.toString(); //qDebug() << "URI:" << items.join (" "); // Create a interface object ShareUiInterface shareIf("com.nokia.ShareUi"); // Check if interface is valid if (shareIf.isValid()) { // Start ShareUI application with selected files. //qDebug() << "Signalling share-ui daemon..."; shareIf.share (items); } else { qCritical() << "Invalid interface"; return; } }
// Example 2 //----------- // Resolve link from data URI // // Input param dataUriString: string presentation of data URI, eg. // "data:txt/x-url;title=MeeGo%20Homepage,http%3A%2F%2Fwww.meego.com" // // Return value: Link (eq. "http://www.meego.com") or empty string if content // isn't valid data uri with valid data mime type. // static QString getLinkUrlFromDataUri (const QString & dataUriString) { MDataUri duri = dataUriString; if (duri.isValid() == false) { qWarning() << "Invalid data uri input"; return QString(); } if (duri.isOfMimeType ("text/x-uri") == false) { qWarning() << "Don't know what to do with" << duri.mimeType(); return QString(); } if (duri.hasAttribute("title") == true) { qDebug() << "Found link with title:" << duri.attribute ("title"); } return duri.textData(); }