void ModemManager::ModemLocationInterface::propertiesChanged(const QString & interface, const QVariantMap & properties) { mmDebug() << interface << properties.keys(); if (interface == QString("org.freedesktop.ModemManager.Modem.Location")) { QLatin1String capabilities("Capabilities"); QLatin1String enabled("Enabled"); QLatin1String signalsLocation("SignalsLocation"); QLatin1String location("Location"); QVariantMap::const_iterator it = properties.find(capabilities); if ( it != properties.end()) { emit capabilitiesChanged((ModemManager::ModemLocationInterface::Capability)it->toUInt()); } it = properties.find(enabled); if ( it != properties.end()) { emit enabledChanged(it->toBool()); } it = properties.find(signalsLocation); if ( it != properties.end()) { emit signalsLocationChanged(it->toBool()); } it = properties.find(location); if ( it != properties.end()) { QVariant v = it.value(); LocationInformationMap map; if (v.canConvert<LocationInformationMap>()) { map = v.value<LocationInformationMap>(); } else { mmDebug() << "Error converting LocationInformationMap property"; } emit locationChanged(map); } } }
void Mpris2Player::setCapabilities(Capabilities cap) { if (m_capabilities == cap) return; m_capabilities = cap; Q_EMIT capabilitiesChanged(); }
//! [constructor] Window::Window() { setupUi(); updateWidgets(); connect(Phonon::BackendCapabilities::notifier(), SIGNAL(capabilitiesChanged()), this, SLOT(updateWidgets())); connect(Phonon::BackendCapabilities::notifier(), SIGNAL(availableAudioOutputDevicesChanged()), SLOT(updateWidgets())); }
bool MetalinkXml::metalinkInit(const KUrl &src, const QByteArray &data) { kDebug(5001); if (!src.isEmpty()) { m_localMetalinkLocation = src; } //use the downloaded metalink-file data directly if possible if (!data.isEmpty()) { KGetMetalink::HandleMetalink::load(data, &m_metalink); } //try to parse the locally stored metalink-file if (!m_metalink.isValid() && m_localMetalinkLocation.isValid()) { KGetMetalink::HandleMetalink::load(m_localMetalinkLocation.toLocalFile(), &m_metalink); } if (!m_metalink.isValid()) { kError(5001) << "Unknown error when trying to load the .metalink-file. Metalink is not valid."; setStatus(Job::Aborted); setTransferChange(Tc_Status, true); return false; } //offers a dialog to download the newest version of a dynamic metalink if ((m_source.isLocalFile() || !m_metalinkJustDownloaded) && m_metalink.dynamic && (UrlChecker::checkSource(m_metalink.origin) == UrlChecker::NoError)) { if (KMessageBox::questionYesNo(0, i18n("A newer version of this Metalink might exist, do you want to download it?"), i18n("Redownload Metalink")) == KMessageBox::Yes) { m_localMetalinkLocation.clear(); m_source = m_metalink.origin; downloadMetalink(); return false; } } QList<KGetMetalink::File>::const_iterator it; QList<KGetMetalink::File>::const_iterator itEnd = m_metalink.files.files.constEnd(); m_totalSize = 0; KIO::fileoffset_t segSize = 500 * 1024;//TODO use config here! const KUrl tempDest = KUrl(m_dest.directory()); KUrl dest; for (it = m_metalink.files.files.constBegin(); it != itEnd ; ++it) { dest = tempDest; dest.addPath((*it).name); QList<KGetMetalink::Url> urlList = (*it).resources.urls; //sort the urls according to their priority (highest first) qSort(urlList.begin(), urlList.end(), qGreater<KGetMetalink::Url>()); KIO::filesize_t fileSize = (*it).size; m_totalSize += fileSize; //create a DataSourceFactory for each separate file DataSourceFactory *dataFactory = new DataSourceFactory(this, dest, fileSize, segSize); dataFactory->setMaxMirrorsUsed(MetalinkSettings::mirrorsPerFile()); #ifdef HAVE_NEPOMUK nepomukHandler()->setProperties((*it).properties(), QList<KUrl>() << dest); #endif //HAVE_NEPOMUK //TODO compare available file size (<size>) with the sizes of the server while downloading? connect(dataFactory, SIGNAL(capabilitiesChanged()), this, SLOT(slotUpdateCapabilities())); connect(dataFactory, SIGNAL(dataSourceFactoryChange(Transfer::ChangesFlags)), this, SLOT(slotDataSourceFactoryChange(Transfer::ChangesFlags))); connect(dataFactory->verifier(), SIGNAL(verified(bool)), this, SLOT(slotVerified(bool))); connect(dataFactory->signature(), SIGNAL(verified(int)), this, SLOT(slotSignatureVerified())); connect(dataFactory, SIGNAL(log(QString,Transfer::LogLevel)), this, SLOT(setLog(QString,Transfer::LogLevel))); //add the DataSources for (int i = 0; i < urlList.size(); ++i) { const KUrl url = urlList[i].url; if (url.isValid()) { dataFactory->addMirror(url, MetalinkSettings::connectionsPerUrl()); } } //no datasource has been created, so remove the datasource factory if (dataFactory->mirrors().isEmpty()) { delete dataFactory; } else { dataFactory->verifier()->addChecksums((*it).verification.hashes); foreach (const KGetMetalink::Pieces &pieces, (*it).verification.pieces) { dataFactory->verifier()->addPartialChecksums(pieces.type, pieces.length, pieces.hashes); } const QHash <QString, QString> signatures = (*it).verification.signatures; QHash<QString, QString>::const_iterator it; QHash<QString, QString>::const_iterator itEnd = signatures.constEnd(); for (it = signatures.constBegin(); it != itEnd; ++it) { if (it.key().toLower() == "pgp") { dataFactory->signature()->setAsciiDetatchedSignature(*it); } } m_dataSourceFactory[dataFactory->dest()] = dataFactory; } } if ((m_metalink.files.files.size() == 1) && m_dataSourceFactory.size()) { m_dest = dest; } if (!m_dataSourceFactory.size()) { //TODO make this via log in the future + do not display the KMessageBox kWarning(5001) << "Download of" << m_source << "failed, no working URLs were found."; KMessageBox::error(0, i18n("Download failed, no working URLs were found."), i18n("Error")); setStatus(Job::Aborted); setTransferChange(Tc_Status, true); return false; } m_ready = !m_dataSourceFactory.isEmpty(); slotUpdateCapabilities(); //the metalink-file has just been downloaded, so ask the user to choose the files that // should be downloaded /* TODO this portion seems not to be working. Need to ask boom1992 */ if (m_metalinkJustDownloaded) { KDialog *dialog = new FileSelectionDlg(fileModel()); dialog->setAttribute(Qt::WA_DeleteOnClose); connect(dialog, SIGNAL(finished(int)), this, SLOT(fileDlgFinished(int))); dialog->show(); } return true; }
void Seat::Private::capabilitiesCallback(void *data, wl_seat *seat, uint32_t capabilities) { auto s = reinterpret_cast<Seat::Private*>(data); Q_ASSERT(s->seat == seat); s->capabilitiesChanged(capabilities); }
void TransferDataSource::setCapabilities(Transfer::Capabilities capabilities) { m_capabilities = capabilities; emit capabilitiesChanged(); }