KDE Purpose插件-不显示结果

时间:2018-07-06 10:50:07

标签: c++ qt kde

我正在尝试编写自定义KDE Purpose  该插件会将文件上传到我的服务器,并将链接复制到剪贴板。第二部分出现问题,上传正常。

这是我的自定义插件,已注册并显示在Share plasmoid菜单中:
enter image description here

我的代码基于Pastebin插件(请参见源压缩包中的源代码-https://download.kde.org/stable/frameworks/5.47/purpose-5.47.0.tar.xz)。

这是我的插件代码:

https://git.ondrovo.com/ondra/kde-purpose-neonplugin/src/branch/master/neon-upload

现在这是有问题的部分-它向我显示了一条通知,并且上传完成了(我产生了一个rsync进程来执行此操作),但是剪贴板代码不起作用,并且我无法获得结果页面,例如使用Pastebin插件

    if (!QProcess::startDetached(executable, args)) {
        setError(KJob::UserDefinedError);
        setErrorText(i18n("Failed to launch executable"));
    }
    else {          
      const auto url = QStringLiteral("https://data.ondrovo.com/%1").arg(pathfragment);

      // this should copy the link to clipboard, but has no effect at all
      QClipboard *clipboard = QGuiApplication::clipboard();          
      clipboard->setText(url);

      const auto notify_exec = QStandardPaths::findExecutable(QStringLiteral("notify-send"));          
      const auto args = QStringList{ 
        QStringLiteral("File %1 uploaded to Neon").arg(filename),
        url
      };
      QProcess::startDetached(notify_exec, args);     

      // this should show it in the pop-up window after upload, like Pastebin - but doesn't work
      setOutput( { { QStringLiteral("url"), url } });
    }
    emitResult();

这也是我也想通过我的插件获得的东西,或者至少是剪贴板可以使用的东西。

pastebin结果页面
enter image description here

有什么提示吗?

0 个答案:

没有答案