22 #include <QGraphicsSceneResizeEvent>
25 #include <QGraphicsView>
27 #include <klineedit.h>
28 #include <kmimetype.h>
32 #include "private/style_p.h"
33 #include "private/focusindicator_p.h"
34 #include "private/themedwidgetinterface_p.h"
40 class LineEditPrivate :
public ThemedWidgetInterface<LineEdit>
43 LineEditPrivate(LineEdit *lineEdit)
44 : ThemedWidgetInterface<LineEdit>(lineEdit)
46 buttonColorForText =
true;
54 Plasma::Style::Ptr style;
60 d(new LineEditPrivate(this))
62 d->style = Plasma::Style::sharedStyle();
64 d->background->setImagePath(
"widgets/lineedit");
65 d->background->setCacheAllRenderedFrames(
true);
67 #if 0 // causes bug 290111
68 FocusIndicator *indicator =
new FocusIndicator(
this, d->background);
69 if (d->background->hasElement(
"hint-focus-over-base")) {
70 indicator->setFlag(QGraphicsItem::ItemStacksBehindParent,
false);
79 Plasma::Style::doneWithSharedStyle();
84 static_cast<KLineEdit*
>(widget())->
setText(text);
89 return static_cast<KLineEdit*
>(widget())->
text();
114 widget()->setStyleSheet(stylesheet);
119 return widget()->styleSheet();
125 widget()->deleteLater();
134 nativeWidget->setWindowFlags(nativeWidget->windowFlags()|Qt::BypassGraphicsProxyWidget);
135 d->setWidget(nativeWidget);
136 nativeWidget->setWindowIcon(QIcon());
138 nativeWidget->setAttribute(Qt::WA_NoSystemBackground);
139 nativeWidget->setStyle(d->style.data());
145 return static_cast<KLineEdit*
>(widget());
165 nativeWidget()->render(painter, QPoint(0, 0), QRegion(), QWidget::DrawChildren|QWidget::IgnoreMask);
170 d->changeEvent(event);
179 while (!applet && widget) {
180 widget = widget->parentWidget();
206 while (!applet && widget) {
207 widget = widget->parentWidget();
215 QEvent closeEvent(QEvent::CloseSoftwareInputPanel);
217 if (
QGraphicsView *view = qobject_cast<QGraphicsView*>(qApp->focusWidget())) {
218 if (view->scene() && view->scene() == scene()) {
219 QApplication::sendEvent(view, &closeEvent);
231 #include <lineedit.moc>