| 
									
										
										
										
											2014-01-14 16:01:17 -02:00
										 |  |  | #include "animationfunctions.h"
 | 
					
						
							| 
									
										
										
										
											2014-04-08 13:45:23 +02:00
										 |  |  | #include "dive.h"
 | 
					
						
							|  |  |  | #include "pref.h"
 | 
					
						
							| 
									
										
										
										
											2014-01-14 16:01:17 -02:00
										 |  |  | #include <QPropertyAnimation>
 | 
					
						
							|  |  |  | #include <QPointF>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-22 11:40:22 -07:00
										 |  |  | namespace Animations { | 
					
						
							| 
									
										
										
										
											2014-01-27 15:14:42 -02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-27 20:09:57 -08:00
										 |  |  | 	void hide(QObject *obj) | 
					
						
							|  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2014-07-21 19:10:31 -03:00
										 |  |  | 		if (prefs.animation_speed != 0) { | 
					
						
							| 
									
										
										
										
											2014-07-11 18:55:33 -03:00
										 |  |  | 			QPropertyAnimation *animation = new QPropertyAnimation(obj, "opacity"); | 
					
						
							|  |  |  | 			animation->setStartValue(1); | 
					
						
							|  |  |  | 			animation->setEndValue(0); | 
					
						
							|  |  |  | 			animation->start(QAbstractAnimation::DeleteWhenStopped); | 
					
						
							|  |  |  | 		} else { | 
					
						
							|  |  |  | 			obj->setProperty("opacity", 0); | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2014-02-27 20:09:57 -08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2014-01-14 16:01:17 -02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-30 17:20:38 -03:00
										 |  |  | 	void show(QObject *obj) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		if (prefs.animation_speed != 0) { | 
					
						
							|  |  |  | 			QPropertyAnimation *animation = new QPropertyAnimation(obj, "opacity"); | 
					
						
							|  |  |  | 			animation->setStartValue(0); | 
					
						
							|  |  |  | 			animation->setEndValue(1); | 
					
						
							|  |  |  | 			animation->start(QAbstractAnimation::DeleteWhenStopped); | 
					
						
							|  |  |  | 		} else { | 
					
						
							|  |  |  | 			obj->setProperty("opacity", 1); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-27 20:09:57 -08:00
										 |  |  | 	void animDelete(QObject *obj) | 
					
						
							|  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2014-07-21 19:10:31 -03:00
										 |  |  | 		if (prefs.animation_speed != 0) { | 
					
						
							| 
									
										
										
										
											2014-07-11 18:55:33 -03:00
										 |  |  | 			QPropertyAnimation *animation = new QPropertyAnimation(obj, "opacity"); | 
					
						
							|  |  |  | 			obj->connect(animation, SIGNAL(finished()), SLOT(deleteLater())); | 
					
						
							|  |  |  | 			animation->setStartValue(1); | 
					
						
							|  |  |  | 			animation->setEndValue(0); | 
					
						
							|  |  |  | 			animation->start(QAbstractAnimation::DeleteWhenStopped); | 
					
						
							|  |  |  | 		} else { | 
					
						
							|  |  |  | 			obj->setProperty("opacity", 0); | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2014-02-27 20:09:57 -08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2014-01-14 16:01:17 -02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-11 17:27:05 -03:00
										 |  |  | 	void moveTo(QObject *obj, qreal x, qreal y) | 
					
						
							| 
									
										
										
										
											2014-02-27 20:09:57 -08:00
										 |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2014-07-21 19:10:31 -03:00
										 |  |  | 		if (prefs.animation_speed != 0) { | 
					
						
							| 
									
										
										
										
											2014-03-11 17:27:05 -03:00
										 |  |  | 			QPropertyAnimation *animation = new QPropertyAnimation(obj, "pos"); | 
					
						
							| 
									
										
										
										
											2014-07-21 19:10:31 -03:00
										 |  |  | 			animation->setDuration(prefs.animation_speed); | 
					
						
							| 
									
										
										
										
											2014-03-11 17:27:05 -03:00
										 |  |  | 			animation->setStartValue(obj->property("pos").toPointF()); | 
					
						
							|  |  |  | 			animation->setEndValue(QPointF(x, y)); | 
					
						
							|  |  |  | 			animation->start(QAbstractAnimation::DeleteWhenStopped); | 
					
						
							| 
									
										
										
										
											2014-05-22 11:40:22 -07:00
										 |  |  | 		} else { | 
					
						
							|  |  |  | 			obj->setProperty("pos", QPointF(x, y)); | 
					
						
							| 
									
										
										
										
											2014-03-11 17:27:05 -03:00
										 |  |  | 		} | 
					
						
							| 
									
										
										
										
											2014-02-27 20:09:57 -08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2014-02-07 17:59:21 -02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-08 12:22:45 -03:00
										 |  |  | 	void scaleTo(QObject *obj, qreal scale) | 
					
						
							|  |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2014-07-21 19:10:31 -03:00
										 |  |  | 		if (prefs.animation_speed != 0) { | 
					
						
							| 
									
										
										
										
											2014-07-11 18:55:33 -03:00
										 |  |  | 			QPropertyAnimation *animation = new QPropertyAnimation(obj, "scale"); | 
					
						
							| 
									
										
										
										
											2014-07-21 19:10:31 -03:00
										 |  |  | 			animation->setDuration(prefs.animation_speed); | 
					
						
							| 
									
										
										
										
											2014-07-11 18:55:33 -03:00
										 |  |  | 			animation->setStartValue(obj->property("scale").toReal()); | 
					
						
							|  |  |  | 			animation->setEndValue(QVariant::fromValue(scale)); | 
					
						
							|  |  |  | 			animation->setEasingCurve(QEasingCurve::InCubic); | 
					
						
							|  |  |  | 			animation->start(QAbstractAnimation::DeleteWhenStopped); | 
					
						
							|  |  |  | 		} else { | 
					
						
							|  |  |  | 			obj->setProperty("scale", QVariant::fromValue(scale)); | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2014-06-08 12:22:45 -03:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-11 17:27:05 -03:00
										 |  |  | 	void moveTo(QObject *obj, const QPointF &pos) | 
					
						
							| 
									
										
										
										
											2014-02-27 20:09:57 -08:00
										 |  |  | 	{ | 
					
						
							| 
									
										
										
										
											2014-03-11 17:27:05 -03:00
										 |  |  | 		moveTo(obj, pos.x(), pos.y()); | 
					
						
							| 
									
										
										
										
											2014-02-27 20:09:57 -08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2014-01-14 16:01:17 -02:00
										 |  |  | } |