void Notifier::notify(const QString &summary, const QString &message) { #if defined(HAVE_MNOTIFICATION) QList<MNotification*> notifications = MNotification::notifications(); foreach (MNotification *n, notifications) { if (n->summary() == summary) n->remove(); } MNotification *notification = new MNotification("irc-chatter.irc", summary, message); notification->setIdentifier("irc"); notification->setAction(MRemoteAction("net.venemo.ircchatter", "/", "net.venemo.ircchatter", "activateApplication")); notification->publish(); #else Q_UNUSED(summary) Q_UNUSED(message) qDebug() << Q_FUNC_INFO << "Sending notifications is not supported by the current build."; #endif }
Q_DECL_EXPORT int main(int argc, char *argv[]) { QScopedPointer<QApplication> app(createApplication(argc, argv)); QTextStream qout(stdout); QString locale = QLocale::system().name(); QTranslator translator; if (!(translator.load("translation."+locale, ":/"))) translator.load("translation.en", ":/"); app->installTranslator(&translator); QStringList arguments = app->arguments(); if (arguments.size() > 1 && arguments.at(1) == "-wake") { QString mac = QString::null; if (arguments.contains("-mac")) { int macIdx = arguments.indexOf("-mac"); if (macIdx != -1 && arguments.count() >= macIdx+1) mac = arguments.at(macIdx+1); } if (mac == QString::null) { qout << QObject::tr("Bitte MAC-Adresse angegeben") << endl; return 1; } else { QString devName = QString::null; if (arguments.contains("-devicename")) { int nameIdx = arguments.indexOf("-devicename"); devName = arguments.at(nameIdx+1); } QSystemNetworkInfo *i = new QSystemNetworkInfo(); QSystemNetworkInfo::NetworkStatus s = i->networkStatus(QSystemNetworkInfo::WlanMode); bool success; if (s == QSystemNetworkInfo::Connected) { QmlWakeOnLan *w = new QmlWakeOnLan(); w->sendMagicPacket(mac); success = true; } else { success = false; } if (arguments.contains("-showbanner")) { QString message; if (success) { if (devName != QString::null) message = QObject::tr("Magisches Paket wurde an %1 gesendet").arg(devName); else message = QObject::tr("Magisches Paket wurde gesendet"); } else { message = QObject::tr("Das magische Paket konnte nicht gesendet werden. (Keine Verbindung mit WLAN)"); } MNotification *notification = new MNotification(MNotification::DeviceEvent, QString::null, message); notification->setImage((success ? "icon-m-transfer-done" : "icon-m-transfer-error")); notification->publish(); } return (success ? 0 : 1); } } qmlRegisterType<QmlClipboardAdapter>("com.ejjoman.plugins", 1, 0, "Clipboard"); qmlRegisterType<QmlWakeOnLan>("com.ejjoman.plugins", 1, 0, "WakeOnLan"); qmlRegisterType<QmlFilesystemAdapter>("com.ejjoman.plugins", 1, 0, "Filesystem"); QmlApplicationViewer viewer; QDeclarativeContext *context = viewer.rootContext(); WifiModel *model = new WifiModel(); context->setContextProperty("wifiModel", model); WifiList list; context->setContextProperty("wifiList", QVariant::fromValue(list.getWifiList())); QString homePath = QDir::homePath(); context->setContextProperty("homePath", homePath); viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockPortrait); viewer.setMainQmlFile(QLatin1String("qml/harmattan/main.qml")); viewer.showExpanded(); qInstallMsgHandler(0); return app->exec(); }