File indexing completed on 2025-03-09 04:05:59

0001 /* This file is part of the KDE project
0002  * SPDX-FileCopyrightText: 2012 Arjen Hiemstra <ahiemstra@heimr.nl>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 #ifndef CONSTANTS_H
0008 #define CONSTANTS_H
0009 
0010 #include <QObject>
0011 
0012 class Constants : public QObject
0013 {
0014     Q_OBJECT
0015     Q_PROPERTY(int AnimationDuration READ animationDuration CONSTANT)
0016     Q_PROPERTY(int GridRows READ gridRows NOTIFY gridSizeChanged)
0017     Q_PROPERTY(int GridColumns READ gridColumns CONSTANT)
0018     Q_PROPERTY(bool IsLandscape READ isLandscape NOTIFY gridSizeChanged)
0019     Q_PROPERTY(qreal DefaultMargin READ defaultMargin NOTIFY gridSizeChanged)
0020     Q_PROPERTY(qreal GridHeight READ gridHeight NOTIFY gridSizeChanged)
0021     Q_PROPERTY(qreal GridWidth READ gridWidth NOTIFY gridSizeChanged)
0022     Q_PROPERTY(qreal ToolbarButtonSize READ toolbarButtonSize NOTIFY gridSizeChanged)
0023     Q_PROPERTY(qreal SmallFontSize READ smallFontSize NOTIFY gridSizeChanged)
0024     Q_PROPERTY(qreal DefaultFontSize READ defaultFontSize NOTIFY gridSizeChanged)
0025     Q_PROPERTY(qreal LargeFontSize READ largeFontSize NOTIFY gridSizeChanged)
0026     Q_PROPERTY(qreal HugeFontSize READ hugeFontSize NOTIFY gridSizeChanged)
0027 
0028 public:
0029     Constants(QObject* parent = 0);
0030 
0031     int animationDuration() const;
0032     qreal gridHeight() const;
0033     qreal gridWidth() const;
0034     qreal toolbarButtonSize() const;
0035     int gridRows() const;
0036     int gridColumns() const;
0037     qreal defaultMargin() const;
0038     qreal smallFontSize() const;
0039     qreal defaultFontSize() const;
0040     qreal largeFontSize() const;
0041     qreal hugeFontSize() const;
0042     bool isLandscape() const;
0043 
0044     Q_INVOKABLE void setGridWidth(qreal width);
0045     Q_INVOKABLE void setGridHeight(qreal height);
0046 
0047 Q_SIGNALS:
0048     void gridSizeChanged();
0049 
0050 private:
0051     qreal m_gridWidth {0.0};
0052     qreal m_gridHeight {0.0};
0053     qreal m_toolbarButtonSize {0.0};
0054 };
0055 
0056 #endif // CONSTANTS_H