Special Commands Handling #41
| @@ -12,6 +12,7 @@ HEADERS += calculationengine.h \ | |||||||
|            entrypushbutton.h \ |            entrypushbutton.h \ | ||||||
|            settingsprovider.h \ |            settingsprovider.h \ | ||||||
|            singleinstanceserver.h \ |            singleinstanceserver.h \ | ||||||
|  |            textoutputlabel.h \ | ||||||
|            window.h |            window.h | ||||||
| SOURCES += calculationengine.cpp \ | SOURCES += calculationengine.cpp \ | ||||||
|            entryprovider.cpp \ |            entryprovider.cpp \ | ||||||
| @@ -19,6 +20,7 @@ SOURCES += calculationengine.cpp \ | |||||||
|            main.cpp \ |            main.cpp \ | ||||||
|            settingsprovider.cpp \ |            settingsprovider.cpp \ | ||||||
|            singleinstanceserver.cpp \ |            singleinstanceserver.cpp \ | ||||||
|  |            textoutputlabel.cpp \ | ||||||
|            window.cpp |            window.cpp | ||||||
| QT += widgets sql network | QT += widgets sql network | ||||||
| QT_CONFIG -= no-pkg-config | QT_CONFIG -= no-pkg-config | ||||||
|   | |||||||
							
								
								
									
										37
									
								
								textoutputlabel.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								textoutputlabel.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | |||||||
|  | #include "textoutputlabel.h" | ||||||
|  |  | ||||||
|  | TextoutputLabel::TextoutputLabel() | ||||||
|  | { | ||||||
|  | 	QFont font; | ||||||
|  | 	font.setPointSize(48); | ||||||
|  | 	font.setBold(true); | ||||||
|  | 	this->setFont(font); | ||||||
|  | 	this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); | ||||||
|  | 	this->setAlignment(Qt::AlignCenter); | ||||||
|  | 	this->setContextMenuPolicy(Qt::ContextMenuPolicy::CustomContextMenu); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void TextoutputLabel::setText(const QString &text) | ||||||
|  | { | ||||||
|  | 	QLabel::setText(text); | ||||||
|  | 	QFont currentFont = this->font(); | ||||||
|  | 	int calculatedPointSize = currentFont.pointSize(); | ||||||
|  | 	QFontMetrics fm(currentFont); | ||||||
|  | 	int contentWidth = this->contentsRect().width() - this->margin(); | ||||||
|  | 	while(calculatedPointSize < 48 && fm.boundingRect(this->text()).width() < contentWidth) | ||||||
|  | 	{ | ||||||
|  | 		calculatedPointSize += 1; | ||||||
|  | 		currentFont.setPointSize(calculatedPointSize); | ||||||
|  | 		fm = QFontMetrics(currentFont); | ||||||
|  | 	} | ||||||
|  | 	while(fm.boundingRect(this->text()).width() >= contentWidth) | ||||||
|  | 	{ | ||||||
|  | 		calculatedPointSize -= 1; | ||||||
|  | 		currentFont.setPointSize(calculatedPointSize); | ||||||
|  | 		fm = QFontMetrics(currentFont); | ||||||
|  | 	} | ||||||
|  | 	this->setFont(currentFont); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										14
									
								
								textoutputlabel.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								textoutputlabel.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | #ifndef TEXTOUTPUTLABEL_H | ||||||
|  | #define TEXTOUTPUTLABEL_H | ||||||
|  | #include <QLabel> | ||||||
|  |  | ||||||
|  | class TextoutputLabel : public QLabel | ||||||
|  | { | ||||||
|  | public: | ||||||
|  | 	TextoutputLabel(); | ||||||
|  | 	virtual void setText(const QString &text); | ||||||
|  |  | ||||||
|  |  | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | #endif // TEXTOUTPUTLABEL_H | ||||||
		Reference in New Issue
	
	Block a user