mirror of
https://github.com/tumic0/GPXSee.git
synced 2024-11-24 11:45:53 +01:00
Compare commits
2 Commits
28bd3e49d1
...
da763e7700
Author | SHA1 | Date | |
---|---|---|---|
da763e7700 | |||
956e02404f |
30
.github/workflows/osx.yml
vendored
30
.github/workflows/osx.yml
vendored
@ -6,8 +6,8 @@ on:
|
|||||||
- master
|
- master
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
qt5:
|
||||||
name: GPXSee
|
name: GPXSee Qt5 build
|
||||||
runs-on: macos-10.15
|
runs-on: macos-10.15
|
||||||
steps:
|
steps:
|
||||||
- name: Set environment variables
|
- name: Set environment variables
|
||||||
@ -27,5 +27,29 @@ jobs:
|
|||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: GPXSee.dmg
|
name: GPXSee-qt5.dmg
|
||||||
|
path: GPXSee.dmg
|
||||||
|
|
||||||
|
qt6:
|
||||||
|
name: GPXSee Qt6 build
|
||||||
|
runs-on: macos-latest
|
||||||
|
steps:
|
||||||
|
- name: Set environment variables
|
||||||
|
run: echo "PATH=/usr/local/opt/qt@6/bin:$PATH" >> $GITHUB_ENV
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Install dependencies
|
||||||
|
run: brew install qt6
|
||||||
|
- name: Create localization
|
||||||
|
run: lrelease gpxsee.pro
|
||||||
|
- name: Configure build
|
||||||
|
run: qmake gpxsee.pro
|
||||||
|
- name: Build project
|
||||||
|
run: make -j3
|
||||||
|
- name: Create DMG
|
||||||
|
run: macdeployqt GPXSee.app -dmg
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: GPXSee-qt6.dmg
|
||||||
path: GPXSee.dmg
|
path: GPXSee.dmg
|
||||||
|
@ -700,8 +700,8 @@ void MapView::plot(QPainter *painter, const QRectF &target, qreal scale,
|
|||||||
PlotFlags flags)
|
PlotFlags flags)
|
||||||
{
|
{
|
||||||
QRect orig, adj;
|
QRect orig, adj;
|
||||||
qreal ratio, diff, q;
|
qreal ratio, diff, q, p;
|
||||||
QPointF origScene, origPos;
|
QPointF scenePos, scalePos, posPos, motionPos;
|
||||||
int zoom;
|
int zoom;
|
||||||
|
|
||||||
|
|
||||||
@ -712,7 +712,9 @@ void MapView::plot(QPainter *painter, const QRectF &target, qreal scale,
|
|||||||
|
|
||||||
// Compute sizes & ratios
|
// Compute sizes & ratios
|
||||||
orig = viewport()->rect();
|
orig = viewport()->rect();
|
||||||
origPos = _mapScale->pos();
|
scalePos = _mapScale->pos();
|
||||||
|
posPos = _positionCoordinates->pos();
|
||||||
|
motionPos = _motionInfo->pos();
|
||||||
|
|
||||||
if (orig.height() * (target.width() / target.height()) - orig.width() < 0) {
|
if (orig.height() * (target.width() / target.height()) - orig.width() < 0) {
|
||||||
ratio = target.height() / target.width();
|
ratio = target.height() / target.width();
|
||||||
@ -737,7 +739,7 @@ void MapView::plot(QPainter *painter, const QRectF &target, qreal scale,
|
|||||||
if (flags & HiRes) {
|
if (flags & HiRes) {
|
||||||
zoom = _map->zoom();
|
zoom = _map->zoom();
|
||||||
QRectF vr(mapToScene(orig).boundingRect());
|
QRectF vr(mapToScene(orig).boundingRect());
|
||||||
origScene = vr.center();
|
scenePos = vr.center();
|
||||||
|
|
||||||
QPointF s(painter->device()->logicalDpiX()
|
QPointF s(painter->device()->logicalDpiX()
|
||||||
/ (qreal)metric(QPaintDevice::PdmDpiX),
|
/ (qreal)metric(QPaintDevice::PdmDpiX),
|
||||||
@ -751,16 +753,22 @@ void MapView::plot(QPainter *painter, const QRectF &target, qreal scale,
|
|||||||
centerOn(center);
|
centerOn(center);
|
||||||
adj.moveCenter(mapFromScene(center));
|
adj.moveCenter(mapFromScene(center));
|
||||||
|
|
||||||
_mapScale->setDigitalZoom(_digitalZoom - log2(s.x() / q));
|
p = s.x() / q;
|
||||||
_mapScale->setPos(mapToScene(QPoint(adj.bottomRight() + QPoint(
|
} else
|
||||||
-(SCALE_OFFSET + _mapScale->boundingRect().width()) * (s.x() / q),
|
p = 1 / q;
|
||||||
-(SCALE_OFFSET + _mapScale->boundingRect().height()) * (s.x() / q)))));
|
|
||||||
} else {
|
_mapScale->setDigitalZoom(_digitalZoom - log2(p));
|
||||||
_mapScale->setDigitalZoom(_digitalZoom - log2(1.0 / q));
|
_mapScale->setPos(mapToScene(adj.bottomRight() + QPoint(
|
||||||
_mapScale->setPos(mapToScene(QPoint(adj.bottomRight() + QPoint(
|
-(SCALE_OFFSET + _mapScale->boundingRect().width()) * p,
|
||||||
-(SCALE_OFFSET + _mapScale->boundingRect().width()) / q ,
|
-(SCALE_OFFSET + _mapScale->boundingRect().height()) * p)));
|
||||||
-(SCALE_OFFSET + _mapScale->boundingRect().height()) / q))));
|
_positionCoordinates->setDigitalZoom(_digitalZoom - log2(p));
|
||||||
}
|
_positionCoordinates->setPos(mapToScene(adj.topLeft() + QPoint(
|
||||||
|
COORDINATES_OFFSET * p,
|
||||||
|
(COORDINATES_OFFSET + _positionCoordinates->boundingRect().height()) * p)));
|
||||||
|
_motionInfo->setDigitalZoom(_digitalZoom - log2(p));
|
||||||
|
_motionInfo->setPos(mapToScene(adj.topRight() + QPoint(
|
||||||
|
(-COORDINATES_OFFSET - _motionInfo->boundingRect().width()) * p,
|
||||||
|
(COORDINATES_OFFSET + _motionInfo->boundingRect().height()) * p)));
|
||||||
|
|
||||||
// Print the view
|
// Print the view
|
||||||
render(painter, target, adj);
|
render(painter, target, adj);
|
||||||
@ -769,10 +777,14 @@ void MapView::plot(QPainter *painter, const QRectF &target, qreal scale,
|
|||||||
if (flags & HiRes) {
|
if (flags & HiRes) {
|
||||||
_map->setZoom(zoom);
|
_map->setZoom(zoom);
|
||||||
rescale();
|
rescale();
|
||||||
centerOn(origScene);
|
centerOn(scenePos);
|
||||||
}
|
}
|
||||||
_mapScale->setDigitalZoom(_digitalZoom);
|
_mapScale->setDigitalZoom(_digitalZoom);
|
||||||
_mapScale->setPos(origPos);
|
_mapScale->setPos(scalePos);
|
||||||
|
_positionCoordinates->setDigitalZoom(_digitalZoom);
|
||||||
|
_positionCoordinates->setPos(posPos);
|
||||||
|
_motionInfo->setDigitalZoom(_digitalZoom);
|
||||||
|
_motionInfo->setPos(motionPos);
|
||||||
|
|
||||||
// Exit plot mode
|
// Exit plot mode
|
||||||
_map->setDevicePixelRatio(_deviceRatio, _mapRatio);
|
_map->setDevicePixelRatio(_deviceRatio, _mapRatio);
|
||||||
@ -1111,33 +1123,35 @@ void MapView::drawBackground(QPainter *painter, const QRectF &rect)
|
|||||||
|
|
||||||
void MapView::paintEvent(QPaintEvent *event)
|
void MapView::paintEvent(QPaintEvent *event)
|
||||||
{
|
{
|
||||||
QPointF scaleScenePos = mapToScene(rect().bottomRight() + QPoint(
|
if (!_plot) {
|
||||||
-(SCALE_OFFSET + _mapScale->boundingRect().width()),
|
QPointF scaleScenePos = mapToScene(rect().bottomRight() + QPoint(
|
||||||
-(SCALE_OFFSET + _mapScale->boundingRect().height())));
|
-(SCALE_OFFSET + _mapScale->boundingRect().width()),
|
||||||
if (_mapScale->pos() != scaleScenePos && !_plot)
|
-(SCALE_OFFSET + _mapScale->boundingRect().height())));
|
||||||
_mapScale->setPos(scaleScenePos);
|
if (_mapScale->pos() != scaleScenePos)
|
||||||
|
_mapScale->setPos(scaleScenePos);
|
||||||
|
|
||||||
if (_cursorCoordinates->isVisible()) {
|
if (_cursorCoordinates->isVisible()) {
|
||||||
QPointF coordinatesScenePos = mapToScene(rect().bottomLeft()
|
QPointF coordinatesScenePos = mapToScene(rect().bottomLeft()
|
||||||
+ QPoint(COORDINATES_OFFSET, -COORDINATES_OFFSET));
|
+ QPoint(COORDINATES_OFFSET, -COORDINATES_OFFSET));
|
||||||
if (_cursorCoordinates->pos() != coordinatesScenePos && !_plot)
|
if (_cursorCoordinates->pos() != coordinatesScenePos)
|
||||||
_cursorCoordinates->setPos(coordinatesScenePos);
|
_cursorCoordinates->setPos(coordinatesScenePos);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_positionCoordinates->isVisible()) {
|
if (_positionCoordinates->isVisible()) {
|
||||||
QPointF coordinatesScenePos = mapToScene(rect().topLeft()
|
QPointF coordinatesScenePos = mapToScene(rect().topLeft()
|
||||||
+ QPoint(COORDINATES_OFFSET, COORDINATES_OFFSET
|
+ QPoint(COORDINATES_OFFSET, COORDINATES_OFFSET
|
||||||
+ _positionCoordinates->boundingRect().height()));
|
+ _positionCoordinates->boundingRect().height()));
|
||||||
if (_positionCoordinates->pos() != coordinatesScenePos)
|
if (_positionCoordinates->pos() != coordinatesScenePos)
|
||||||
_positionCoordinates->setPos(coordinatesScenePos);
|
_positionCoordinates->setPos(coordinatesScenePos);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_motionInfo->isVisible()) {
|
if (_motionInfo->isVisible()) {
|
||||||
QPointF coordinatesScenePos = mapToScene(rect().topRight()
|
QPointF coordinatesScenePos = mapToScene(rect().topRight()
|
||||||
+ QPoint(-COORDINATES_OFFSET - _motionInfo->boundingRect().width(),
|
+ QPoint(-COORDINATES_OFFSET - _motionInfo->boundingRect().width(),
|
||||||
COORDINATES_OFFSET + _motionInfo->boundingRect().height()));
|
COORDINATES_OFFSET + _motionInfo->boundingRect().height()));
|
||||||
if (_motionInfo->pos() != coordinatesScenePos)
|
if (_motionInfo->pos() != coordinatesScenePos)
|
||||||
_motionInfo->setPos(coordinatesScenePos);
|
_motionInfo->setPos(coordinatesScenePos);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QGraphicsView::paintEvent(event);
|
QGraphicsView::paintEvent(event);
|
||||||
|
Loading…
Reference in New Issue
Block a user