tdesktop/Telegram/SourceFiles/statistics/widgets/chart_header_widget.cpp

59 lines
1.4 KiB
C++

/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
#include "statistics/widgets/chart_header_widget.h"
#include "ui/painter.h"
#include "styles/style_statistics.h"
namespace Statistic {
Header::Header(not_null<Ui::RpWidget*> parent)
: Ui::RpWidget(parent)
, _height(st::statisticsChartHeaderHeight) {
}
QString Header::title() const {
return _title.toString();
}
void Header::setTitle(QString title) {
_title.setText(st::statisticsHeaderTitleTextStyle, std::move(title));
}
int Header::resizeGetHeight(int newWidth) {
return _height;
}
void Header::setSubTitle(QString subTitle) {
_height = subTitle.isEmpty()
? st::statisticsHeaderTitleTextStyle.font->height
: st::statisticsChartHeaderHeight;
_subTitle.setText(
st::statisticsHeaderDatesTextStyle,
std::move(subTitle));
}
void Header::paintEvent(QPaintEvent *e) {
auto p = Painter(this);
p.fillRect(rect(), st::boxBg);
p.setPen(st::boxTextFg);
_title.drawLeftElided(p, 0, 0, width(), width());
p.setPen(st::windowSubTextFg);
_subTitle.drawLeftElided(p, 0, _infoTop, width(), width());
}
void Header::resizeEvent(QResizeEvent *e) {
_infoTop = e->size().height()
- st::statisticsHeaderDatesTextStyle.font->height;
}
} // namespace Statistic