aboutsummaryrefslogtreecommitdiff
path: root/examples/GuiClient/searchLineEdit.cpp
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-08 09:23:18 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-08 09:23:18 +0000
commitda88f5f0bb5e73bc69bf7ed3962691622b1ae4f9 (patch)
treec3686f7649785a2bfcc2c637a1588acdb8a721e8 /examples/GuiClient/searchLineEdit.cpp
parent3431f5a37174b7eb8490672686db68df2b48e35f (diff)
downloadqxmpp-da88f5f0bb5e73bc69bf7ed3962691622b1ae4f9.tar.gz
add Gui Client example
Diffstat (limited to 'examples/GuiClient/searchLineEdit.cpp')
-rw-r--r--examples/GuiClient/searchLineEdit.cpp53
1 files changed, 53 insertions, 0 deletions
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));
+}