/* * Copyright (c) 2012 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include "QtResizableLineEdit.h" #include namespace Swift { QtResizableLineEdit::QtResizableLineEdit(QWidget* parent) : QLineEdit(parent) { connect(this, SIGNAL(textChanged(QString)), SLOT(textChanged(QString))); setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); } QtResizableLineEdit::~QtResizableLineEdit() { } bool QtResizableLineEdit::isEditable() const { return editable; } void QtResizableLineEdit::setEditable(const bool editable) { this->editable = editable; if (editable) { setReadOnly(false); } else { setReadOnly(true); } } QSize QtResizableLineEdit::sizeHint() const { int w = fontMetrics().boundingRect(text().isEmpty() ? placeholderText() : text()).width() + 10; return QSize(w, height()); } void QtResizableLineEdit::textChanged(QString) { updateGeometry(); } }