Blame adwaita-qt-upstream-fixes.patch

384641d
diff --git a/style/adwaita.h b/style/adwaita.h
384641d
index b7c830a..09b970a 100644
384641d
--- a/style/adwaita.h
384641d
+++ b/style/adwaita.h
384641d
@@ -136,7 +136,7 @@ namespace Adwaita
384641d
 
384641d
         // line editors
384641d
         LineEdit_FrameWidth = 3,
384641d
-        LineEdit_MarginHeight = 4,
384641d
+        LineEdit_MarginHeight = 2,
384641d
         LineEdit_MarginWidth = 8,
384641d
         LineEdit_MinHeight = 36,
384641d
         LineEdit_MinWidth = 80,
712e7fd
diff --git a/style/adwaitahelper.cpp b/style/adwaitahelper.cpp
712e7fd
index 9c9e905..604b9e3 100644
712e7fd
--- a/style/adwaitahelper.cpp
712e7fd
+++ b/style/adwaitahelper.cpp
712e7fd
@@ -182,7 +182,7 @@ QColor Helper::buttonBackgroundColor(const QPalette &palette, bool mouseOver, bo
712e7fd
             // Hovered button for normal mode is bg_color
712e7fd
             return mix(buttonBackground, background, opacity);
712e7fd
         }
