mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	QML UI: Show profile on Android
This is a better way for showing the profile. The show() and hide() statements are replaced by a QTransform statement. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
This commit is contained in:
		
							parent
							
								
									c19f4869af
								
							
						
					
					
						commit
						ea574b6b11
					
				
					 1 changed files with 12 additions and 9 deletions
				
			
		|  | @ -1,13 +1,11 @@ | ||||||
| #include "qmlprofile.h" | #include "qmlprofile.h" | ||||||
| #include "profilewidget2.h" | #include "profilewidget2.h" | ||||||
| #include "dive.h" | #include "dive.h" | ||||||
|  | #include <QTransform> | ||||||
| 
 | 
 | ||||||
| QMLProfile::QMLProfile(QQuickItem *parent) : | QMLProfile::QMLProfile(QQuickItem *parent) : | ||||||
| 	QQuickPaintedItem(parent) | 	QQuickPaintedItem(parent) | ||||||
| { | { | ||||||
| 	profile = new ProfileWidget2(0); |  | ||||||
| 	profile->setProfileState(); |  | ||||||
| 	profile->setToolTipVisibile(false); |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void QMLProfile::paint(QPainter *painter) | void QMLProfile::paint(QPainter *painter) | ||||||
|  | @ -20,16 +18,21 @@ void QMLProfile::paint(QPainter *painter) | ||||||
| 	if (!d) | 	if (!d) | ||||||
| 		return; | 		return; | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 	profile = new ProfileWidget2(0); | ||||||
|  | 	profile->setProfileState(); | ||||||
|  | 	profile->setToolTipVisibile(false); | ||||||
|  | 
 | ||||||
| 	int old_animation_speed = prefs.animation_speed; | 	int old_animation_speed = prefs.animation_speed; | ||||||
| 	prefs.animation_speed = 0; // no animations while rendering the QGraphicsView
 | 	prefs.animation_speed = 0; // no animations while rendering the QGraphicsView
 | ||||||
| 	profile->plotDive(d); | 	profile->plotDive(d); | ||||||
| 	// we need to show the widget so it gets populated, but then
 | 	QTransform profileTransform; | ||||||
| 	// hide it right away so we get to draw it ourselves below
 | 	profileTransform.scale((this->width() / profile->sceneRect().width()) - 1, (this->height()/profile->sceneRect().height()) - 1); | ||||||
| 	profile->show(); | 	profile->setTransform(profileTransform); | ||||||
| 	profile->hide(); | 	profile->render(painter); | ||||||
| 	profile->resize(this->width(), this->height()); |  | ||||||
| 	profile->render(painter, profile->geometry()); |  | ||||||
| 	prefs.animation_speed = old_animation_speed; | 	prefs.animation_speed = old_animation_speed; | ||||||
|  | 
 | ||||||
|  | 	profile->deleteLater(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| QString QMLProfile::diveId() const | QString QMLProfile::diveId() const | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue