File indexing completed on 2024-05-19 05:35:16

0001 #ifndef oxygenanimationconfigwidget_h
0002 #define oxygenanimationconfigwidget_h
0003 
0004 //////////////////////////////////////////////////////////////////////////////
0005 // oxygenanimationconfigwidget.h
0006 // animation configuration item
0007 // -------------------
0008 //
0009 // SPDX-FileCopyrightText: 2010 Hugo Pereira Da Costa <hugo.pereira@free.fr>
0010 //
0011 // SPDX-License-Identifier: MIT
0012 //////////////////////////////////////////////////////////////////////////////
0013 
0014 #include "oxygen.h"
0015 #include "oxygenbaseanimationconfigwidget.h"
0016 
0017 namespace Oxygen
0018 {
0019 // forward declaration
0020 class GenericAnimationConfigItem;
0021 
0022 //* container to configure animations individually
0023 class AnimationConfigWidget : public BaseAnimationConfigWidget
0024 {
0025     Q_OBJECT
0026 
0027 public:
0028     //* constructor
0029     explicit AnimationConfigWidget(QWidget * = nullptr);
0030 
0031     //* configuration
0032     void setInternalSettings(InternalSettingsPtr internalSettings)
0033     {
0034         m_internalSettings = internalSettings;
0035     }
0036 
0037 public Q_SLOTS:
0038 
0039     //* read current configuration
0040     void load(void) override;
0041 
0042     //* save current configuration
0043     void save(void) override;
0044 
0045 protected Q_SLOTS:
0046 
0047     //* check whether configuration is changed and emit appropriate signal if yes
0048     void updateChanged() override;
0049 
0050 private:
0051     //* internal exception
0052     InternalSettingsPtr m_internalSettings;
0053 
0054     //*@name animations
0055     //@{
0056     GenericAnimationConfigItem *m_buttonAnimations = nullptr;
0057     GenericAnimationConfigItem *m_shadowAnimations = nullptr;
0058     //@}
0059 };
0060 }
0061 
0062 #endif