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

0001 #ifndef oxygenstyleconfig_h
0002 #define oxygenstyleconfig_h
0003 /*
0004 SPDX-FileCopyrightText: 2010 Hugo Pereira Da Costa <hugo.pereira@free.fr>
0005 SPDX-FileCopyrightText: 2003 Sandro Giessl <ceebx@users.sourceforge.net>
0006 
0007 based on the Keramik configuration dialog:
0008 SPDX-FileCopyrightText: 2003 Maksim Orlovich <maksim.orlovich@kdemail.net>
0009 
0010 SPDX-License-Identifier: MIT
0011 
0012 */
0013 
0014 #include "ui_oxygenstyleconfig.h"
0015 
0016 namespace Oxygen
0017 {
0018 class StyleConfig : public QWidget, Ui::OxygenStyleConfig
0019 {
0020     Q_OBJECT
0021 
0022 public:
0023     //* constructor
0024     explicit StyleConfig(QWidget *);
0025 
0026 Q_SIGNALS:
0027 
0028     //* emmited whenever one option is changed.
0029     void changed(bool);
0030 
0031 public Q_SLOTS:
0032 
0033     //* load setup from config data
0034     void load(void);
0035 
0036     //* save current state
0037     void save(void);
0038 
0039     //* restore all default values
0040     void defaults(void);
0041 
0042     // Everything below this is internal.
0043 
0044     //* reset to saved configuration
0045     void reset(void);
0046 
0047     //* update modified state when option is checked/unchecked
0048     void updateChanged(void);
0049 
0050 protected:
0051     //* event processing
0052     bool event(QEvent *) override;
0053 
0054     // menu mode from ui
0055     int menuMode(void) const;
0056 
0057     // expander size from ui
0058     int triangularExpanderSize(void) const;
0059 
0060 private Q_SLOTS:
0061 
0062     //* update layout
0063     /** needed in expert mode to accommodate with animations config widget size changes */
0064     void updateLayout(void);
0065 };
0066 }
0067 #endif