void PowerDevilRunner::run(const Plasma::RunnerContext &context, const Plasma::QueryMatch &match) { Q_UNUSED(context) QDBusInterface iface("org.kde.Solid.PowerManagement", "/org/kde/Solid/PowerManagement", "org.kde.Solid.PowerManagement"); if (match.id().startsWith("PowerDevil_ProfileChange")) { iface.asyncCall("loadProfile", match.data().toString()); } else if (match.id() == "PowerDevil_BrightnessChange") { iface.asyncCall("setBrightness", match.data().toInt()); } else if (match.id() == "PowerDevil_DimTotal") { iface.asyncCall("setBrightness", 0); } else if (match.id() == "PowerDevil_DimHalf") { iface.asyncCall("setBrightness", -2); } else if (match.id() == "PowerDevil_TurnOffScreen") { // FIXME: Maybe this should be even removed // iface.asyncCall("turnOffScreen"); } else if (match.id().startsWith("PowerDevil_Suspend")) { switch ((Solid::PowerManagement::SleepState)match.data().toInt()) { case Solid::PowerManagement::SuspendState: case Solid::PowerManagement::StandbyState: iface.asyncCall("suspendToRam"); break; case Solid::PowerManagement::HibernateState: iface.asyncCall("suspendToDisk"); break; } } }
void KRunnerModel::matchesChanged(const QList< Plasma::QueryMatch > & m) { QList< Plasma::QueryMatch > matches = m; qSort(matches.begin(), matches.end()); clear(); while (matches.size()) { Plasma::QueryMatch match = matches.takeLast(); appendRow( StandardItemFactory::createItem( match.icon(), match.text(), match.subtext(), QString("krunner://") + match.runner()->id() + "/" + ::runnerManager()->query() + "#" + match.id(), match.relevance(), CommonModel::AddAction ) ); } sort(0, Qt::DescendingOrder); }