diff options
author | Bernd Lamecker <bernd.lamecker@basyskom.de> | 2010-07-16 12:36:11 +0200 |
---|---|---|
committer | Mike FABIAN <mike.fabian@basyskom.de> | 2010-07-20 14:18:01 +0200 |
commit | 07aa6b97052f8cbf57fbe82dea539fa85d42136a (patch) | |
tree | 9091833fa43591fac2ff7a7f44e0be9a3f20ea80 /plainqt | |
parent | 86fa0df092dd1f541f114a02586d0f6a6d3b0fe4 (diff) |
Changes: Improved LineEdits in plainQt
RevBy: TrustMe
Diffstat (limited to 'plainqt')
-rw-r--r-- | plainqt/style/qtmaemo6style.cpp | 59 | ||||
-rw-r--r-- | plainqt/style/qtmaemo6style.h | 4 |
2 files changed, 63 insertions, 0 deletions
diff --git a/plainqt/style/qtmaemo6style.cpp b/plainqt/style/qtmaemo6style.cpp index b93e44fc..78709122 100644 --- a/plainqt/style/qtmaemo6style.cpp +++ b/plainqt/style/qtmaemo6style.cpp @@ -1165,6 +1165,20 @@ void QtMaemo6Style::polish(QWidget *widget) QtMaemo6SliderPopUp* sliderPopup = new QtMaemo6SliderPopUp(); sliderPopup->enableOn(slider); } + if(QLineEdit* le = qobject_cast<QLineEdit*>(widget)) { + const MTextEditStyle *styleActive = + static_cast<const MTextEditStyle *>(QtMaemo6StylePrivate::mStyle(QStyle::State_Active, + "MTextEditStyle")); + const MTextEditStyle *styleInactive = + static_cast<const MTextEditStyle *>(QtMaemo6StylePrivate::mStyle(QStyle::State_None, + "MTextEditStyle")); + if(styleActive && styleInactive) { + QPalette pal = le->palette(); + pal.setColor(QPalette::Inactive, QPalette::Foreground, styleInactive->textColor()); + pal.setColor(QPalette::Active, QPalette::Foreground, styleActive->textColor()); + le->setPalette(pal); + } + } widget->installEventFilter(d->m_windowEventFilter); } @@ -2222,6 +2236,33 @@ QRect QtMaemo6Style::subControlRect(ComplexControl control, return QtMaemo6TestStyle::subControlRect(control, option, subControl, widget); } +QRect QtMaemo6Style::subElementRect(SubElement element, + const QStyleOption* option, + const QWidget* widget) const +{ + QRect retRect = QtMaemo6TestStyle::subElementRect(element, option, widget); + switch(element) { + case SE_LineEditContents: { + if(widget) { + const MTextEditStyle *style = + static_cast<const MTextEditStyle *>(QtMaemo6StylePrivate::mStyle(QStyle::State_Sunken, + "MTextEditStyle")); + QFontMetrics fm(widget->font()); + if(style) { + retRect.translate(style->paddingLeft(), 0); + } + if(fm.height() > retRect.height()) + retRect.setHeight(fm.height()); + } + } + break; + default: + retRect = QtMaemo6TestStyle::subElementRect(element, option, widget); + }; + return retRect; +} + + QSize QtMaemo6Style::sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &contentsSize, @@ -2353,6 +2394,24 @@ QSize QtMaemo6Style::sizeFromContents(ContentsType type, retSize = QSize(0, 0); } break; + case CT_ComboBox: + case CT_LineEdit: { + retSize = QtMaemo6TestStyle::sizeFromContents(type, option, contentsSize, widget); + if(widget) { + QFontMetrics fm(widget->font()); + + const MTextEditStyle *style = + static_cast<const MTextEditStyle *>(QtMaemo6StylePrivate::mStyle(QStyle::State_Sunken, + "MTextEditStyle")); + int requiredHeight = fm.height(); + if(style) { + requiredHeight += style->paddingTop() + style->paddingBottom(); + } + if(retSize.height() < requiredHeight) + retSize.setHeight(requiredHeight); + } + } + break; default: break; } diff --git a/plainqt/style/qtmaemo6style.h b/plainqt/style/qtmaemo6style.h index 1819ce33..024644cf 100644 --- a/plainqt/style/qtmaemo6style.h +++ b/plainqt/style/qtmaemo6style.h @@ -105,6 +105,10 @@ public: const QStyleOptionComplex *option, SubControl subControl, const QWidget *widget = 0) const; + + virtual QRect subElementRect(SubElement element, + const QStyleOption* option, + const QWidget* widget = 0 ) const; /*! \reimp_end */ /*! |