This commit is contained in:
fourtf
2018-06-26 13:24:55 +02:00
parent ec04f10895
commit c9722b9780
301 changed files with 0 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
#pragma once
#include <QWidget>
#include <boost/optional.hpp>
#include <pajlada/signals/signal.hpp>
namespace chatterino {
namespace singletons {
class ThemeManager;
} // namespace singletons
namespace widgets {
class BaseWindow;
class BaseWidget : public QWidget
{
Q_OBJECT
public:
explicit BaseWidget(QWidget *parent, Qt::WindowFlags f = Qt::WindowFlags());
virtual ~BaseWidget() override;
virtual float getScale() const;
pajlada::Signals::Signal<float> scaleChanged;
void setOverrideScale(boost::optional<float>);
boost::optional<float> getOverrideScale() const;
QSize getScaleIndependantSize() const;
int getScaleIndependantWidth() const;
int getScaleIndependantHeight() const;
void setScaleIndependantSize(int width, int height);
void setScaleIndependantSize(QSize);
void setScaleIndependantWidth(int value);
void setScaleIndependantHeight(int value);
protected:
void childEvent(QChildEvent *) override;
virtual void scaleChangedEvent(float newScale);
virtual void themeRefreshEvent();
virtual void showEvent(QShowEvent *) override;
void setScale(float value);
singletons::ThemeManager *themeManager;
private:
void init();
float scale = 1.f;
boost::optional<float> overrideScale = boost::none;
QSize scaleIndependantSize;
std::vector<BaseWidget *> widgets;
pajlada::Signals::Connection themeConnection;
friend class BaseWindow;
};
} // namespace widgets
} // namespace chatterino