From 343acaf43413cc9d3ff9c5a9351d5d4ed578967e Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris Date: Fri, 16 Mar 2018 17:29:21 +0200 Subject: [PATCH] Remove opacity animation from the scrollbar fixes #270 --- include/ui/ScrollBar.h | 13 +---------- src/ui/ScrollBar.cc | 50 +----------------------------------------- 2 files changed, 2 insertions(+), 61 deletions(-) diff --git a/include/ui/ScrollBar.h b/include/ui/ScrollBar.h index 45d5b21f..2b5382aa 100644 --- a/include/ui/ScrollBar.h +++ b/include/ui/ScrollBar.h @@ -17,11 +17,9 @@ #pragma once -#include #include #include #include -#include class ScrollBar : public QScrollBar { @@ -32,9 +30,6 @@ class ScrollBar : public QScrollBar public: ScrollBar(QScrollArea *area, QWidget *parent = nullptr); - void fadeIn(); - void fadeOut(); - QColor backgroundColor() const { return bgColor_; } void setBackgroundColor(QColor &color) { bgColor_ = color; } @@ -43,19 +38,13 @@ public: protected: void paintEvent(QPaintEvent *e) override; - void sliderChange(SliderChange change) override; private: int roundRadius_ = 4; int handleWidth_ = 7; int minHandleHeight_ = 20; - bool isActive = false; - const int AnimationDuration = 300; - const int Padding = 4; - - QGraphicsOpacityEffect *eff; - QTimer hideTimer_; + const int Padding = 4; QScrollArea *area_; QRect handle_; diff --git a/src/ui/ScrollBar.cc b/src/ui/ScrollBar.cc index 1330ca07..37218a13 100644 --- a/src/ui/ScrollBar.cc +++ b/src/ui/ScrollBar.cc @@ -15,60 +15,12 @@ * along with this program. If not, see . */ -#include -#include -#include - #include "ScrollBar.h" ScrollBar::ScrollBar(QScrollArea *area, QWidget *parent) : QScrollBar(parent) , area_{area} -{ - hideTimer_.setSingleShot(true); - - connect(&hideTimer_, &QTimer::timeout, this, &ScrollBar::fadeOut); - - eff = new QGraphicsOpacityEffect(this); - setGraphicsEffect(eff); -} - -void -ScrollBar::fadeOut() -{ - isActive = false; - - QPropertyAnimation *anim = new QPropertyAnimation(eff, "opacity"); - anim->setDuration(AnimationDuration); - anim->setStartValue(1); - anim->setEndValue(0); - anim->setEasingCurve(QEasingCurve::Linear); - anim->start(QPropertyAnimation::DeleteWhenStopped); -} - -void -ScrollBar::fadeIn() -{ - QPropertyAnimation *anim = new QPropertyAnimation(eff, "opacity"); - anim->setDuration(AnimationDuration); - anim->setStartValue(0); - anim->setEndValue(1); - anim->setEasingCurve(QEasingCurve::Linear); - anim->start(QPropertyAnimation::DeleteWhenStopped); -} - -void -ScrollBar::sliderChange(SliderChange change) -{ - if (!isActive) - fadeIn(); - - hideTimer_.stop(); - hideTimer_.start(1500); - isActive = true; - - QScrollBar::sliderChange(change); -} +{} void ScrollBar::paintEvent(QPaintEvent *)