File indexing completed on 2024-05-12 05:28:37
0001 /* 0002 * SPDX-FileCopyrightText: 2014 Hugo Pereira Da Costa <hugo.pereira@free.fr> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "breezedialengine.h" 0008 0009 #include <QEvent> 0010 0011 namespace Breeze 0012 { 0013 //____________________________________________________________ 0014 bool DialEngine::registerWidget(QWidget *widget, AnimationModes mode) 0015 { 0016 // check widget 0017 if (!widget) { 0018 return false; 0019 } 0020 0021 // only handle hover and focus 0022 if (mode & AnimationHover && !dataMap(AnimationHover).contains(widget)) { 0023 dataMap(AnimationHover).insert(widget, new DialData(this, widget, duration()), enabled()); 0024 } 0025 if (mode & AnimationFocus && !dataMap(AnimationFocus).contains(widget)) { 0026 dataMap(AnimationFocus).insert(widget, new WidgetStateData(this, widget, duration()), enabled()); 0027 } 0028 0029 // connect destruction signal 0030 connect(widget, SIGNAL(destroyed(QObject *)), this, SLOT(unregisterWidget(QObject *)), Qt::UniqueConnection); 0031 0032 return true; 0033 } 0034 0035 }