From 4cd260bfcfcbf88a6efb8bf5a1abf3d37fb06463 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Fri, 31 Jan 2020 06:12:02 +0100 Subject: Optimize includes a bit --- src/Splitter.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'src/Splitter.cpp') diff --git a/src/Splitter.cpp b/src/Splitter.cpp index ddb1dc1c..32c67425 100644 --- a/src/Splitter.cpp +++ b/src/Splitter.cpp @@ -16,19 +16,20 @@ */ #include -#include #include #include #include #include "Config.h" +#include "Logging.h" #include "Splitter.h" +#include "Utils.h" constexpr auto MaxWidth = (1 << 24) - 1; Splitter::Splitter(QWidget *parent) : QSplitter(parent) - , sz_{utils::calculateSidebarSizes(QFont{})} + , sz_{splitter::calculateSidebarSizes(QFont{})} { connect(this, &QSplitter::splitterMoved, this, &Splitter::onSplitterMoved); setChildrenCollapsible(false); @@ -80,7 +81,7 @@ Splitter::onSplitterMoved(int pos, int index) auto s = sizes(); if (s.count() < 2) { - qWarning() << "Splitter needs at least two children"; + nhlog::ui()->warn("Splitter needs at least two children"); return; } @@ -165,3 +166,18 @@ Splitter::showFullRoomList() left->show(); left->setMaximumWidth(MaxWidth); } + +splitter::SideBarSizes +splitter::calculateSidebarSizes(const QFont &f) +{ + const auto height = static_cast(QFontMetrics{f}.lineSpacing()); + + SideBarSizes sz; + sz.small = std::ceil(3.5 * height + height / 4.0); + sz.normal = std::ceil(16 * height); + sz.groups = std::ceil(3 * height); + sz.collapsePoint = 2 * sz.normal; + + return sz; +} + -- cgit 1.5.1 From 63f3071445308aaa01c1f04d6c19f15f0bdde3d4 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Fri, 31 Jan 2020 16:25:43 +0100 Subject: Remove more unneeded headers --- src/Splitter.cpp | 6 -- src/TextInputWidget.h | 5 +- src/Utils.cpp | 1 - src/dialogs/PreviewUploadOverlay.cpp | 1 - src/popups/UserMentions.cpp | 3 + src/popups/UserMentions.h | 8 +- src/ui/DropShadow.cpp | 188 +++++++++++++++++------------------ src/ui/TextField.cpp | 2 +- src/ui/ToggleButton.cpp | 2 +- 9 files changed, 103 insertions(+), 113 deletions(-) (limited to 'src/Splitter.cpp') diff --git a/src/Splitter.cpp b/src/Splitter.cpp index 32c67425..6267e591 100644 --- a/src/Splitter.cpp +++ b/src/Splitter.cpp @@ -15,15 +15,10 @@ * along with this program. If not, see . */ -#include -#include #include -#include -#include "Config.h" #include "Logging.h" #include "Splitter.h" -#include "Utils.h" constexpr auto MaxWidth = (1 << 24) - 1; @@ -180,4 +175,3 @@ splitter::calculateSidebarSizes(const QFont &f) return sz; } - diff --git a/src/TextInputWidget.h b/src/TextInputWidget.h index 2f267a23..3674ee0d 100644 --- a/src/TextInputWidget.h +++ b/src/TextInputWidget.h @@ -18,17 +18,14 @@ #pragma once #include -#include -#include #include -#include +#include #include #include #include #include -#include "Utils.h" #include "dialogs/PreviewUploadOverlay.h" #include "emoji/PickButton.h" #include "popups/ReplyPopup.h" diff --git a/src/Utils.cpp b/src/Utils.cpp index 55eebbc9..91ecfcd7 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -651,4 +651,3 @@ utils::restoreCombobox(QComboBox *combo, const QString &value) } } } - diff --git a/src/dialogs/PreviewUploadOverlay.cpp b/src/dialogs/PreviewUploadOverlay.cpp index 31d01214..42558d67 100644 --- a/src/dialogs/PreviewUploadOverlay.cpp +++ b/src/dialogs/PreviewUploadOverlay.cpp @@ -15,7 +15,6 @@ * along with this program. If not, see . */ -#include #include #include #include diff --git a/src/popups/UserMentions.cpp b/src/popups/UserMentions.cpp index 763eeffc..b0223f7f 100644 --- a/src/popups/UserMentions.cpp +++ b/src/popups/UserMentions.cpp @@ -1,7 +1,10 @@ +#include #include +#include #include #include #include +#include #include "Cache.h" #include "ChatPage.h" diff --git a/src/popups/UserMentions.h b/src/popups/UserMentions.h index 42bdcd60..b7c4e51d 100644 --- a/src/popups/UserMentions.h +++ b/src/popups/UserMentions.h @@ -3,13 +3,13 @@ #include #include -#include -#include #include -#include -#include #include +class QPaintEvent; +class QTabWidget; +class QScrollArea; +class QVBoxLayout; namespace popups { diff --git a/src/ui/DropShadow.cpp b/src/ui/DropShadow.cpp index 93baa02d..d437975c 100644 --- a/src/ui/DropShadow.cpp +++ b/src/ui/DropShadow.cpp @@ -3,108 +3,106 @@ #include #include +void +DropShadow::draw(QPainter &painter, + qint16 margin, + qreal radius, + QColor start, + QColor end, + qreal startPosition, + qreal endPosition0, + qreal endPosition1, + qreal width, + qreal height) +{ + painter.setPen(Qt::NoPen); - void DropShadow::draw(QPainter &painter, - qint16 margin, - qreal radius, - QColor start, - QColor end, - qreal startPosition, - qreal endPosition0, - qreal endPosition1, - qreal width, - qreal height) - { - painter.setPen(Qt::NoPen); + QLinearGradient gradient; + gradient.setColorAt(startPosition, start); + gradient.setColorAt(endPosition0, end); - QLinearGradient gradient; - gradient.setColorAt(startPosition, start); - gradient.setColorAt(endPosition0, end); + // Right + QPointF right0(width - margin, height / 2); + QPointF right1(width, height / 2); + gradient.setStart(right0); + gradient.setFinalStop(right1); + painter.setBrush(QBrush(gradient)); + // Deprecated in 5.13: painter.drawRoundRect( + // QRectF(QPointF(width - margin * radius, margin), QPointF(width, height - + // margin)), 0.0, 0.0); + painter.drawRoundedRect( + QRectF(QPointF(width - margin * radius, margin), QPointF(width, height - margin)), + 0.0, + 0.0); - // Right - QPointF right0(width - margin, height / 2); - QPointF right1(width, height / 2); - gradient.setStart(right0); - gradient.setFinalStop(right1); - painter.setBrush(QBrush(gradient)); - // Deprecated in 5.13: painter.drawRoundRect( - // QRectF(QPointF(width - margin * radius, margin), QPointF(width, height - - // margin)), 0.0, 0.0); - painter.drawRoundedRect( - QRectF(QPointF(width - margin * radius, margin), QPointF(width, height - margin)), - 0.0, - 0.0); + // Left + QPointF left0(margin, height / 2); + QPointF left1(0, height / 2); + gradient.setStart(left0); + gradient.setFinalStop(left1); + painter.setBrush(QBrush(gradient)); + painter.drawRoundedRect( + QRectF(QPointF(margin * radius, margin), QPointF(0, height - margin)), 0.0, 0.0); - // Left - QPointF left0(margin, height / 2); - QPointF left1(0, height / 2); - gradient.setStart(left0); - gradient.setFinalStop(left1); - painter.setBrush(QBrush(gradient)); - painter.drawRoundedRect( - QRectF(QPointF(margin * radius, margin), QPointF(0, height - margin)), 0.0, 0.0); + // Top + QPointF top0(width / 2, margin); + QPointF top1(width / 2, 0); + gradient.setStart(top0); + gradient.setFinalStop(top1); + painter.setBrush(QBrush(gradient)); + painter.drawRoundedRect( + QRectF(QPointF(width - margin, 0), QPointF(margin, margin)), 0.0, 0.0); - // Top - QPointF top0(width / 2, margin); - QPointF top1(width / 2, 0); - gradient.setStart(top0); - gradient.setFinalStop(top1); - painter.setBrush(QBrush(gradient)); - painter.drawRoundedRect( - QRectF(QPointF(width - margin, 0), QPointF(margin, margin)), 0.0, 0.0); + // Bottom + QPointF bottom0(width / 2, height - margin); + QPointF bottom1(width / 2, height); + gradient.setStart(bottom0); + gradient.setFinalStop(bottom1); + painter.setBrush(QBrush(gradient)); + painter.drawRoundedRect( + QRectF(QPointF(margin, height - margin), QPointF(width - margin, height)), 0.0, 0.0); - // Bottom - QPointF bottom0(width / 2, height - margin); - QPointF bottom1(width / 2, height); - gradient.setStart(bottom0); - gradient.setFinalStop(bottom1); - painter.setBrush(QBrush(gradient)); - painter.drawRoundedRect( - QRectF(QPointF(margin, height - margin), QPointF(width - margin, height)), - 0.0, - 0.0); + // BottomRight + QPointF bottomright0(width - margin, height - margin); + QPointF bottomright1(width, height); + gradient.setStart(bottomright0); + gradient.setFinalStop(bottomright1); + gradient.setColorAt(endPosition1, end); + painter.setBrush(QBrush(gradient)); + painter.drawRoundedRect(QRectF(bottomright0, bottomright1), 0.0, 0.0); - // BottomRight - QPointF bottomright0(width - margin, height - margin); - QPointF bottomright1(width, height); - gradient.setStart(bottomright0); - gradient.setFinalStop(bottomright1); - gradient.setColorAt(endPosition1, end); - painter.setBrush(QBrush(gradient)); - painter.drawRoundedRect(QRectF(bottomright0, bottomright1), 0.0, 0.0); + // BottomLeft + QPointF bottomleft0(margin, height - margin); + QPointF bottomleft1(0, height); + gradient.setStart(bottomleft0); + gradient.setFinalStop(bottomleft1); + gradient.setColorAt(endPosition1, end); + painter.setBrush(QBrush(gradient)); + painter.drawRoundedRect(QRectF(bottomleft0, bottomleft1), 0.0, 0.0); - // BottomLeft - QPointF bottomleft0(margin, height - margin); - QPointF bottomleft1(0, height); - gradient.setStart(bottomleft0); - gradient.setFinalStop(bottomleft1); - gradient.setColorAt(endPosition1, end); - painter.setBrush(QBrush(gradient)); - painter.drawRoundedRect(QRectF(bottomleft0, bottomleft1), 0.0, 0.0); + // TopLeft + QPointF topleft0(margin, margin); + QPointF topleft1(0, 0); + gradient.setStart(topleft0); + gradient.setFinalStop(topleft1); + gradient.setColorAt(endPosition1, end); + painter.setBrush(QBrush(gradient)); + painter.drawRoundedRect(QRectF(topleft0, topleft1), 0.0, 0.0); - // TopLeft - QPointF topleft0(margin, margin); - QPointF topleft1(0, 0); - gradient.setStart(topleft0); - gradient.setFinalStop(topleft1); - gradient.setColorAt(endPosition1, end); - painter.setBrush(QBrush(gradient)); - painter.drawRoundedRect(QRectF(topleft0, topleft1), 0.0, 0.0); + // TopRight + QPointF topright0(width - margin, margin); + QPointF topright1(width, 0); + gradient.setStart(topright0); + gradient.setFinalStop(topright1); + gradient.setColorAt(endPosition1, end); + painter.setBrush(QBrush(gradient)); + painter.drawRoundedRect(QRectF(topright0, topright1), 0.0, 0.0); - // TopRight - QPointF topright0(width - margin, margin); - QPointF topright1(width, 0); - gradient.setStart(topright0); - gradient.setFinalStop(topright1); - gradient.setColorAt(endPosition1, end); - painter.setBrush(QBrush(gradient)); - painter.drawRoundedRect(QRectF(topright0, topright1), 0.0, 0.0); - - // Widget - painter.setBrush(QBrush("#FFFFFF")); - painter.setRenderHint(QPainter::Antialiasing); - painter.drawRoundedRect( - QRectF(QPointF(margin, margin), QPointF(width - margin, height - margin)), - radius, - radius); - } + // Widget + painter.setBrush(QBrush("#FFFFFF")); + painter.setRenderHint(QPainter::Antialiasing); + painter.drawRoundedRect( + QRectF(QPointF(margin, margin), QPointF(width - margin, height - margin)), + radius, + radius); +} diff --git a/src/ui/TextField.cpp b/src/ui/TextField.cpp index c4582085..0ae2516d 100644 --- a/src/ui/TextField.cpp +++ b/src/ui/TextField.cpp @@ -1,6 +1,6 @@ #include "TextField.h" -#include +#include #include #include #include diff --git a/src/ui/ToggleButton.cpp b/src/ui/ToggleButton.cpp index 755f528f..f9411489 100644 --- a/src/ui/ToggleButton.cpp +++ b/src/ui/ToggleButton.cpp @@ -1,5 +1,5 @@ -#include #include +#include #include #include -- cgit 1.5.1 From 6e6fe0cad2f5f927db26febd4b5c8e07e1106c7e Mon Sep 17 00:00:00 2001 From: Adasauce Date: Fri, 21 Feb 2020 15:16:53 -0400 Subject: remove setStyleSheet calls directly from widget code removed from: - emoji panel scrollbars - emoji category labels - splitter image handles - textfield setTextColor impl small change to the category separator label for better contrast / readability in dark mode. removed setTextColor completely from TextField. Doesn't appear to be in use anywhere, and focus going more toward qss themeing from qproperty setting. --- resources/styles/nheko-dark.qss | 11 ++++++++++- resources/styles/nheko.qss | 8 ++++++++ resources/styles/system.qss | 10 ++++++++++ src/Splitter.cpp | 1 - src/emoji/Category.cpp | 1 - src/emoji/Panel.cpp | 4 ---- src/ui/TextField.cpp | 17 ----------------- src/ui/TextField.h | 4 ---- 8 files changed, 28 insertions(+), 28 deletions(-) (limited to 'src/Splitter.cpp') diff --git a/resources/styles/nheko-dark.qss b/resources/styles/nheko-dark.qss index 8597eccb..33e8e150 100644 --- a/resources/styles/nheko-dark.qss +++ b/resources/styles/nheko-dark.qss @@ -52,11 +52,18 @@ dialogs--JoinRoom > QLineEdit { color: #caccd1; } +emoji--Panel QWidget { border: none; } +emoji--Panel QScrollBar:vertical { width: 0px; margin: 0px; } +emoji--Panel QScrollBar::handle:vertical { min-height: 30px; } + emoji--Category, emoji--Category > * { background-color: #2d3139; - color: #caccd1; + color: #727274; +} +emoji--Category QLabel { + margin: 20px 0 20px 8px; } TimelineItem { @@ -237,3 +244,5 @@ SnackBar { qproperty-textColor: #caccd1; qproperty-bgColor: #202228; } + +QSplitter::handle { image: none; } diff --git a/resources/styles/nheko.qss b/resources/styles/nheko.qss index ffaba4e1..eeb90323 100644 --- a/resources/styles/nheko.qss +++ b/resources/styles/nheko.qss @@ -187,6 +187,10 @@ emoji--Panel > * { color: #333; } +emoji--Panel QWidget { border: none; } +emoji--Panel QScrollBar:vertical { width: 0px; margin: 0px; } +emoji--Panel QScrollBar::handle:vertical { min-height: 30px; } + emoji--Category { qproperty-hoverBackgroundColor: rgba(200, 200, 200, 70); } @@ -197,6 +201,8 @@ emoji--Category > * { color: #ccc; } +emoji--Category QLabel { margin: 20px 0 20px 8px; } + FloatingButton { qproperty-backgroundColor: #efefef; qproperty-foregroundColor: black; @@ -239,3 +245,5 @@ SnackBar { qproperty-textColor: white; qproperty-bgColor: #495057; } + +QSplitter::handle { image: none; } diff --git a/resources/styles/system.qss b/resources/styles/system.qss index 2d4b2d8c..db8f4b4e 100644 --- a/resources/styles/system.qss +++ b/resources/styles/system.qss @@ -138,6 +138,10 @@ emoji--Panel > * { color: palette(text); } +emoji--Panel QWidget { border: none; } +emoji--Panel QScrollBar:vertical { width: 0px; margin: 0px; } +emoji--Panel QScrollBar::handle:vertical { min-height: 30px; } + emoji--Category { qproperty-hoverBackgroundColor: palette(highlight); } @@ -148,6 +152,10 @@ emoji--Category > * { color: palette(text); } +emoji--Category QLabel { + margin: 20px 0 20px 8px; +} + FloatingButton { qproperty-backgroundColor: palette(base); qproperty-foregroundColor: palette(text); @@ -164,3 +172,5 @@ Toggle { qproperty-inactiveColor: palette(mid); qproperty-trackColor: palette(base); } + +QSplitter::handle { image: none; } diff --git a/src/Splitter.cpp b/src/Splitter.cpp index 6267e591..a2f95ed4 100644 --- a/src/Splitter.cpp +++ b/src/Splitter.cpp @@ -28,7 +28,6 @@ Splitter::Splitter(QWidget *parent) { connect(this, &QSplitter::splitterMoved, this, &Splitter::onSplitterMoved); setChildrenCollapsible(false); - setStyleSheet("QSplitter::handle { image: none; }"); } void diff --git a/src/emoji/Category.cpp b/src/emoji/Category.cpp index 659555f7..e674e9db 100644 --- a/src/emoji/Category.cpp +++ b/src/emoji/Category.cpp @@ -75,7 +75,6 @@ Category::Category(QString category, std::vector emoji, QWidget *parent) category_ = new QLabel(category, this); category_->setFont(font); - category_->setStyleSheet("margin: 20px 0 20px 8px;"); mainLayout_->addWidget(category_); mainLayout_->addWidget(emojiListView_); diff --git a/src/emoji/Panel.cpp b/src/emoji/Panel.cpp index e3b966b4..f0e4449d 100644 --- a/src/emoji/Panel.cpp +++ b/src/emoji/Panel.cpp @@ -35,10 +35,6 @@ Panel::Panel(QWidget *parent) , height_{350} , categoryIconSize_{20} { - setStyleSheet("QWidget {border: none;}" - "QScrollBar:vertical { width: 0px; margin: 0px; }" - "QScrollBar::handle:vertical { min-height: 30px; }"); - setAttribute(Qt::WA_ShowWithoutActivating, true); setWindowFlags(Qt::Tool | Qt::FramelessWindowHint | Qt::NoDropShadowWindowHint); diff --git a/src/ui/TextField.cpp b/src/ui/TextField.cpp index 6c1552a8..4bb7596a 100644 --- a/src/ui/TextField.cpp +++ b/src/ui/TextField.cpp @@ -102,23 +102,6 @@ TextField::label() const return label_text_; } -void -TextField::setTextColor(const QColor &color) -{ - text_color_ = color; - setStyleSheet(QString("QLineEdit { color: %1; }").arg(color.name())); -} - -QColor -TextField::textColor() const -{ - if (!text_color_.isValid()) { - return QPalette().color(QPalette::Text); - } - - return text_color_; -} - void TextField::setLabelColor(const QColor &color) { diff --git a/src/ui/TextField.h b/src/ui/TextField.h index 100fed31..85d5036d 100644 --- a/src/ui/TextField.h +++ b/src/ui/TextField.h @@ -15,7 +15,6 @@ class TextField : public QLineEdit { Q_OBJECT - Q_PROPERTY(QColor textColor WRITE setTextColor READ textColor) Q_PROPERTY(QColor inkColor WRITE setInkColor READ inkColor) Q_PROPERTY(QColor labelColor WRITE setLabelColor READ labelColor) Q_PROPERTY(QColor underlineColor WRITE setUnderlineColor READ underlineColor) @@ -30,12 +29,10 @@ public: void setLabelColor(const QColor &color); void setLabelFontSize(qreal size); void setShowLabel(bool value); - void setTextColor(const QColor &color); void setUnderlineColor(const QColor &color); QColor inkColor() const; QColor labelColor() const; - QColor textColor() const; QColor underlineColor() const; QColor backgroundColor() const; QString label() const; @@ -52,7 +49,6 @@ private: QColor ink_color_; QColor background_color_; QColor label_color_; - QColor text_color_; QColor underline_color_; QString label_text_; TextFieldLabel *label_; -- cgit 1.5.1 From 2fd638540341e8354b5af35414580c0b1b83b486 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Fri, 28 Feb 2020 19:56:08 +0100 Subject: Make small sidebar sizing consistent --- src/Splitter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/Splitter.cpp') diff --git a/src/Splitter.cpp b/src/Splitter.cpp index a2f95ed4..04375853 100644 --- a/src/Splitter.cpp +++ b/src/Splitter.cpp @@ -167,7 +167,7 @@ splitter::calculateSidebarSizes(const QFont &f) const auto height = static_cast(QFontMetrics{f}.lineSpacing()); SideBarSizes sz; - sz.small = std::ceil(3.5 * height + height / 4.0); + sz.small = std::ceil(3.8 * height); sz.normal = std::ceil(16 * height); sz.groups = std::ceil(3 * height); sz.collapsePoint = 2 * sz.normal; -- cgit 1.5.1