From da88f5f0bb5e73bc69bf7ed3962691622b1ae4f9 Mon Sep 17 00:00:00 2001 From: Manjeet Dahiya Date: Wed, 8 Sep 2010 09:23:18 +0000 Subject: add Gui Client example --- examples/GuiClient/searchLineEdit.cpp | 53 +++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 examples/GuiClient/searchLineEdit.cpp (limited to 'examples/GuiClient/searchLineEdit.cpp') diff --git a/examples/GuiClient/searchLineEdit.cpp b/examples/GuiClient/searchLineEdit.cpp new file mode 100644 index 00000000..6584ab06 --- /dev/null +++ b/examples/GuiClient/searchLineEdit.cpp @@ -0,0 +1,53 @@ +#include "searchLineEdit.h" + +searchLineEdit::searchLineEdit(QWidget* parent):QLineEdit(parent) +{ + setMinimumSize(QSize(20, 24)); + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + + setStyleSheet(":enabled { padding-right: 20px; padding-left: 20px }"); + clearButton = new ClearButton(this); + clearButton->setVisible(true); + + clearButton->setCursor(Qt::ArrowCursor); + clearButton->setToolTip("Clear"); + connect(clearButton, SIGNAL(clicked()), this, SLOT(clear())); +} + +void searchLineEdit::paintEvent(QPaintEvent *e) { + QLineEdit::paintEvent(e); + QPainter painter(this); + + QImage image(":/icons/resource/searchIcon.png"); + + QRectF target(image.rect()); + target.moveCenter(QPointF(target.center().x()+2, target.center().y()+3)); + painter.drawImage(target, image, image.rect()); + + if (text().length() == 0 && (!hasFocus()) ) + { + painter.setPen(Qt::gray); + QRect r = rect(); + painter.drawText(24, r.height()/2+4, "Search Contacts"); + } + + if(text().isEmpty()) + clearButton->setVisible(false); + else + clearButton->setVisible(true); +} + +void searchLineEdit::resizeEvent(QResizeEvent*) +{ + clearButton->setParent(this); + clearButton->setGeometry(QRect(width()-23, + 0, + 24, 24)); +} + +void searchLineEdit::moveEvent(QMoveEvent*) +{ + clearButton->setParent(this); + clearButton->setGeometry(QRect(width()-23, 1, + 24, 24)); +} -- cgit v1.2.3