mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
cleanup: make members of ThemeInterface non-static
We have a singleton class ThemeInterface, which means that it is global and exists only once. It's members are static, i.e. also global. A message from the department of redundancy department? In any case, that makes no sense. Let's just make these members local to the class. I would even rip out the whole singleton thing, since the object is not accessed anywhere outside from QML. Let's keep it for now. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
7f2eaba574
commit
79bf243ec0
3 changed files with 44 additions and 65 deletions
|
@ -5,27 +5,6 @@
|
||||||
#include "core/settings/qPrefDisplay.h"
|
#include "core/settings/qPrefDisplay.h"
|
||||||
#include <QFontInfo>
|
#include <QFontInfo>
|
||||||
|
|
||||||
QColor themeInterface::m_backgroundColor;
|
|
||||||
QColor themeInterface::m_contrastAccentColor;
|
|
||||||
QColor themeInterface::m_darkerPrimaryColor;
|
|
||||||
QColor themeInterface::m_darkerPrimaryTextColor;
|
|
||||||
QColor themeInterface::m_drawerColor;
|
|
||||||
QColor themeInterface::m_lightDrawerColor;
|
|
||||||
QColor themeInterface::m_lightPrimaryColor;
|
|
||||||
QColor themeInterface::m_lightPrimaryTextColor;
|
|
||||||
QColor themeInterface::m_primaryColor;
|
|
||||||
QColor themeInterface::m_primaryTextColor;
|
|
||||||
QColor themeInterface::m_secondaryTextColor;
|
|
||||||
QColor themeInterface::m_textColor;
|
|
||||||
|
|
||||||
double themeInterface::m_basePointSize;
|
|
||||||
double themeInterface::m_headingPointSize;
|
|
||||||
double themeInterface::m_regularPointSize;
|
|
||||||
double themeInterface::m_smallPointSize;
|
|
||||||
double themeInterface::m_titlePointSize;
|
|
||||||
|
|
||||||
QString themeInterface::m_currentTheme;
|
|
||||||
|
|
||||||
const QColor BLUE_BACKGROUND_COLOR = "#eff0f1";
|
const QColor BLUE_BACKGROUND_COLOR = "#eff0f1";
|
||||||
const QColor BLUE_CONTRAST_ACCENT_COLOR = "#FF5722";
|
const QColor BLUE_CONTRAST_ACCENT_COLOR = "#FF5722";
|
||||||
const QColor BLUE_DARKER_PRIMARY_COLOR = "#303F9f";
|
const QColor BLUE_DARKER_PRIMARY_COLOR = "#303F9f";
|
||||||
|
@ -74,7 +53,7 @@ themeInterface *themeInterface::instance()
|
||||||
void themeInterface::setup(QQmlContext *ct)
|
void themeInterface::setup(QQmlContext *ct)
|
||||||
{
|
{
|
||||||
// Register interface class
|
// Register interface class
|
||||||
ct->setContextProperty("subsurfaceTheme", instance());
|
ct->setContextProperty("subsurfaceTheme", this);
|
||||||
|
|
||||||
// get current theme
|
// get current theme
|
||||||
m_currentTheme = qPrefDisplay::theme();
|
m_currentTheme = qPrefDisplay::theme();
|
||||||
|
@ -92,8 +71,8 @@ void themeInterface::set_currentTheme(const QString &theme)
|
||||||
{
|
{
|
||||||
m_currentTheme = theme;
|
m_currentTheme = theme;
|
||||||
qPrefDisplay::set_theme(m_currentTheme);
|
qPrefDisplay::set_theme(m_currentTheme);
|
||||||
instance()->update_theme();
|
update_theme();
|
||||||
emit instance()->currentThemeChanged(theme);
|
emit currentThemeChanged(theme);
|
||||||
}
|
}
|
||||||
|
|
||||||
double themeInterface::currentScale()
|
double themeInterface::currentScale()
|
||||||
|
@ -104,7 +83,7 @@ void themeInterface::set_currentScale(double newScale)
|
||||||
{
|
{
|
||||||
if (newScale != qPrefDisplay::mobile_scale()) {
|
if (newScale != qPrefDisplay::mobile_scale()) {
|
||||||
qPrefDisplay::set_mobile_scale(newScale);
|
qPrefDisplay::set_mobile_scale(newScale);
|
||||||
emit instance()->currentScaleChanged(qPrefDisplay::mobile_scale());
|
emit currentScaleChanged(qPrefDisplay::mobile_scale());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set current font size
|
// Set current font size
|
||||||
|
@ -112,16 +91,16 @@ void themeInterface::set_currentScale(double newScale)
|
||||||
|
|
||||||
// adjust all used font sizes
|
// adjust all used font sizes
|
||||||
m_regularPointSize = m_basePointSize * qPrefDisplay::mobile_scale();
|
m_regularPointSize = m_basePointSize * qPrefDisplay::mobile_scale();
|
||||||
emit instance()->regularPointSizeChanged(m_regularPointSize);
|
emit regularPointSizeChanged(m_regularPointSize);
|
||||||
|
|
||||||
m_headingPointSize = m_regularPointSize * 1.2;
|
m_headingPointSize = m_regularPointSize * 1.2;
|
||||||
emit instance()->headingPointSizeChanged(m_headingPointSize);
|
emit headingPointSizeChanged(m_headingPointSize);
|
||||||
|
|
||||||
m_smallPointSize = m_regularPointSize * 0.8;
|
m_smallPointSize = m_regularPointSize * 0.8;
|
||||||
emit instance()->smallPointSizeChanged(m_smallPointSize);
|
emit smallPointSizeChanged(m_smallPointSize);
|
||||||
|
|
||||||
m_titlePointSize = m_regularPointSize * 1.5;
|
m_titlePointSize = m_regularPointSize * 1.5;
|
||||||
emit instance()->titlePointSizeChanged(m_titlePointSize);
|
emit titlePointSizeChanged(m_titlePointSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
void themeInterface::update_theme()
|
void themeInterface::update_theme()
|
||||||
|
@ -166,16 +145,16 @@ void themeInterface::update_theme()
|
||||||
m_secondaryTextColor = DARK_SECONDARY_TEXT_COLOR;
|
m_secondaryTextColor = DARK_SECONDARY_TEXT_COLOR;
|
||||||
m_textColor = DARK_TEXT_COLOR;
|
m_textColor = DARK_TEXT_COLOR;
|
||||||
}
|
}
|
||||||
emit instance()->backgroundColorChanged(m_backgroundColor);
|
emit backgroundColorChanged(m_backgroundColor);
|
||||||
emit instance()->contrastAccentColorChanged(m_contrastAccentColor);
|
emit contrastAccentColorChanged(m_contrastAccentColor);
|
||||||
emit instance()->darkerPrimaryColorChanged(m_darkerPrimaryColor);
|
emit darkerPrimaryColorChanged(m_darkerPrimaryColor);
|
||||||
emit instance()->darkerPrimaryTextColorChanged(m_darkerPrimaryTextColor);
|
emit darkerPrimaryTextColorChanged(m_darkerPrimaryTextColor);
|
||||||
emit instance()->drawerColorChanged(m_drawerColor);
|
emit drawerColorChanged(m_drawerColor);
|
||||||
emit instance()->lightDrawerColorChanged(m_lightDrawerColor);
|
emit lightDrawerColorChanged(m_lightDrawerColor);
|
||||||
emit instance()->lightPrimaryColorChanged(m_lightPrimaryColor);
|
emit lightPrimaryColorChanged(m_lightPrimaryColor);
|
||||||
emit instance()->lightPrimaryTextColorChanged(m_lightPrimaryTextColor);
|
emit lightPrimaryTextColorChanged(m_lightPrimaryTextColor);
|
||||||
emit instance()->primaryColorChanged(m_primaryColor);
|
emit primaryColorChanged(m_primaryColor);
|
||||||
emit instance()->primaryTextColorChanged(m_primaryTextColor);
|
emit primaryTextColorChanged(m_primaryTextColor);
|
||||||
emit instance()->secondaryTextColorChanged(m_secondaryTextColor);
|
emit secondaryTextColorChanged(m_secondaryTextColor);
|
||||||
emit instance()->textColorChanged(m_textColor);
|
emit textColorChanged(m_textColor);
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,12 +36,12 @@ class themeInterface : public QObject {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static themeInterface *instance();
|
static themeInterface *instance();
|
||||||
static void setup(QQmlContext *ct);
|
void setup(QQmlContext *ct);
|
||||||
static double currentScale();
|
double currentScale();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
static void set_currentTheme(const QString &theme);
|
void set_currentTheme(const QString &theme);
|
||||||
static void set_currentScale(double);
|
void set_currentScale(double);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void backgroundColorChanged(QColor);
|
void backgroundColorChanged(QColor);
|
||||||
|
@ -67,27 +67,27 @@ signals:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
themeInterface() {}
|
themeInterface() {}
|
||||||
static void update_theme();
|
void update_theme();
|
||||||
|
|
||||||
static QColor m_backgroundColor;
|
QColor m_backgroundColor;
|
||||||
static QColor m_contrastAccentColor;
|
QColor m_contrastAccentColor;
|
||||||
static QColor m_darkerPrimaryColor;
|
QColor m_darkerPrimaryColor;
|
||||||
static QColor m_darkerPrimaryTextColor;
|
QColor m_darkerPrimaryTextColor;
|
||||||
static QColor m_drawerColor;
|
QColor m_drawerColor;
|
||||||
static QColor m_lightDrawerColor;
|
QColor m_lightDrawerColor;
|
||||||
static QColor m_lightPrimaryColor;
|
QColor m_lightPrimaryColor;
|
||||||
static QColor m_lightPrimaryTextColor;
|
QColor m_lightPrimaryTextColor;
|
||||||
static QColor m_primaryColor;
|
QColor m_primaryColor;
|
||||||
static QColor m_primaryTextColor;
|
QColor m_primaryTextColor;
|
||||||
static QColor m_secondaryTextColor;
|
QColor m_secondaryTextColor;
|
||||||
static QColor m_textColor;
|
QColor m_textColor;
|
||||||
|
|
||||||
static double m_basePointSize;
|
double m_basePointSize;
|
||||||
static double m_headingPointSize;
|
double m_headingPointSize;
|
||||||
static double m_regularPointSize;
|
double m_regularPointSize;
|
||||||
static double m_smallPointSize;
|
double m_smallPointSize;
|
||||||
static double m_titlePointSize;
|
double m_titlePointSize;
|
||||||
|
|
||||||
static QString m_currentTheme;
|
QString m_currentTheme;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -199,7 +199,7 @@ void register_qml_types(QQmlEngine *engine)
|
||||||
|
|
||||||
// Register qml interface classes
|
// Register qml interface classes
|
||||||
QMLInterface::setup(ct);
|
QMLInterface::setup(ct);
|
||||||
themeInterface::setup(ct);
|
themeInterface::instance()->setup(ct);
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_TYPE(QMLManager, "QMLManager");
|
REGISTER_TYPE(QMLManager, "QMLManager");
|
||||||
|
|
Loading…
Add table
Reference in a new issue