diff options
author | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2018-12-31 16:20:48 +0100 |
---|---|---|
committer | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2019-01-02 21:32:34 +0000 |
commit | 7ba16f4c1ea172026da834887de1b8da797de79a (patch) | |
tree | 5060a72d3fddf5ff9c4ac8385e0a1a0373fc4abd /src/plugins/styles | |
parent | 9636a43abcf98dede8b267f557b728e99f0d56cd (diff) |
QComboBox/WindowVistaStyle: restore focus rect
The focus rect for the QComboBox was removed during the refactoring done
in 5c60e4b8f9cc88e48f5e7652eefe90e1366ae23d.
Readd the functionality in a similar to
QWindowsStyle::drawComplexControl().
Fixes: QTBUG-69239
Change-Id: I74e4060fbe52432318e3c986fc838cf353d99843
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'src/plugins/styles')
-rw-r--r-- | src/plugins/styles/windowsvista/qwindowsvistastyle.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp b/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp index 7b35d1b58c..771552a121 100644 --- a/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp +++ b/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp @@ -1664,9 +1664,15 @@ void QWindowsVistaStyle::drawComplexControl(ComplexControl control, const QStyle theme.stateId = CBXS_NORMAL; d->drawBackground(theme); } + if ((sub & SC_ComboBoxEditField) && (flags & State_HasFocus)) { + QStyleOptionFocusRect fropt; + fropt.QStyleOption::operator=(*cmb); + fropt.rect = proxy()->subControlRect(CC_ComboBox, option, SC_ComboBoxEditField, widget); + proxy()->drawPrimitive(PE_FrameFocusRect, &fropt, painter, widget); + } } - } - break; + } + break; case CC_ScrollBar: if (const QStyleOptionSlider *scrollbar = qstyleoption_cast<const QStyleOptionSlider *>(option)) { |