forked from qt-creator/qt-creator
		
	Fix that there could be many "fading indicators" painted over each other
Simply hide the current indicator, if there is any. Task-number: QTCREATORBUG-14805 Change-Id: Ic25ba1b671e6ba2490803ba73b8a5757ccbff24b Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
		@@ -37,6 +37,7 @@
 | 
			
		||||
#include <QLabel>
 | 
			
		||||
#include <QPainter>
 | 
			
		||||
#include <QPixmap>
 | 
			
		||||
#include <QPointer>
 | 
			
		||||
#include <QPropertyAnimation>
 | 
			
		||||
#include <QTimer>
 | 
			
		||||
 | 
			
		||||
@@ -130,14 +131,20 @@ namespace FadingIndicator {
 | 
			
		||||
 | 
			
		||||
void showText(QWidget *parent, const QString &text, TextSize size)
 | 
			
		||||
{
 | 
			
		||||
    auto indicator = new Internal::FadingIndicatorPrivate(parent, size);
 | 
			
		||||
    static QPointer<Internal::FadingIndicatorPrivate> indicator;
 | 
			
		||||
    if (indicator)
 | 
			
		||||
        delete indicator;
 | 
			
		||||
    indicator = new Internal::FadingIndicatorPrivate(parent, size);
 | 
			
		||||
    indicator->setText(text);
 | 
			
		||||
    indicator->run(2500); // deletes itself
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void showPixmap(QWidget *parent, const QString &pixmap)
 | 
			
		||||
{
 | 
			
		||||
    auto indicator = new Internal::FadingIndicatorPrivate(parent, LargeText);
 | 
			
		||||
    static QPointer<Internal::FadingIndicatorPrivate> indicator;
 | 
			
		||||
    if (indicator)
 | 
			
		||||
        delete indicator;
 | 
			
		||||
    indicator = new Internal::FadingIndicatorPrivate(parent, LargeText);
 | 
			
		||||
    indicator->setPixmap(pixmap);
 | 
			
		||||
    indicator->run(300); // deletes itself
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user