1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-10 08:04:25 +02: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 cbd9d4e0ce
commit 60f2e85965
2 changed files with 65 additions and 10 deletions

View File

@@ -29,10 +29,13 @@ THE SOFTWARE.
#include "playlist/topbar/SearchLineEdit.h" #include "playlist/topbar/SearchLineEdit.h"
#include "utils/TomahawkUtilsGui.h" #include "utils/TomahawkUtilsGui.h"
class DLLEXPORT QSearchFieldPrivate class DLLEXPORT QSearchFieldPrivate : public QObject
{ {
Q_OBJECT
public: public:
QSearchFieldPrivate(SearchLineEdit *lineEdit) : lineEdit(lineEdit) {} QSearchFieldPrivate(SearchLineEdit *lineEdit) : QObject( lineEdit ), lineEdit(lineEdit) {}
virtual ~QSearchFieldPrivate() {}
SearchLineEdit *lineEdit; SearchLineEdit *lineEdit;
}; };
@@ -44,7 +47,7 @@ QSearchField::QSearchField(QWidget *parent) : QWidget(parent)
connect(lineEdit, SIGNAL(returnPressed()), connect(lineEdit, SIGNAL(returnPressed()),
this, SIGNAL(returnPressed())); this, SIGNAL(returnPressed()));
pimpl = new QSearchFieldPrivate(lineEdit); pimpl = QPointer< QSearchFieldPrivate>( new QSearchFieldPrivate( lineEdit ) );
QVBoxLayout *layout = new QVBoxLayout(this); QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(lineEdit); layout->addWidget(lineEdit);
@@ -65,20 +68,75 @@ QSearchField::QSearchField(QWidget *parent) : QWidget(parent)
void QSearchField::setText(const QString &text) 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) 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() void QSearchField::clear()
{ {
pimpl->lineEdit->clear(); Q_ASSERT( !pimpl.isNull() );
if ( pimpl.isNull() )
return;
pimpl.data()->lineEdit->clear();
} }
QString QSearchField::text() const 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 editingFinished();
void returnPressed(); void returnPressed();
protected:
void resizeEvent(QResizeEvent*);
private: private:
friend class QSearchFieldPrivate; friend class QSearchFieldPrivate;
QPointer <QSearchFieldPrivate> pimpl; QPointer <QSearchFieldPrivate> pimpl;