File indexing completed on 2024-05-19 05:35:21
0001 ////////////////////////////////////////////////////////////////////////////// 0002 // oxygenprogressbarengine.cpp 0003 // handle progress bar animations 0004 // ------------------- 0005 // 0006 // SPDX-FileCopyrightText: 2009 Hugo Pereira Da Costa <hugo.pereira@free.fr> 0007 // 0008 // SPDX-License-Identifier: MIT 0009 ////////////////////////////////////////////////////////////////////////////// 0010 0011 #include "oxygenprogressbarengine.h" 0012 0013 namespace Oxygen 0014 { 0015 //_______________________________________________ 0016 bool ProgressBarEngine::registerWidget(QWidget *widget) 0017 { 0018 // check widget validity 0019 if (!widget) 0020 return false; 0021 0022 // create new data class 0023 if (!_data.contains(widget)) 0024 _data.insert(widget, new ProgressBarData(this, widget, duration()), enabled()); 0025 0026 // connect destruction signal 0027 connect(widget, SIGNAL(destroyed(QObject *)), this, SLOT(unregisterWidget(QObject *)), Qt::UniqueConnection); 0028 0029 return true; 0030 } 0031 0032 //____________________________________________________________ 0033 bool ProgressBarEngine::isAnimated(const QObject *object) 0034 { 0035 DataMap<ProgressBarData>::Value data(ProgressBarEngine::data(object)); 0036 return (data && data.data()->animation() && data.data()->animation().data()->isRunning()); 0037 } 0038 0039 //____________________________________________________________ 0040 DataMap<ProgressBarData>::Value ProgressBarEngine::data(const QObject *object) 0041 { 0042 return _data.find(object).data(); 0043 } 0044 }