Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
57c2506d
Commit
57c2506d
authored
Apr 15, 2015
by
dogmaphobic
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Final changes to the Primary Flight Display.
parent
207270a5
Changes
26
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
733 additions
and
328 deletions
+733
-328
qgroundcontrol.qrc
qgroundcontrol.qrc
+9
-2
OpenPilotMaps.h
src/QtLocationPlugin/OpenPilotMaps.h
+2
-0
qgeomapreplyqgc.cpp
src/QtLocationPlugin/qgeomapreplyqgc.cpp
+11
-3
qgeotiledmappingmanagerengineqgc.cpp
src/QtLocationPlugin/qgeotiledmappingmanagerengineqgc.cpp
+1
-1
FlightDisplay.qml
src/ui/flightdisplay/FlightDisplay.qml
+179
-136
QGCFlightDisplay.cc
src/ui/flightdisplay/QGCFlightDisplay.cc
+4
-2
QGCFlightDisplay.h
src/ui/flightdisplay/QGCFlightDisplay.h
+3
-0
MapDisplay.qml
src/ui/mapdisplay/MapDisplay.qml
+1
-0
QGCAltitudeWidget.qml
src/ui/qmlcommon/QGCAltitudeWidget.qml
+34
-28
QGCArtificialHorizon.qml
src/ui/qmlcommon/QGCArtificialHorizon.qml
+78
-0
QGCAttitudeInstrument.qml
src/ui/qmlcommon/QGCAttitudeInstrument.qml
+104
-0
QGCAttitudeWidget.qml
src/ui/qmlcommon/QGCAttitudeWidget.qml
+18
-61
QGCCompass.qml
src/ui/qmlcommon/QGCCompass.qml
+0
-2
QGCCompassInstrument.qml
src/ui/qmlcommon/QGCCompassInstrument.qml
+83
-0
QGCMapBackground.qml
src/ui/qmlcommon/QGCMapBackground.qml
+11
-3
QGCPitchWidget.qml
src/ui/qmlcommon/QGCPitchWidget.qml
+19
-11
QGCSpeedWidget.qml
src/ui/qmlcommon/QGCSpeedWidget.qml
+35
-30
attitudeDial.svg
src/ui/qmlcommon/attitudeDial.svg
+15
-0
attitudeInstrument.svg
src/ui/qmlcommon/attitudeInstrument.svg
+7
-0
attitudePointer.svg
src/ui/qmlcommon/attitudePointer.svg
+7
-0
buttonMore.svg
src/ui/qmlcommon/buttonMore.svg
+15
-0
compassInstrumentAirplane.svg
src/ui/qmlcommon/compassInstrumentAirplane.svg
+9
-0
compassInstrumentDial.svg
src/ui/qmlcommon/compassInstrumentDial.svg
+84
-0
qmldir
src/ui/qmlcommon/qmldir
+4
-1
rollDial.svg
src/ui/qmlcommon/rollDial.svg
+0
-32
rollPointer.svg
src/ui/qmlcommon/rollPointer.svg
+0
-16
No files found.
qgroundcontrol.qrc
View file @
57c2506d
...
@@ -100,7 +100,9 @@
...
@@ -100,7 +100,9 @@
<file alias="QGroundControl/FlightControls/qmldir">src/ui/qmlcommon/qmldir</file>
<file alias="QGroundControl/FlightControls/qmldir">src/ui/qmlcommon/qmldir</file>
<file alias="QGroundControl/FlightControls/QGCAltitudeWidget.qml">src/ui/qmlcommon/QGCAltitudeWidget.qml</file>
<file alias="QGroundControl/FlightControls/QGCAltitudeWidget.qml">src/ui/qmlcommon/QGCAltitudeWidget.qml</file>
<file alias="QGroundControl/FlightControls/QGCAttitudeWidget.qml">src/ui/qmlcommon/QGCAttitudeWidget.qml</file>
<file alias="QGroundControl/FlightControls/QGCAttitudeWidget.qml">src/ui/qmlcommon/QGCAttitudeWidget.qml</file>
<file alias="QGroundControl/FlightControls/QGCAttitudeInstrument.qml">src/ui/qmlcommon/QGCAttitudeInstrument.qml</file>
<file alias="QGroundControl/FlightControls/QGCCompass.qml">src/ui/qmlcommon/QGCCompass.qml</file>
<file alias="QGroundControl/FlightControls/QGCCompass.qml">src/ui/qmlcommon/QGCCompass.qml</file>
<file alias="QGroundControl/FlightControls/QGCCompassInstrument.qml">src/ui/qmlcommon/QGCCompassInstrument.qml</file>
<file alias="QGroundControl/FlightControls/QGCCurrentAltitude.qml">src/ui/qmlcommon/QGCCurrentAltitude.qml</file>
<file alias="QGroundControl/FlightControls/QGCCurrentAltitude.qml">src/ui/qmlcommon/QGCCurrentAltitude.qml</file>
<file alias="QGroundControl/FlightControls/QGCCurrentSpeed.qml">src/ui/qmlcommon/QGCCurrentSpeed.qml</file>
<file alias="QGroundControl/FlightControls/QGCCurrentSpeed.qml">src/ui/qmlcommon/QGCCurrentSpeed.qml</file>
<file alias="QGroundControl/FlightControls/QGCMapBackground.qml">src/ui/qmlcommon/QGCMapBackground.qml</file>
<file alias="QGroundControl/FlightControls/QGCMapBackground.qml">src/ui/qmlcommon/QGCMapBackground.qml</file>
...
@@ -109,19 +111,24 @@
...
@@ -109,19 +111,24 @@
<file alias="QGroundControl/FlightControls/QGCSlider.qml">src/ui/qmlcommon/QGCSlider.qml</file>
<file alias="QGroundControl/FlightControls/QGCSlider.qml">src/ui/qmlcommon/QGCSlider.qml</file>
<file alias="QGroundControl/FlightControls/QGCWaypointEditor.qml">src/ui/qmlcommon/QGCWaypointEditor.qml</file>
<file alias="QGroundControl/FlightControls/QGCWaypointEditor.qml">src/ui/qmlcommon/QGCWaypointEditor.qml</file>
<file alias="QGroundControl/FlightControls/QGCMapToolButton.qml">src/ui/qmlcommon/QGCMapToolButton.qml</file>
<file alias="QGroundControl/FlightControls/QGCMapToolButton.qml">src/ui/qmlcommon/QGCMapToolButton.qml</file>
<file alias="QGroundControl/FlightControls/QGCArtificialHorizon.qml">src/ui/qmlcommon/QGCArtificialHorizon.qml</file>
<!-- QML Main UI Resources -->
<!-- QML Main UI Resources -->
<file alias="compass.svg">src/ui/qmlcommon/compass.svg</file>
<file alias="compass.svg">src/ui/qmlcommon/compass.svg</file>
<file alias="compassNeedle.svg">src/ui/qmlcommon/compassNeedle.svg</file>
<file alias="compassNeedle.svg">src/ui/qmlcommon/compassNeedle.svg</file>
<file alias="crossHair.svg">src/ui/qmlcommon/crossHair.svg</file>
<file alias="crossHair.svg">src/ui/qmlcommon/crossHair.svg</file>
<file alias="rollDial.svg">src/ui/qmlcommon/rollDial.svg</file>
<file alias="rollDialWhite.svg">src/ui/qmlcommon/rollDialWhite.svg</file>
<file alias="rollDialWhite.svg">src/ui/qmlcommon/rollDialWhite.svg</file>
<file alias="rollPointer.svg">src/ui/qmlcommon/rollPointer.svg</file>
<file alias="rollPointerWhite.svg">src/ui/qmlcommon/rollPointerWhite.svg</file>
<file alias="rollPointerWhite.svg">src/ui/qmlcommon/rollPointerWhite.svg</file>
<file alias="scale.png">src/ui/qmlcommon/scale.png</file>
<file alias="scale.png">src/ui/qmlcommon/scale.png</file>
<file alias="scale_end.png">src/ui/qmlcommon/scale_end.png</file>
<file alias="scale_end.png">src/ui/qmlcommon/scale_end.png</file>
<file alias="buttonLeft.svg">src/ui/qmlcommon/buttonLeft.svg</file>
<file alias="buttonLeft.svg">src/ui/qmlcommon/buttonLeft.svg</file>
<file alias="buttonRight.svg">src/ui/qmlcommon/buttonRight.svg</file>
<file alias="buttonRight.svg">src/ui/qmlcommon/buttonRight.svg</file>
<file alias="buttonHome.svg">src/ui/qmlcommon/buttonHome.svg</file>
<file alias="buttonHome.svg">src/ui/qmlcommon/buttonHome.svg</file>
<file alias="buttonMore.svg">src/ui/qmlcommon/buttonMore.svg</file>
<file alias="attitudeInstrument.svg">src/ui/qmlcommon/attitudeInstrument.svg</file>
<file alias="attitudeDial.svg">src/ui/qmlcommon/attitudeDial.svg</file>
<file alias="attitudePointer.svg">src/ui/qmlcommon/attitudePointer.svg</file>
<file alias="compassInstrumentAirplane.svg">src/ui/qmlcommon/compassInstrumentAirplane.svg</file>
<file alias="compassInstrumentDial.svg">src/ui/qmlcommon/compassInstrumentDial.svg</file>
</qresource>
</qresource>
<qresource prefix="/AutoPilotPlugins/PX4">
<qresource prefix="/AutoPilotPlugins/PX4">
...
...
src/QtLocationPlugin/OpenPilotMaps.h
View file @
57c2506d
...
@@ -38,6 +38,8 @@ This file is part of the QGROUNDCONTROL project
...
@@ -38,6 +38,8 @@ This file is part of the QGROUNDCONTROL project
#include <QNetworkReply>
#include <QNetworkReply>
#include <QMutex>
#include <QMutex>
#define MAX_MAP_ZOOM (20.0)
namespace
OpenPilot
{
namespace
OpenPilot
{
enum
MapType
enum
MapType
...
...
src/QtLocationPlugin/qgeomapreplyqgc.cpp
View file @
57c2506d
...
@@ -53,9 +53,17 @@ QGeoMapReplyQGC::QGeoMapReplyQGC(QNetworkReply *reply, const QGeoTileSpec &spec,
...
@@ -53,9 +53,17 @@ QGeoMapReplyQGC::QGeoMapReplyQGC(QNetworkReply *reply, const QGeoTileSpec &spec,
:
QGeoTiledMapReply
(
spec
,
parent
)
:
QGeoTiledMapReply
(
spec
,
parent
)
,
m_reply
(
reply
)
,
m_reply
(
reply
)
{
{
connect
(
m_reply
,
SIGNAL
(
finished
()),
this
,
SLOT
(
networkReplyFinished
()));
if
(
!
reply
)
connect
(
m_reply
,
SIGNAL
(
error
(
QNetworkReply
::
NetworkError
)),
this
,
SLOT
(
networkReplyError
(
QNetworkReply
::
NetworkError
)));
{
connect
(
m_reply
,
SIGNAL
(
destroyed
()),
this
,
SLOT
(
replyDestroyed
()));
setError
(
QGeoTiledMapReply
::
UnknownError
,
"Invalid tile request"
);
setFinished
(
true
);
}
else
{
connect
(
m_reply
,
SIGNAL
(
finished
()),
this
,
SLOT
(
networkReplyFinished
()));
connect
(
m_reply
,
SIGNAL
(
error
(
QNetworkReply
::
NetworkError
)),
this
,
SLOT
(
networkReplyError
(
QNetworkReply
::
NetworkError
)));
connect
(
m_reply
,
SIGNAL
(
destroyed
()),
this
,
SLOT
(
replyDestroyed
()));
}
}
}
QGeoMapReplyQGC
::~
QGeoMapReplyQGC
()
QGeoMapReplyQGC
::~
QGeoMapReplyQGC
()
...
...
src/QtLocationPlugin/qgeotiledmappingmanagerengineqgc.cpp
View file @
57c2506d
...
@@ -59,7 +59,7 @@ QGeoTiledMappingManagerEngineQGC::QGeoTiledMappingManagerEngineQGC(const QVarian
...
@@ -59,7 +59,7 @@ QGeoTiledMappingManagerEngineQGC::QGeoTiledMappingManagerEngineQGC(const QVarian
{
{
QGeoCameraCapabilities
cameraCaps
;
QGeoCameraCapabilities
cameraCaps
;
cameraCaps
.
setMinimumZoomLevel
(
2.0
);
cameraCaps
.
setMinimumZoomLevel
(
2.0
);
cameraCaps
.
setMaximumZoomLevel
(
20.0
);
cameraCaps
.
setMaximumZoomLevel
(
MAX_MAP_ZOOM
);
cameraCaps
.
setSupportsBearing
(
true
);
cameraCaps
.
setSupportsBearing
(
true
);
setCameraCapabilities
(
cameraCaps
);
setCameraCapabilities
(
cameraCaps
);
...
...
src/ui/flightdisplay/FlightDisplay.qml
View file @
57c2506d
This diff is collapsed.
Click to expand it.
src/ui/flightdisplay/QGCFlightDisplay.cc
View file @
57c2506d
...
@@ -67,8 +67,8 @@ QGCFlightDisplay::QGCFlightDisplay(QWidget *parent)
...
@@ -67,8 +67,8 @@ QGCFlightDisplay::QGCFlightDisplay(QWidget *parent)
if
(
pl
)
{
if
(
pl
)
{
pl
->
setContentsMargins
(
0
,
0
,
0
,
0
);
pl
->
setContentsMargins
(
0
,
0
,
0
,
0
);
}
}
setMinimumWidth
(
27
0
);
setMinimumWidth
(
38
0
);
setMinimumHeight
(
3
0
0
);
setMinimumHeight
(
3
6
0
);
setContextPropertyObject
(
"flightDisplay"
,
this
);
setContextPropertyObject
(
"flightDisplay"
,
this
);
setSource
(
QUrl
::
fromUserInput
(
"qrc:/qml/FlightDisplay.qml"
));
setSource
(
QUrl
::
fromUserInput
(
"qrc:/qml/FlightDisplay.qml"
));
setVisible
(
true
);
setVisible
(
true
);
...
@@ -114,6 +114,7 @@ void QGCFlightDisplay::_forgetUAS(UASInterface* uas)
...
@@ -114,6 +114,7 @@ void QGCFlightDisplay::_forgetUAS(UASInterface* uas)
disconnect
(
_mav
,
&
UASInterface
::
NavigationControllerDataChanged
,
this
,
&
QGCFlightDisplay
::
_updateNavigationControllerData
);
disconnect
(
_mav
,
&
UASInterface
::
NavigationControllerDataChanged
,
this
,
&
QGCFlightDisplay
::
_updateNavigationControllerData
);
}
}
_mav
=
NULL
;
_mav
=
NULL
;
emit
mavPresentChanged
();
}
}
void
QGCFlightDisplay
::
_setActiveUAS
(
UASInterface
*
uas
)
void
QGCFlightDisplay
::
_setActiveUAS
(
UASInterface
*
uas
)
...
@@ -136,6 +137,7 @@ void QGCFlightDisplay::_setActiveUAS(UASInterface* uas)
...
@@ -136,6 +137,7 @@ void QGCFlightDisplay::_setActiveUAS(UASInterface* uas)
// Set new UAS
// Set new UAS
_mav
=
uas
;
_mav
=
uas
;
}
}
emit
mavPresentChanged
();
}
}
void
QGCFlightDisplay
::
_updateAttitude
(
UASInterface
*
,
double
roll
,
double
pitch
,
double
yaw
,
quint64
)
void
QGCFlightDisplay
::
_updateAttitude
(
UASInterface
*
,
double
roll
,
double
pitch
,
double
yaw
,
quint64
)
...
...
src/ui/flightdisplay/QGCFlightDisplay.h
View file @
57c2506d
...
@@ -53,6 +53,7 @@ public:
...
@@ -53,6 +53,7 @@ public:
Q_PROPERTY
(
bool
repaintRequested
READ
repaintRequested
NOTIFY
repaintRequestedChanged
)
Q_PROPERTY
(
bool
repaintRequested
READ
repaintRequested
NOTIFY
repaintRequestedChanged
)
Q_PROPERTY
(
float
latitude
READ
latitude
NOTIFY
latitudeChanged
)
Q_PROPERTY
(
float
latitude
READ
latitude
NOTIFY
latitudeChanged
)
Q_PROPERTY
(
float
longitude
READ
longitude
NOTIFY
longitudeChanged
)
Q_PROPERTY
(
float
longitude
READ
longitude
NOTIFY
longitudeChanged
)
Q_PROPERTY
(
bool
mavPresent
READ
mavPresent
NOTIFY
mavPresentChanged
)
Q_INVOKABLE
void
saveSetting
(
const
QString
&
key
,
const
QString
&
value
);
Q_INVOKABLE
void
saveSetting
(
const
QString
&
key
,
const
QString
&
value
);
Q_INVOKABLE
QString
loadSetting
(
const
QString
&
key
,
const
QString
&
defaultValue
);
Q_INVOKABLE
QString
loadSetting
(
const
QString
&
key
,
const
QString
&
defaultValue
);
...
@@ -69,6 +70,7 @@ public:
...
@@ -69,6 +70,7 @@ public:
float
latitude
()
{
return
_latitude
;
}
float
latitude
()
{
return
_latitude
;
}
float
longitude
()
{
return
_longitude
;
}
float
longitude
()
{
return
_longitude
;
}
bool
repaintRequested
()
{
return
true
;
}
bool
repaintRequested
()
{
return
true
;
}
bool
mavPresent
()
{
return
_mav
!=
NULL
;
}
/** @brief Start updating widget */
/** @brief Start updating widget */
void
showEvent
(
QShowEvent
*
event
);
void
showEvent
(
QShowEvent
*
event
);
...
@@ -88,6 +90,7 @@ signals:
...
@@ -88,6 +90,7 @@ signals:
void
repaintRequestedChanged
();
void
repaintRequestedChanged
();
void
latitudeChanged
();
void
latitudeChanged
();
void
longitudeChanged
();
void
longitudeChanged
();
void
mavPresentChanged
();
private
slots
:
private
slots
:
/** @brief Attitude from main autopilot / system state */
/** @brief Attitude from main autopilot / system state */
...
...
src/ui/mapdisplay/MapDisplay.qml
View file @
57c2506d
...
@@ -33,6 +33,7 @@ import QtQuick.Controls.Styles 1.2
...
@@ -33,6 +33,7 @@ import QtQuick.Controls.Styles 1.2
import
QtQuick
.
Layouts
1.1
import
QtQuick
.
Layouts
1.1
import
QGroundControl
.
Palette
1.0
import
QGroundControl
.
Palette
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
FlightControls
1.0
import
QGroundControl
.
FlightControls
1.0
Rectangle
{
Rectangle
{
...
...
src/ui/qmlcommon/QGCAltitudeWidget.qml
View file @
57c2506d
...
@@ -63,9 +63,7 @@ Rectangle {
...
@@ -63,9 +63,7 @@ Rectangle {
}
}
anchors
.
verticalCenter
:
parent
.
verticalCenter
anchors
.
verticalCenter
:
parent
.
verticalCenter
height
:
parent
.
height
*
0.65
>
280
?
280
:
parent
.
height
*
0.65
height
:
parent
.
height
*
0.75
>
280
?
280
:
parent
.
height
*
0.75
clip
:
true
smooth
:
true
smooth
:
true
radius
:
5
radius
:
5
border
.
color
:
Qt
.
rgba
(
1
,
1
,
1
,
0.25
)
border
.
color
:
Qt
.
rgba
(
1
,
1
,
1
,
0.25
)
...
@@ -74,34 +72,42 @@ Rectangle {
...
@@ -74,34 +72,42 @@ Rectangle {
GradientStop
{
position
:
0.5
;
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0.25
)
}
GradientStop
{
position
:
0.5
;
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0.25
)
}
GradientStop
{
position
:
1.0
;
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0.65
)
}
GradientStop
{
position
:
1.0
;
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0.65
)
}
}
}
Column
{
Rectangle
{
id
:
col
id
:
clipRect
width
:
parent
.
width
height
:
parent
.
height
-
5
width
:
parent
.
width
clip
:
true
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0
);
anchors.verticalCenter
:
parent
.
verticalCenter
anchors.verticalCenter
:
parent
.
verticalCenter
spacing
:
_reticleSpacing
Column
{
Repeater
{
id
:
col
model
:
_speedArray
width
:
parent
.
width
anchors.left
:
parent
.
left
anchors.verticalCenter
:
parent
.
verticalCenter
Rectangle
{
spacing
:
_reticleSpacing
property
int
_alt
:
modelData
Repeater
{
width
:
(
_alt
%
10
===
0
)
?
10
:
15
model
:
_speedArray
height
:
_reticleHeight
anchors.left
:
parent
.
left
color
:
Qt
.
rgba
(
1
,
1
,
1
,
0.35
)
Rectangle
{
Text
{
property
int
_alt
:
modelData
visible
:
(
_alt
%
10
===
0
)
width
:
(
_alt
%
10
===
0
)
?
10
:
15
x
:
20
height
:
_reticleHeight
anchors.verticalCenter
:
parent
.
verticalCenter
color
:
Qt
.
rgba
(
1
,
1
,
1
,
0.35
)
antialiasing
:
true
Text
{
font.weight
:
Font
.
DemiBold
visible
:
(
_alt
%
10
===
0
)
text
:
_alt
x
:
20
color
:
_alt
<
0
?
"
#f8983a
"
:
"
white
"
anchors.verticalCenter
:
parent
.
verticalCenter
style
:
Text
.
Outline
antialiasing
:
true
styleColor
:
Qt
.
rgba
(
0
,
0
,
0
,
0.25
)
font.weight
:
Font
.
DemiBold
text
:
_alt
color
:
_alt
<
0
?
"
#f8983a
"
:
"
white
"
style
:
Text
.
Outline
styleColor
:
Qt
.
rgba
(
0
,
0
,
0
,
0.25
)
}
}
}
}
}
}
transform
:
Translate
{
transform
:
Translate
{
y
:
((
altitude
-
_currentCenter
)
*
_reticleSlot
/
5
)
-
(
_reticleSlot
/
2
)
y
:
((
altitude
-
_currentCenter
)
*
_reticleSlot
/
5
)
-
(
_reticleSlot
/
2
)
}
}
}
}
}
}
}
src/ui/qmlcommon/QGCArtificialHorizon.qml
0 → 100644
View file @
57c2506d
/*=====================================================================
QGroundControl Open Source Ground Control Station
(c) 2009, 2015 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
This file is part of the QGROUNDCONTROL project
QGROUNDCONTROL is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
QGROUNDCONTROL is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
======================================================================*/
/**
* @file
* @brief QGC Artificial Horizon
* @author Gus Grubba <mavlink@grubba.com>
*/
import
QtQuick
2.4
Item
{
id
:
root
property
real
rollAngle
:
0
property
real
pitchAngle
:
0
clip
:
true
anchors.fill
:
parent
Item
{
id
:
artificialHorizon
width
:
root
.
width
*
4
height
:
root
.
height
*
4
anchors.centerIn
:
parent
Rectangle
{
id
:
sky
anchors.fill
:
parent
smooth
:
true
antialiasing
:
true
gradient
:
Gradient
{
GradientStop
{
position
:
0.25
;
color
:
Qt
.
hsla
(
0.6
,
1.0
,
0.25
)
}
GradientStop
{
position
:
0.5
;
color
:
Qt
.
hsla
(
0.6
,
0.5
,
0.55
)
}
}
}
Rectangle
{
id
:
ground
height
:
sky
.
height
/
2
anchors
{
left
:
sky
.
left
;
right
:
sky
.
right
;
bottom
:
sky
.
bottom
}
smooth
:
true
antialiasing
:
true
gradient
:
Gradient
{
GradientStop
{
position
:
0.0
;
color
:
Qt
.
hsla
(
0.25
,
0.5
,
0.45
)
}
GradientStop
{
position
:
0.25
;
color
:
Qt
.
hsla
(
0.25
,
0.75
,
0.25
)
}
}
}
transform
:
[
Translate
{
y
:
root
.
visible
?
pitchAngle
*
4
:
0
},
Rotation
{
origin.x
:
artificialHorizon
.
width
/
2
origin.y
:
artificialHorizon
.
height
/
2
angle
:
root
.
visible
?
-
rollAngle
:
0
}]
}
}
src/ui/qmlcommon/QGCAttitudeInstrument.qml
0 → 100644
View file @
57c2506d
/*=====================================================================
QGroundControl Open Source Ground Control Station
(c) 2009, 2015 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
This file is part of the QGROUNDCONTROL project
QGROUNDCONTROL is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
QGROUNDCONTROL is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
======================================================================*/
/**
* @file
* @brief QGC Attitude Instrument
* @author Gus Grubba <mavlink@grubba.com>
*/
import
QtQuick
2.4
Item
{
id
:
root
property
real
rollAngle
:
0
property
real
pitchAngle
:
0
property
real
size
:
100
width
:
size
height
:
size
//----------------------------------------------------
//-- Artificial Horizon
QGCArtificialHorizon
{
rollAngle
:
root
.
rollAngle
pitchAngle
:
root
.
pitchAngle
}
//----------------------------------------------------
//-- Pointer
Image
{
id
:
pointer
source
:
"
/qml/attitudePointer.svg
"
width
:
root
.
width
mipmap
:
true
fillMode
:
Image
.
PreserveAspectFit
anchors.bottom
:
parent
.
bottom
anchors.horizontalCenter
:
parent
.
horizontalCenter
}
//----------------------------------------------------
//-- Instrument Dial
Image
{
id
:
instrumentDial
source
:
"
/qml/attitudeDial.svg
"
mipmap
:
true
width
:
root
.
width
fillMode
:
Image
.
PreserveAspectFit
anchors.bottom
:
parent
.
bottom
anchors.horizontalCenter
:
parent
.
horizontalCenter
transform
:
Rotation
{
origin.x
:
root
.
width
/
2
origin.y
:
root
.
height
/
2
angle
:
-
rollAngle
}
}
//----------------------------------------------------
//-- Pitch
QGCPitchWidget
{
id
:
pitchWidget
size
:
parent
.
width
*
0.65
anchors.verticalCenter
:
parent
.
verticalCenter
pitchAngle
:
root
.
pitchAngle
rollAngle
:
root
.
rollAngle
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0
)
}
//----------------------------------------------------
//-- Cross Hair
Image
{
id
:
crossHair
anchors.centerIn
:
parent
source
:
"
/qml/crossHair.svg
"
mipmap
:
true
width
:
parent
.
width
*
0.75
fillMode
:
Image
.
PreserveAspectFit
}
//----------------------------------------------------
//-- Instrument Pannel
Image
{
id
:
pannel
width
:
parent
.
width
source
:
"
/qml/attitudeInstrument.svg
"
mipmap
:
true
fillMode
:
Image
.
PreserveAspectFit
anchors.centerIn
:
parent
}
}
src/ui/qmlcommon/QGCAttitudeWidget.qml
View file @
57c2506d
...
@@ -23,7 +23,7 @@ This file is part of the QGROUNDCONTROL project
...
@@ -23,7 +23,7 @@ This file is part of the QGROUNDCONTROL project
/**
/**
* @file
* @file
* @brief QGC
Main Flight Display
* @brief QGC
Attitude Widget
* @author Gus Grubba <mavlink@grubba.com>
* @author Gus Grubba <mavlink@grubba.com>
*/
*/
...
@@ -33,86 +33,43 @@ Item {
...
@@ -33,86 +33,43 @@ Item {
id
:
root
id
:
root
property
real
rollAngle
:
0
property
real
rollAngle
:
0
property
real
pitchAngle
:
0
property
real
pitchAngle
:
0
property
real
backgroundOpacity
:
1
property
bool
displayBackground
:
true
property
bool
useWhite
:
true
anchors.fill
:
parent
anchors.fill
:
parent
Item
{
QGCArtificialHorizon
{
id
:
background
rollAngle
:
root
.
rollAngle
width
:
parent
.
width
*
4
pitchAngle
:
root
.
pitchAngle
height
:
parent
.
height
*
4
anchors.centerIn
:
parent
Rectangle
{
anchors.fill
:
parent
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0
)
visible
:
displayBackground
Rectangle
{
id
:
sky
visible
:
displayBackground
anchors.fill
:
parent
smooth
:
true
antialiasing
:
true
gradient
:
Gradient
{
GradientStop
{
position
:
0.25
;
color
:
Qt
.
hsla
(
0.6
,
1.0
,
0.25
,
backgroundOpacity
)
}
GradientStop
{
position
:
0.5
;
color
:
Qt
.
hsla
(
0.6
,
0.5
,
0.75
,
backgroundOpacity
)
}
}
}
Rectangle
{
id
:
ground
visible
:
displayBackground
height
:
sky
.
height
/
2
anchors
{
left
:
sky
.
left
;
right
:
sky
.
right
;
bottom
:
sky
.
bottom
}
smooth
:
true
antialiasing
:
true
gradient
:
Gradient
{
GradientStop
{
position
:
0.0
;
color
:
Qt
.
hsla
(
0.25
,
0.5
,
0.45
,
backgroundOpacity
)
}
GradientStop
{
position
:
0.25
;
color
:
Qt
.
hsla
(
0.25
,
0.75
,
0.25
,
backgroundOpacity
)
}
}
}
transform
:
[
Translate
{
y
:
(
root
.
visible
&&
root
.
displayBackground
)
?
pitchAngle
*
4
:
0
},
Rotation
{
origin.x
:
background
.
width
/
2
origin.y
:
background
.
height
/
2
angle
:
(
root
.
visible
&&
root
.
displayBackground
)
?
-
rollAngle
:
0
}]
}
}
}
Image
{
Image
{
id
:
rollDial
id
:
rollDial
anchors
{
bottom
:
root
.
verticalCenter
;
horizontalCenter
:
parent
.
horizontalCenter
}
anchors
{
bottom
:
root
.
verticalCenter
;
horizontalCenter
:
parent
.
horizontalCenter
}
source
:
useWhite
?
"
/qml/rollDialWhite.svg
"
:
"
/qml/rollDial
.svg
"
source
:
"
/qml/rollDialWhite
.svg
"
mipmap
:
true
mipmap
:
true
width
:
260
width
:
260
fillMode
:
Image
.
PreserveAspectFit
fillMode
:
Image
.
PreserveAspectFit
transform
:
Rotation
{
transform
:
Rotation
{
origin.x
:
rollDial
.
width
/
2
origin.x
:
rollDial
.
width
/
2
origin.y
:
rollDial
.
height
origin.y
:
rollDial
.
height
angle
:
-
rollAngle
angle
:
-
rollAngle
}
}
}
}
Image
{
Image
{
id
:
pointer
id
:
pointer
anchors
{
bottom
:
root
.
verticalCenter
;
horizontalCenter
:
parent
.
horizontalCenter
}
anchors
{
bottom
:
root
.
verticalCenter
;
horizontalCenter
:
parent
.
horizontalCenter
}
source
:
useWhite
?
"
/qml/rollPointerWhite.svg
"
:
"
/qml/rollPointer
.svg
"
source
:
"
/qml/rollPointerWhite
.svg
"
smooth
:
true
mipmap
:
true
width
:
rollDial
.
width
width
:
rollDial
.
width
fillMode
:
Image
.
PreserveAspectFit
fillMode
:
Image
.
PreserveAspectFit
}
}
Image
{
id
:
crossHair
anchors.centerIn
:
parent
source
:
"
/qml/crossHair.svg
"
mipmap
:
true
width
:
260
fillMode
:
Image
.
PreserveAspectFit
}
}
}
src/ui/qmlcommon/QGCCompass.qml
View file @
57c2506d
...
@@ -31,8 +31,6 @@ import QtQuick 2.4
...
@@ -31,8 +31,6 @@ import QtQuick 2.4
Item
{
Item
{
id
:
root
id
:
root
width
:
120
height
:
width
property
real
heading
:
0
property
real
heading
:
0
Image
{
Image
{
id
:
compass
id
:
compass
...
...
src/ui/qmlcommon/QGCCompassInstrument.qml
0 → 100644
View file @
57c2506d
/*=====================================================================
QGroundControl Open Source Ground Control Station
(c) 2009, 2015 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
This file is part of the QGROUNDCONTROL project
QGROUNDCONTROL is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
QGROUNDCONTROL is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
======================================================================*/
/**
* @file
* @brief QGC Compass
* @author Gus Grubba <mavlink@grubba.com>
*/
import
QtQuick
2.4
import
QGroundControl
.
ScreenTools
1.0
Item
{
property
ScreenTools
screenTools
:
ScreenTools
{
}
id
:
root
property
real
heading
:
0
property
real
size
:
120
property
real
_fontSize
:
screenTools
.
dpiAdjustedPointSize
(
size
*
12
/
120
)
width
:
size
height
:
size
Rectangle
{
id
:
compassBack
anchors.fill
:
parent
color
:
"
#212121
"
}
Image
{
id
:
pointer
source
:
"
/qml/compassInstrumentAirplane.svg
"
mipmap
:
true
width
:
root
.
width
*
0.75
fillMode
:
Image
.
PreserveAspectFit
anchors.centerIn
:
parent
transform
:
Rotation
{
origin.x
:
pointer
.
width
/
2
origin.y
:
pointer
.
height
/
2
angle
:
-
heading
}
}
Image
{
id
:
compassDial
source
:
"
/qml/compassInstrumentDial.svg
"
mipmap
:
true
width
:
root
.
width
fillMode
:
Image
.
PreserveAspectFit
anchors.centerIn
:
parent
}
Rectangle
{
anchors.centerIn
:
root
width
:
size
*
0.35
height
:
size
*
0.2
border.color
:
Qt
.
rgba
(
1
,
1
,
1
,
0.15
)
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0.65
)
Text
{
text
:
heading
.
toFixed
(
0
)
font.weight
:
Font
.
DemiBold
font.pointSize
:
_fontSize
<
1
?
1
:
_fontSize
;
color
:
"
white
"
anchors.centerIn
:
parent
}
}
}
src/ui/qmlcommon/QGCMapBackground.qml
View file @
57c2506d
...
@@ -37,9 +37,10 @@ Rectangle {
...
@@ -37,9 +37,10 @@ Rectangle {
id
:
root
id
:
root
property
real
latitude
:
37.803784
property
real
latitude
:
37.803784
property
real
longitude
:
-
122.462276
property
real
longitude
:
-
122.462276
property
real
zoomLevel
:
1
5
property
real
zoomLevel
:
1
8
property
real
heading
:
0
property
real
heading
:
0
property
bool
alwaysNorth
:
true
property
bool
alwaysNorth
:
true
property
bool
interactive
:
true
property
alias
mapItem
:
map
property
alias
mapItem
:
map
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0
)
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0
)
...
@@ -95,8 +96,11 @@ Rectangle {
...
@@ -95,8 +96,11 @@ Rectangle {
height
:
1
height
:
1
zoomLevel
:
root
.
zoomLevel
zoomLevel
:
root
.
zoomLevel
anchors.centerIn
:
parent
anchors.centerIn
:
parent
center
:
map
.
visible
?
QtPositioning
.
coordinate
(
lat
,
lon
)
:
QtPositioning
.
coordinate
(
0
,
0
)
center
:
QtPositioning
.
coordinate
(
lat
,
lon
)
/*
/*
// There is a bug currently in Qt where it fails to render a map taller than 6 tiles high. Until
// that's fixed, we can't rotate the map as it would require a larger map, which can easely grow
// larger than 6 tiles high.
transform: Rotation {
transform: Rotation {
origin.x: map.width / 2
origin.x: map.width / 2
origin.y: map.height / 2
origin.y: map.height / 2
...
@@ -104,7 +108,7 @@ Rectangle {
...
@@ -104,7 +108,7 @@ Rectangle {
}
}
*/
*/
gesture.flickDeceleration
:
3000
gesture.flickDeceleration
:
3000
gesture.enabled
:
tru
e
gesture.enabled
:
root
.
interactiv
e
onWidthChanged
:
{
onWidthChanged
:
{
scaleTimer
.
restart
()
scaleTimer
.
restart
()
...
@@ -118,6 +122,10 @@ Rectangle {
...
@@ -118,6 +122,10 @@ Rectangle {
scaleTimer
.
restart
()
scaleTimer
.
restart
()
}
}
Component.onCompleted
:
{
map
.
zoomLevel
=
18
}
function
calculateScale
()
{
function
calculateScale
()
{
var
coord1
,
coord2
,
dist
,
text
,
f
var
coord1
,
coord2
,
dist
,
text
,
f
f
=
0
f
=
0
...
...
src/ui/qmlcommon/QGCPitchWidget.qml
View file @
57c2506d
...
@@ -28,15 +28,21 @@ This file is part of the QGROUNDCONTROL project
...
@@ -28,15 +28,21 @@ This file is part of the QGROUNDCONTROL project
*/
*/
import
QtQuick
2.1
import
QtQuick
2.1
import
QGroundControl
.
ScreenTools
1.0
Rectangle
{
Rectangle
{
property
real
pitchAngle
:
0
property
ScreenTools
screenTools
:
ScreenTools
{
}
property
real
rollAngle
:
0
property
real
pitchAngle
:
0
property
real
_reticleHeight
:
1
property
real
rollAngle
:
0
property
real
_reticleSpacing
:
17
property
real
size
:
120
property
real
_reticleSlot
:
_reticleSpacing
+
_reticleHeight
property
real
_reticleHeight
:
1
height
:
110
property
real
_reticleSpacing
:
size
*
0.15
width
:
120
property
real
_reticleSlot
:
_reticleSpacing
+
_reticleHeight
property
real
_longDash
:
size
*
0.40
property
real
_shortDash
:
size
*
0.25
property
real
_fontSize
:
screenTools
.
dpiAdjustedPointSize
(
size
*
11
/
120
);
height
:
size
*
0.9
width
:
size
radius
:
8
radius
:
8
anchors.horizontalCenter
:
parent
.
horizontalCenter
anchors.horizontalCenter
:
parent
.
horizontalCenter
anchors.verticalCenter
:
parent
.
verticalCenter
anchors.verticalCenter
:
parent
.
verticalCenter
...
@@ -53,27 +59,29 @@ Rectangle {
...
@@ -53,27 +59,29 @@ Rectangle {
Rectangle
{
Rectangle
{
property
int
_pitch
:
-
(
modelData
*
5
-
90
)
property
int
_pitch
:
-
(
modelData
*
5
-
90
)
anchors.horizontalCenter
:
parent
.
horizontalCenter
anchors.horizontalCenter
:
parent
.
horizontalCenter
width
:
(
_pitch
%
10
)
===
0
?
50
:
30
width
:
(
_pitch
%
10
)
===
0
?
_longDash
:
_shortDash
height
:
_reticleHeight
height
:
_reticleHeight
color
:
"
white
"
color
:
"
white
"
antialiasing
:
true
antialiasing
:
true
smooth
:
true
smooth
:
true
Text
{
Text
{
anchors.horizontalCenter
:
parent
.
horizontalCenter
anchors.horizontalCenter
:
parent
.
horizontalCenter
anchors.horizontalCenterOffset
:
-
40
anchors.horizontalCenterOffset
:
-
(
_longDash
*
0.8
)
anchors.verticalCenter
:
parent
.
verticalCenter
anchors.verticalCenter
:
parent
.
verticalCenter
smooth
:
true
smooth
:
true
font.weight
:
Font
.
DemiBold
font.weight
:
Font
.
DemiBold
font.pointSize
:
_fontSize
<
1
?
1
:
_fontSize
;
text
:
_pitch
text
:
_pitch
color
:
"
white
"
color
:
"
white
"
visible
:
(
_pitch
!=
0
)
&&
((
_pitch
%
10
)
===
0
)
visible
:
(
_pitch
!=
0
)
&&
((
_pitch
%
10
)
===
0
)
}
}
Text
{
Text
{
anchors.horizontalCenter
:
parent
.
horizontalCenter
anchors.horizontalCenter
:
parent
.
horizontalCenter
anchors.horizontalCenterOffset
:
40
anchors.horizontalCenterOffset
:
(
_longDash
*
0.8
)
anchors.verticalCenter
:
parent
.
verticalCenter
anchors.verticalCenter
:
parent
.
verticalCenter
smooth
:
true
smooth
:
true
font.weight
:
Font
.
DemiBold
font.weight
:
Font
.
DemiBold
font.pointSize
:
_fontSize
<
1
?
1
:
_fontSize
;
text
:
_pitch
text
:
_pitch
color
:
"
white
"
color
:
"
white
"
visible
:
(
_pitch
!=
0
)
&&
((
_pitch
%
10
)
===
0
)
visible
:
(
_pitch
!=
0
)
&&
((
_pitch
%
10
)
===
0
)
...
@@ -87,7 +95,7 @@ Rectangle {
...
@@ -87,7 +95,7 @@ Rectangle {
}
}
transform
:
[
transform
:
[
Rotation
{
Rotation
{
origin.x
:
width
/
2
origin.x
:
width
/
2
origin.y
:
height
/
2
origin.y
:
height
/
2
angle
:
-
rollAngle
angle
:
-
rollAngle
}
}
...
...
src/ui/qmlcommon/QGCSpeedWidget.qml
View file @
57c2506d
...
@@ -37,12 +37,9 @@ Rectangle {
...
@@ -37,12 +37,9 @@ Rectangle {
property
real
_reticleSpacing
:
10
property
real
_reticleSpacing
:
10
property
real
_reticleHeight
:
2
property
real
_reticleHeight
:
2
property
real
_reticleSlot
:
_reticleSpacing
+
_reticleHeight
property
real
_reticleSlot
:
_reticleSpacing
+
_reticleHeight
anchors.verticalCenter
:
parent
.
verticalCenter
anchors.verticalCenter
:
parent
.
verticalCenter
z
:
10
z
:
10
height
:
parent
.
height
*
0.75
>
280
?
280
:
parent
.
height
*
0.75
height
:
parent
.
height
*
0.65
>
280
?
280
:
parent
.
height
*
0.65
clip
:
true
smooth
:
true
smooth
:
true
radius
:
5
radius
:
5
border.color
:
Qt
.
rgba
(
1
,
1
,
1
,
0.25
)
border.color
:
Qt
.
rgba
(
1
,
1
,
1
,
0.25
)
...
@@ -51,35 +48,43 @@ Rectangle {
...
@@ -51,35 +48,43 @@ Rectangle {
GradientStop
{
position
:
0.5
;
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0.25
)
}
GradientStop
{
position
:
0.5
;
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0.25
)
}
GradientStop
{
position
:
1.0
;
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0.65
)
}
GradientStop
{
position
:
1.0
;
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0.65
)
}
}
}
Column
{
Rectangle
{
id
:
col
id
:
clipRect
width
:
parent
.
width
height
:
parent
.
height
-
5
width
:
parent
.
width
clip
:
true
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0
);
anchors.verticalCenter
:
parent
.
verticalCenter
anchors.verticalCenter
:
parent
.
verticalCenter
spacing
:
_reticleSpacing
Column
{
Repeater
{
id
:
col
model
:
40
width
:
parent
.
width
Rectangle
{
anchors.verticalCenter
:
parent
.
verticalCenter
property
int
_speed
:
-
(
index
-
20
)
spacing
:
_reticleSpacing
width
:
(
_speed
%
5
===
0
)
?
10
:
15
Repeater
{
anchors.right
:
parent
.
right
model
:
40
height
:
_reticleHeight
Rectangle
{
color
:
Qt
.
rgba
(
1
,
1
,
1
,
0.35
)
property
int
_speed
:
-
(
index
-
20
)
Text
{
width
:
(
_speed
%
5
===
0
)
?
10
:
15
visible
:
(
_speed
%
5
===
0
)
anchors.right
:
parent
.
right
anchors.horizontalCenter
:
parent
.
horizontalCenter
height
:
_reticleHeight
anchors.horizontalCenterOffset
:
-
30
color
:
Qt
.
rgba
(
1
,
1
,
1
,
0.35
)
anchors.verticalCenter
:
parent
.
verticalCenter
Text
{
antialiasing
:
true
visible
:
(
_speed
%
5
===
0
)
font.weight
:
Font
.
DemiBold
anchors.horizontalCenter
:
parent
.
horizontalCenter
text
:
_speed
anchors.horizontalCenterOffset
:
-
30
color
:
_speed
<
0
?
"
#f8983a
"
:
"
white
"
anchors.verticalCenter
:
parent
.
verticalCenter
style
:
Text
.
Outline
antialiasing
:
true
styleColor
:
Qt
.
rgba
(
0
,
0
,
0
,
0.25
)
font.weight
:
Font
.
DemiBold
text
:
_speed
color
:
_speed
<
0
?
"
#f8983a
"
:
"
white
"
style
:
Text
.
Outline
styleColor
:
Qt
.
rgba
(
0
,
0
,
0
,
0.25
)
}
}
}
}
}
}
transform
:
Translate
{
transform
:
Translate
{
y
:
(
speed
*
_reticleSlot
)
-
(
_reticleSlot
/
2
)
y
:
(
speed
*
_reticleSlot
)
-
(
_reticleSlot
/
2
)
}
}
}
}
}
}
}
src/ui/qmlcommon/attitudeDial.svg
0 → 100644
View file @
57c2506d
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"Layer_2"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"0 0 288 288"
enable-background=
"new 0 0 288 288"
xml:space=
"preserve"
>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"4"
x1=
"143.999"
y1=
"36.793"
x2=
"143.999"
y2=
"18.793"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"4"
x1=
"171.739"
y1=
"40.458"
x2=
"176.398"
y2=
"23.072"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"4"
x1=
"197.586"
y1=
"51.179"
x2=
"206.586"
y2=
"35.591"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"4"
x1=
"219.777"
y1=
"68.224"
x2=
"232.505"
y2=
"55.496"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"4"
x1=
"236.801"
y1=
"90.432"
x2=
"252.389"
y2=
"81.432"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"4"
x1=
"116.254"
y1=
"40.431"
x2=
"111.596"
y2=
"23.045"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"4"
x1=
"90.397"
y1=
"51.127"
x2=
"81.397"
y2=
"35.539"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"4"
x1=
"68.189"
y1=
"68.151"
x2=
"55.461"
y2=
"55.423"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"4"
x1=
"51.144"
y1=
"90.342"
x2=
"35.556"
y2=
"81.342"
/>
<rect
x=
"135"
y=
"270"
fill=
"none"
width=
"18"
height=
"18"
/>
</svg>
src/ui/qmlcommon/attitudeInstrument.svg
0 → 100644
View file @
57c2506d
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"Layer_4"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"0 0 288 288"
enable-background=
"new 0 0 288 288"
xml:space=
"preserve"
>
<path
fill=
"#333333"
d=
"M0-0.002v288h288v-288H0z M144,270c-69.588,0-126-56.412-126-126S74.412,18,144,18s126,56.412,126,126
S213.588,270,144,270z"
/>
</svg>
src/ui/qmlcommon/attitudePointer.svg
0 → 100644
View file @
57c2506d
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"Layer_3"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"0 0 288 288"
enable-background=
"new 0 0 288 288"
xml:space=
"preserve"
>
<polygon
fill=
"#ED1C24"
points=
"144,46.2 133.2,17.4 154.8,17.4 "
/>
<rect
x=
"135"
y=
"270"
fill=
"none"
width=
"18"
height=
"18"
/>
</svg>
src/ui/qmlcommon/buttonMore.svg
0 → 100644
View file @
57c2506d
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"0 0 288 288"
enable-background=
"new 0 0 288 288"
xml:space=
"preserve"
>
<g
id=
"Layer_1"
>
<g>
<path
fill=
"#212121"
d=
"M288,270c0,9.9-8.1,18-18,18H18c-9.9,0-18-8.1-18-18V18C0,8.1,8.1,0,18,0h252c9.9,0,18,8.1,18,18V270z"
/>
</g>
</g>
<g
id=
"Layer_2"
>
<line
fill=
"none"
stroke=
"#939598"
stroke-width=
"24"
stroke-miterlimit=
"10"
x1=
"36"
y1=
"77.79"
x2=
"252"
y2=
"77.79"
/>
<line
fill=
"none"
stroke=
"#939598"
stroke-width=
"24"
stroke-miterlimit=
"10"
x1=
"36"
y1=
"144"
x2=
"252"
y2=
"144"
/>
<line
fill=
"none"
stroke=
"#939598"
stroke-width=
"24"
stroke-miterlimit=
"10"
x1=
"36"
y1=
"210.21"
x2=
"252"
y2=
"210.21"
/>
</g>
</svg>
src/ui/qmlcommon/compassInstrumentAirplane.svg
0 → 100644
View file @
57c2506d
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"Layer_3"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"0 0 288 288"
enable-background=
"new 0 0 288 288"
xml:space=
"preserve"
>
<polyline
fill=
"#231F20"
stroke=
"#D23528"
stroke-width=
"4"
stroke-linecap=
"round"
stroke-linejoin=
"round"
points=
"
143.993,240.123 96.979,252 96.979,240.123 132.116,209.225 126.901,148.952 54.153,175.072 54.153,152.091 126.901,100.885
126.901,75.203 143.993,36 144.007,36 161.099,75.203 161.099,100.885 233.847,152.091 233.847,175.072 161.099,148.952
155.884,209.225 191.021,240.123 191.021,252 144.007,240.123 "
/>
</svg>
src/ui/qmlcommon/compassInstrumentDial.svg
0 → 100644
View file @
57c2506d
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"Layer_2"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"0 0 288 288"
enable-background=
"new 0 0 288 288"
xml:space=
"preserve"
>
<circle
opacity=
"0.15"
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"3"
stroke-miterlimit=
"10"
cx=
"144"
cy=
"144"
r=
"126"
/>
<circle
fill=
"none"
cx=
"144"
cy=
"144"
r=
"124.342"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"2"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"144"
y1=
"21.684"
x2=
"144"
y2=
"41.579"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"2"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"82.842"
y1=
"38.071"
x2=
"92.789"
y2=
"55.301"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"2"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"38.071"
y1=
"82.842"
x2=
"55.301"
y2=
"92.789"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"2"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"21.684"
y1=
"144"
x2=
"41.579"
y2=
"144"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"2"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"38.071"
y1=
"205.158"
x2=
"55.301"
y2=
"195.211"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"2"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"82.842"
y1=
"249.929"
x2=
"92.789"
y2=
"232.699"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"2"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"144"
y1=
"266.316"
x2=
"144"
y2=
"246.421"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"2"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"205.158"
y1=
"249.929"
x2=
"195.211"
y2=
"232.699"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"2"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"249.929"
y1=
"205.158"
x2=
"232.699"
y2=
"195.211"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"2"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"266.316"
y1=
"144"
x2=
"246.421"
y2=
"144"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"2"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"249.929"
y1=
"82.842"
x2=
"232.699"
y2=
"92.789"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"2"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"205.158"
y1=
"38.071"
x2=
"195.211"
y2=
"55.301"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"144"
y1=
"21.684"
x2=
"144"
y2=
"34.496"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"122.76"
y1=
"23.542"
x2=
"124.985"
y2=
"36.159"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"102.166"
y1=
"29.061"
x2=
"106.547"
y2=
"41.1"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"82.842"
y1=
"38.071"
x2=
"89.248"
y2=
"49.167"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"65.377"
y1=
"50.301"
x2=
"73.612"
y2=
"60.115"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"50.301"
y1=
"65.377"
x2=
"60.115"
y2=
"73.612"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"38.071"
y1=
"82.842"
x2=
"49.167"
y2=
"89.248"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"29.061"
y1=
"102.166"
x2=
"41.1"
y2=
"106.547"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"23.542"
y1=
"122.76"
x2=
"36.159"
y2=
"124.985"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"21.684"
y1=
"144"
x2=
"34.496"
y2=
"144"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"23.542"
y1=
"165.24"
x2=
"36.159"
y2=
"163.015"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"29.061"
y1=
"185.834"
x2=
"41.1"
y2=
"181.453"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"38.071"
y1=
"205.158"
x2=
"49.167"
y2=
"198.752"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"50.301"
y1=
"222.623"
x2=
"60.115"
y2=
"214.388"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"65.377"
y1=
"237.699"
x2=
"73.612"
y2=
"227.885"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"82.842"
y1=
"249.929"
x2=
"89.248"
y2=
"238.833"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"102.166"
y1=
"258.939"
x2=
"106.547"
y2=
"246.9"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"122.76"
y1=
"264.458"
x2=
"124.985"
y2=
"251.841"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"144"
y1=
"266.316"
x2=
"144"
y2=
"253.504"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"165.24"
y1=
"264.458"
x2=
"163.015"
y2=
"251.841"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"185.834"
y1=
"258.939"
x2=
"181.453"
y2=
"246.9"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"205.158"
y1=
"249.929"
x2=
"198.752"
y2=
"238.833"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"222.623"
y1=
"237.699"
x2=
"214.388"
y2=
"227.885"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"237.699"
y1=
"222.623"
x2=
"227.885"
y2=
"214.388"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"249.929"
y1=
"205.158"
x2=
"238.833"
y2=
"198.752"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"258.939"
y1=
"185.834"
x2=
"246.9"
y2=
"181.453"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"264.458"
y1=
"165.24"
x2=
"251.841"
y2=
"163.015"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"266.316"
y1=
"144"
x2=
"253.504"
y2=
"144"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"264.458"
y1=
"122.76"
x2=
"251.841"
y2=
"124.985"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"258.939"
y1=
"102.166"
x2=
"246.9"
y2=
"106.547"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"249.929"
y1=
"82.842"
x2=
"238.833"
y2=
"89.248"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"237.699"
y1=
"65.377"
x2=
"227.885"
y2=
"73.612"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"222.623"
y1=
"50.301"
x2=
"214.388"
y2=
"60.115"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"205.158"
y1=
"38.071"
x2=
"198.752"
y2=
"49.167"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"185.834"
y1=
"29.061"
x2=
"181.453"
y2=
"41.1"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-linecap=
"round"
stroke-miterlimit=
"10"
x1=
"165.24"
y1=
"23.542"
x2=
"163.015"
y2=
"36.159"
/>
<g>
<path
fill=
"#F1F2F2"
d=
"M50.594,153.945l-5.279-19.895h2.701l3.026,13.042c0.326,1.366,0.606,2.723,0.841,4.071
c0.507-2.126,0.805-3.352,0.896-3.678l3.786-13.435h3.176l2.85,10.07c0.715,2.497,1.23,4.845,1.547,7.043
c0.253-1.258,0.584-2.701,0.991-4.329l3.121-12.784h2.646l-5.455,19.895h-2.538l-4.193-15.159
c-0.353-1.267-0.561-2.045-0.624-2.334c-0.208,0.914-0.403,1.692-0.584,2.334l-4.221,15.159H50.594z"
/>
</g>
<g>
<path
fill=
"#F1F2F2"
d=
"M136.457,234.726l2.402-0.21c0.114,0.962,0.379,1.752,0.795,2.369c0.416,0.617,1.06,1.115,1.935,1.496
c0.875,0.381,1.859,0.571,2.953,0.571c0.971,0,1.828-0.144,2.572-0.433c0.744-0.289,1.298-0.685,1.661-1.188
c0.363-0.503,0.544-1.052,0.544-1.647c0-0.604-0.175-1.131-0.525-1.581c-0.35-0.451-0.927-0.829-1.732-1.135
c-0.516-0.201-1.658-0.514-3.425-0.938s-3.005-0.825-3.714-1.201c-0.919-0.481-1.602-1.078-2.053-1.791
c-0.451-0.713-0.677-1.511-0.677-2.395c0-0.971,0.276-1.879,0.827-2.723c0.551-0.844,1.356-1.485,2.415-1.923
s2.235-0.656,3.53-0.656c1.426,0,2.684,0.23,3.774,0.689c1.089,0.459,1.926,1.135,2.512,2.028c0.586,0.892,0.901,1.903,0.945,3.031
l-2.441,0.184c-0.131-1.216-0.575-2.135-1.331-2.756c-0.757-0.621-1.875-0.932-3.354-0.932c-1.54,0-2.661,0.282-3.365,0.846
c-0.704,0.564-1.057,1.245-1.057,2.041c0,0.691,0.249,1.26,0.748,1.706c0.49,0.446,1.77,0.903,3.839,1.371
c2.069,0.468,3.488,0.877,4.258,1.227c1.12,0.516,1.947,1.17,2.48,1.962s0.801,1.704,0.801,2.736c0,1.024-0.293,1.988-0.879,2.894
c-0.586,0.906-1.428,1.61-2.525,2.113c-1.098,0.503-2.334,0.755-3.708,0.755c-1.741,0-3.199-0.254-4.376-0.761
s-2.1-1.271-2.769-2.29C136.845,237.164,136.492,236.012,136.457,234.726z"
/>
</g>
<g>
<path
fill=
"#F1F2F2"
d=
"M227.472,154.355v-19.895h14.385v2.348h-11.752v6.093h11.006v2.334h-11.006v6.772h12.213v2.348H227.472z"
/>
</g>
<g>
<path
fill=
"#F1F2F2"
d=
"M136.071,67.065V47.17h2.701l10.45,15.62V47.17h2.524v19.895h-2.701l-10.45-15.634v15.634H136.071z"
/>
</g>
<polygon
fill=
"#F1F2F2"
points=
"139.026,268.342 144,258.395 148.974,268.342 "
/>
<polygon
fill=
"#F1F2F2"
points=
"268.342,148.974 258.395,144 268.342,139.026 "
/>
<polygon
fill=
"#F1F2F2"
points=
"148.974,19.658 144,29.605 139.026,19.658 "
/>
<polygon
fill=
"#F1F2F2"
points=
"19.658,139.026 29.605,144 19.658,148.974 "
/>
</svg>
src/ui/qmlcommon/qmldir
View file @
57c2506d
...
@@ -10,4 +10,7 @@ QGCPitchWidget 1.0 QGCPitchWidget.qml
...
@@ -10,4 +10,7 @@ QGCPitchWidget 1.0 QGCPitchWidget.qml
QGCSpeedWidget 1.0 QGCSpeedWidget.qml
QGCSpeedWidget 1.0 QGCSpeedWidget.qml
QGCSlider 1.0 QGCSlider.qml
QGCSlider 1.0 QGCSlider.qml
QGCWaypointEditor 1.0 QGCWaypointEditor.qml
QGCWaypointEditor 1.0 QGCWaypointEditor.qml
QGCMapToolButton 1.0 QGCMapToolButton.qml
QGCMapToolButton 1.0 QGCMapToolButton.qml
\ No newline at end of file
QGCAttitudeInstrument 1.0 QGCAttitudeInstrument.qml
QGCCompassInstrument 1.0 QGCCompassInstrument.qml
QGCArtificialHorizon 1.0 QGCArtificialHorizon.qml
src/ui/qmlcommon/rollDial.svg
deleted
100644 → 0
View file @
207270a5
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"0 0 288 159.854"
enable-background=
"new 0 0 288 159.854"
xml:space=
"preserve"
>
<g
id=
"Layer_1"
>
<text
transform=
"matrix(1 0 0 1 136.0895 12.201)"
font-family=
"'Arial-BoldMT'"
font-size=
"14.2222"
>
00
</text>
<text
transform=
"matrix(0.9659 -0.2588 0.2588 0.9659 98.1424 19.2784)"
font-family=
"'Arial-BoldMT'"
font-size=
"14.2218"
>
15
</text>
<text
transform=
"matrix(0.866 -0.5 0.5 0.866 63.3229 35.9389)"
font-family=
"'Arial-BoldMT'"
font-size=
"14.2219"
>
30
</text>
<text
transform=
"matrix(0.7071 -0.7071 0.7071 0.7071 33.9995 61.0398)"
font-family=
"'Arial-BoldMT'"
font-size=
"14.2221"
>
45
</text>
<text
transform=
"matrix(0.5 -0.866 0.866 0.5 12.1723 92.8793)"
font-family=
"'Arial-BoldMT'"
font-size=
"14.2219"
>
60
</text>
<text
transform=
"matrix(0.9659 0.2588 -0.2588 0.9659 174.5744 15.1842)"
font-family=
"'Arial-BoldMT'"
font-size=
"14.2218"
>
15
</text>
<text
transform=
"matrix(0.866 0.5 -0.5 0.866 210.9767 28.0287)"
font-family=
"'Arial-BoldMT'"
font-size=
"14.2219"
>
30
</text>
<text
transform=
"matrix(0.7071 0.7071 -0.7071 0.7071 242.8152 49.8557)"
font-family=
"'Arial-BoldMT'"
font-size=
"14.2221"
>
45
</text>
<text
transform=
"matrix(0.5 0.866 -0.866 0.5 267.9185 79.1788)"
font-family=
"'Arial-BoldMT'"
font-size=
"14.2219"
>
60
</text>
</g>
<g
id=
"Layer_3"
>
<rect
id=
"rect5769"
y=
"153.455"
fill=
"none"
width=
"288"
height=
"6.4"
/>
</g>
<g
id=
"Layer_2"
>
<line
fill=
"none"
stroke=
"#000000"
stroke-width=
"4"
x1=
"144.1"
y1=
"23.855"
x2=
"144.1"
y2=
"16.355"
/>
<line
fill=
"none"
stroke=
"#000000"
stroke-width=
"4"
x1=
"108.9"
y1=
"28.455"
x2=
"107"
y2=
"21.255"
/>
<line
fill=
"none"
stroke=
"#000000"
stroke-width=
"4"
x1=
"76.1"
y1=
"41.955"
x2=
"72.4"
y2=
"35.455"
/>
<line
fill=
"none"
stroke=
"#000000"
stroke-width=
"4"
x1=
"47.9"
y1=
"63.555"
x2=
"42.7"
y2=
"58.355"
/>
<line
fill=
"none"
stroke=
"#000000"
stroke-width=
"4"
x1=
"26.3"
y1=
"91.755"
x2=
"19.8"
y2=
"88.055"
/>
<line
fill=
"none"
stroke=
"#000000"
stroke-width=
"4"
x1=
"179.3"
y1=
"28.455"
x2=
"181.2"
y2=
"21.255"
/>
<line
fill=
"none"
stroke=
"#000000"
stroke-width=
"4"
x1=
"212.1"
y1=
"42.155"
x2=
"215.8"
y2=
"35.655"
/>
<line
fill=
"none"
stroke=
"#000000"
stroke-width=
"4"
x1=
"240.3"
y1=
"63.755"
x2=
"245.5"
y2=
"58.555"
/>
<line
fill=
"none"
stroke=
"#000000"
stroke-width=
"4"
x1=
"261.9"
y1=
"91.955"
x2=
"268.4"
y2=
"88.255"
/>
<path
fill=
"none"
stroke=
"#000000"
stroke-width=
"2"
stroke-linecap=
"round"
stroke-linejoin=
"bevel"
d=
"M262.4,92.955
c-11.6-20.6-28.6-37.9-48.9-50s-44.1-19.1-69.5-19.1s-49.2,6.9-69.4,19s-37.2,29.3-48.9,50"
/>
</g>
</svg>
src/ui/qmlcommon/rollPointer.svg
deleted
100644 → 0
View file @
207270a5
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"0 288 288 129.6"
enable-background=
"new 0 288 288 129.6"
xml:space=
"preserve"
>
<g
id=
"svg5772"
inkscape:version=
"0.48.2 r9819"
sodipodi:docname=
"rollPointer.svg"
xmlns:rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg=
"http://www.w3.org/2000/svg"
xmlns:sodipodi=
"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:cc=
"http://creativecommons.org/ns#"
xmlns:dc=
"http://purl.org/dc/elements/1.1/"
xmlns:inkscape=
"http://www.inkscape.org/namespaces/inkscape"
>
<sodipodi:namedview
id=
"base"
inkscape:current-layer=
"layer5"
inkscape:showpageshadow=
"false"
inkscape:document-units=
"px"
inkscape:window-width=
"1920"
inkscape:window-y=
"22"
inkscape:window-maximized=
"1"
inkscape:guide-bbox=
"true"
inkscape:window-height=
"1152"
inkscape:pageopacity=
"0.0"
inkscape:pageshadow=
"2"
inkscape:window-x=
"0"
pagecolor=
"#ffffff"
inkscape:zoom=
"3"
inkscape:cx=
"74.271777"
inkscape:cy=
"66.806039"
bordercolor=
"#666666"
showgrid=
"true"
showguides=
"true"
borderopacity=
"1.0"
>
<inkscape:grid
type=
"xygrid"
id=
"grid5780"
snapvisiblegridlinesonly=
"true"
empspacing=
"5"
enabled=
"true"
visible=
"true"
>
</inkscape:grid>
</sodipodi:namedview>
<rect
id=
"rect5782"
y=
"405.5"
fill=
"none"
width=
"288"
height=
"12.1"
/>
</g>
<g
id=
"Layer_2"
>
<path
id=
"path6692_1_"
inkscape:connector-curvature=
"0"
d=
"M135,313.2c9-25.2,9-25.2,9-25.2l9,25.2l0,0H135z"
/>
</g>
</svg>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment