aboutsummaryrefslogtreecommitdiff
path: root/plainqt
diff options
context:
space:
mode:
authorBernd Lamecker <bernd.lamecker@basyskom.de>2010-07-16 12:36:11 +0200
committerMike FABIAN <mike.fabian@basyskom.de>2010-07-20 14:18:01 +0200
commit07aa6b97052f8cbf57fbe82dea539fa85d42136a (patch)
tree9091833fa43591fac2ff7a7f44e0be9a3f20ea80 /plainqt
parent86fa0df092dd1f541f114a02586d0f6a6d3b0fe4 (diff)
Changes: Improved LineEdits in plainQt
RevBy: TrustMe
Diffstat (limited to 'plainqt')
-rw-r--r--plainqt/style/qtmaemo6style.cpp59
-rw-r--r--plainqt/style/qtmaemo6style.h4
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 */
/*!