1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-13 20:39:57 +01:00

Implement non-osx side of new search field For Compile Win

This commit is contained in:
Leo Franchi 2012-07-20 17:52:18 -04:00
parent 05f58b2dfe
commit 9449fbf1bf
2 changed files with 65 additions and 10 deletions

View File

@ -29,10 +29,13 @@ THE SOFTWARE.
#include "widgets/searchlineedit/SearchLineEdit.h"
#include "utils/TomahawkUtilsGui.h"
class DLLEXPORT QSearchFieldPrivate
class DLLEXPORT QSearchFieldPrivate : public QObject
{
Q_OBJECT
public:
QSearchFieldPrivate(SearchLineEdit *lineEdit) : lineEdit(lineEdit) {}
QSearchFieldPrivate(SearchLineEdit *lineEdit) : QObject( lineEdit ), lineEdit(lineEdit) {}
virtual ~QSearchFieldPrivate() {}
SearchLineEdit *lineEdit;
};
@ -44,7 +47,7 @@ QSearchField::QSearchField(QWidget *parent) : QWidget(parent)
connect(lineEdit, SIGNAL(returnPressed()),
this, SIGNAL(returnPressed()));
pimpl = new QSearchFieldPrivate(lineEdit);
pimpl = QPointer< QSearchFieldPrivate>( new QSearchFieldPrivate( lineEdit ) );
QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(lineEdit);
@ -65,20 +68,75 @@ QSearchField::QSearchField(QWidget *parent) : QWidget(parent)
void QSearchField::setText(const QString &text)
{
pimpl->lineEdit->setText(text);
Q_ASSERT( !pimpl.isNull() );
if ( pimpl.isNull() )
return;
pimpl.data()->lineEdit->setText(text);
}
void QSearchField::setPlaceholderText(const QString& text)
{
pimpl->lineEdit->setInactiveText( text );
Q_ASSERT( !pimpl.isNull() );
if ( pimpl.isNull() )
return;
pimpl.data()->lineEdit->setInactiveText( text );
}
void QSearchField::clear()
{
pimpl->lineEdit->clear();
Q_ASSERT( !pimpl.isNull() );
if ( pimpl.isNull() )
return;
pimpl.data()->lineEdit->clear();
}
QString QSearchField::text() const
{
return pimpl->lineEdit->text();
Q_ASSERT( !pimpl.isNull() );
if ( pimpl.isNull() )
return QString();
return pimpl.data()->lineEdit->text();
}
QString QSearchField::placeholderText() const
{
Q_ASSERT( !pimpl.isNull() );
if ( pimpl.isNull() )
return QString();
return pimpl.data()->lineEdit->placeholderText();
}
void QSearchField::selectAll()
{
Q_ASSERT( !pimpl.isNull() );
if ( pimpl.isNull() )
return;
pimpl.data()->lineEdit->selectAll();
}
void QSearchField::setFocus()
{
Q_ASSERT( !pimpl.isNull() );
if ( pimpl.isNull() )
return;
pimpl.data()->lineEdit->setFocus();
}
void QSearchField::setFocus(Qt::FocusReason reason)
{
Q_ASSERT( !pimpl.isNull() );
if ( pimpl.isNull() )
return;
pimpl.data()->lineEdit->setFocus(reason);
}
#include "qsearchfield.moc"

View File

@ -32,9 +32,6 @@ signals:
void editingFinished();
void returnPressed();
protected:
void resizeEvent(QResizeEvent*);
private:
friend class QSearchFieldPrivate;
QPointer <QSearchFieldPrivate> pimpl;