2017-07-02 14:28:37 +02:00
|
|
|
#include "widgets/basewidget.hpp"
|
2017-12-31 00:50:07 +01:00
|
|
|
#include "singletons/settingsmanager.hpp"
|
|
|
|
#include "singletons/thememanager.hpp"
|
2017-07-02 14:28:37 +02:00
|
|
|
|
|
|
|
#include <QDebug>
|
2018-01-05 03:30:43 +01:00
|
|
|
#include <QIcon>
|
2017-12-18 02:47:01 +01:00
|
|
|
#include <QLayout>
|
|
|
|
#include <QtGlobal>
|
2017-07-02 14:28:37 +02:00
|
|
|
#include <boost/signals2.hpp>
|
|
|
|
|
|
|
|
namespace chatterino {
|
|
|
|
namespace widgets {
|
|
|
|
|
2018-01-15 01:35:35 +01:00
|
|
|
BaseWidget::BaseWidget(singletons::ThemeManager &_themeManager, QWidget *parent, Qt::WindowFlags f)
|
|
|
|
: QWidget(parent, f)
|
2017-12-31 00:50:07 +01:00
|
|
|
, themeManager(_themeManager)
|
2017-07-02 14:28:37 +02:00
|
|
|
{
|
|
|
|
this->init();
|
|
|
|
}
|
|
|
|
|
2018-01-15 01:35:35 +01:00
|
|
|
BaseWidget::BaseWidget(BaseWidget *parent, Qt::WindowFlags f)
|
|
|
|
: QWidget(parent, f)
|
2017-12-31 22:58:35 +01:00
|
|
|
, themeManager(singletons::ThemeManager::getInstance())
|
2017-07-02 14:28:37 +02:00
|
|
|
{
|
|
|
|
this->init();
|
|
|
|
}
|
|
|
|
|
2018-01-15 01:35:35 +01:00
|
|
|
BaseWidget::BaseWidget(QWidget *parent, Qt::WindowFlags f)
|
|
|
|
: QWidget(parent, f)
|
2017-12-31 22:58:35 +01:00
|
|
|
, themeManager(singletons::ThemeManager::getInstance())
|
2017-12-17 16:45:15 +01:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2017-09-22 00:50:43 +02:00
|
|
|
float BaseWidget::getDpiMultiplier()
|
|
|
|
{
|
2017-12-18 00:54:17 +01:00
|
|
|
// return 1.f;
|
2017-09-22 00:50:43 +02:00
|
|
|
BaseWidget *baseWidget = dynamic_cast<BaseWidget *>(this->window());
|
|
|
|
|
|
|
|
if (baseWidget == nullptr) {
|
|
|
|
return 1.f;
|
|
|
|
} else {
|
|
|
|
return baseWidget->dpiMultiplier;
|
|
|
|
// int screenNr = QApplication::desktop()->screenNumber(this);
|
|
|
|
// QScreen *screen = QApplication::screens().at(screenNr);
|
|
|
|
// return screen->logicalDotsPerInch() / 96.f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-07-02 14:28:37 +02:00
|
|
|
void BaseWidget::init()
|
|
|
|
{
|
2017-12-31 00:50:07 +01:00
|
|
|
auto connection = this->themeManager.updated.connect([this]() {
|
2017-07-02 14:28:37 +02:00
|
|
|
this->refreshTheme();
|
|
|
|
|
|
|
|
this->update();
|
|
|
|
});
|
2017-12-19 01:54:51 +01:00
|
|
|
|
|
|
|
QObject::connect(this, &QObject::destroyed, [connection] {
|
|
|
|
connection.disconnect(); //
|
|
|
|
});
|
2017-07-02 14:28:37 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
void BaseWidget::refreshTheme()
|
|
|
|
{
|
|
|
|
// Do any color scheme updates here
|
|
|
|
}
|
|
|
|
|
|
|
|
} // namespace widgets
|
|
|
|
} // namespace chatterino
|