diff --git a/piqt/piqt.cpp b/piqt/piqt.cpp index 3bf7e74..d346193 100644 --- a/piqt/piqt.cpp +++ b/piqt/piqt.cpp @@ -44,6 +44,8 @@ const QVariant PI2QVariant(const PIVariant & v) { case PIVariant::pivFile: return QVariant::fromValue(PI2QADFile(v.toFile())); case PIVariant::pivDir: return QVariant::fromValue(PI2QADDir(v.toDir())); case PIVariant::pivColor: return QVariant::fromValue(PI2QColor(v.toColor())); + case PIVariant::pivPoint: return QVariant(PI2QPoint(v.toPoint())); + case PIVariant::pivRect: return QVariant(PI2QRect(v.toRect())); //case PIVariant::pivSystemTime: return QVariant(v.to()); default: return QVariant(); } @@ -66,6 +68,10 @@ const PIVariant Q2PIVariant(const QVariant & v) { case QVariant::Date: return PIVariant(Q2PIDate(v.toDate())); case QVariant::DateTime: return PIVariant(Q2PIDateTime(v.toDateTime())); case QVariant::Color: return PIVariant(Q2PIColor(v.value())); + case QVariant::Point: + case QVariant::PointF: return PIVariant(Q2PIPoint(v.toPointF())); + case QVariant::Rect: + case QVariant::RectF: return PIVariant(Q2PIRect(v.toRectF())); default: break; } if (v.canConvert()) return PIVariant(QAD2PIEnum(v.value())); diff --git a/piqt/piqt.h b/piqt/piqt.h index 53f70e3..cc6d829 100644 --- a/piqt/piqt.h +++ b/piqt/piqt.h @@ -3,6 +3,7 @@ #include "pistring.h" #include "pimathmatrix.h" +#include "pigeometry.h" #include "pitime.h" #include "pivariant.h" #include "qad_types.h" @@ -40,6 +41,12 @@ inline const QVector3D PI2QVector3(const PIMathVectorT3d & v) {return QVector3D( inline const PIMathVectorT2d Q2PIVector2(const QPointF & v) {return PIMathVectorT2d(double(v.x()), double(v.y()), 0.);} inline const PIMathVectorT3d Q2PIVector3(const QVector3D & v) {return PIMathVectorT3d(double(v.x()), double(v.y()), double(v.z()));} +inline const QPointF PI2QPoint(const PIPointd & v) {return QPointF(v.x, v.y);} +inline const PIPointd Q2PIPoint(const QPointF & v) {return PIPointd(v.x(), v.y());} + +inline const QRectF PI2QRect(const PIRectd & v) {return QRectF(v.x0, v.y0, v.width(), v.height());} +inline const PIRectd Q2PIRect(const QRectF & v) {return PIRectd(v.x(), v.y(), v.width(), v.height());} + inline const QDate PI2QDate(const PIDate & v) {return QDate(v.year, v.month, v.day);} inline const QTime PI2QTime(const PITime & v) {return QTime(v.hours, v.minutes, v.seconds, v.milliseconds);} diff --git a/qad/blockview/blockview.cpp b/qad/blockview/blockview.cpp index 4d44eb8..bf8a82c 100644 --- a/qad/blockview/blockview.cpp +++ b/qad/blockview/blockview.cpp @@ -42,7 +42,7 @@ void BlockView::_init() { cur_scl = thumb_scl = 1.; _talpha = 0.; ae_enabled = is_nav_anim = is_block_anim = true; - nav_prev_aa = nav_prev_grid = true; + nav_prev_aa = nav_prev_imaa = nav_prev_grid = true; thumb_size = QSizeF(200, 200); if (scene() == 0) { scene_ = new QGraphicsScene; @@ -1438,8 +1438,10 @@ void BlockView::animateNav(QRectF d) { if (is_nav_anim) { if (nav_anim.state() != QAbstractAnimation::Running) { nav_prev_aa = renderHints().testFlag(QPainter::Antialiasing); + nav_prev_imaa = renderHints().testFlag(QPainter::SmoothPixmapTransform); nav_prev_grid = isGridVisible(); setRenderHint(QPainter::Antialiasing, false); + setRenderHint(QPainter::Antialiasing, false); setGridVisible(false); } nav_anim.stop(); @@ -1605,6 +1607,7 @@ void BlockView::_setNav(QRectF v) { void BlockView::_navFinished() { setRenderHint(QPainter::Antialiasing, nav_prev_aa); + setRenderHint(QPainter::SmoothPixmapTransform, nav_prev_imaa); setGridVisible(nav_prev_grid); } diff --git a/qad/blockview/blockview.h b/qad/blockview/blockview.h index 447e0c1..a3cbeaf 100644 --- a/qad/blockview/blockview.h +++ b/qad/blockview/blockview.h @@ -173,7 +173,7 @@ protected: int timer_thumb, thumb_hide_delay, thick; bool mm_drag, new_bus, new_branch, moved, mm_cancel, iconnect, mm_copy, mm_thumb, ae_enabled, is_nav_anim, is_block_anim, move_bus_point; bool grid_visible, grid_snap, pm_connect, navigation, m_connect, m_trace_with_buses, m_pin_mc, minimap; - bool nav_prev_aa, nav_prev_grid; + bool nav_prev_aa, nav_prev_imaa, nav_prev_grid; double grid_step, grid_points, cur_scl, _talpha, thumb_scl; protected slots: diff --git a/qad/blockview/drawtools.cpp b/qad/blockview/drawtools.cpp index 3bad348..0b51836 100644 --- a/qad/blockview/drawtools.cpp +++ b/qad/blockview/drawtools.cpp @@ -3,6 +3,7 @@ #include "alignedtextitem.h" #include #include +#include #include #include #include @@ -228,6 +229,10 @@ actions_Z_up(this), actions_Z_top(this), actions_Z_down(this), actions_Z_bottom( widget_props = new QWidget(); ui = new Ui::DrawTools(); ui->setupUi(widget_props); + ui->labelPen->setMinimumSize(preferredIconSize(1.5)); + ui->labelPen->setMaximumSize(ui->labelPen->minimumSize()); + ui->labelBrush->setMinimumSize(ui->labelPen->minimumSize()); + ui->labelBrush->setMaximumSize(ui->labelBrush->minimumSize()); widget_props->setEnabled(false); int fh = qMax(QApplication::fontMetrics().size(0, "0").height(), 22); int thick = lineThickness(); diff --git a/qad/blockview/drawtools.ui b/qad/blockview/drawtools.ui index 82c8648..28ec86f 100644 --- a/qad/blockview/drawtools.ui +++ b/qad/blockview/drawtools.ui @@ -6,8 +6,8 @@ 0 0 - 863 - 73 + 1400 + 256 @@ -673,6 +673,9 @@ :/icons/format-stroke-color.png + + true + @@ -706,6 +709,9 @@ :/icons/format-fill-color.png + + true + diff --git a/qad/icons/format-fill-color.png b/qad/icons/format-fill-color.png index ba56d74..99412e9 100644 Binary files a/qad/icons/format-fill-color.png and b/qad/icons/format-fill-color.png differ diff --git a/qad/icons/format-stroke-color.png b/qad/icons/format-stroke-color.png index b174057..4c4d290 100644 Binary files a/qad/icons/format-stroke-color.png and b/qad/icons/format-stroke-color.png differ diff --git a/qad/icons/view-preview.png b/qad/icons/view-preview.png index 92d802a..ac3cd37 100644 Binary files a/qad/icons/view-preview.png and b/qad/icons/view-preview.png differ