D6390: Add remote runners over DBus

Kai Uwe Broulik noreply at phabricator.kde.org
Thu Jul 6 12:50:40 UTC 2017


broulik added a comment.


  Cool stuff!
  
  A bunch of nitpicks but then it's good to go.

INLINE COMMENTS

> dbusrunnertest.cpp:45
> +    void testMatch();
> +//
> +private:

Remove

> dbusrunnertest.cpp:52
> +{
> +    m_process = new QProcess(this);
> +    m_process->start(QFINDTESTDATA("testremoterunner"));

Put in initializer list

  DBusRunnerTest::DBusRunnerTest()
      : m_process(new QProcess(this))

> dbusrunnertest.cpp:65
> +{
> +    QStandardPaths::enableTestMode(true);
> +    QDir(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)).mkpath("kservices5");

This is deprecated, use `setTestModeEnabled`

> dbusrunnertest.cpp:88
> +    //see testremoterunner.cpp
> +    QCOMPARE(result.id(), QString("dbusrunnertest_id1")); //note the runner name is prepended
> +    QCOMPARE(result.text(), QString("Match 1"));

Why are you using `QString` and not `QStringLiteral` all over the place?

> dbusrunnertest.cpp:99
> +
> +    QCOMPARE(action->text(), QString("Action 1"));
> +

`QStringLiteral`

> dbusrunnertest.desktop:14
> +X-Plasma-API=DBus
> +X-Plasma-DBusRunner-Service=net.dave
> +X-Plasma-DBusRunner-Path=/dave

:D

> testremoterunner.cpp:27
> +
> +//Test DBus runner, if the search term is "foo" it returns a match, otherwise nothing
> +//Run prints a line to stdout

you say "is" but below you do `contains`

> testremoterunner.cpp:34
> +    QDBusConnection::sessionBus().registerService("net.dave");
> +    QDBusConnection::sessionBus().registerObject("/dave", this);
> +    qDBusRegisterMetaType<RemoteMatch>();

`registerObject` before `registerService` (Thiago iirc said that should be done with the new threaded dbus thing to avoid a service being exported in an inconsistent state)

> dbusrunner.cpp:98
> +
> +        //split is essential items are as native DBus types, optional extras are in the property map (which is obviously a lot slower to parse)
> +        m.setUrls(QUrl::fromStringList(match.properties.value("urls").toStringList()));

I see.

subtext is widely used from what I can tell, whereas setMatchCategory is only used by baloo runner but that one typically spawns a ton of results for a query. (Just a comment, doesn't mean you neccessarily should change this)

> dbusrunner.cpp:109
> +{
> +    return actions().values();
> +}

We cannot have matches with different actions then, right? I don't think we do that in any other runner, so this is fine.

> dbusrunner_p.h:38
> +
> +protected slots:
> +private:

Remove

> querymatch.h:77
>           */
> -        explicit QueryMatch(AbstractRunner *runner);
> +        explicit QueryMatch(AbstractRunner *runner=0);
>  

` = nullptr`

Seems an unrelated (and unneccessary?) change to me, though

REPOSITORY
  R308 KRunner

REVISION DETAIL
  https://phabricator.kde.org/D6390

To: davidedmundson, #plasma
Cc: broulik, mart, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, lukas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170706/e8cf7227/attachment.html>


More information about the Plasma-devel mailing list