improved desktop UI
[mardrone] / mardrone / gauges / gaugearc.cpp
index 3886d17..969a996 100644 (file)
@@ -32,7 +32,7 @@ void GaugeArc::paintArcScale(QPainter *painter,int width,int height)
     int xo=(width/2);
     int yo=(height/2);
     int arcsize=xo-5;
     int xo=(width/2);
     int yo=(height/2);
     int arcsize=xo-5;
-    painter->setTransform(QTransform().scale(m_scale,m_scale));
+     painter->setTransform(QTransform().translate(scenePos().x()+width/2,scenePos().y()+height/2).scale(m_scale,m_scale));
     QTransform savematrix= painter->transform ();
     QPen pen(m_color);
     pen.setWidth(m_lineWidth);
     QTransform savematrix= painter->transform ();
     QPen pen(m_color);
     pen.setWidth(m_lineWidth);
@@ -49,7 +49,7 @@ void GaugeArc::paintArcScale(QPainter *painter,int width,int height)
     QFontMetrics fm(m_font);
     QPolygon needle;
 
     QFontMetrics fm(m_font);
     QPolygon needle;
 
-    painter->setTransform(QTransform().translate(xo+scenePos().x()/m_scale, yo+scenePos().y()/m_scale),true);
+    //painter->setTransform(QTransform().translate(xo+scenePos().x()/m_scale, yo+scenePos().y()/m_scale),true);
     painter->setBrush(backBrush);
     painter->setPen(nopen);
     painter->drawChord(QRect(-xo,-xo,2*xo,2*xo),0,360*16);
     painter->setBrush(backBrush);
     painter->setPen(nopen);
     painter->drawChord(QRect(-xo,-xo,2*xo,2*xo),0,360*16);
@@ -64,7 +64,6 @@ void GaugeArc::paintArcScale(QPainter *painter,int width,int height)
         int labelWidth=fm.width(label);
         int labelHeight=fm.height();
         painter->setTransform(savematrix);
         int labelWidth=fm.width(label);
         int labelHeight=fm.height();
         painter->setTransform(savematrix);
-        painter->setTransform(QTransform().translate(xo+scenePos().x()/m_scale, yo+scenePos().y()/m_scale),true);
         painter->drawArc(-arcsize,-arcsize,2*arcsize,2*arcsize,(int(m_lowPosition+270)%360)*-16,(int(m_highPosition+270)%360)*-16);
         QPoint labelP=QPoint(0,-xo+15);
         labelP=rotT.map(labelP);
         painter->drawArc(-arcsize,-arcsize,2*arcsize,2*arcsize,(int(m_lowPosition+270)%360)*-16,(int(m_highPosition+270)%360)*-16);
         QPoint labelP=QPoint(0,-xo+15);
         labelP=rotT.map(labelP);
@@ -77,7 +76,7 @@ void GaugeArc::paintArcScale(QPainter *painter,int width,int height)
    //      qDebug() << alpha << labelP << labelPd << labelPo << labelWidth << labelHeight;
         painter->drawText(labelPd,label);
         painter->drawLine(lineInP,lineOutP);
    //      qDebug() << alpha << labelP << labelPd << labelPo << labelWidth << labelHeight;
         painter->drawText(labelPd,label);
         painter->drawLine(lineInP,lineOutP);
-        alpha+=m_tickSpacing;
+        alpha+=m_tickSpacing?m_tickSpacing:10;
         val+=m_tickIncrement;
     }
     needle+=QPoint(-5,0);
         val+=m_tickIncrement;
     }
     needle+=QPoint(-5,0);