diff --git a/components/iconmenu.cpp b/components/iconmenu.cpp index c5cbaff..5227be0 100644 --- a/components/iconmenu.cpp +++ b/components/iconmenu.cpp @@ -5,7 +5,7 @@ #include #include "iconmenu.h" #include "menu.h" -#include "lib/scaleeffect.h" +//#include "lib/scaleeffect.h" MenuOverlay::MenuOverlay(QWidget *parent) : QWidget(parent) @@ -23,7 +23,7 @@ IconMenu::IconMenu(const QIcon &icon, QWidget *parent) _menuOverlay(new MenuOverlay), _menu(new Menu(_menuOverlay)), _animation(new QPropertyAnimation(this)), - _effect(new ScaleEffect(this)), + //_effect(new ScaleEffect(this)), _menuVisible(false), _progress(1) { @@ -39,6 +39,8 @@ IconMenu::IconMenu(const QIcon &icon, QWidget *parent) _animation->setEasingCurve(QEasingCurve::OutCubic); _menu->hide(); + + /* _menu->setGraphicsEffect(_effect); QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect; @@ -46,6 +48,7 @@ IconMenu::IconMenu(const QIcon &icon, QWidget *parent) effect->setOffset(QPoint(0, 0)); effect->setColor(QColor(0, 0, 0, 200)); _menuOverlay->setGraphicsEffect(effect); + */ _menuOverlay->installEventFilter(this); @@ -68,7 +71,8 @@ void IconMenu::setProgress(qreal progress) return; _progress = progress; - _effect->setScale(progress, progress); + //_effect->setScale(progress, progress); + updateOverlayGeometry(); emit progressChanged(progress); update(); @@ -124,7 +128,7 @@ bool IconMenu::event(QEvent *event) void IconMenu::updateOverlayGeometry() { - const QSize size = iconSize(); - const QPoint pos = _menuPos + QPoint(size.width()/2, size.height()/2); - _menu->setGeometry(QRect(pos, _menu->layout()->sizeHint())); + const QPoint pos = _menuPos; + const QSize size = _menu->layout()->sizeHint(); + _menu->setGeometry(QRect(pos, size * _progress)); } diff --git a/components/iconmenu.h b/components/iconmenu.h index 5074157..7b64873 100644 --- a/components/iconmenu.h +++ b/components/iconmenu.h @@ -15,7 +15,7 @@ public: }; class QPropertyAnimation; -class ScaleEffect; +//class ScaleEffect; class Menu; class IconMenu : public IconButton @@ -50,7 +50,7 @@ private: MenuOverlay *const _menuOverlay; Menu *const _menu; QPropertyAnimation *const _animation; - ScaleEffect *const _effect; + //ScaleEffect *const _effect; QPoint _menuPos; bool _menuVisible; qreal _progress;