void Handler::activateConnection(const QString& connection, const QString& device, const QString& specificObject) { NetworkManager::Connection::Ptr con = NetworkManager::findConnection(connection); if (!con) { qCWarning(NM) << "Not possible to activate this connection"; return; } if (con->settings()->connectionType() == NetworkManager::ConnectionSettings::Vpn) { NetworkManager::VpnSetting::Ptr vpnSetting = con->settings()->setting(NetworkManager::Setting::Vpn).staticCast<NetworkManager::VpnSetting>(); if (vpnSetting) { // qCDebug(NM) << "Checking VPN" << con->name() << "type:" << vpnSetting->serviceType(); #if 0 // get the list of supported VPN service types const KService::List services = KServiceTypeTrader::self()->query("PlasmaNetworkManagement/VpnUiPlugin", QString::fromLatin1("[X-NetworkManager-Services]=='%1'").arg(vpnSetting->serviceType())); if (services.isEmpty()) { qCWarning(NM) << "VPN" << vpnSetting->serviceType() << "not found, skipping"; KNotification *notification = new KNotification("MissingVpnPlugin", KNotification::CloseOnTimeout, this); notification->setComponentName("networkmanagement"); notification->setTitle(con->name()); notification->setText(i18n("Missing VPN plugin")); notification->setPixmap(QIcon::fromTheme("dialog-warning").pixmap(KIconLoader::SizeHuge)); notification->sendEvent(); return; } #endif } } #if WITH_MODEMMANAGER_SUPPORT if (con->settings()->connectionType() == NetworkManager::ConnectionSettings::Gsm) { NetworkManager::ModemDevice::Ptr nmModemDevice = NetworkManager::findNetworkInterface(device).objectCast<NetworkManager::ModemDevice>(); if (nmModemDevice) { ModemManager::ModemDevice::Ptr mmModemDevice = ModemManager::findModemDevice(nmModemDevice->udi()); if (mmModemDevice) { ModemManager::Modem::Ptr modem = mmModemDevice->interface(ModemManager::ModemDevice::ModemInterface).objectCast<ModemManager::Modem>(); NetworkManager::GsmSetting::Ptr gsmSetting = con->settings()->setting(NetworkManager::Setting::Gsm).staticCast<NetworkManager::GsmSetting>(); if (gsmSetting && gsmSetting->pinFlags() == NetworkManager::Setting::NotSaved && modem && modem->unlockRequired() > MM_MODEM_LOCK_NONE) { QDBusInterface managerIface("org.kde.plasmanetworkmanagement", "/org/kde/plasmanetworkmanagement", "org.kde.plasmanetworkmanagement", QDBusConnection::sessionBus(), this); managerIface.call("unlockModem", mmModemDevice->uni()); connect(modem.data(), &ModemManager::Modem::unlockRequiredChanged, this, &Handler::unlockRequiredChanged); m_tmpConnectionPath = connection; m_tmpDevicePath = device; m_tmpSpecificPath = specificObject; return; } } } } #endif QDBusPendingReply<QDBusObjectPath> reply = NetworkManager::activateConnection(connection, device, specificObject); QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(reply, this); watcher->setProperty("action", Handler::ActivateConnection); watcher->setProperty("connection", con->name()); connect(watcher, &QDBusPendingCallWatcher::finished, this, &Handler::replyFinished); }
void DistroUpgrade::distroUpgrade(PackageKit::Transaction::DistroUpgrade type, const QString &name, const QString &description) { // TODO make use of the type switch (m_configs[CFG_DISTRO_UPGRADE].toInt()) { case Enum::DistroNever: return; case Enum::DistroStable: if (type != Transaction::DistroUpgradeStable) { // The user only wants to know about stable releases return; } default: break; } kDebug() << "Distro upgrade found!" << name << description; if (m_shownDistroUpgrades.contains(name)) { // ignore distro upgrade if the user already saw it return; } KNotification *notify = new KNotification("DistroUpgradeAvailable", 0, KNotification::Persistent); notify->setComponentName("apperd"); notify->setTitle(i18n("Distribution upgrade available")); notify->setText(description); QStringList actions; actions << i18n("Start upgrade now"); notify->setActions(actions); connect(notify, SIGNAL(activated(uint)), this, SLOT(handleDistroUpgradeAction(uint))); notify->sendEvent(); m_shownDistroUpgrades << name; }
void Notify::connectionFailed(const QString &title, BluezQt::PendingCall *call) { QString text; switch (call->error()) { case BluezQt::PendingCall::Failed: if (call->errorText() == QLatin1String("Host is down")) { text = i18nc("Notification when the connection failed due to Failed:HostIsDown", "The device is unreachable"); } else { text = i18nc("Notification when the connection failed due to Failed", "Connection to the device failed"); } break; case BluezQt::PendingCall::NotReady: text = i18nc("Notification when the connection failed due to NotReady", "The device is not ready"); break; default: return; } KNotification *notification = new KNotification(QStringLiteral("ConnectionFailed"), KNotification::CloseOnTimeout, this); notification->setComponentName(QStringLiteral("bluedevil")); notification->setPixmap(QIcon::fromTheme(QStringLiteral("dialog-warning")).pixmap(64)); notification->setTitle(title); notification->setText(text); notification->sendEvent(); }
void ActivityList::dataUpdated(const QString& source, const Plasma::DataEngine::Data& data) { Q_UNUSED(source) Q_ASSERT(m_engine); int newItems = 0; foreach(const QString& key, data.keys()) { if (!data.value(key).value<Plasma::DataEngine::Data>().isEmpty()) { if (m_knownEvents.contains(source + data[key].value<Plasma::DataEngine::Data>().value("id").toString())) { continue; } QString id(source + data[key].value<Plasma::DataEngine::Data>().value("id").toString()); QDateTime time(data[key].value<Plasma::DataEngine::Data>().value("timestamp").toDateTime()); m_knownEvents.insert(id); ActivityWidget* widget = new ActivityWidget(m_engine, m_container); widget->setActivityData(data[key].value<Plasma::DataEngine::Data>()); int i; for(i = 0; i < m_layout->count(); ++i) { ActivityWidget* widget = static_cast<ActivityWidget*>(m_layout->itemAt(i)); if (time > widget->timestamp()) { break; } } m_layout->insertItem(i, widget); ++newItems; } } while (m_layout->count() > m_limit) { ActivityWidget* widget = static_cast<ActivityWidget*>(m_layout->itemAt(m_layout->count()-1)); m_layout->removeAt(m_layout->count()-1); widget->deleteLater(); } // Don't mass-spam the user with notifications if (newItems < 4) { for(int i = 0; i<newItems; ++i) { ActivityWidget* widget = static_cast<ActivityWidget*>(m_layout->itemAt(i)); KNotification* notification = new KNotification("activity"); notification->setTitle("OpenDesktop Activities"); notification->setText(widget->message()); notification->setComponentData(KComponentData("plasma-applet-opendesktop-activities", "plasma-applet-opendesktop-activities", KComponentData::SkipMainComponentRegistration)); notification->sendEvent(); } } // Go to the top of the list setScrollPosition(QPointF(0, 0)); }
KNotification *KNotification::event(const QString &eventid, const QString &title, const QString &text, const QPixmap &pixmap, QWidget *widget, const NotificationFlags &flags, const QString &componentName) { KNotification *notify = new KNotification(eventid, widget, flags); notify->setTitle(title); notify->setText(text); notify->setPixmap(pixmap); notify->setComponentName(flags & DefaultEvent ? QStringLiteral("plasma_workspace") : componentName); QTimer::singleShot(0, notify, SLOT(sendEvent())); return notify; }
void notifier_t::notify_reboot() { KNotification* note = new KNotification("requestreboot",0L, KNotification::Persistent); note->setTitle(i18n("Please reboot your system.")); note->setText(i18n("In order to complete this upgrade, you need to reboot your system.")); note->setPixmap(KIcon("system-reboot").pixmap(QSize(32,32))); note->setComponentData(m_component_data); note->setActions(QStringList() << i18nc("Do the proposed action (upgrade, reboot, etc) later", "Later") << i18nc("Reboot the system", "Reboot")); connect(note,SIGNAL(closed()),m_reboot_nagger,SLOT(start())); connect(note,SIGNAL(action1Activated()),m_reboot_nagger,SLOT(start())); connect(note,SIGNAL(action2Activated()),SLOT(reboot())); note->sendEvent(); }
void notifier_t::show_update_notification(const QString& title, const QString& message, const QString& iconname) { if(m_upgrade_notification) { m_upgrade_notification.data()->close(); } KNotification* note = new KNotification("updatesavailable",0L, KNotification::Persistent); note->setTitle(title); note->setText(message); note->setPixmap(KIcon(iconname).pixmap(QSize(32,32))); note->setComponentData(m_component_data); note->setActions(QStringList() << i18nc("Do the proposed action (upgrade, reboot, etc) later", "Later")); note->sendEvent(); m_upgrade_notification=note; return; }
void DhcpcdQt::notify(QString &title, QString &msg, #ifdef NOTIFY QSystemTrayIcon::MessageIcon #else QSystemTrayIcon::MessageIcon icon #endif ) { #ifdef NOTIFY KNotification *n = new KNotification("event", this); n->setTitle(title); n->setText(msg); n->sendEvent(); #else //trayIcon->showMessage(title, msg, icon); #endif }
void PlanExecutor::notifyBackupSucceeded() { KNotification *lNotification = new KNotification(QStringLiteral("BackupSucceeded")); lNotification->setTitle(xi18nc("@title:window", "Backup Saved")); lNotification->setText(xi18nc("@info notification", "Saving backup completed successfully.")); lNotification->sendEvent(); }