58 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			58 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
 |