refactored SplitInput

This commit is contained in:
fourtf
2018-01-25 20:49:49 +01:00
parent 8ab0fa4378
commit 0a8073d0e5
27 changed files with 296 additions and 180 deletions
+16 -7
View File
@@ -1,6 +1,7 @@
#pragma once
#include <QWidget>
#include <pajlada/signals/signal.hpp>
namespace chatterino {
namespace singletons {
@@ -8,6 +9,7 @@ class ThemeManager;
}
namespace widgets {
class BaseWindow;
class BaseWidget : public QWidget
{
@@ -17,23 +19,30 @@ public:
explicit BaseWidget(singletons::ThemeManager &_themeManager, QWidget *parent,
Qt::WindowFlags f = Qt::WindowFlags());
explicit BaseWidget(BaseWidget *parent, Qt::WindowFlags f = Qt::WindowFlags());
explicit BaseWidget(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
singletons::ThemeManager &themeManager;
float getDpiMultiplier();
float getScale() const;
pajlada::Signals::Signal<float> scaleChanged;
protected:
virtual void dpiMultiplierChanged(float /*oldDpi*/, float /*newDpi*/)
{
}
virtual void childEvent(QChildEvent *) override;
float dpiMultiplier = 1.f;
virtual void scaleChangedEvent(float newScale);
virtual void themeRefreshEvent();
virtual void refreshTheme();
void setScale(float value);
private:
void init();
float scale = 1.f;
std::vector<BaseWidget *> widgets;
static void setScaleRecursive(float scale, QObject *object);
friend class BaseWindow;
};
} // namespace widgets