From: Jens Bache-Wiig Date: Thu, 15 Nov 2012 16:04:18 +0000 (+0100) Subject: Add feature to enable rounded line edit on mac X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=48f3128a7d97ca8961d5c7017c0b19ca1e735157;p=profile%2Fivi%2Fqtbase.git Add feature to enable rounded line edit on mac This will not currently be exposed in the widget API but we can make use of it for qt quick components. Change-Id: I08300a3bcd58e68df633fe9b36a988eb6176ef9c Reviewed-by: Gabriel de Dietrich --- diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index b4c1155..baeda89 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -3118,7 +3118,8 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai fdi.state = tds; SInt32 frame_size; if (pe == PE_FrameLineEdit) { - fdi.kind = kHIThemeFrameTextFieldSquare; + fdi.kind = frame->features & QStyleOptionFrame::Rounded ? kHIThemeFrameTextFieldRound : + kHIThemeFrameTextFieldSquare; GetThemeMetric(kThemeMetricEditTextFrameOutset, &frame_size); if ((frame->state & State_ReadOnly) || !(frame->state & State_Enabled)) fdi.state = kThemeStateInactive; diff --git a/src/widgets/styles/qstyleoption.h b/src/widgets/styles/qstyleoption.h index 2625bf7..b4641f3 100644 --- a/src/widgets/styles/qstyleoption.h +++ b/src/widgets/styles/qstyleoption.h @@ -125,7 +125,8 @@ public: int midLineWidth; enum FrameFeature { None = 0x00, - Flat = 0x01 + Flat = 0x01, + Rounded = 0x02 }; Q_DECLARE_FLAGS(FrameFeatures, FrameFeature) FrameFeatures features; diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index a06c8ed..f4539e8 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -120,8 +120,7 @@ void QLineEdit::initStyleOption(QStyleOptionFrame *option) const if (hasEditFocus()) option->state |= QStyle::State_HasEditFocus; #endif - if (QStyleOptionFrameV2 *optionV2 = qstyleoption_cast(option)) - optionV2->features = QStyleOptionFrameV2::None; + option->features = QStyleOptionFrame::None; } /*!