| 
									
										
										
										
											2015-07-17 19:09:42 +03:00
										 |  |  | #include "qmlprofile.h"
 | 
					
						
							|  |  |  | #include "profilewidget2.h"
 | 
					
						
							|  |  |  | #include "dive.h"
 | 
					
						
							| 
									
										
										
										
											2015-07-25 19:10:51 +03:00
										 |  |  | #include <QTransform>
 | 
					
						
							| 
									
										
										
										
											2015-07-17 19:09:42 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | QMLProfile::QMLProfile(QQuickItem *parent) : | 
					
						
							|  |  |  | 	QQuickPaintedItem(parent) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void QMLProfile::paint(QPainter *painter) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	if (m_diveId.toInt() < 1) | 
					
						
							|  |  |  | 		return; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	struct dive *d; | 
					
						
							|  |  |  | 	d = get_dive_by_uniq_id(m_diveId.toInt()); | 
					
						
							|  |  |  | 	if (!d) | 
					
						
							|  |  |  | 		return; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-25 19:10:51 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	profile = new ProfileWidget2(0); | 
					
						
							|  |  |  | 	profile->setProfileState(); | 
					
						
							|  |  |  | 	profile->setToolTipVisibile(false); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-17 19:09:42 +03:00
										 |  |  | 	int old_animation_speed = prefs.animation_speed; | 
					
						
							|  |  |  | 	prefs.animation_speed = 0; // no animations while rendering the QGraphicsView
 | 
					
						
							|  |  |  | 	profile->plotDive(d); | 
					
						
							| 
									
										
										
										
											2015-07-25 19:10:51 +03:00
										 |  |  | 	QTransform profileTransform; | 
					
						
							| 
									
										
										
										
											2015-07-29 15:30:51 +03:00
										 |  |  | 	profileTransform.scale(this->height() / 100, this->height() / 100); | 
					
						
							| 
									
										
										
										
											2015-07-25 19:10:51 +03:00
										 |  |  | 	profile->setTransform(profileTransform); | 
					
						
							|  |  |  | 	profile->render(painter); | 
					
						
							| 
									
										
										
										
											2015-07-17 19:09:42 +03:00
										 |  |  | 	prefs.animation_speed = old_animation_speed; | 
					
						
							| 
									
										
										
										
											2015-07-25 19:10:51 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	profile->deleteLater(); | 
					
						
							| 
									
										
										
										
											2015-07-17 19:09:42 +03:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | QString QMLProfile::diveId() const | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return m_diveId; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void QMLProfile::setDiveId(const QString &diveId) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	m_diveId = diveId; | 
					
						
							|  |  |  | } |