Refactoring.

Use "std::make_unique" to construct "std::unique_ptr".
Use "std::make_shared" to construct "std::shared_ptr".
This commit is contained in:
Roman Telezhynskyi 2024-07-11 18:26:28 +03:00
parent 691160943b
commit 7711e61381
9 changed files with 42 additions and 42 deletions

View file

@ -90,7 +90,7 @@ auto VCommandLine::DefaultGenerator() const -> VLayoutGeneratorPtr
{ {
// this functions covers all options found into layout setup dialog, nothing to add here, unless dialog extended // this functions covers all options found into layout setup dialog, nothing to add here, unless dialog extended
VLayoutGeneratorPtr res(new VLayoutGenerator()); auto res = std::make_shared<VLayoutGenerator>();
DialogLayoutSettings diag(res.get(), nullptr, true); DialogLayoutSettings diag(res.get(), nullptr, true);
TestPageformat(); TestPageformat();

View file

@ -6310,7 +6310,7 @@ auto MainWindow::LoadPattern(QString fileName, const QString &customMeasureFile)
QFuture<VPatternConverter *> const futureConverter = QtConcurrent::run( QFuture<VPatternConverter *> const futureConverter = QtConcurrent::run(
[fileName]() [fileName]()
{ {
std::unique_ptr<VPatternConverter> converter(new VPatternConverter(fileName)); auto converter = std::make_unique<VPatternConverter>(fileName);
return converter.release(); return converter.release();
}); });

View file

@ -17,7 +17,7 @@
DRW_TextCodec::DRW_TextCodec() DRW_TextCodec::DRW_TextCodec()
: version(DRW::AC1021), : version(DRW::AC1021),
conv(new DRW_Converter()) conv(std::make_unique<DRW_Converter>())
{ {
} }

View file

@ -3419,7 +3419,7 @@ auto dxfRW::processVertex(DRW_Polyline *pl) -> bool
{ {
DRW_DBG("dxfRW::processVertex"); DRW_DBG("dxfRW::processVertex");
int code; int code;
std::unique_ptr<DRW_Vertex> v(new DRW_Vertex()); auto v = std::make_unique<DRW_Vertex>();
while (reader->readRec(&code)) while (reader->readRec(&code))
{ {
DRW_DBG(code); DRW_DBG(code);

View file

@ -798,7 +798,7 @@ auto VDxfEngine::ExportToAAMA(const QVector<VLayoutPiece> &details) -> bool
m_input->AddBlock(detailBlock.data()); m_input->AddBlock(detailBlock.data());
std::unique_ptr<DRW_Insert> insert(new DRW_Insert()); auto insert = std::make_unique<DRW_Insert>();
insert->name = blockName.toStdString(); insert->name = blockName.toStdString();
insert->layer = *layer1; insert->layer = *layer1;
@ -1028,7 +1028,7 @@ void VDxfEngine::ExportAAMANotch(const QSharedPointer<dx_ifaceBlock> &detailBloc
{ {
auto ExportNotch = [this, detailBlock](QPointF center, qreal length, qreal angle) auto ExportNotch = [this, detailBlock](QPointF center, qreal length, qreal angle)
{ {
std::unique_ptr<DRW_ASTMNotch> notch(new DRW_ASTMNotch()); auto notch = std::make_unique<DRW_ASTMNotch>();
notch->basePoint = notch->basePoint =
DRW_Coord(FromPixel(center.x(), m_varInsunits), FromPixel(GetSize().height() - center.y(), m_varInsunits), DRW_Coord(FromPixel(center.x(), m_varInsunits), FromPixel(GetSize().height() - center.y(), m_varInsunits),
@ -1363,7 +1363,7 @@ auto VDxfEngine::ExportToASTM(const QVector<VLayoutPiece> &details) -> bool
m_input->AddBlock(detailBlock.data()); m_input->AddBlock(detailBlock.data());
std::unique_ptr<DRW_Insert> insert(new DRW_Insert()); auto insert = std::make_unique<DRW_Insert>();
insert->name = blockName.toStdString(); insert->name = blockName.toStdString();
insert->layer = *layer1; insert->layer = *layer1;
@ -1639,7 +1639,7 @@ void VDxfEngine::ExportASTMDrill(const QSharedPointer<dx_ifaceBlock> &detailBloc
auto ExportPoint = [this, detailBlock](QPointF center, qreal diameter) auto ExportPoint = [this, detailBlock](QPointF center, qreal diameter)
{ {
std::unique_ptr<DRW_Point> point(new DRW_Point()); auto point = std::make_unique<DRW_Point>();
point->basePoint = point->basePoint =
DRW_Coord(FromPixel(center.x(), m_varInsunits), FromPixel(GetSize().height() - center.y(), m_varInsunits), DRW_Coord(FromPixel(center.x(), m_varInsunits), FromPixel(GetSize().height() - center.y(), m_varInsunits),
FromPixel(diameter, m_varInsunits)); FromPixel(diameter, m_varInsunits));

View file

@ -181,7 +181,7 @@ auto WatermarkWindow::Open(QString path) -> bool
QFuture<VWatermarkConverter *> const futureConverter = QtConcurrent::run( QFuture<VWatermarkConverter *> const futureConverter = QtConcurrent::run(
[path]() [path]()
{ {
std::unique_ptr<VWatermarkConverter> converter(new VWatermarkConverter(path)); auto converter = std::make_unique<VWatermarkConverter>(path);
return converter.release(); return converter.release();
}); });

View file

@ -2520,12 +2520,12 @@ void VToolSeamAllowance::InitSpecialPoints(const QVector<quint32> &points) const
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
void VToolSeamAllowance::DeleteToolWithConfirm(bool ask) void VToolSeamAllowance::DeleteToolWithConfirm(bool ask)
{ {
std::unique_ptr<DeletePiece> delDet(new DeletePiece(doc, m_id, VAbstractTool::data, m_sceneDetails));
if (ask && ConfirmDeletion() == QMessageBox::No) if (ask && ConfirmDeletion() == QMessageBox::No)
{ {
return; return;
} }
auto delDet = std::make_unique<DeletePiece>(doc, m_id, VAbstractTool::data, m_sceneDetails);
VAbstractApplication::VApp()->getUndoStack()->push(delDet.release()); VAbstractApplication::VApp()->getUndoStack()->push(delDet.release());
// Throw exception, this will help prevent case when we forget to immediately quit function. // Throw exception, this will help prevent case when we forget to immediately quit function.

View file

@ -385,7 +385,7 @@ void UnionInitParameters(const VToolUnionDetailsInitData &initData, const VPiece
auto AddNodePoint(const VPieceNode &node, const VToolUnionDetailsInitData &initData, QVector<quint32> &children, auto AddNodePoint(const VPieceNode &node, const VToolUnionDetailsInitData &initData, QVector<quint32> &children,
const QString &drawName, qreal dx, qreal dy, quint32 pRotate, qreal angle) -> quint32 const QString &drawName, qreal dx, qreal dy, quint32 pRotate, qreal angle) -> quint32
{ {
std::unique_ptr<VPointF> point(new VPointF(*initData.data->GeometricObject<VPointF>(node.GetId()))); auto point = std::make_unique<VPointF>(*initData.data->GeometricObject<VPointF>(node.GetId()));
point->setMode(Draw::Modeling); point->setMode(Draw::Modeling);
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID) if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
@ -394,7 +394,7 @@ auto AddNodePoint(const VPieceNode &node, const VToolUnionDetailsInitData &initD
angle); angle);
} }
std::unique_ptr<VPointF> point1(new VPointF(*point)); auto point1 = std::make_unique<VPointF>(*point);
const quint32 idObject = initData.data->AddGObject(point.release()); const quint32 idObject = initData.data->AddGObject(point.release());
children.append(idObject); children.append(idObject);
@ -421,7 +421,7 @@ auto AddNodePoint(const VPieceNode &node, const VToolUnionDetailsInitData &initD
auto AddPin(quint32 id, const VToolUnionDetailsInitData &initData, QVector<quint32> &children, const QString &drawName, auto AddPin(quint32 id, const VToolUnionDetailsInitData &initData, QVector<quint32> &children, const QString &drawName,
qreal dx, qreal dy, quint32 pRotate, qreal angle) -> quint32 qreal dx, qreal dy, quint32 pRotate, qreal angle) -> quint32
{ {
std::unique_ptr<VPointF> point(new VPointF(*initData.data->GeometricObject<VPointF>(id))); auto point = std::make_unique<VPointF>(*initData.data->GeometricObject<VPointF>(id));
point->setMode(Draw::Modeling); point->setMode(Draw::Modeling);
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID) if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
@ -430,7 +430,7 @@ auto AddPin(quint32 id, const VToolUnionDetailsInitData &initData, QVector<quint
angle); angle);
} }
std::unique_ptr<VPointF> point1(new VPointF(*point)); auto point1 = std::make_unique<VPointF>(*point);
const quint32 idObject = initData.data->AddGObject(point.release()); const quint32 idObject = initData.data->AddGObject(point.release());
children.append(idObject); children.append(idObject);
@ -456,7 +456,7 @@ auto AddPin(quint32 id, const VToolUnionDetailsInitData &initData, QVector<quint
auto AddPlaceLabel(quint32 id, const VToolUnionDetailsInitData &initData, QVector<quint32> &children, auto AddPlaceLabel(quint32 id, const VToolUnionDetailsInitData &initData, QVector<quint32> &children,
const QString &drawName, qreal dx, qreal dy, quint32 pRotate, qreal angle) -> quint32 const QString &drawName, qreal dx, qreal dy, quint32 pRotate, qreal angle) -> quint32
{ {
std::unique_ptr<VPlaceLabelItem> label(new VPlaceLabelItem(*initData.data->GeometricObject<VPlaceLabelItem>(id))); auto label = std::make_unique<VPlaceLabelItem>(*initData.data->GeometricObject<VPlaceLabelItem>(id));
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID) if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
{ {
@ -480,7 +480,7 @@ auto AddPlaceLabel(quint32 id, const VToolUnionDetailsInitData &initData, QVecto
initNodeData.visibilityTrigger = label->GetVisibilityTrigger(); initNodeData.visibilityTrigger = label->GetVisibilityTrigger();
initNodeData.type = label->GetLabelType(); initNodeData.type = label->GetLabelType();
std::unique_ptr<VPlaceLabelItem> label1(new VPlaceLabelItem(*label)); auto label1 = std::make_unique<VPlaceLabelItem>(*label);
initNodeData.centerPoint = initData.data->AddGObject(label.release()); initNodeData.centerPoint = initData.data->AddGObject(label.release());
children.append(initNodeData.centerPoint); children.append(initNodeData.centerPoint);
@ -499,7 +499,7 @@ auto AddNodeArc(const VPieceNode &node, const VToolUnionDetailsInitData &initDat
const QSharedPointer<VArc> arc = initData.data->GeometricObject<VArc>(node.GetId()); const QSharedPointer<VArc> arc = initData.data->GeometricObject<VArc>(node.GetId());
auto p1 = VPointF(arc->GetP1(), QChar('A'), 0, 0); auto p1 = VPointF(arc->GetP1(), QChar('A'), 0, 0);
auto p2 = VPointF(arc->GetP2(), QChar('A'), 0, 0); auto p2 = VPointF(arc->GetP2(), QChar('A'), 0, 0);
std::unique_ptr<VPointF> center(new VPointF(arc->GetCenter())); auto center = std::make_unique<VPointF>(arc->GetCenter());
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID) if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
{ {
@ -516,11 +516,11 @@ auto AddNodeArc(const VPieceNode &node, const VToolUnionDetailsInitData &initDat
VPointF *tmpCenter = center.release(); VPointF *tmpCenter = center.release();
const quint32 idCenter = initData.data->AddGObject(tmpCenter); const quint32 idCenter = initData.data->AddGObject(tmpCenter);
Q_UNUSED(idCenter) Q_UNUSED(idCenter)
std::unique_ptr<VArc> arc1(new VArc(*tmpCenter, arc->GetRadius(), arc->GetFormulaRadius(), l1.angle(), auto arc1 = std::make_unique<VArc>(*tmpCenter, arc->GetRadius(), arc->GetFormulaRadius(), l1.angle(),
QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle()))); QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle()));
arc1->setMode(Draw::Modeling); arc1->setMode(Draw::Modeling);
std::unique_ptr<VArc> arc2(new VArc(*arc1)); auto arc2 = std::make_unique<VArc>(*arc1);
const quint32 idObject = initData.data->AddGObject(arc1.release()); const quint32 idObject = initData.data->AddGObject(arc1.release());
children.append(idObject); children.append(idObject);
@ -550,7 +550,7 @@ auto AddNodeElArc(const VPieceNode &node, const VToolUnionDetailsInitData &initD
const QSharedPointer<VEllipticalArc> arc = initData.data->GeometricObject<VEllipticalArc>(node.GetId()); const QSharedPointer<VEllipticalArc> arc = initData.data->GeometricObject<VEllipticalArc>(node.GetId());
auto p1 = VPointF(arc->GetP1(), QChar('A'), 0, 0); auto p1 = VPointF(arc->GetP1(), QChar('A'), 0, 0);
auto p2 = VPointF(arc->GetP2(), QChar('A'), 0, 0); auto p2 = VPointF(arc->GetP2(), QChar('A'), 0, 0);
std::unique_ptr<VPointF> center(new VPointF(arc->GetCenter())); auto center = std::make_unique<VPointF>(arc->GetCenter());
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID) if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
{ {
@ -567,12 +567,12 @@ auto AddNodeElArc(const VPieceNode &node, const VToolUnionDetailsInitData &initD
VPointF *tmpCenter = center.release(); VPointF *tmpCenter = center.release();
quint32 const idCenter = initData.data->AddGObject(tmpCenter); quint32 const idCenter = initData.data->AddGObject(tmpCenter);
Q_UNUSED(idCenter) Q_UNUSED(idCenter)
std::unique_ptr<VEllipticalArc> arc1(new VEllipticalArc( auto arc1 = std::make_unique<VEllipticalArc>(
*tmpCenter, arc->GetRadius1(), arc->GetRadius2(), arc->GetFormulaRadius1(), arc->GetFormulaRadius2(), *tmpCenter, arc->GetRadius1(), arc->GetRadius2(), arc->GetFormulaRadius1(), arc->GetFormulaRadius2(),
l1.angle(), QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle()), 0, QChar('0'))); l1.angle(), QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle()), 0, QChar('0'));
arc1->setMode(Draw::Modeling); arc1->setMode(Draw::Modeling);
std::unique_ptr<VEllipticalArc> arc2(new VEllipticalArc(*arc1)); auto arc2 = std::make_unique<VEllipticalArc>(*arc1);
const quint32 idObject = initData.data->AddGObject(arc1.release()); const quint32 idObject = initData.data->AddGObject(arc1.release());
children.append(idObject); children.append(idObject);
@ -644,7 +644,7 @@ auto AddNodeSpline(const VPieceNode &node, const VToolUnionDetailsInitData &init
auto AddNodeSplinePath(const VPieceNode &node, const VToolUnionDetailsInitData &initData, QVector<quint32> &children, auto AddNodeSplinePath(const VPieceNode &node, const VToolUnionDetailsInitData &initData, QVector<quint32> &children,
const QString &drawName, qreal dx, qreal dy, quint32 pRotate, qreal angle) -> quint32 const QString &drawName, qreal dx, qreal dy, quint32 pRotate, qreal angle) -> quint32
{ {
std::unique_ptr<VSplinePath> path(new VSplinePath()); auto path = std::make_unique<VSplinePath>();
path->setMode(Draw::Modeling); path->setMode(Draw::Modeling);
const QSharedPointer<VAbstractCubicBezierPath> splinePath = const QSharedPointer<VAbstractCubicBezierPath> splinePath =
initData.data->GeometricObject<VAbstractCubicBezierPath>(node.GetId()); initData.data->GeometricObject<VAbstractCubicBezierPath>(node.GetId());
@ -690,7 +690,7 @@ auto AddNodeSplinePath(const VPieceNode &node, const VToolUnionDetailsInitData &
path->append(VSplinePoint(*p4, spl.GetEndAngle(), spl.GetEndAngleFormula(), angle2, angle2F, path->append(VSplinePoint(*p4, spl.GetEndAngle(), spl.GetEndAngleFormula(), angle2, angle2F,
spline.GetC2Length(), spline.GetC2LengthFormula(), pL2, pL2F)); spline.GetC2Length(), spline.GetC2LengthFormula(), pL2, pL2F));
} }
std::unique_ptr<VSplinePath> path1(new VSplinePath(*path)); auto path1 = std::make_unique<VSplinePath>(*path);
const quint32 idObject = initData.data->AddGObject(path.release()); const quint32 idObject = initData.data->AddGObject(path.release());
children.append(idObject); children.append(idObject);
@ -923,7 +923,7 @@ auto TakeNextId(QVector<quint32> &children) -> quint32
void UpdateNodePoint(VContainer *data, const VPieceNode &node, QVector<quint32> &children, qreal dx, qreal dy, void UpdateNodePoint(VContainer *data, const VPieceNode &node, QVector<quint32> &children, qreal dx, qreal dy,
quint32 pRotate, qreal angle) quint32 pRotate, qreal angle)
{ {
std::unique_ptr<VPointF> point(new VPointF(*data->GeometricObject<VPointF>(node.GetId()))); auto point = std::make_unique<VPointF>(*data->GeometricObject<VPointF>(node.GetId()));
point->setMode(Draw::Modeling); point->setMode(Draw::Modeling);
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID) if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
{ {
@ -953,8 +953,8 @@ void UpdateNodeArc(VContainer *data, const VPieceNode &node, QVector<quint32> &c
QLineF const l1(static_cast<QPointF>(*center), static_cast<QPointF>(p1)); QLineF const l1(static_cast<QPointF>(*center), static_cast<QPointF>(p1));
QLineF const l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2)); QLineF const l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2));
std::unique_ptr<VArc> arc1(new VArc(*center, arc->GetRadius(), arc->GetFormulaRadius(), l1.angle(), auto arc1 = std::make_unique<VArc>(*center, arc->GetRadius(), arc->GetFormulaRadius(), l1.angle(),
QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle()))); QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle()));
arc1->setMode(Draw::Modeling); arc1->setMode(Draw::Modeling);
data->UpdateGObject(TakeNextId(children), arc1.release()); data->UpdateGObject(TakeNextId(children), arc1.release());
} }
@ -980,9 +980,9 @@ void UpdateNodeElArc(VContainer *data, const VPieceNode &node, QVector<quint32>
QLineF const l1(static_cast<QPointF>(*center), static_cast<QPointF>(p1)); QLineF const l1(static_cast<QPointF>(*center), static_cast<QPointF>(p1));
QLineF const l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2)); QLineF const l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2));
std::unique_ptr<VEllipticalArc> arc1(new VEllipticalArc( auto arc1 = std::make_unique<VEllipticalArc>(
*center, arc->GetRadius1(), arc->GetRadius2(), arc->GetFormulaRadius1(), arc->GetFormulaRadius2(), l1.angle(), *center, arc->GetRadius1(), arc->GetRadius2(), arc->GetFormulaRadius1(), arc->GetFormulaRadius2(), l1.angle(),
QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle()), 0, QChar('0'))); QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle()), 0, QChar('0'));
arc1->setMode(Draw::Modeling); arc1->setMode(Draw::Modeling);
data->UpdateGObject(TakeNextId(children), arc1.release()); data->UpdateGObject(TakeNextId(children), arc1.release());
} }
@ -1008,8 +1008,8 @@ void UpdateNodeSpline(VContainer *data, const VPieceNode &node, QVector<quint32>
BiasRotatePoint(p4.data(), dx, dy, p, angle); BiasRotatePoint(p4.data(), dx, dy, p, angle);
} }
std::unique_ptr<VSpline> spl( auto spl =
new VSpline(*p1, static_cast<QPointF>(p2), static_cast<QPointF>(p3), *p4, 0, Draw::Modeling)); std::make_unique<VSpline>(*p1, static_cast<QPointF>(p2), static_cast<QPointF>(p3), *p4, 0, Draw::Modeling);
data->UpdateGObject(TakeNextId(children), spl.release()); data->UpdateGObject(TakeNextId(children), spl.release());
} }
@ -1017,7 +1017,7 @@ void UpdateNodeSpline(VContainer *data, const VPieceNode &node, QVector<quint32>
void UpdateNodeSplinePath(VContainer *data, const VPieceNode &node, QVector<quint32> &children, qreal dx, qreal dy, void UpdateNodeSplinePath(VContainer *data, const VPieceNode &node, QVector<quint32> &children, qreal dx, qreal dy,
quint32 pRotate, qreal angle) quint32 pRotate, qreal angle)
{ {
std::unique_ptr<VSplinePath> path(new VSplinePath()); auto path = std::make_unique<VSplinePath>();
path->setMode(Draw::Modeling); path->setMode(Draw::Modeling);
const QSharedPointer<VAbstractCubicBezierPath> splinePath = const QSharedPointer<VAbstractCubicBezierPath> splinePath =
data->GeometricObject<VAbstractCubicBezierPath>(node.GetId()); data->GeometricObject<VAbstractCubicBezierPath>(node.GetId());
@ -1482,7 +1482,7 @@ void UpdateUnitedDetailPins(const VToolUnionDetailsInitData &initData, qreal dx,
for (auto record : records) for (auto record : records)
{ {
std::unique_ptr<VPointF> point(new VPointF(*initData.data->GeometricObject<VPointF>(record))); auto point = std::make_unique<VPointF>(*initData.data->GeometricObject<VPointF>(record));
point->setMode(Draw::Modeling); point->setMode(Draw::Modeling);
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID) if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
{ {
@ -1507,7 +1507,7 @@ void UpdateUnitedDetailPlaceLabels(const VToolUnionDetailsInitData &initData, qr
BiasRotatePoint(parentLabel.data(), dx, dy, BiasRotatePoint(parentLabel.data(), dx, dy,
static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)), angle); static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)), angle);
} }
std::unique_ptr<VPlaceLabelItem> label(new VPlaceLabelItem()); auto label = std::make_unique<VPlaceLabelItem>();
label->setName(parentLabel->name()); label->setName(parentLabel->name());
label->setX(parentLabel->x()); label->setX(parentLabel->x());
label->setY(parentLabel->y()); label->setY(parentLabel->y());

View file

@ -62,12 +62,12 @@ VHighlighter::VHighlighter(QTextDocument *document)
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
void VHighlighter::highlightBlock(const QString &text) void VHighlighter::highlightBlock(const QString &text)
{ {
std::unique_ptr<VTextBlockData> data(new VTextBlockData); auto data = std::make_unique<VTextBlockData>();
vsizetype leftPos = text.indexOf('('); vsizetype leftPos = text.indexOf('(');
while (leftPos != -1) while (leftPos != -1)
{ {
std::unique_ptr<ParenthesisInfo> info(new ParenthesisInfo); auto info = std::make_unique<ParenthesisInfo>();
info->character = '('; info->character = '(';
info->position = leftPos; info->position = leftPos;
@ -78,13 +78,13 @@ void VHighlighter::highlightBlock(const QString &text)
vsizetype rightPos = text.indexOf(')'); vsizetype rightPos = text.indexOf(')');
while (rightPos != -1) while (rightPos != -1)
{ {
std::unique_ptr<ParenthesisInfo> info(new ParenthesisInfo); auto info = std::make_unique<ParenthesisInfo>();
info->character = ')'; info->character = ')';
info->position = rightPos; info->position = rightPos;
data->insert(info.release()); data->insert(info.release());
rightPos = text.indexOf(')', rightPos +1); rightPos = text.indexOf(')', rightPos + 1);
} }
setCurrentBlockUserData(data.release()); setCurrentBlockUserData(data.release());