GuiSpectrumAnalyser::GuiSpectrumAnalyser() : WaWidget(_WA_MAPPING_ANALYSER) { connect(WaSkinModel::instance(), SIGNAL(skinChanged()), this, SLOT(pixmapChange())); contextMenu = new QPopupMenu(this); visualizationMenu = new QPopupMenu(); analyserMenu = new QPopupMenu(); contextMenu->insertItem(i18n("Visualization Mode"), visualizationMenu); contextMenu->insertItem(i18n("Analyzer Mode"), analyserMenu); visualizationMenu->insertItem(i18n("Analyzer"), (int)MODE_ANALYSER); visualizationMenu->insertItem(i18n("Disabled"), (int)MODE_DISABLED); visualizationMenu->setCheckable(true); connect(visualizationMenu, SIGNAL(activated(int)), this, SLOT(setVisualizationMode(int))); analyserMenu->insertItem(i18n("Normal"), (int)MODE_NORMAL); analyserMenu->insertItem(i18n("Fire"), (int)MODE_FIRE); analyserMenu->insertItem(i18n("Vertical Lines"), (int)MODE_VERTICAL_LINES); analyserMenu->setCheckable(true); connect(analyserMenu, SIGNAL(activated(int)), this, SLOT(setAnalyserMode(int))); analyserCache = NULL; winSkinVis = NULL; KConfig *config = KGlobal::config(); config->setGroup("Winskin"); setVisualizationMode(config->readNumEntry("visualizationMode", MODE_ANALYSER)); setAnalyserMode(config->readNumEntry("analyserMode", MODE_NORMAL)); }
void QDeclarativeImageBase::requestFinished() { Q_D(QDeclarativeImageBase); QDeclarativeImageBase::Status oldStatus = d->status; qreal oldProgress = d->progress; if (d->pix.isError()) { d->status = Error; qmlInfo(this) << d->pix.error(); } else { d->status = Ready; } d->progress = 1.0; setImplicitWidth(d->pix.width()); setImplicitHeight(d->pix.height()); if (d->sourcesize.width() != d->pix.width() || d->sourcesize.height() != d->pix.height()) emit sourceSizeChanged(); if (d->status != oldStatus) emit statusChanged(d->status); if (d->progress != oldProgress) emit progressChanged(d->progress); pixmapChange(); update(); }
void QQuickImageBase::requestFinished() { Q_D(QQuickImageBase); if (d->pix.isError()) { qmlInfo(this) << d->pix.error(); d->pix.clear(this); d->status = Error; if (d->progress != 0.0) { d->progress = 0.0; emit progressChanged(d->progress); } } else { d->status = Ready; if (d->progress != 1.0) { d->progress = 1.0; emit progressChanged(d->progress); } } pixmapChange(); emit statusChanged(d->status); if (sourceSize() != d->oldSourceSize) { d->oldSourceSize = sourceSize(); emit sourceSizeChanged(); } if (autoTransform() != d->oldAutoTransform) { d->oldAutoTransform = autoTransform(); emitAutoTransformBaseChanged(); } update(); }
void QQuickImageBase::load() { Q_D(QQuickImageBase); if (d->url.isEmpty()) { d->pix.clear(this); if (d->progress != 0.0) { d->progress = 0.0; emit progressChanged(d->progress); } pixmapChange(); d->status = Null; emit statusChanged(d->status); if (sourceSize() != d->oldSourceSize) { d->oldSourceSize = sourceSize(); emit sourceSizeChanged(); } update(); } else { QQuickPixmap::Options options; if (d->async) options |= QQuickPixmap::Asynchronous; if (d->cache) options |= QQuickPixmap::Cache; d->pix.clear(this); d->pix.load(qmlEngine(this), d->url, d->sourcesize, options); if (d->pix.isLoading()) { if (d->progress != 0.0) { d->progress = 0.0; emit progressChanged(d->progress); } if (d->status != Loading) { d->status = Loading; emit statusChanged(d->status); } static int thisRequestProgress = -1; static int thisRequestFinished = -1; if (thisRequestProgress == -1) { thisRequestProgress = QQuickImageBase::staticMetaObject.indexOfSlot("requestProgress(qint64,qint64)"); thisRequestFinished = QQuickImageBase::staticMetaObject.indexOfSlot("requestFinished()"); } d->pix.connectFinished(this, thisRequestFinished); d->pix.connectDownloadProgress(this, thisRequestProgress); update(); //pixmap may have invalidated texture, updatePaintNode needs to be called before the next repaint } else { requestFinished(); } } }
void QDeclarativeImageBase::load() { Q_D(QDeclarativeImageBase); if (d->url.isEmpty()) { d->pix.clear(); d->status = Null; d->progress = 0.0; setImplicitWidth(0); setImplicitHeight(0); emit progressChanged(d->progress); emit statusChanged(d->status); pixmapChange(); update(); } else { QDeclarativePixmap::Options options; if (d->async) options |= QDeclarativePixmap::Asynchronous; if (d->cache) options |= QDeclarativePixmap::Cache; d->pix.load(qmlEngine(this), d->url, d->explicitSourceSize ? sourceSize() : QSize(), options); if (d->pix.isLoading()) { d->progress = 0.0; d->status = Loading; emit progressChanged(d->progress); emit statusChanged(d->status); static int thisRequestProgress = -1; static int thisRequestFinished = -1; if (thisRequestProgress == -1) { thisRequestProgress = QDeclarativeImageBase::staticMetaObject.indexOfSlot("requestProgress(qint64,qint64)"); thisRequestFinished = QDeclarativeImageBase::staticMetaObject.indexOfSlot("requestFinished()"); } d->pix.connectFinished(this, thisRequestFinished); d->pix.connectDownloadProgress(this, thisRequestProgress); } else { requestFinished(); } } }
void QDeclarativeImageBase::load() { Q_D(QDeclarativeImageBase); if (d->progress != 0.0) { d->progress = 0.0; emit progressChanged(d->progress); } if (d->url.isEmpty()) { d->pix.clear(); d->status = Null; setImplicitWidth(0); setImplicitHeight(0); emit statusChanged(d->status); pixmapChange(); update(); } else { d->status = Loading; emit statusChanged(d->status); d->pix.load(qmlEngine(this), d->url, d->sourcesize, d->async); if (d->pix.isLoading()) { static int thisRequestProgress = -1; static int thisRequestFinished = -1; if (thisRequestProgress == -1) { thisRequestProgress = QDeclarativeImageBase::staticMetaObject.indexOfSlot("requestProgress(qint64,qint64)"); thisRequestFinished = QDeclarativeImageBase::staticMetaObject.indexOfSlot("requestFinished()"); } d->pix.connectFinished(this, thisRequestFinished); d->pix.connectDownloadProgress(this, thisRequestProgress); } else { requestFinished(); } } }
void QQuickBorderImage::load() { Q_D(QQuickBorderImage); if (d->url.isEmpty()) { d->pix.clear(this); d->status = Null; setImplicitSize(0, 0); emit statusChanged(d->status); if (d->progress != 0.0) { d->progress = 0.0; emit progressChanged(d->progress); } if (sourceSize() != d->oldSourceSize) { d->oldSourceSize = sourceSize(); emit sourceSizeChanged(); } pixmapChange(); return; } else { if (d->url.path().endsWith(QLatin1String("sci"))) { QString lf = QQmlFile::urlToLocalFileOrQrc(d->url); if (!lf.isEmpty()) { QFile file(lf); file.open(QIODevice::ReadOnly); setGridScaledImage(QQuickGridScaledImage(&file)); return; } else { if (d->progress != 0.0) { d->progress = 0.0; emit progressChanged(d->progress); } d->status = Loading; QNetworkRequest req(d->url); d->sciReply = qmlEngine(this)->networkAccessManager()->get(req); qmlobject_connect(d->sciReply, QNetworkReply, SIGNAL(finished()), this, QQuickBorderImage, SLOT(sciRequestFinished())) } } else {
void QQuickImageBase::load() { Q_D(QQuickImageBase); if (d->url.isEmpty()) { d->pix.clear(this); if (d->progress != 0.0) { d->progress = 0.0; emit progressChanged(d->progress); } pixmapChange(); d->status = Null; emit statusChanged(d->status); if (sourceSize() != d->oldSourceSize) { d->oldSourceSize = sourceSize(); emit sourceSizeChanged(); } if (autoTransform() != d->oldAutoTransform) { d->oldAutoTransform = autoTransform(); emitAutoTransformBaseChanged(); } update(); } else { QQuickPixmap::Options options; if (d->async) options |= QQuickPixmap::Asynchronous; if (d->cache) options |= QQuickPixmap::Cache; d->pix.clear(this); const qreal targetDevicePixelRatio = (window() ? window()->effectiveDevicePixelRatio() : qApp->devicePixelRatio()); d->devicePixelRatio = 1.0; QUrl loadUrl = d->url; // QQuickImageProvider and SVG can generate a high resolution image when // sourceSize is set. If sourceSize is not set then the provider default size // will be used, as usual. bool setDevicePixelRatio = false; if (d->sourcesize.isValid()) { if (loadUrl.scheme() == QStringLiteral("image")) { setDevicePixelRatio = true; } else { QString stringUrl = loadUrl.path(QUrl::PrettyDecoded); if (stringUrl.endsWith(QLatin1String("svg")) || stringUrl.endsWith(QLatin1String("svgz"))) { setDevicePixelRatio = true; } } if (setDevicePixelRatio) d->devicePixelRatio = targetDevicePixelRatio; } if (!setDevicePixelRatio) { // (possible) local file: loadUrl and d->devicePixelRatio will be modified if // an "@2x" file is found. resolve2xLocalFile(d->url, targetDevicePixelRatio, &loadUrl, &d->devicePixelRatio); } d->pix.load(qmlEngine(this), loadUrl, d->sourcesize * d->devicePixelRatio, options, d->autoTransform); if (d->pix.isLoading()) { if (d->progress != 0.0) { d->progress = 0.0; emit progressChanged(d->progress); } if (d->status != Loading) { d->status = Loading; emit statusChanged(d->status); } static int thisRequestProgress = -1; static int thisRequestFinished = -1; if (thisRequestProgress == -1) { thisRequestProgress = QQuickImageBase::staticMetaObject.indexOfSlot("requestProgress(qint64,qint64)"); thisRequestFinished = QQuickImageBase::staticMetaObject.indexOfSlot("requestFinished()"); } d->pix.connectFinished(this, thisRequestFinished); d->pix.connectDownloadProgress(this, thisRequestProgress); update(); //pixmap may have invalidated texture, updatePaintNode needs to be called before the next repaint } else { requestFinished(); } } }