Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qloud for openSUSE:Factory checked in at 2023-01-28 18:46:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qloud (Old) and /work/SRC/openSUSE:Factory/.qloud.new.32243 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qloud" Sat Jan 28 18:46:08 2023 rev:4 rq:1061750 version:1.4.2 Changes: -------- --- /work/SRC/openSUSE:Factory/qloud/qloud.changes 2021-07-13 22:37:53.225910182 +0200 +++ /work/SRC/openSUSE:Factory/.qloud.new.32243/qloud.changes 2023-01-28 19:03:34.980801833 +0100 @@ -1,0 +2,7 @@ +Sat Jan 28 15:11:34 UTC 2023 - Dirk Müller <[email protected]> + +- update to 1.4.2: + * memory leak fixes + * bugfixes + +------------------------------------------------------------------- Old: ---- qloud-1.4.1.tar.gz New: ---- qloud-1.4.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qloud.spec ++++++ --- /var/tmp/diff_new_pack.mcWeXm/_old 2023-01-28 19:03:35.672805648 +0100 +++ /var/tmp/diff_new_pack.mcWeXm/_new 2023-01-28 19:03:35.688805736 +0100 @@ -1,7 +1,7 @@ # # spec file for package qloud # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: qloud -Version: 1.4.1 +Version: 1.4.2 Release: 0 Summary: Tool to measure License: GPL-2.0-or-later ++++++ qloud-1.4.1.tar.gz -> qloud-1.4.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.1/src/ExcitForm.cpp new/qloud-1.4.2/src/ExcitForm.cpp --- old/qloud-1.4.1/src/ExcitForm.cpp 2021-05-25 20:40:42.000000000 +0200 +++ new/qloud-1.4.2/src/ExcitForm.cpp 2021-12-17 19:14:52.000000000 +0100 @@ -52,7 +52,7 @@ exTop->addWidget(this->lengthCombo); connect( this->lengthCombo, - SIGNAL(currentIndexChanged(const QString&)), + SIGNAL(currentTextChanged(const QString&)), this, SLOT(lengthChanged(const QString&)) ); @@ -75,7 +75,7 @@ exTop->addWidget(this->rateCombo); connect( this->rateCombo, - SIGNAL(currentIndexChanged(const QString&)), + SIGNAL(currentTextChanged(const QString&)), this, SLOT(rateChanged(const QString&)) ); @@ -92,7 +92,7 @@ exTop->addWidget(this->depthCombo); connect( this->depthCombo, - SIGNAL(currentIndexChanged(const QString&)), + SIGNAL(currentTextChanged(const QString&)), this, SLOT(depthChanged(const QString&)) ); @@ -157,7 +157,7 @@ exGroup->setLayout(exLayout); mainLayout->addWidget(exGroup); this->setLayout(mainLayout); - this->layout()->setMargin(0); + this->layout()->setContentsMargins(0,0,0,0); // Signals connect( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.1/src/HarmPlot.cpp new/qloud-1.4.2/src/HarmPlot.cpp --- old/qloud-1.4.1/src/HarmPlot.cpp 2021-05-25 20:40:42.000000000 +0200 +++ new/qloud-1.4.2/src/HarmPlot.cpp 2021-12-17 19:14:52.000000000 +0100 @@ -77,16 +77,16 @@ continue; // have not more harmonic in IR QString name = "Harmonic"; - name += i; + name += QString::number(i); QLineSeries* curve = new QLineSeries(this->chart); curve->setPen(QPen(HARM_COLORS[i])); if (i == 0) - appendSeries(curve, x, Qt::AlignBottom, y, Qt::AlignLeft); + appendSeries(curve, x, Qt::AlignBottom, "Hz", y, Qt::AlignLeft, "dB"); else appendSeries( curve, - nullptr, Qt::AlignBottom, - nullptr, Qt::AlignLeft + nullptr, Qt::AlignBottom, "Hz", + nullptr, Qt::AlignLeft, "dB" ); QList<QPointF> points; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.1/src/IRPPlot.cpp new/qloud-1.4.2/src/IRPPlot.cpp --- old/qloud-1.4.1/src/IRPPlot.cpp 2021-05-25 20:40:42.000000000 +0200 +++ new/qloud-1.4.2/src/IRPPlot.cpp 2021-12-17 19:14:52.000000000 +0100 @@ -63,7 +63,7 @@ QLineSeries* ampCurve = new QLineSeries(this->chart); ampCurve->setPen(QPen(AMP_CURVE_COLOR)); - appendSeries(ampCurve, XAxis, Qt::AlignBottom, YAxis, Qt::AlignLeft); + appendSeries(ampCurve, XAxis, Qt::AlignBottom, "ms", YAxis, Qt::AlignLeft, "dB"); QList<QPointF> points; for (unsigned int i = 0; i < curveLength; i++) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.1/src/IRPlot.cpp new/qloud-1.4.2/src/IRPlot.cpp --- old/qloud-1.4.1/src/IRPlot.cpp 2021-05-25 20:40:42.000000000 +0200 +++ new/qloud-1.4.2/src/IRPlot.cpp 2021-12-17 19:14:52.000000000 +0100 @@ -62,7 +62,7 @@ QLineSeries* ampCurve = new QLineSeries(this->chart); ampCurve->setPen(QPen(AMP_CURVE_COLOR)); - appendSeries(ampCurve, XAxis, Qt::AlignBottom, YAxis, Qt::AlignLeft); + appendSeries(ampCurve, XAxis, Qt::AlignBottom, "ms", YAxis, Qt::AlignLeft, ""); QList<QPointF> points; for (unsigned int i = 0; i < curveLength; i++) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.1/src/IrsForm.cpp new/qloud-1.4.2/src/IrsForm.cpp --- old/qloud-1.4.1/src/IrsForm.cpp 2021-05-25 20:40:42.000000000 +0200 +++ new/qloud-1.4.2/src/IrsForm.cpp 2021-12-17 19:14:52.000000000 +0100 @@ -82,7 +82,7 @@ group->setLayout(hLay); mainLayout->addWidget(group); this->setLayout(mainLayout); - this->layout()->setMargin(0); + this->layout()->setContentsMargins(0,0,0,0); connect(this->btnPlot, SIGNAL(clicked()), this, SLOT(newPlot())); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.1/src/PlotWindow.cpp new/qloud-1.4.2/src/PlotWindow.cpp --- old/qloud-1.4.1/src/PlotWindow.cpp 2021-05-25 20:40:42.000000000 +0200 +++ new/qloud-1.4.2/src/PlotWindow.cpp 2021-12-17 19:14:52.000000000 +0100 @@ -54,7 +54,7 @@ // laying out QVBoxLayout* mainLayout = new QVBoxLayout(); - mainLayout->setMargin(2); + mainLayout->setContentsMargins(2,2,2,2); QTabWidget* tab = new QTabWidget(); tab->setTabPosition(QTabWidget::North); @@ -110,7 +110,7 @@ QPrinter printer; printer.setCreator("QLoud"); printer.setDocName("qloud"); - printer.setPageOrientation(QPageLayout::Landscape); + printer.setPageOrientation(QPageLayout::Landscape); QPrintDialog dialog(&printer, this); if (dialog.exec() == QDialog::Accepted) { if (printer.isValid()) { @@ -131,7 +131,7 @@ if (!painter.begin(printer)) return false; - QRect page = printer->pageLayout().paintRectPixels(printer->resolution()); + QRect page = printer->pageLayout().paintRectPixels(printer->resolution()); currentplot->render( &painter, QRectF(page.left(), page.top(), page.width(), page.height()) @@ -245,7 +245,7 @@ splLayout->addWidget(plotter, 1); // layout final - splLayout->setMargin(1); + splLayout->setContentsMargins(1,1,1,1); splWidget->setLayout(splLayout); *ref = static_cast<Plotter*>(plotter); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.1/src/Plotter.cpp new/qloud-1.4.2/src/Plotter.cpp --- old/qloud-1.4.1/src/Plotter.cpp 2021-05-25 20:40:42.000000000 +0200 +++ new/qloud-1.4.2/src/Plotter.cpp 2021-12-17 19:14:52.000000000 +0100 @@ -19,12 +19,13 @@ #include "Plotter.h" #include "QLCfg.h" -Plotter::Plotter(QWidget *parent) : QChartView(parent) { +Plotter::Plotter(QWidget *parent) : QChartView(parent), vLine(nullptr) { chart = new QChart(); chart->legend()->hide(); this->setChart(chart); this->setRenderHint(QPainter::Antialiasing); this->setRubberBand(QChartView::RectangleRubberBand); + setCursor(Qt::CrossCursor); } Plotter::~Plotter() { @@ -41,9 +42,8 @@ void Plotter::appendSeries( QLineSeries *series, - QAbstractAxis* xaxis, Qt::Alignment xalign, - QAbstractAxis* yaxis, Qt::Alignment yalign -) { + QAbstractAxis* xaxis, Qt::Alignment xalign, const QString& xunit, + QAbstractAxis* yaxis, Qt::Alignment yalign, const QString& yunit) { if (xaxis) chart->addAxis(xaxis, xalign); if (yaxis) @@ -61,13 +61,20 @@ series->attachAxis(chart->axes(Qt::Orientation::Vertical)[0]); list.append(series); + xUnits.append(xunit); + yUnits.append(yunit); } void Plotter::removeSeries(QLineSeries *series, QAbstractAxis* yattached) { + int i = list.indexOf(series); + list.removeAll(series); if (yattached) chart->removeAxis(yattached); chart->removeSeries(series); + + xUnits.removeAt(i); + yUnits.removeAt(i); } bool Plotter::exportSeries(const QString &filename) { @@ -83,7 +90,7 @@ for (int i = 0; i < len; i++) { line.clear(); for (int s = 0; s < list.size(); s++ ) { - QVector<QPointF> points = list.at(s)->pointsVector(); + QList<QPointF> points = list.at(s)->points(); QPointF p = points.at(i); if (s == 0) line += QString("%1 %2 ").arg(p.x()).arg(p.y()); @@ -102,3 +109,69 @@ return true; } + +bool Plotter::viewportEvent(QEvent *event) +{ + switch (event->type()) { + case QEvent::ToolTip: + return false; + default: + break; + } + + return QChartView::viewportEvent(event); +} + +void Plotter::mouseMoveEvent(QMouseEvent *event) +{ + QChartView::mouseMoveEvent(event); + + QPoint pos = event->pos(); + QPointF val = chart->mapToValue(pos); + QString label; + for (int i = 0; i < list.size(); i++) { + double y = curveYfromX(val.x(), list.at(i)); + label += QString(tr("%1 %2 @ %3 %4")).arg(y, 0, 'f', 2) + .arg(yUnits.at(i)).arg(round(val.x())).arg(xUnits.at(i)); + if (i < list.size() -1) + label.append("\n"); + } + + /* draw tooltip */ + QToolTip::showText(event->globalPos(), label, this, QRect(), 10000); + + /* draw dashed vertical line */ + double x = val.x(); + QValueAxis* yaxis0 = qobject_cast<QValueAxis*>(chart->axes(Qt::Vertical, list.at(0)).at(0)); + double ymin = yaxis0->min(); + double ymax = yaxis0->max(); + QPointF value1(x, ymin); + QPointF point1 = chart->mapToPosition(value1); + QPointF value2(x, ymax); + QPointF point2 = chart->mapToPosition(value2); + QLineF line (point1, point2); + if (vLine) { + this->scene()->removeItem(vLine); + delete vLine; + } + vLine = this->scene()->addLine(line, QPen(Qt::DashLine)); + + event->accept(); +} + +double Plotter::curveYfromX(double x, QLineSeries* series) +{ + + double y = 0.0; + QList<QPointF> points = series->points(); + for (int i = 0; i < points.size() - 1; i++) { + QPointF p1 = points.at(i); + QPointF p2 = points.at(i+1); + if (p1.x() <= x && p2.x() > x) { + y = p1.y(); + break; + } + } + + return y; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.1/src/Plotter.h new/qloud-1.4.2/src/Plotter.h --- old/qloud-1.4.1/src/Plotter.h 2021-05-25 20:40:42.000000000 +0200 +++ new/qloud-1.4.2/src/Plotter.h 2021-12-17 19:14:52.000000000 +0100 @@ -38,17 +38,23 @@ void setTitle(const QString& title); QString getTitle(); - void appendSeries( - QLineSeries* series, - QAbstractAxis* xaxis, Qt::Alignment xalign, - QAbstractAxis* yaxis, Qt::Alignment yalign - ); + void appendSeries(QLineSeries* series, + QAbstractAxis* xaxis, Qt::Alignment xalign, const QString &xunit, + QAbstractAxis* yaxis, Qt::Alignment yalign, const QString &yunit); void removeSeries(QLineSeries* series, QAbstractAxis* yattached); virtual bool exportSeries(const QString &filename); QChart *chart; QList<QLineSeries*> list; + +protected: + bool viewportEvent(QEvent *event); + void mouseMoveEvent(QMouseEvent *event); + double curveYfromX(double x, QLineSeries* series); + QList<QString> xUnits; + QList<QString> yUnits; + QGraphicsLineItem *vLine; }; #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.1/src/QLWin.cpp new/qloud-1.4.2/src/QLWin.cpp --- old/qloud-1.4.1/src/QLWin.cpp 2021-05-25 20:40:42.000000000 +0200 +++ new/qloud-1.4.2/src/QLWin.cpp 2021-12-17 19:14:52.000000000 +0100 @@ -383,8 +383,8 @@ } void QLWin::captureFinished() { - QString stdDescription = QDate::currentDate().toString(Qt::LocalDate); - stdDescription = QDate::currentDate().toString(Qt::LocalDate); + QString stdDescription = QDate::currentDate().toString(Qt::ISODate); + stdDescription = QDate::currentDate().toString(Qt::ISODate); stdDescription += "-" + QTime::currentTime().toString(); double maxLevel = QLUtl::toDb(this->capture->getMaxResponse()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.1/src/SplPlot.cpp new/qloud-1.4.2/src/SplPlot.cpp --- old/qloud-1.4.1/src/SplPlot.cpp 2021-05-25 20:40:42.000000000 +0200 +++ new/qloud-1.4.2/src/SplPlot.cpp 2021-12-17 19:14:52.000000000 +0100 @@ -44,7 +44,7 @@ this->ampCurve = new QLineSeries(this->chart); this->ampCurve->setPen(QPen(AMP_CURVE_COLOR)); - appendSeries(ampCurve, XAxis, Qt::AlignBottom, YAxis, Qt::AlignLeft); + appendSeries(ampCurve, XAxis, Qt::AlignBottom, "Hz", YAxis, Qt::AlignLeft, "dB"); if(QLCfg::USE_PHASE) { YPAxis = new QValueAxis(this->chart); @@ -129,8 +129,8 @@ if(state) { appendSeries( phaseCurve, - nullptr, Qt::AlignBottom, - YPAxis, Qt::AlignRight + nullptr, Qt::AlignBottom, "Hz", + YPAxis, Qt::AlignRight, "°" ); } else { removeSeries(phaseCurve, YPAxis); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.1/src/StepPlot.cpp new/qloud-1.4.2/src/StepPlot.cpp --- old/qloud-1.4.1/src/StepPlot.cpp 2021-05-25 20:40:42.000000000 +0200 +++ new/qloud-1.4.2/src/StepPlot.cpp 2021-12-17 19:14:52.000000000 +0100 @@ -58,7 +58,7 @@ QLineSeries* ampCurve = new QLineSeries(this->chart); ampCurve->setPen(QPen(AMP_CURVE_COLOR)); - appendSeries(ampCurve, XAxis, Qt::AlignBottom, YAxis, Qt::AlignLeft); + appendSeries(ampCurve, XAxis, Qt::AlignBottom, "ms", YAxis, Qt::AlignLeft, ""); QList<QPointF> points; for (unsigned int i = 0; i < curveLength; i++) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.1/src/WavInfo.cpp new/qloud-1.4.2/src/WavInfo.cpp --- old/qloud-1.4.1/src/WavInfo.cpp 2021-05-25 20:40:42.000000000 +0200 +++ new/qloud-1.4.2/src/WavInfo.cpp 2021-12-17 19:14:52.000000000 +0100 @@ -27,9 +27,9 @@ WavInfo::~WavInfo() {} void WavInfo::show() { - QLUtl::d(QString("Length: ") + this->length); - QLUtl::d(QString("Rate: ") + this->rate); - QLUtl::d(QString("Bit depth: ") + this->bitDepth); + QLUtl::d(QString("Length: ") + QString::number(this->length)); + QLUtl::d(QString("Rate: ") + QString::number(this->rate)); + QLUtl::d(QString("Bit depth: ") + QString::number(this->bitDepth)); } int WavInfo::getFormat() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.1/src/main.cpp new/qloud-1.4.2/src/main.cpp --- old/qloud-1.4.1/src/main.cpp 2021-05-25 20:40:42.000000000 +0200 +++ new/qloud-1.4.2/src/main.cpp 2021-12-17 19:14:52.000000000 +0100 @@ -30,21 +30,25 @@ QString locale = QLocale::system().name(); QTranslator qtTranslator; +#if QT_VERSION >= QT_VERSION_CHECK(6,0,0) + if (qtTranslator.load(QLocale::system(), u"qtbase"_qs, u"_"_qs, + QLibraryInfo::path(QLibraryInfo::TranslationsPath))) + app.installTranslator(&qtTranslator); +#else qtTranslator.load("qt_" + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath)); app.installTranslator(&qtTranslator); +#endif QTranslator qloudTranslator; - if (!qloudTranslator.load(TARGET "_" + locale, "locale")) + if (qloudTranslator.load(TARGET "_" + locale, "../locale")) + app.installTranslator(&qloudTranslator); #ifdef __mswin - qloudTranslator.load( - TARGET "_" + locale, - QCoreApplication::applicationDirPath() + QDir::separator() + "locale" - ); + else if (qloudTranslator.load(TARGET "_" + locale, QCoreApplication::applicationDirPath() + QDir::separator() + "locale")) #else - qloudTranslator.load(TARGET "_" + locale, DATADIR "/" TARGET "/locale"); + else if (qloudTranslator.load(TARGET "_" + locale, DATADIR "/" TARGET "/locale")) #endif - app.installTranslator(&qloudTranslator); + app.installTranslator(&qloudTranslator); QCommandLineParser parser; parser.setApplicationDescription( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qloud-1.4.1/src/src.pro new/qloud-1.4.2/src/src.pro --- old/qloud-1.4.1/src/src.pro 2021-05-25 20:40:42.000000000 +0200 +++ new/qloud-1.4.2/src/src.pro 2021-12-17 19:14:52.000000000 +0100 @@ -95,8 +95,6 @@ -lfftw3 \ -ljack -QMAKE_CXXFLAGS += -std=c++11 - INSTALLS += target target.path = $$PREFIX/bin
