Improve flipping control. Export from Details mode also should obey this rule.
ref #783. --HG-- branch : develop
This commit is contained in:
parent
8b7494fb08
commit
14d5cf25ad
|
@ -66,6 +66,7 @@
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
bool CreateLayoutPath(const QString &path)
|
bool CreateLayoutPath(const QString &path)
|
||||||
{
|
{
|
||||||
bool usedNotExistedDir = true;
|
bool usedNotExistedDir = true;
|
||||||
|
@ -78,6 +79,7 @@ bool CreateLayoutPath(const QString &path)
|
||||||
return usedNotExistedDir;
|
return usedNotExistedDir;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void RemoveLayoutPath(const QString &path, bool usedNotExistedDir)
|
void RemoveLayoutPath(const QString &path, bool usedNotExistedDir)
|
||||||
{
|
{
|
||||||
if (usedNotExistedDir)
|
if (usedNotExistedDir)
|
||||||
|
@ -86,6 +88,27 @@ void RemoveLayoutPath(const QString &path, bool usedNotExistedDir)
|
||||||
dir.rmpath(".");
|
dir.rmpath(".");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
Q_REQUIRED_RESULT QGraphicsItem *ExportOriginalDetail(VLayoutPiece piece, bool textAsPaths)
|
||||||
|
{
|
||||||
|
if (piece.IsForceFlipping())
|
||||||
|
{
|
||||||
|
piece.Mirror();
|
||||||
|
}
|
||||||
|
|
||||||
|
QGraphicsItem *item = piece.GetItem(textAsPaths);
|
||||||
|
|
||||||
|
if (piece.IsForceFlipping())
|
||||||
|
{
|
||||||
|
item->setPos(piece.GetMx()-item->boundingRect().width(), piece.GetMy());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item->setPos(piece.GetMx(), piece.GetMy());
|
||||||
|
}
|
||||||
|
return item;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -344,9 +367,7 @@ void MainWindowsNoGUI::ExportDetailsAsFlatLayout(const QVector<VLayoutPiece> &li
|
||||||
QList<QGraphicsItem *> list;
|
QList<QGraphicsItem *> list;
|
||||||
for (int i=0; i < listDetails.count(); ++i)
|
for (int i=0; i < listDetails.count(); ++i)
|
||||||
{
|
{
|
||||||
QGraphicsItem *item = listDetails.at(i).GetItem(m_dialogSaveLayout->IsTextAsPaths());
|
list.append(ExportOriginalDetail(listDetails.at(i), m_dialogSaveLayout->IsTextAsPaths()));
|
||||||
item->setPos(listDetails.at(i).GetMx(), listDetails.at(i).GetMy());
|
|
||||||
list.append(item);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i=0; i < list.size(); ++i)
|
for (int i=0; i < list.size(); ++i)
|
||||||
|
@ -464,9 +485,7 @@ void MainWindowsNoGUI::ExportDetailsAsApparelLayout(QVector<VLayoutPiece> listDe
|
||||||
QList<QGraphicsItem *> list;
|
QList<QGraphicsItem *> list;
|
||||||
for (int i=0; i < listDetails.count(); ++i)
|
for (int i=0; i < listDetails.count(); ++i)
|
||||||
{
|
{
|
||||||
QGraphicsItem *item = listDetails.at(i).GetItem(m_dialogSaveLayout->IsTextAsPaths());
|
list.append(ExportOriginalDetail(listDetails.at(i), m_dialogSaveLayout->IsTextAsPaths()));
|
||||||
item->setPos(listDetails.at(i).GetMx(), listDetails.at(i).GetMy());
|
|
||||||
list.append(item);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i=0; i < list.size(); ++i)
|
for (int i=0; i < list.size(); ++i)
|
||||||
|
|
|
@ -777,6 +777,15 @@ void VLayoutPiece::Mirror(const QLineF &edge)
|
||||||
d->mirror = !d->mirror;
|
d->mirror = !d->mirror;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VLayoutPiece::Mirror()
|
||||||
|
{
|
||||||
|
QTransform m;
|
||||||
|
m.scale(-1, 1);
|
||||||
|
d->matrix *= m;
|
||||||
|
d->mirror = !d->mirror;
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
int VLayoutPiece::DetailEdgesCount() const
|
int VLayoutPiece::DetailEdgesCount() const
|
||||||
{
|
{
|
||||||
|
|
|
@ -117,6 +117,7 @@ public:
|
||||||
void Translate(qreal dx, qreal dy);
|
void Translate(qreal dx, qreal dy);
|
||||||
void Rotate(const QPointF &originPoint, qreal degrees);
|
void Rotate(const QPointF &originPoint, qreal degrees);
|
||||||
void Mirror(const QLineF &edge);
|
void Mirror(const QLineF &edge);
|
||||||
|
void Mirror();
|
||||||
|
|
||||||
int DetailEdgesCount() const;
|
int DetailEdgesCount() const;
|
||||||
int LayoutEdgesCount() const;
|
int LayoutEdgesCount() const;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user