tabs now grey out when the window loses focus

This commit is contained in:
fourtf 2017-08-17 16:43:19 +02:00
parent b8db0f7d4c
commit 6b0a7f507e
4 changed files with 21 additions and 6 deletions

View file

@ -90,6 +90,9 @@ void ColorScheme::setColors(double hue, double multiplier)
TabSelectedText = QColor(255, 255, 255);
TabSelectedBackground = getColor(hue, 0.5, 0.5);
TabSelectedUnfocusedText = QColor(255, 255, 255);
TabSelectedUnfocusedBackground = getColor(hue, 0, 0.5);
TabHighlightedText = QColor(0, 0, 0);
TabHighlightedBackground = getColor(hue, 0.5, 0.2);

View file

@ -68,6 +68,9 @@ public:
QColor TabHighlightedText;
QColor TabHighlightedBackground;
QColor TabSelectedUnfocusedText;
QColor TabSelectedUnfocusedBackground;
QBrush TabNewMessageBackground;
const int HighlightColorCount = 3;

View file

@ -4,6 +4,7 @@
#include "widgets/notebook.hpp"
#include "widgets/notebooktab.hpp"
#include <QApplication>
#include <QDebug>
#include <QHBoxLayout>
#include <QMimeData>
@ -364,15 +365,17 @@ void NotebookPage::paintEvent(QPaintEvent *)
if (this->ui.hbox.count() == 0) {
painter.fillRect(rect(), this->colorScheme.ChatBackground);
painter.fillRect(0, 0, width(), 2, this->colorScheme.TabSelectedBackground);
painter.setPen(this->colorScheme.Text);
painter.drawText(rect(), "Add Chat", QTextOption(Qt::AlignCenter));
} else {
painter.fillRect(rect(), this->colorScheme.ChatSeperator);
painter.fillRect(0, 0, width(), 2, this->colorScheme.TabSelectedBackground);
}
QColor accentColor = (QApplication::activeWindow() == this->window()
? this->colorScheme.TabSelectedBackground
: this->colorScheme.TabSelectedUnfocusedBackground);
painter.fillRect(0, 0, width(), 2, accentColor);
}
void NotebookPage::showEvent(QShowEvent *event)

View file

@ -6,6 +6,7 @@
#include <QDebug>
#include <QPainter>
#include <QApplication>
namespace chatterino {
namespace widgets {
@ -154,8 +155,13 @@ void NotebookTab::paintEvent(QPaintEvent *)
QColor fg = QColor(0, 0, 0);
if (this->selected) {
painter.fillRect(rect(), this->colorScheme.TabSelectedBackground);
fg = this->colorScheme.TabSelectedText;
if (this->window() == QApplication::activeWindow()) {
painter.fillRect(rect(), this->colorScheme.TabSelectedBackground);
fg = this->colorScheme.TabSelectedText;
} else {
painter.fillRect(rect(), this->colorScheme.TabSelectedUnfocusedBackground);
fg = this->colorScheme.TabSelectedUnfocusedText;
}
} else if (this->mouseOver) {
painter.fillRect(rect(), this->colorScheme.TabHoverBackground);
fg = this->colorScheme.TabHoverText;