Example #1
0
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 #2
0
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 #3
0
void FileHandler::startShareUi()
{
    QStringList itemList;
    QString fileUri = "file://" +  m_path;

    qDebug() << "Share file path uri" << fileUri;
    itemList << fileUri;

    // Create a interface object
    qDebug() << "Connecting to service" << SHAREUI_DBUS_SERVICE;
    ShareUiIf shareIf(SHAREUI_DBUS_SERVICE, "/", QDBusConnection::sessionBus());

    // You can check if interface is valid
   // if (shareIf.isValid()) {
        // Start ShareUI application with selected files.
        qDebug() << "Signalling share-ui daemon...";
        shareIf.share (itemList);
 //   } else {
 //       qCritical() << "Invalid interface";
//    }

}
int main(int argc, char **argv)
{
    // Create a QStringlist where file uri will be stored
    QStringList itemList;
    
    // Append the file uris to the list (files need to indexed by Tracker)
    // If application is reading files from Tracker then Tracker's "file ID
    // URIs" should be used instead. These are URIs of files entry in Tracker
    // database. In this example simple file path URI is used to keep code
    // simple.

    bool help = false;
    for(int i = 1; i < argc; ++i) {
        const QString arg = argv[i];
        if (arg == "--help" || arg == "-h") {
            help = true;
            break;
        }

        if(arg.startsWith("-")) {
            // This is probably some kind of option, like -software.  Ignore.
            qDebug() << "Ignoring option" << arg;
            continue;
        }

        if (arg.startsWith ("data:") == true) {
            qDebug() << "Share data URI" << arg;
            itemList << arg;
        } else {
            QFileInfo fileInfo (arg);
            QString fileUri = fileInfo.canonicalFilePath();
            if (fileUri.isEmpty ()) {
                qDebug() << "Share Tracker IRI (?)" << arg;
                itemList << arg;
            } else {
                fileUri.prepend("file://");
                qDebug() << "Share file path uri" << fileUri;
                itemList << fileUri;
            }
        }
    }

    if (help || itemList.isEmpty()) {
        std::cout << "Usage: " << argv[0] << " { <data-uri> | <tracker-iri> | <file-uri> }+ "
                  << std::endl;
        exit(0);
    }

    // Create a interface object
    qDebug() << "Connecting to service" << SHAREUI_DBUS_SERVICE;
    ShareUiInterface shareIf(SHAREUI_DBUS_SERVICE, "/", QDBusConnection::sessionBus());
    
    // You can check if interface is valid
    if (shareIf.isValid()) {
        // Start ShareUI application with selected files. 
        qDebug() << "Signalling share-ui daemon...";
        shareIf.share (itemList);
    } else {
        qCritical() << "Invalid interface";
        return -1;
    }
}