MCPcopy Create free account
hub / github.com/TeXworks/texworks / SearchLineEdit

Method SearchLineEdit

modules/QtPDF/PDFViewer.cpp:214–249  ·  view source on GitHub ↗

The SearchLineEdit class is adapted from code presented by Girish Ramakrishnan in a Qt Labs post: http://labs.qt.nokia.com/2007/06/06/lineedit-with-a-clear-button

Source from the content-addressed store, hash-verified

212//
213// http://labs.qt.nokia.com/2007/06/06/lineedit-with-a-clear-button
214SearchLineEdit::SearchLineEdit(QWidget *parent):
215 QLineEdit(parent)
216{
217 previousResultButton = new QToolButton(this);
218 previousResultButton->setIcon(style()->standardIcon(QStyle::SP_ArrowLeft));
219 previousResultButton->setCursor(Qt::ArrowCursor);
220 previousResultButton->setStyleSheet(QString::fromUtf8("QToolButton { border: none; padding: 0px; }"));
221 connect(previousResultButton, SIGNAL(clicked()), this, SLOT(handlePreviousResult()));
222
223 nextResultButton = new QToolButton(this);
224 nextResultButton->setIcon(style()->standardIcon(QStyle::SP_ArrowRight));
225 nextResultButton->setCursor(Qt::ArrowCursor);
226 nextResultButton->setStyleSheet(QString::fromUtf8("QToolButton { border: none; padding: 0px; }"));
227 connect(nextResultButton, SIGNAL(clicked()), this, SLOT(handleNextResult()));
228
229 clearButton = new QToolButton(this);
230 clearButton->setIcon(style()->standardIcon(QStyle::SP_TitleBarCloseButton));
231 clearButton->setCursor(Qt::ArrowCursor);
232 clearButton->setStyleSheet(QString::fromUtf8("QToolButton { border: none; padding: 0px; }"));
233 connect(clearButton, SIGNAL(clicked()), this, SLOT(clearSearch()));
234
235 int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
236 setStyleSheet(QString::fromUtf8("QLineEdit { padding-right: %1px; } ").arg(
237 nextResultButton->sizeHint().width() +
238 previousResultButton->sizeHint().width() +
239 clearButton->sizeHint().width() + frameWidth + 1));
240 QSize msz = minimumSizeHint();
241 setMinimumSize(qMax(msz.width(), nextResultButton->sizeHint().width() +
242 previousResultButton->sizeHint().width() +
243 clearButton->sizeHint().width() + frameWidth * 2 + 2),
244 qMax(msz.height(), clearButton->sizeHint().height() + frameWidth * 2 + 2));
245
246 connect(this, SIGNAL(returnPressed()), this, SLOT(prepareSearch()));
247
248 setPlaceholderText(QString::fromUtf8("Search"));
249}
250
251void SearchLineEdit::resizeEvent(QResizeEvent *)
252{

Callers

nothing calls this directly

Calls 1

sizeHintMethod · 0.45

Tested by

no test coverage detected