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 3 //----------- // Generate data URI from binary data and it's mime type // static QString binaryDataToDataURI (const QByteArray & data, const QString & mime) { MDataUri duri; duri.setBinaryData (data); duri.setMimeType (mime); return duri.toString(); }
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 1 //----------- // Generate string format data uri from link // // Input param url: (eq. "http://www.meego.com") // Input param title: (eq. "MeeGo HomePage"), optional title that is stored // as attribute to data URI // // Return value is data uri containing given information (eq. // "data:txt/x-url;title=MeeGo%20Homepage,http%3A%2F%2Fwww.meego.com" // static QString linkUrlToDataUri (const QString & url, const QString & title = QString()) { MDataUri duri; duri.setMimeType ("text/x-url"); duri.setTextData (url); if (title.isEmpty() == false) { duri.setAttribute ("title", title); } return duri.toString(); }
NS_IMETHODIMP nsExternalSharingAppService::ShareWithDefault(const nsAString & aData, const nsAString & aMime, const nsAString & aTitle) { if (!mShareUi) mShareUi = new ShareUiInterface(); if (!mShareUi || !mShareUi->isValid()) return NS_ERROR_NOT_AVAILABLE; if (aData.IsEmpty()) return NS_ERROR_INVALID_ARG; MDataUri uri; uri.setTextData(QString::fromUtf16(aData.BeginReading(), aData.Length())); uri.setMimeType(QString::fromUtf16(aMime.BeginReading(), aMime.Length())); uri.setAttribute("title", QString::fromUtf16(aTitle.BeginReading(), 0)); mShareUi->share(QStringList(uri.toString())); return NS_OK; }
MDataUri::MDataUri (const MDataUri & src) : d_ptr(new MDataUriPrivate()) { read (src.toString()); }
bool MDataUri::operator== (const MDataUri& other) const { QString b = other.toString(); return (toString() == b); }