diff --git a/src/graphicsview/graphicslayer.cpp b/src/graphicsview/graphicslayer.cpp index 43d278e..0578559 100644 --- a/src/graphicsview/graphicslayer.cpp +++ b/src/graphicsview/graphicslayer.cpp @@ -22,7 +22,7 @@ #include "graphicslayer.h" -#include +#include #include "context.h" #include "odbppgraphicsscene.h" @@ -102,7 +102,7 @@ QRectF GraphicsLayer::boundingRect() const } void GraphicsLayer::paint(QPainter *painter, - const QStyleOptionGraphicsItem *option, QWidget *widget) + const QStyleOptionGraphicsItem *, QWidget *) { if (!m_layerScene) { return; diff --git a/src/graphicsview/graphicslayerscene.cpp b/src/graphicsview/graphicslayerscene.cpp index 1692077..5d2567b 100644 --- a/src/graphicsview/graphicslayerscene.cpp +++ b/src/graphicsview/graphicslayerscene.cpp @@ -22,7 +22,7 @@ #include "graphicslayerscene.h" -#include +#include #include "graphicslayer.h" diff --git a/src/graphicsview/layer.cpp b/src/graphicsview/layer.cpp index 96f818d..c79c9fa 100644 --- a/src/graphicsview/layer.cpp +++ b/src/graphicsview/layer.cpp @@ -22,7 +22,7 @@ #include "layer.h" -#include +#include #include "context.h" #include "odbppgraphicsscene.h" diff --git a/src/graphicsview/layerfeatures.cpp b/src/graphicsview/layerfeatures.cpp index 06fa166..fb73a36 100644 --- a/src/graphicsview/layerfeatures.cpp +++ b/src/graphicsview/layerfeatures.cpp @@ -100,7 +100,7 @@ void LayerFeatures::loadStepAndRepeat(void) m_activeRect.setY(m_activeRect.y() + top_active); m_activeRect.setWidth(m_activeRect.width() - right_active); m_activeRect.setHeight(m_activeRect.height() - bottom_active); - } catch(StructuredTextDataStore::InvalidKeyException) { + } catch(StructuredTextDataStore::InvalidKeyException&) { } if (ip.first == ip.second) { @@ -310,7 +310,7 @@ QStandardItemModel* LayerFeatures::reportModel(void) return m_reportModel; } - const FeaturesDataStore::IDMapType& nameMap = m_ds->symbolNameMap(); + //const FeaturesDataStore::IDMapType& nameMap = m_ds->symbolNameMap(); FeaturesDataStore::CountMapType countMap; QStandardItem* root = m_reportModel->invisibleRootItem(); QStandardItem* node = NULL; diff --git a/src/graphicsview/measuregraphicsitem.cpp b/src/graphicsview/measuregraphicsitem.cpp index cdecce5..ecd0111 100644 --- a/src/graphicsview/measuregraphicsitem.cpp +++ b/src/graphicsview/measuregraphicsitem.cpp @@ -22,11 +22,11 @@ #include "measuregraphicsitem.h" -#include +#include MeasureGraphicsItem::MeasureGraphicsItem(QRectF rect): m_rect(rect) { - + } QRectF MeasureGraphicsItem::boundingRect() const @@ -42,7 +42,7 @@ void MeasureGraphicsItem::setRect(const QRectF& rect) } void MeasureGraphicsItem::paint(QPainter *painter, - const QStyleOptionGraphicsItem *option, QWidget *widget) + const QStyleOptionGraphicsItem *, QWidget *) { painter->setPen(QPen(Qt::white)); painter->setBrush(Qt::transparent); diff --git a/src/graphicsview/notes.cpp b/src/graphicsview/notes.cpp index 883da86..001a01b 100644 --- a/src/graphicsview/notes.cpp +++ b/src/graphicsview/notes.cpp @@ -22,7 +22,7 @@ #include "notes.h" -#include +#include #include "context.h" #include "notesparser.h" diff --git a/src/graphicsview/odbppgraphicsminimapview.cpp b/src/graphicsview/odbppgraphicsminimapview.cpp index 82f964d..68cb573 100644 --- a/src/graphicsview/odbppgraphicsminimapview.cpp +++ b/src/graphicsview/odbppgraphicsminimapview.cpp @@ -25,6 +25,8 @@ #include "symbolfactory.h" #include "context.h" +#include + ODBPPGraphicsMiniMapView::ODBPPGraphicsMiniMapView(QWidget* parent): QGraphicsView(parent), m_profile(NULL) @@ -128,12 +130,12 @@ void ODBPPGraphicsMiniMapView::updateLayerViewport(void) m_scene->updateLayerViewport(vrect, srect); } -void ODBPPGraphicsMiniMapView::keyPressEvent(QKeyEvent* event) +void ODBPPGraphicsMiniMapView::keyPressEvent(QKeyEvent* ) { // Do nothing } -void ODBPPGraphicsMiniMapView::wheelEvent(QWheelEvent* event) +void ODBPPGraphicsMiniMapView::wheelEvent(QWheelEvent* ) { // Do nothing } diff --git a/src/graphicsview/odbppgraphicsscene.cpp b/src/graphicsview/odbppgraphicsscene.cpp index daf81a1..18df88f 100644 --- a/src/graphicsview/odbppgraphicsscene.cpp +++ b/src/graphicsview/odbppgraphicsscene.cpp @@ -22,7 +22,7 @@ #include "odbppgraphicsscene.h" -#include +#include #include "context.h" @@ -116,12 +116,15 @@ void ODBPPGraphicsScene::mouseMoveEvent(QGraphicsSceneMouseEvent* event) case S_AREA_ZOOM_ACTIVE: m_rubberBand->setRect(QRectF(m_rubberPS, event->scenePos()).normalized()); break; - case S_MEASURE_ACTIVE: + case S_MEASURE_ACTIVE: { QRectF rect = QRectF(m_rubberPS, event->scenePos()); m_measureRubberBand->setRect(rect); emit measureRectSelected(rect.normalized()); break; } + default: + break; + } emit mouseMove(event->scenePos()); QGraphicsScene::mouseMoveEvent(event); } @@ -157,6 +160,8 @@ void ODBPPGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent* event) case S_MEASURE_ACTIVE: m_state = S_MEASURE; break; + default: + break; } for (int i = 0; i < m_layers.size(); ++i) { diff --git a/src/graphicsview/odbppgraphicsview.cpp b/src/graphicsview/odbppgraphicsview.cpp index b8efadf..0a702c0 100644 --- a/src/graphicsview/odbppgraphicsview.cpp +++ b/src/graphicsview/odbppgraphicsview.cpp @@ -26,6 +26,8 @@ #include "graphicslayer.h" #include "symbolfactory.h" +#include + ODBPPGraphicsView::ODBPPGraphicsView(QWidget* parent): QGraphicsView(parent), m_profile(NULL) { @@ -47,9 +49,9 @@ ODBPPGraphicsView::ODBPPGraphicsView(QWidget* parent): QGraphicsView(parent), connect(m_scene, SIGNAL(rectSelected(QRectF)), this, SLOT(zoomToRect(QRectF))); connect(horizontalScrollBar(), SIGNAL(valueChanged(int)), - this, SLOT(updateLayerViewport(void))); + this, SLOT(updateLayerViewport())); connect(verticalScrollBar(), SIGNAL(valueChanged(int)), - this, SLOT(updateLayerViewport(void))); + this, SLOT(updateLayerViewport())); } ODBPPGraphicsView::~ODBPPGraphicsView() @@ -208,7 +210,7 @@ void ODBPPGraphicsView::updateLayerViewport(void) void ODBPPGraphicsView::wheelEvent(QWheelEvent *event) { setTransformationAnchor(AnchorUnderMouse); - scaleView(pow((double)2, -event->delta() / 240.0)); + scaleView(pow((double)2, -event->pixelDelta().y() / 240.0)); } void ODBPPGraphicsView::keyPressEvent(QKeyEvent* event) diff --git a/src/graphicsview/odbppgraphicsview.h b/src/graphicsview/odbppgraphicsview.h index 87eae27..573d918 100644 --- a/src/graphicsview/odbppgraphicsview.h +++ b/src/graphicsview/odbppgraphicsview.h @@ -60,7 +60,7 @@ signals: public slots: void zoomToRect(QRectF rect); - void updateLayerViewport(void); + void updateLayerViewport(); void setBackgroundColor(QColor color); protected: diff --git a/src/gui/featureshistogramwidget.cpp b/src/gui/featureshistogramwidget.cpp index d213644..a991922 100644 --- a/src/gui/featureshistogramwidget.cpp +++ b/src/gui/featureshistogramwidget.cpp @@ -23,7 +23,7 @@ #include "featureshistogramwidget.h" #include "ui_featureshistogramwidget.h" -#include +#include FeaturesHistogramWidget::FeaturesHistogramWidget(QWidget *parent) : QWidget(parent), diff --git a/src/gui/home.cpp b/src/gui/home.cpp index 0cf4904..e4ca99c 100644 --- a/src/gui/home.cpp +++ b/src/gui/home.cpp @@ -22,7 +22,7 @@ #include "home.h" -#include +#include #include "ui_home.h" #include "code39.h" diff --git a/src/gui/jobmanagerdialog.cpp b/src/gui/jobmanagerdialog.cpp index 77b82bd..e5bf1ee 100644 --- a/src/gui/jobmanagerdialog.cpp +++ b/src/gui/jobmanagerdialog.cpp @@ -23,7 +23,7 @@ #include "jobmanagerdialog.h" #include "ui_jobmanagerdialog.h" -#include +#include #include "context.h" #include "jobmatrix.h" @@ -59,7 +59,7 @@ JobManagerDialog::~JobManagerDialog() { delete ui; delete m_model; -} +} void JobManagerDialog::on_browseButton_clicked(void) { diff --git a/src/gui/jobmatrix.cpp b/src/gui/jobmatrix.cpp index 17229b6..8c0a375 100644 --- a/src/gui/jobmatrix.cpp +++ b/src/gui/jobmatrix.cpp @@ -23,7 +23,7 @@ #include "jobmatrix.h" #include "ui_jobmatrix.h" -#include +#include #include "context.h" #include "structuredtextparser.h" @@ -158,7 +158,7 @@ void JobMatrix::setMatrix() SLOT(selectDrillLine(int))); connect(ui->tableWidget,SIGNAL(itemClicked(QTableWidgetItem*)),this, SLOT(showLayer(QTableWidgetItem *))); - ui->tableWidget->verticalHeader()->setMovable(true); + ui->tableWidget->verticalHeader()->setSectionsMovable(true); ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); } @@ -183,7 +183,7 @@ void JobMatrix::drawDrillLine(QString layer_name,int start,int end) for(int i = start;isetBackgroundColor(QColor("black")); + line->setBackground(QColor("black")); ui->tableWidget->setItem(i,col-1,line); } } @@ -206,11 +206,12 @@ void JobMatrix::selectDrillLine(int index) { for(int row = 0;row < m_layerNames.size();row++) { - if (((item = ui->tableWidget->item(row,col)) != 0)) + if (((item = ui->tableWidget->item(row,col)) != 0)) { if(col != target_col) - item->setBackgroundColor(QColor("black")); - else - item->setBackgroundColor(QColor("red")); + item->setBackground(QColor("black")); + else + item->setBackground(QColor("red")); + } } } } diff --git a/src/gui/layerinfobox.cpp b/src/gui/layerinfobox.cpp index 875c35f..df25bad 100644 --- a/src/gui/layerinfobox.cpp +++ b/src/gui/layerinfobox.cpp @@ -23,7 +23,7 @@ #include "layerinfobox.h" #include "ui_layerinfobox.h" -#include +#include #include "context.h" @@ -161,7 +161,7 @@ void LayerInfoBox::on_activeIndicator_clicked(void) } } -void LayerInfoBox::on_actionFeaturesHistogram_activated(void) +void LayerInfoBox::on_actionFeaturesHistogram_triggered() { m_featuresHistogramWidget.setTreeViewModel(layer()->reportModel()); m_featuresHistogramWidget.show(); diff --git a/src/gui/layerinfobox.h b/src/gui/layerinfobox.h index f7e0562..8293b30 100644 --- a/src/gui/layerinfobox.h +++ b/src/gui/layerinfobox.h @@ -62,7 +62,7 @@ signals: public slots: void showContextMenu(const QPoint& point); void on_activeIndicator_clicked(void); - void on_actionFeaturesHistogram_activated(void); + void on_actionFeaturesHistogram_triggered(); protected: virtual void mousePressEvent(QMouseEvent *ev); diff --git a/src/gui/settingsdialog.cpp b/src/gui/settingsdialog.cpp index a2dbec3..f8b3de7 100644 --- a/src/gui/settingsdialog.cpp +++ b/src/gui/settingsdialog.cpp @@ -23,7 +23,7 @@ #include "settingsdialog.h" #include "ui_settingsdialog.h" -#include +#include #include "settings.h" diff --git a/src/gui/viewerwindow.cpp b/src/gui/viewerwindow.cpp index 3d81412..a83be59 100644 --- a/src/gui/viewerwindow.cpp +++ b/src/gui/viewerwindow.cpp @@ -23,7 +23,7 @@ #include "viewerwindow.h" #include "ui_viewerwindow.h" -#include +#include #include #include "context.h" @@ -236,9 +236,9 @@ void ViewerWindow::updateCursorCoord(QPointF pos) { QString text; if (m_displayUnit == U_INCH) { - text.sprintf("(%f, %f)", pos.x(), -pos.y()); + text = QString::asprintf("(%f, %f)", pos.x(), -pos.y()); } else { - text.sprintf("(%f, %f)", pos.x() * 25.4, -pos.y() * 25.4); + text = QString::asprintf("(%f, %f)", pos.x() * 25.4, -pos.y() * 25.4); } m_cursorCoordLabel->setText(text); } diff --git a/src/main.cpp b/src/main.cpp index 80a0983..3a41cc7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -20,7 +20,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include +#include #include "code39.h" #include "context.h" @@ -30,8 +30,8 @@ int main(int argc, char *argv[]) { QApplication app(argc, argv); - QApplication::setGraphicsSystem("raster"); - QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); + //QApplication::setGraphicsSystem("raster"); + //QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); Code39::initPatterns(); Settings::load("config.ini"); diff --git a/src/parser/code39.h b/src/parser/code39.h index cb9248d..541980c 100644 --- a/src/parser/code39.h +++ b/src/parser/code39.h @@ -28,7 +28,7 @@ #include struct code39map { - QChar tchar; + char tchar; QString pattern; }; diff --git a/src/parser/odbpp/featuresparser.cpp b/src/parser/odbpp/featuresparser.cpp index 94d2379..f444909 100644 --- a/src/parser/odbpp/featuresparser.cpp +++ b/src/parser/odbpp/featuresparser.cpp @@ -52,15 +52,16 @@ FeaturesDataStore* FeaturesParser::parse(void) m_ds = ds; // layer feature related - QRegExp rx(".*/([^/]+)/steps/([^/]+)/layers/([^/]+)/features"); - if (rx.exactMatch(m_fileName)) { - QStringList caps = rx.capturedTexts(); + QRegularExpression rx("^.*/([^/]+)/steps/([^/]+)/layers/([^/]+)/features$"); + QRegularExpressionMatch m = rx.match(m_fileName); + if (m.hasMatch()) { + QStringList caps = m.capturedTexts(); ds->setJobName(caps[1]); ds->setStepName(caps[2]); ds->setLayerName(caps[3]); // steps attribute - QRegExp rp("(steps/[^/]+)/.*"); + QRegularExpression rp("(steps/[^/]+)/.*"); QString stepAttrName = QString(m_fileName).replace(rp, "\\1/attrlist"); StructuredTextParser sp(stepAttrName); StructuredTextDataStore* sds = sp.parse(); @@ -132,7 +133,7 @@ void FeaturesParser::putAttrlist(const StructuredTextDataStore* ds) void FeaturesParser::parseSymbolName(const QString& line) { - QStringList param = line.split(" ", QString::SkipEmptyParts); + QStringList param = line.split(" ", Qt::SkipEmptyParts); if (param.length() == 2) { int id = param[0].right(param[0].length() - 1).toInt(); m_ds->putSymbolName(id, param[1]); @@ -141,7 +142,7 @@ void FeaturesParser::parseSymbolName(const QString& line) void FeaturesParser::parseAttribName(const QString& line) { - QStringList param = line.split(" ", QString::SkipEmptyParts); + QStringList param = line.split(" ", Qt::SkipEmptyParts); if (param.length() == 2) { int id = param[0].right(param[0].length() - 1).toInt(); m_ds->putAttribName(id, param[1]); @@ -150,7 +151,7 @@ void FeaturesParser::parseAttribName(const QString& line) void FeaturesParser::parseAttribText(const QString& line) { - QStringList param = line.split(" ", QString::SkipEmptyParts); + QStringList param = line.split(" ", Qt::SkipEmptyParts); if (param.length() == 2) { int id = param[0].right(param[0].length() - 1).toInt(); m_ds->putAttribText(id, param[1]); @@ -271,11 +272,11 @@ void FeaturesParser::parseAttributes(const QString& line, QString left = record.left(loc); QString middle = record.mid(loc + 1, loc2 - loc - 1); QString right = record.right(record.length() - loc2 - 1); - *param = left.split(" ", QString::SkipEmptyParts); + *param = left.split(" ", Qt::SkipEmptyParts); *param << middle; - *param += right.split(" ", QString::SkipEmptyParts); + *param += right.split(" ", Qt::SkipEmptyParts); } else { - *param = record.split(" ", QString::SkipEmptyParts); + *param = record.split(" ", Qt::SkipEmptyParts); } if (!attr.isEmpty()) { diff --git a/src/parser/odbpp/fontparser.cpp b/src/parser/odbpp/fontparser.cpp index b25f621..0286f34 100644 --- a/src/parser/odbpp/fontparser.cpp +++ b/src/parser/odbpp/fontparser.cpp @@ -37,7 +37,7 @@ FontDataStore* FontParser::parse(void) { FontDataStore* ds = new FontDataStore; QFile file(m_fileName); - + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { qDebug("parse: can't open `%s' for reading", qPrintable(m_fileName)); return NULL; @@ -53,7 +53,7 @@ FontDataStore* FontParser::parse(void) continue; } - QStringList param = line.split(" ", QString::SkipEmptyParts); + QStringList param = line.split(" ", Qt::SkipEmptyParts); if (block) { if (line.startsWith("ECHAR")) { @@ -64,7 +64,7 @@ FontDataStore* FontParser::parse(void) } continue; } - + if (line.startsWith("XSIZE")) { // xsize ds->putXSize(param[1].toDouble()); } else if (line.startsWith("YSIZE")) { // ysize diff --git a/src/parser/padrecord.cpp b/src/parser/padrecord.cpp index be7f924..bb85e9d 100644 --- a/src/parser/padrecord.cpp +++ b/src/parser/padrecord.cpp @@ -24,7 +24,7 @@ #include -#include +#include #include #include diff --git a/src/parser/textrecord.cpp b/src/parser/textrecord.cpp index 0d6e223..08e30ae 100644 --- a/src/parser/textrecord.cpp +++ b/src/parser/textrecord.cpp @@ -24,7 +24,7 @@ #include #include -#include +#include #include #include @@ -76,11 +76,11 @@ QString TextRecord::dynamicText(QString text) QString dynText = text; const QDate &Date = QDate::currentDate(); const QTime &Time = QTime::currentTime(); - dynText.replace("$$date-ddmmyy", QString().sprintf("%02d/%02d/%02d", + dynText.replace("$$date-ddmmyy", QString::asprintf("%02d/%02d/%02d", Date.day(), Date.month(), Date.year()%100), Qt::CaseInsensitive); - dynText.replace("$$date", QString().sprintf("%02d/%02d/%02d", + dynText.replace("$$date", QString::asprintf("%02d/%02d/%02d", Date.month(), Date.day(), Date.year()%100), Qt::CaseInsensitive); - dynText.replace("$$time", QString().sprintf("%02d:%02d", + dynText.replace("$$time", QString::asprintf("%02d:%02d", Time.hour(), Time.minute()), Qt::CaseInsensitive); FeaturesDataStore* fds = dynamic_cast(ds); @@ -94,11 +94,13 @@ QString TextRecord::dynamicText(QString text) dynText.replace("$$x", QString("%1").arg(x), Qt::CaseInsensitive); dynText.replace("$$y", QString("%1").arg(y), Qt::CaseInsensitive); - QRegExp rx("\\$\\$(\\S+)"); + QRegularExpression rx("\\$\\$(\\S+)"); int pos = 0; - while ((pos = rx.indexIn(dynText, pos)) != -1) { - QString replacement = fds->attrlist(rx.cap(1)).toUpper(); - dynText.replace(pos, rx.cap(0).length(), replacement); + QRegularExpressionMatchIterator i = rx.globalMatch(dynText); + while (i.hasNext()) { + QRegularExpressionMatch m = i.next(); + QString replacement = fds->attrlist(m.captured(1)).toUpper(); + dynText.replace(pos, m.captured(1).length(), replacement); pos += replacement.length(); } diff --git a/src/src.pro b/src/src.pro index 285fc6c..441a022 100644 --- a/src/src.pro +++ b/src/src.pro @@ -1,4 +1,6 @@ TEMPLATE = app +QT += widgets +CONFIG += debug_and_release MOC_DIR = .build UI_DIR = .build diff --git a/src/symbol/arcsymbol.cpp b/src/symbol/arcsymbol.cpp index 314b5aa..e59a886 100644 --- a/src/symbol/arcsymbol.cpp +++ b/src/symbol/arcsymbol.cpp @@ -22,7 +22,7 @@ #include "arcsymbol.h" -#include +#include #include "featuresparser.h" #include "macros.h" diff --git a/src/symbol/barcodesymbol.cpp b/src/symbol/barcodesymbol.cpp index 7668c7b..d6e40fd 100644 --- a/src/symbol/barcodesymbol.cpp +++ b/src/symbol/barcodesymbol.cpp @@ -22,8 +22,8 @@ #include "barcodesymbol.h" -#include -#include +#include +#include #include "code39.h" #include "context.h" diff --git a/src/symbol/barcodesymbol.h b/src/symbol/barcodesymbol.h index a47a08b..d56f7e8 100644 --- a/src/symbol/barcodesymbol.h +++ b/src/symbol/barcodesymbol.h @@ -25,7 +25,7 @@ #include "symbol.h" -#include +#include #include "record.h" #include "textsymbol.h" diff --git a/src/symbol/butterflysymbol.cpp b/src/symbol/butterflysymbol.cpp index c5eed0c..b2d8bf3 100644 --- a/src/symbol/butterflysymbol.cpp +++ b/src/symbol/butterflysymbol.cpp @@ -22,8 +22,7 @@ #include "butterflysymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ ButterflySymbol::ButterflySymbol(const QString& def, const Polarity& polarity, const AttribData& attrib): Symbol(def, "bfr([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_r = caps[1].toDouble() / 1000.0 / 2.0; m_bounding = painterPath().boundingRect(); diff --git a/src/symbol/diamondsymbol.cpp b/src/symbol/diamondsymbol.cpp index ec3295c..fbdc878 100644 --- a/src/symbol/diamondsymbol.cpp +++ b/src/symbol/diamondsymbol.cpp @@ -22,8 +22,7 @@ #include "diamondsymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ DiamondSymbol::DiamondSymbol(const QString& def, const Polarity& polarity, const AttribData& attrib): Symbol(def, "di([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_w = caps[1].toDouble() / 1000.0; m_h = caps[2].toDouble() / 1000.0; diff --git a/src/symbol/donutrsymbol.cpp b/src/symbol/donutrsymbol.cpp index e993b86..1db4a6d 100644 --- a/src/symbol/donutrsymbol.cpp +++ b/src/symbol/donutrsymbol.cpp @@ -22,8 +22,7 @@ #include "donutrsymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ DonutRSymbol::DonutRSymbol(const QString& def, const Polarity& polarity, const AttribData& attrib): Symbol(def, "donut_r([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_od = caps[1].toDouble() / 1000.0; m_id = caps[2].toDouble() / 1000.0; diff --git a/src/symbol/donutssymbol.cpp b/src/symbol/donutssymbol.cpp index 4b1c8ad..62e8ec4 100644 --- a/src/symbol/donutssymbol.cpp +++ b/src/symbol/donutssymbol.cpp @@ -22,8 +22,7 @@ #include "donutssymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ DonutSSymbol::DonutSSymbol(const QString& def, const Polarity& polarity, const AttribData& attrib): Symbol(def, "donut_s([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_od = caps[1].toDouble() / 1000.0; m_id = caps[2].toDouble() / 1000.0; diff --git a/src/symbol/ellipsesymbol.cpp b/src/symbol/ellipsesymbol.cpp index 8664687..7002062 100644 --- a/src/symbol/ellipsesymbol.cpp +++ b/src/symbol/ellipsesymbol.cpp @@ -22,8 +22,7 @@ #include "ellipsesymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ EllipseSymbol::EllipseSymbol(const QString& def, const Polarity& polarity, const AttribData& attrib): Symbol(def, "el([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_w = caps[1].toDouble() / 1000.0; m_h = caps[2].toDouble() / 1000.0; diff --git a/src/symbol/halfovalsymbol.cpp b/src/symbol/halfovalsymbol.cpp index d423db9..1c9352f 100644 --- a/src/symbol/halfovalsymbol.cpp +++ b/src/symbol/halfovalsymbol.cpp @@ -22,8 +22,7 @@ #include "halfovalsymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ HalfOvalSymbol::HalfOvalSymbol(const QString& def, const Polarity& polarity, const AttribData& attrib): Symbol(def, "oval_h([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_w = caps[1].toDouble() / 1000.0; m_h = caps[2].toDouble() / 1000.0; diff --git a/src/symbol/holesymbol.cpp b/src/symbol/holesymbol.cpp index c420e4c..87faab8 100644 --- a/src/symbol/holesymbol.cpp +++ b/src/symbol/holesymbol.cpp @@ -22,8 +22,7 @@ #include "holesymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ HoleSymbol::HoleSymbol(const QString& def, const Polarity& polarity, const AttribData& attrib): Symbol(def, "hole([0-9.]+)x([pnv])x([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_r = caps[1].toDouble() / 1000.0 / 2; m_p = caps[2]; m_tp = caps[3].toDouble() / 1000.0; diff --git a/src/symbol/horizontalhexagonsymbol.cpp b/src/symbol/horizontalhexagonsymbol.cpp index 2b36e24..86eeba8 100644 --- a/src/symbol/horizontalhexagonsymbol.cpp +++ b/src/symbol/horizontalhexagonsymbol.cpp @@ -22,8 +22,7 @@ #include "horizontalhexagonsymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ HorizontalHexagonSymbol::HorizontalHexagonSymbol(const QString& def, const Polar const AttribData& attrib): Symbol(def, "hex_l([0-9.]+)x([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_w = caps[1].toDouble() / 1000.0; m_h = caps[2].toDouble() / 1000.0; m_r = caps[3].toDouble() / 1000.0; diff --git a/src/symbol/linesymbol.cpp b/src/symbol/linesymbol.cpp index 8412246..3baaad6 100644 --- a/src/symbol/linesymbol.cpp +++ b/src/symbol/linesymbol.cpp @@ -22,8 +22,7 @@ #include "linesymbol.h" -#include -#include +#include #include "featuresparser.h" #include "symbolpool.h" diff --git a/src/symbol/linesymbol.h b/src/symbol/linesymbol.h index cb46a07..ab67232 100644 --- a/src/symbol/linesymbol.h +++ b/src/symbol/linesymbol.h @@ -25,7 +25,7 @@ #include "symbol.h" -#include +#include #include "featuresparser.h" #include "record.h" diff --git a/src/symbol/moiresymbol.cpp b/src/symbol/moiresymbol.cpp index dc7e8d8..e4fb543 100644 --- a/src/symbol/moiresymbol.cpp +++ b/src/symbol/moiresymbol.cpp @@ -22,8 +22,7 @@ #include "moiresymbol.h" -#include -#include +#include #include "macros.h" @@ -33,11 +32,12 @@ MoireSymbol::MoireSymbol(const QString& def, const Polarity& polarity, const AttribData& attrib): Symbol(def, "moire([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_rw = caps[1].toDouble() / 1000.0; m_rg = caps[2].toDouble() / 1000.0; m_nr = caps[3].toInt(); @@ -82,7 +82,7 @@ QPainterPath MoireSymbol::painterPath(void) } void MoireSymbol::paint(QPainter *painter, - const QStyleOptionGraphicsItem *option, QWidget *widget) + const QStyleOptionGraphicsItem *, QWidget *) { if (m_polarity == P) { painter->setPen(m_pen); diff --git a/src/symbol/notesymbol.cpp b/src/symbol/notesymbol.cpp index 857431f..258711c 100644 --- a/src/symbol/notesymbol.cpp +++ b/src/symbol/notesymbol.cpp @@ -22,8 +22,7 @@ #include "notesymbol.h" -#include -#include +#include NoteSymbol::NoteSymbol(const NoteRecord* rec): Symbol("note") @@ -36,7 +35,7 @@ NoteSymbol::NoteSymbol(const NoteRecord* rec): Symbol("note") m_y = rec->y; m_text = rec->text; - QDateTime t = QDateTime::fromTime_t(m_timestamp); + QDateTime t = QDateTime::fromSecsSinceEpoch(m_timestamp); QString noteTmpl("Time: %1\nUser: %2\nNote: %3"); setToolTip(noteTmpl.arg(t.toString(), m_user, m_text)); @@ -61,17 +60,17 @@ QPainterPath NoteSymbol::painterPath(void) } void NoteSymbol::paint(QPainter *painter, - const QStyleOptionGraphicsItem *option, QWidget *widget) + const QStyleOptionGraphicsItem *, QWidget *) { painter->setPen(QPen(Qt::white, 0)); painter->setBrush(Qt::gray); painter->drawPath(painterPath()); } -void NoteSymbol::mousePressEvent(QGraphicsSceneMouseEvent* event) +void NoteSymbol::mousePressEvent(QGraphicsSceneMouseEvent* ) { } -void NoteSymbol::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event) +void NoteSymbol::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* ) { } diff --git a/src/symbol/nullsymbol.cpp b/src/symbol/nullsymbol.cpp index d06eae7..70d7965 100644 --- a/src/symbol/nullsymbol.cpp +++ b/src/symbol/nullsymbol.cpp @@ -22,8 +22,7 @@ #include "nullsymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ NullSymbol::NullSymbol(const QString& def, const Polarity& polarity, const AttribData& attrib): Symbol(def, "null([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_ext = caps[1].toInt(); m_bounding = painterPath().boundingRect(); diff --git a/src/symbol/octagonsymbol.cpp b/src/symbol/octagonsymbol.cpp index c9962de..38c9c37 100644 --- a/src/symbol/octagonsymbol.cpp +++ b/src/symbol/octagonsymbol.cpp @@ -22,8 +22,7 @@ #include "octagonsymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ OctagonSymbol::OctagonSymbol(const QString& def, const Polarity& polarity, const AttribData& attrib): Symbol(def, "oct([0-9.]+)x([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_w = caps[1].toDouble() / 1000.0; m_h = caps[2].toDouble() / 1000.0; m_r = caps[3].toDouble() / 1000.0; diff --git a/src/symbol/originsymbol.cpp b/src/symbol/originsymbol.cpp index 70f3ade..e6ca271 100644 --- a/src/symbol/originsymbol.cpp +++ b/src/symbol/originsymbol.cpp @@ -22,8 +22,7 @@ #include "originsymbol.h" -#include -#include +#include OriginSymbol::OriginSymbol(): Symbol("Origin", "Origin", P) @@ -38,7 +37,7 @@ QRectF OriginSymbol::boundingRect() const } void OriginSymbol::paint(QPainter *painter, - const QStyleOptionGraphicsItem *option, QWidget *widget) + const QStyleOptionGraphicsItem *, QWidget *) { qreal srad = m_rad * 0.7; painter->setPen(QPen(m_pen.color(), 0)); diff --git a/src/symbol/ovalsymbol.cpp b/src/symbol/ovalsymbol.cpp index dabb36d..e465c9d 100644 --- a/src/symbol/ovalsymbol.cpp +++ b/src/symbol/ovalsymbol.cpp @@ -22,8 +22,7 @@ #include "ovalsymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ OvalSymbol::OvalSymbol(const QString& def, const Polarity& polarity, const AttribData& attrib): Symbol(def, "oval([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_w = caps[1].toDouble() / 1000.0; m_h = caps[2].toDouble() / 1000.0; diff --git a/src/symbol/rectanglesymbol.cpp b/src/symbol/rectanglesymbol.cpp index f33e69f..ffe75f0 100644 --- a/src/symbol/rectanglesymbol.cpp +++ b/src/symbol/rectanglesymbol.cpp @@ -22,8 +22,7 @@ #include "rectanglesymbol.h" -#include -#include +#include #include "macros.h" @@ -32,27 +31,31 @@ RectangleSymbol::RectangleSymbol(const QString& def, const Polarity& polarity, const AttribData& attrib): Symbol(def, "rect([0-9.]+)x([0-9.]+)(?:(x[cr])([0-9.]+)(?:x([1-4]+))?)?", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_w = caps[1].toDouble() / 1000.0; m_h = caps[2].toDouble() / 1000.0; - if (caps[3] == "xr") { - m_rad = caps[4].toDouble() / 1000.0; - m_type = ROUNDED; - } else if (caps[3] == "xc") { - m_rad = caps[4].toDouble() / 1000.0; - m_type = CHAMFERED; - } else { + if (caps.count() > 4) { + if (caps[3] == "xr") { + m_rad = caps[4].toDouble() / 1000.0; + m_type = ROUNDED; + } else if (caps[3] == "xc") { + m_rad = caps[4].toDouble() / 1000.0; + m_type = CHAMFERED; + } + } + else { m_rad = 0; m_type = NORMAL; } - if (caps[5].length()) { + if (caps.count() > 5) { m_corners = 0; QByteArray cors = caps[5].toLatin1(); - for (int i = 0; i < cors.count(); ++i) { + for (int i = 0; i < cors.size(); ++i) { m_corners |= (1 << (cors[i] - '1')); } } else { diff --git a/src/symbol/rectangularthermalopencornerssymbol.cpp b/src/symbol/rectangularthermalopencornerssymbol.cpp index d7645ae..1903db0 100644 --- a/src/symbol/rectangularthermalopencornerssymbol.cpp +++ b/src/symbol/rectangularthermalopencornerssymbol.cpp @@ -22,8 +22,7 @@ #include "rectangularthermalopencornerssymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ RectangularThermalOpenCornersSymbol::RectangularThermalOpenCornersSymbol(const Q const AttribData& attrib): Symbol(def, "rc_tho([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_w = caps[1].toDouble() / 1000.0; m_h = caps[2].toDouble() / 1000.0; m_angle = caps[3].toDouble(); @@ -53,7 +53,7 @@ QPainterPath RectangularThermalOpenCornersSymbol::painterPath(void) qreal angle_div = 360.0 / m_num_spokes; QPainterPath sub; - QMatrix mat; + QTransform mat; // From what we seen in Genesis 2000, num_spokes can only be 1, 2, 4 // angle can only be multiple of 45 @@ -82,7 +82,7 @@ QPainterPath RectangularThermalOpenCornersSymbol::painterPath(void) box.addRect(-side / 2, -side / 2, side, side); for (int i = 0; i < m_num_spokes; ++i) { - QMatrix mat; + QTransform mat; mat.translate(offset_w * sign(qCos((m_angle + angle_div * i) * D2R)), -offset_h * sign(qSin((m_angle + angle_div * i) * D2R))); sub.addPath(mat.map(box)); diff --git a/src/symbol/rectangularthermalsymbol.cpp b/src/symbol/rectangularthermalsymbol.cpp index a89503d..6420aa2 100644 --- a/src/symbol/rectangularthermalsymbol.cpp +++ b/src/symbol/rectangularthermalsymbol.cpp @@ -22,8 +22,7 @@ #include "rectangularthermalsymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ RectangularThermalSymbol::RectangularThermalSymbol(const QString& def, const Pol const AttribData& attrib): Symbol(def, "rc_ths([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_w = caps[1].toDouble() / 1000.0; m_h = caps[2].toDouble() / 1000.0; m_angle = caps[3].toDouble(); @@ -64,7 +64,7 @@ QPainterPath RectangularThermalSymbol::painterPath(void) qreal ang = m_angle; for (int i = 0; i < m_num_spokes; ++i, ang += angle_div) { - QMatrix mat; + QTransform mat; ang = qCeil(ang / 45) * 45.0; if ((int)ang % 90 != 0) { diff --git a/src/symbol/roundsymbol.cpp b/src/symbol/roundsymbol.cpp index 4b4d372..3645624 100644 --- a/src/symbol/roundsymbol.cpp +++ b/src/symbol/roundsymbol.cpp @@ -22,8 +22,7 @@ #include "roundsymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ RoundSymbol::RoundSymbol(const QString& def, const Polarity& polarity, const AttribData& attrib): Symbol(def, "r([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_r = caps[1].toDouble() / 1000.0 / 2.0; m_bounding = painterPath().boundingRect(); diff --git a/src/symbol/roundthermalroundsymbol.cpp b/src/symbol/roundthermalroundsymbol.cpp index 5362af6..16cc142 100644 --- a/src/symbol/roundthermalroundsymbol.cpp +++ b/src/symbol/roundthermalroundsymbol.cpp @@ -22,8 +22,7 @@ #include "roundthermalroundsymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ RoundThermalRoundSymbol::RoundThermalRoundSymbol(const QString& def, const Polar const AttribData& attrib): Symbol(def, "thr([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_od = caps[1].toDouble() / 1000.0; m_id = caps[2].toDouble() / 1000.0; m_angle = caps[3].toDouble(); diff --git a/src/symbol/roundthermalsquaresymbol.cpp b/src/symbol/roundthermalsquaresymbol.cpp index 0f80553..9984089 100644 --- a/src/symbol/roundthermalsquaresymbol.cpp +++ b/src/symbol/roundthermalsquaresymbol.cpp @@ -22,8 +22,7 @@ #include "roundthermalsquaresymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ RoundThermalSquareSymbol::RoundThermalSquareSymbol(const QString& def, const Pol const AttribData& attrib): Symbol(def, "ths([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_od = caps[1].toDouble() / 1000.0; m_id = caps[2].toDouble() / 1000.0; m_angle = caps[3].toDouble(); diff --git a/src/symbol/squarebutterflysymbol.cpp b/src/symbol/squarebutterflysymbol.cpp index acdf5f0..8bc24ed 100644 --- a/src/symbol/squarebutterflysymbol.cpp +++ b/src/symbol/squarebutterflysymbol.cpp @@ -22,8 +22,7 @@ #include "squarebutterflysymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ SquareButterflySymbol::SquareButterflySymbol(const QString& def, const Polarity& const AttribData& attrib): Symbol(def, "bfs([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_s = caps[1].toDouble() / 1000.0; m_bounding = painterPath().boundingRect(); diff --git a/src/symbol/squareroundthermalsymbol.cpp b/src/symbol/squareroundthermalsymbol.cpp index 7b2baf6..86a10fd 100644 --- a/src/symbol/squareroundthermalsymbol.cpp +++ b/src/symbol/squareroundthermalsymbol.cpp @@ -22,8 +22,7 @@ #include "squareroundthermalsymbol.h" -#include -#include +#include #include "macros.h" @@ -33,11 +32,12 @@ SquareRoundThermalSymbol::SquareRoundThermalSymbol(const QString& def, const Pol const AttribData& attrib): Symbol(def, "sr_ths([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_od = caps[1].toDouble() / 1000.0; m_id = caps[2].toDouble() / 1000.0; m_angle = caps[3].toDouble(); @@ -57,7 +57,7 @@ QPainterPath SquareRoundThermalSymbol::painterPath(void) QPainterPath bar; bar.addRect(0, -m_gap / 2, m_od / qSqrt(1.8), m_gap); - QMatrix mat; + QTransform mat; mat.rotate(-m_angle); qreal angle_div = 360.0 / m_num_spokes; @@ -77,7 +77,7 @@ QPainterPath SquareRoundThermalSymbol::painterPath(void) } void SquareRoundThermalSymbol::paint(QPainter *painter, - const QStyleOptionGraphicsItem *option, QWidget *widget) + const QStyleOptionGraphicsItem *, QWidget *) { if (m_polarity == P) { painter->setClipPath(m_sub); diff --git a/src/symbol/squaresymbol.cpp b/src/symbol/squaresymbol.cpp index 098439d..0d35136 100644 --- a/src/symbol/squaresymbol.cpp +++ b/src/symbol/squaresymbol.cpp @@ -22,8 +22,7 @@ #include "squaresymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ SquareSymbol::SquareSymbol(const QString& def, const Polarity& polarity, const AttribData& attrib): Symbol(def, "s([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_s = caps[1].toDouble() / 1000.0; m_bounding = painterPath().boundingRect(); diff --git a/src/symbol/squarethermalopencornerssymbol.cpp b/src/symbol/squarethermalopencornerssymbol.cpp index 53b1de8..632b026 100644 --- a/src/symbol/squarethermalopencornerssymbol.cpp +++ b/src/symbol/squarethermalopencornerssymbol.cpp @@ -22,8 +22,7 @@ #include "squarethermalopencornerssymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ SquareThermalOpenCornersSymbol::SquareThermalOpenCornersSymbol(const QString& de const AttribData& attrib): Symbol(def, "s_tho([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_od = caps[1].toDouble() / 1000.0; m_id = caps[2].toDouble() / 1000.0; m_angle = caps[3].toDouble(); @@ -52,7 +52,7 @@ QPainterPath SquareThermalOpenCornersSymbol::painterPath(void) qreal angle_div = 360.0 / m_num_spokes; QPainterPath sub; - QMatrix mat; + QTransform mat; // From what we seen in Genesis 2000, num_spokes can only be 1, 2, 4 // angle can only be multiple of 45 @@ -80,7 +80,7 @@ QPainterPath SquareThermalOpenCornersSymbol::painterPath(void) box.addRect(-side / 2, -side / 2, side, side); for (int i = 0; i < m_num_spokes; ++i) { - QMatrix mat; + QTransform mat; mat.translate(offset * sign(qCos((m_angle + angle_div * i) * D2R)), -offset * sign(qSin((m_angle + angle_div * i) * D2R))); sub.addPath(mat.map(box)); diff --git a/src/symbol/squarethermalsymbol.cpp b/src/symbol/squarethermalsymbol.cpp index 8b1c0ca..dc4961b 100644 --- a/src/symbol/squarethermalsymbol.cpp +++ b/src/symbol/squarethermalsymbol.cpp @@ -22,8 +22,7 @@ #include "squarethermalsymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ SquareThermalSymbol::SquareThermalSymbol(const QString& def, const Polarity& pol const AttribData& attrib): Symbol(def, "s_ths([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_od = caps[1].toDouble() / 1000.0; m_id = caps[2].toDouble() / 1000.0; m_angle = caps[3].toDouble(); @@ -58,7 +58,7 @@ QPainterPath SquareThermalSymbol::painterPath(void) QPainterPath sub; - QMatrix mat; + QTransform mat; mat.rotate(-m_angle); qreal angle_div = 360.0 / m_num_spokes; diff --git a/src/symbol/surfacesymbol.cpp b/src/symbol/surfacesymbol.cpp index 959678e..fa04e94 100644 --- a/src/symbol/surfacesymbol.cpp +++ b/src/symbol/surfacesymbol.cpp @@ -27,14 +27,13 @@ using std::cout; using std::endl; -#include -#include +#include #include "context.h" SurfaceSymbol::SurfaceSymbol(const SurfaceRecord* rec): Symbol("Surface", "Surface", rec->polarity, rec->attrib), - m_islandCount(0), m_holeCount(0) + m_holeCount(0), m_islandCount(0) { m_dcode = rec->dcode; m_polygons = rec->polygons; diff --git a/src/symbol/surfacesymbol.h b/src/symbol/surfacesymbol.h index fdb4372..94fe2ee 100644 --- a/src/symbol/surfacesymbol.h +++ b/src/symbol/surfacesymbol.h @@ -25,7 +25,7 @@ #include "symbol.h" -#include +#include #include "featuresparser.h" #include "record.h" diff --git a/src/symbol/symbol.cpp b/src/symbol/symbol.cpp index 326162f..61f8035 100644 --- a/src/symbol/symbol.cpp +++ b/src/symbol/symbol.cpp @@ -30,7 +30,7 @@ Symbol::Symbol(QString name, QString pattern, Polarity polarity, AttribData attr): - m_name(name), m_pattern(pattern), m_pen(QPen(Qt::red, 0)), m_brush(Qt::red), + m_name(name), m_pattern('^' + pattern + '$'), m_pen(QPen(Qt::red, 0)), m_brush(Qt::red), m_polarity(polarity), m_selected(false), m_attrib(attr) { setHandlesChildEvents(false); @@ -118,8 +118,8 @@ void Symbol::setBrush(const QBrush& brush) } } -void Symbol::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, - QWidget *widget) +void Symbol::paint(QPainter *painter, const QStyleOptionGraphicsItem *, + QWidget *) { // Paint painterPath if (m_polarity == P) { @@ -158,7 +158,7 @@ void Symbol::restoreColor(void) update(); } -void Symbol::mousePressEvent(QGraphicsSceneMouseEvent* event) +void Symbol::mousePressEvent(QGraphicsSceneMouseEvent* ) { GraphicsLayerScene* s = dynamic_cast(scene()); @@ -177,6 +177,6 @@ void Symbol::mousePressEvent(QGraphicsSceneMouseEvent* event) s->updateSelection(this); } -void Symbol::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event) +void Symbol::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* ) { } diff --git a/src/symbol/symbolfactory.h b/src/symbol/symbolfactory.h index 73ef004..f1ca547 100644 --- a/src/symbol/symbolfactory.h +++ b/src/symbol/symbolfactory.h @@ -60,18 +60,19 @@ #include "notesymbol.h" #include "originsymbol.h" -#include +#include class SymbolFactory { public: static Symbol* create(const QString& def, const Polarity& polarity, const AttribData& attrib) { - QRegExp rx("([a-z_+]+).*"); - if (!rx.exactMatch(def)) { + QRegularExpression rx("^([a-z_+]+).*$"); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) { return new UserSymbol(def, polarity, attrib); } - QString prefix = rx.capturedTexts()[1]; + QString prefix = m.captured(1); try { if (prefix == "r") { return new RoundSymbol(def, polarity, attrib); @@ -126,7 +127,7 @@ public: } else { return new UserSymbol(def, polarity, attrib); } - } catch (InvalidSymbolException) { + } catch (InvalidSymbolException&) { return new UserSymbol(def, polarity, attrib); } } diff --git a/src/symbol/textsymbol.cpp b/src/symbol/textsymbol.cpp index 0503245..1dba5ac 100644 --- a/src/symbol/textsymbol.cpp +++ b/src/symbol/textsymbol.cpp @@ -22,8 +22,7 @@ #include "textsymbol.h" -#include -#include +#include #include "cachedparser.h" #include "context.h" @@ -86,7 +85,7 @@ QPainterPath TextSymbol::painterPath(void) QString filename = ctx.loader->absPath("fonts/" + m_font); FontDataStore* ds = CachedFontParser::parse(filename); - QMatrix mat(m_xsize / ds->xsize(), 0, 0, m_ysize / ds->ysize(), 0, 0); + QTransform mat(m_xsize / ds->xsize(), 0, 0, m_ysize / ds->ysize(), 0, 0); for (int i = 0; i < m_text.length(); ++i) { CharRecord* rec = ds->charRecord(m_text[i].toLatin1()); @@ -98,7 +97,7 @@ QPainterPath TextSymbol::painterPath(void) } QRectF b = path.boundingRect(); - QMatrix mat2; + QTransform mat2; mat2.translate(-b.x(), -(b.y() + b.height())); path = mat2.map(path); diff --git a/src/symbol/textsymbol.h b/src/symbol/textsymbol.h index 7776afd..056257a 100644 --- a/src/symbol/textsymbol.h +++ b/src/symbol/textsymbol.h @@ -25,7 +25,7 @@ #include "symbol.h" -#include +#include #include "featuresparser.h" #include "record.h" diff --git a/src/symbol/trianglesymbol.cpp b/src/symbol/trianglesymbol.cpp index f36753f..de6a785 100644 --- a/src/symbol/trianglesymbol.cpp +++ b/src/symbol/trianglesymbol.cpp @@ -22,8 +22,7 @@ #include "trianglesymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ TriangleSymbol::TriangleSymbol(const QString& def, const Polarity& polarity, const AttribData& attrib): Symbol(def, "tri([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_base = caps[1].toDouble() / 1000.0; m_h = caps[2].toDouble() / 1000.0; diff --git a/src/symbol/usersymbol.cpp b/src/symbol/usersymbol.cpp index 8a96e90..68c2d5a 100644 --- a/src/symbol/usersymbol.cpp +++ b/src/symbol/usersymbol.cpp @@ -22,8 +22,7 @@ #include "usersymbol.h" -#include -#include +#include #include "cachedparser.h" #include "context.h" @@ -34,12 +33,13 @@ UserSymbol::UserSymbol(const QString& def, const Polarity& polarity, { QString path = ctx.loader->featuresPath("symbols/" + def); FeaturesDataStore* ds = CachedFeaturesParser::parse(path); - - for (QList::const_iterator it = ds->records().begin(); + if (ds) { + for (QList::const_iterator it = ds->records().begin(); it != ds->records().end(); ++it) { - Symbol* symbol = (*it)->createSymbol(); - addChild(symbol); - m_symbols.append(symbol); + Symbol* symbol = (*it)->createSymbol(); + addChild(symbol); + m_symbols.append(symbol); + } } setHandlesChildEvents(true); diff --git a/src/symbol/verticalhexagonsymbol.cpp b/src/symbol/verticalhexagonsymbol.cpp index ca31354..f37546e 100644 --- a/src/symbol/verticalhexagonsymbol.cpp +++ b/src/symbol/verticalhexagonsymbol.cpp @@ -22,8 +22,7 @@ #include "verticalhexagonsymbol.h" -#include -#include +#include #include "macros.h" @@ -32,11 +31,12 @@ VerticalHexagonSymbol::VerticalHexagonSymbol(const QString& def, const Polarity& const AttribData& attrib): Symbol(def, "hex_s([0-9.]+)x([0-9.]+)x([0-9.]+)", polarity, attrib), m_def(def) { - QRegExp rx(m_pattern); - if (!rx.exactMatch(def)) + QRegularExpression rx(m_pattern); + QRegularExpressionMatch m = rx.match(def); + if (!m.hasMatch()) throw InvalidSymbolException(def.toLatin1()); - QStringList caps = rx.capturedTexts(); + QStringList caps = m.capturedTexts(); m_w = caps[1].toDouble() / 1000.0; m_h = caps[2].toDouble() / 1000.0; m_r = caps[3].toDouble() / 1000.0;