Implemented a new, better looking tooltip. (#158)

* Implemented a new, better looking tooltip.

* Pajlada fix.

* Fixed dragging behaving incorrectly.

* Fixed out of focus hovering getting stuck.
This commit is contained in:
Cranken
2017-12-23 22:17:38 +01:00
committed by pajlada
parent fc81b118c7
commit a617873f6a
11 changed files with 172 additions and 37 deletions
+52
View File
@@ -0,0 +1,52 @@
#include "tooltipwidget.hpp"
#include "colorscheme.hpp"
#include "fontmanager.hpp"
#include <QStyle>
#include <QVBoxLayout>
namespace chatterino {
namespace widgets {
TooltipWidget::TooltipWidget(BaseWidget *parent)
: BaseWidget(parent)
, displayText(new QLabel())
{
QColor black(0,0,0);
QColor white(255,255,255);
QPalette palette;
palette.setColor(QPalette::WindowText,white);
palette.setColor(QPalette::Background,black);
this->setPalette(palette);
this->setWindowOpacity(0.8);
this->setFont(FontManager::getInstance().getFont(FontManager::Type::MediumSmall));
this->setAttribute(Qt::WA_ShowWithoutActivating);
this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
displayText->setAlignment(Qt::AlignHCenter);
auto layout = new QVBoxLayout();
layout->setContentsMargins(10,5,10,5);
layout->addWidget(displayText);
this->setLayout(layout);
FontManager::getInstance().fontChanged.connect([this] {
this->setFont(FontManager::getInstance().getFont(FontManager::Type::MediumSmall));
});
}
void TooltipWidget::setText(QString text)
{
this->displayText->setText(text);
}
void TooltipWidget::moveTo(QPoint point)
{
point.rx() += 16;
point.ry() += 16;
this->move(point);
}
} // namespace widgets
} // namespace chatterino