712e7fd
-    } else if(mouseOver) {
712e7fd
+    } else if (mouseOver) {
712e7fd
         if (darkMode) {
712e7fd
             // Hovered button for dark mode is darken(bg_color, 0.01)
712e7fd
             return darken(background, 0.01);
712e7fd
@@ -575,10 +575,10 @@ void Helper::renderMenuFrame(QPainter *painter, const QRect &rect, const QColor
712e7fd
         painter->setBrush(Qt::NoBrush);
712e7fd
 
712e7fd
     painter->setRenderHint(QPainter::Antialiasing, false);
712e7fd
-    QRect frameRect(rect);
712e7fd
+    QRectF frameRect(rect);
712e7fd
     if (outline.isValid()) {
712e7fd
         painter->setPen(outline);
712e7fd
-        frameRect.adjust(0, 0, -1, -1);
712e7fd
+        frameRect.adjust(0.5, 0.5, -0.5, -0.5);
712e7fd
     } else
712e7fd
         painter->setPen(Qt::NoPen);
712e7fd
 
708d9f3
diff --git a/style/adwaitastyle.cpp b/style/adwaitastyle.cpp
712e7fd
index aeeb8ae..224fa7f 100644
708d9f3
--- a/style/adwaitastyle.cpp
708d9f3
+++ b/style/adwaitastyle.cpp
384641d
@@ -392,7 +392,12 @@ void Style::polish(QWidget *widget)
708d9f3
     } else if (widget->inherits("QTipLabel")) {
708d9f3
         setTranslucentBackground(widget);
708d9f3
     } else if (QLineEdit *lineEdit = qobject_cast<QLineEdit *>(widget)) {
384641d
-        lineEdit->setTextMargins(Metrics::LineEdit_MarginWidth, Metrics::LineEdit_MarginHeight, Metrics::LineEdit_MarginWidth, Metrics::LineEdit_MarginHeight);
708d9f3
+        // Do not use additional margin if the QLineEdit is really small
708d9f3
+        const bool useMarginWidth = lineEdit->width() > lineEdit->fontMetrics().width("#####");
384641d
+        const bool useMarginHeight = lineEdit->height() > lineEdit->fontMetrics().height() + (2 * Metrics::LineEdit_MarginHeight);
384641d
+        const int marginHeight = useMarginHeight ? Metrics::LineEdit_MarginHeight : 0;
708d9f3
+        const int marginWidth = useMarginWidth ? Metrics::LineEdit_MarginWidth : 0;
384641d
+        lineEdit->setTextMargins(marginWidth, marginHeight, marginWidth, marginHeight);
708d9f3
     } else if (QSpinBox *spinBox = qobject_cast<QSpinBox *>(widget)) {
708d9f3
         if (!spinBox->isEnabled()) {
384641d
             QPalette pal = spinBox->palette();
712e7fd
@@ -1266,9 +1271,6 @@ void Style::drawControl(ControlElement element, const QStyleOption *option, QPai
712e7fd
         case CE_MenuBarItem:
712e7fd
             fcn = &Style::drawMenuBarItemControl;
712e7fd
             break;
712e7fd
-        case CE_MenuEmptyArea:
712e7fd
-            fcn = &Style::drawMenuEmptyAreaControl;
712e7fd
-            break;
712e7fd
         case CE_MenuItem:
712e7fd
             fcn = &Style::drawMenuItemControl;
712e7fd
             break;
712e7fd
@@ -3391,7 +3393,6 @@ bool Style::drawFrameLineEditPrimitive(const QStyleOption *option, QPainter *pai
712e7fd
 
712e7fd
         // focus takes precedence over mouse over
712e7fd
         _animations->inputWidgetEngine().updateState(widget, AnimationFocus, hasFocus);
712e7fd
-        _animations->inputWidgetEngine().updateState(widget, AnimationHover, mouseOver && !hasFocus);
712e7fd
 
712e7fd
         // retrieve animation mode and opacity
712e7fd
         AnimationMode mode(_animations->inputWidgetEngine().frameAnimationMode(widget));
712e7fd
@@ -4844,27 +4845,12 @@ bool Style::drawMenuBarItemControl(const QStyleOption *option, QPainter *painter
708d9f3
     QRect textRect = option->fontMetrics.boundingRect(rect, textFlags, menuItemOption->text);
708d9f3
 
708d9f3
     // render text
708d9f3
-    const QPalette::ColorRole role = (useStrongFocus && sunken) ? QPalette::Highlight : QPalette::WindowText;
708d9f3
+    const QPalette::ColorRole role = (useStrongFocus && sunken) ? QPalette::Link : QPalette::WindowText;
708d9f3
     drawItemText(painter, textRect, textFlags, palette, enabled, menuItemOption->text, role);
708d9f3
 
708d9f3
     return true;
712e7fd
 }
712e7fd
 
712e7fd
-bool Style::drawMenuEmptyAreaControl(const QStyleOption *option, QPainter *painter, const QWidget *widget) const
712e7fd
-{
712e7fd
-    if (_isGNOME)
712e7fd
-        painter->setPen(Qt::transparent);
712e7fd
-    else
712e7fd
-        painter->setPen(option->palette.window().color().darker(150));
712e7fd
-
712e7fd
-    painter->setBrush(option->palette.base().color());
712e7fd
-    if (_isGNOME)
712e7fd
-        painter->drawRect(option->rect);
712e7fd
-    else
712e7fd
-        painter->drawRect(option->rect.adjusted(0, 0, -1, -1));
712e7fd
-    return true;
712e7fd
-}
712e7fd
-
712e7fd
 //___________________________________________________________________________________
712e7fd
 bool Style::drawMenuItemControl(const QStyleOption *option, QPainter *painter, const QWidget *widget) const
712e7fd
 {
712e7fd
@@ -4878,11 +4864,6 @@ bool Style::drawMenuItemControl(const QStyleOption *option, QPainter *painter, c
712e7fd
     // copy rect and palette
712e7fd
     const QRect &rect(option->rect);
712e7fd
     const QPalette &palette(option->palette);
712e7fd
-    const QColor &background(palette.color(QPalette::Active, QPalette::Base));
712e7fd
-
712e7fd
-    painter->setPen(Qt::NoPen);
712e7fd
-    painter->setBrush(background);
712e7fd
-    painter->drawRect(rect);
712e7fd
 
712e7fd
     // deal with separators
712e7fd
     if (menuItemOption->menuItemType == QStyleOptionMenuItem::Separator) {
712e7fd
@@ -6273,11 +6254,13 @@ bool Style::drawComboBoxComplexControl(const QStyleOptionComplex *option, QPaint
712e7fd
                 AnimationMode mode(_animations->inputWidgetEngine().buttonAnimationMode(widget));
712e7fd
                 qreal opacity(_animations->inputWidgetEngine().buttonOpacity(widget));
712e7fd
 
712e7fd
-                QColor shadow(palette.color(QPalette::Shadow));
712e7fd
+                // define colors
712e7fd
+                QColor shadow(_helper->shadowColor(palette));
712e7fd
                 QColor outline(_helper->buttonOutlineColor(palette, mouseOver, hasFocus, opacity, mode, _dark));
712e7fd
                 QColor background(_helper->buttonBackgroundColor(palette, mouseOver, hasFocus, sunken, opacity, mode, _dark));
712e7fd
 
712e7fd
-                _helper->renderFlatButtonFrame(painter, subControlRect(CC_ComboBox, option, SC_ComboBoxArrow, widget), background, outline, shadow, hasFocus, sunken, mouseOver, enabled && windowActive);
712e7fd
+                // render
712e7fd
+                _helper->renderButtonFrame(painter, rect, background, outline, shadow, hasFocus, sunken, mouseOver, enabled && windowActive, _dark);
712e7fd
 
712e7fd
                 QStyleOptionComplex tmpOpt(*option);
712e7fd
                 tmpOpt.rect.setWidth(tmpOpt.rect.width() - subControlRect(CC_ComboBox, option, SC_ComboBoxArrow, widget).width() + 3);
712e7fd
diff --git a/style/adwaitastyle.h b/style/adwaitastyle.h
712e7fd
index 2809286..ae6b13e 100644
712e7fd
--- a/style/adwaitastyle.h
712e7fd
+++ b/style/adwaitastyle.h
712e7fd
@@ -312,7 +312,6 @@ protected:
712e7fd
     virtual bool drawItemViewItemControl(const QStyleOption *option, QPainter *painter, const QWidget *widget) const;
712e7fd
     virtual bool drawMenuBarEmptyArea(const QStyleOption *option, QPainter *painter, const QWidget *widget) const;
712e7fd
     virtual bool drawMenuBarItemControl(const QStyleOption *option, QPainter *painter, const QWidget *widget) const;
712e7fd
-    virtual bool drawMenuEmptyAreaControl(const QStyleOption *option, QPainter *painter, const QWidget *widget) const;
712e7fd
     virtual bool drawMenuItemControl(const QStyleOption *option, QPainter *painter, const QWidget *widget) const;
712e7fd
     virtual bool drawProgressBarControl(const QStyleOption *option, QPainter *painter, const QWidget *widget) const;
712e7fd
     virtual bool drawProgressBarContentsControl(const QStyleOption *option, QPainter *painter, const QWidget *widget) const;