diff --git a/Furious/Qt/StyleSheets/Controls.py b/Furious/Qt/StyleSheets/Controls.py index dd1275a..9979164 100644 --- a/Furious/Qt/StyleSheets/Controls.py +++ b/Furious/Qt/StyleSheets/Controls.py @@ -395,7 +395,7 @@ def controlStyleSheet( }} QComboBox::drop-down {{ - subcontrol-origin: border; + subcontrol-origin: padding; subcontrol-position: top right; width: 27px; border: none; diff --git a/tests/test_architecture_refactors.py b/tests/test_architecture_refactors.py index 11453ac..bc9942f 100644 --- a/tests/test_architecture_refactors.py +++ b/tests/test_architecture_refactors.py @@ -490,3 +490,13 @@ class StyleSheetCompositionTest(TestCase): self.assertEqual(stylesheet.count('QToolTip {'), 1) self.assertEqual(stylesheet.count('QTableView,'), 1) + + def testComboBoxDropDownHoverStaysInsideTheFocusBorder(self): + """Keep the arrow hover fill from covering the outer focus outline.""" + for theme in (AppStyleSheet.Light, AppStyleSheet.Dark): + with self.subTest(theme=theme): + stylesheet = AppStyleSheet.forTheme(theme) + dropDownRule = stylesheet.split('QComboBox::drop-down {', 1)[1] + dropDownRule = dropDownRule.split('}', 1)[0] + + self.assertIn('subcontrol-origin: padding;', dropDownRule)