diff --git a/src/core/symbology-ng/qgsstylev2.cpp b/src/core/symbology-ng/qgsstylev2.cpp index aabbd7657092..c31a35c23b0d 100644 --- a/src/core/symbology-ng/qgsstylev2.cpp +++ b/src/core/symbology-ng/qgsstylev2.cpp @@ -596,7 +596,7 @@ QStringList QgsStyleV2::findSymbols( QString qword ) { QByteArray array = qword.toUtf8(); char *query; - query = sqlite3_mprintf( "SELECT name FROM symbol WHERE xml LIKE '\%%q\%'", array.constData() ); + query = sqlite3_mprintf( "SELECT name FROM symbol WHERE xml LIKE '%%%q%%';", array.constData() ); QStringList symbols; sqlite3 *db = openDB( mFileName ); diff --git a/src/gui/symbology-ng/qgsstylev2managerdialog.cpp b/src/gui/symbology-ng/qgsstylev2managerdialog.cpp index df06fa5b2d2b..13ef6dd00676 100644 --- a/src/gui/symbology-ng/qgsstylev2managerdialog.cpp +++ b/src/gui/symbology-ng/qgsstylev2managerdialog.cpp @@ -44,7 +44,6 @@ QgsStyleV2ManagerDialog::QgsStyleV2ManagerDialog( QgsStyleV2* style, QWidget* parent ) : QDialog( parent ), mStyle( style ), mModified( false ) { - setupUi( this ); QSettings settings; @@ -105,6 +104,8 @@ QgsStyleV2ManagerDialog::QgsStyleV2ManagerDialog( QgsStyleV2* style, QWidget* pa connect( tabItemType, SIGNAL( currentChanged( int ) ), this, SLOT( populateList() ) ); populateList(); + connect( searchBox, SIGNAL( textChanged( QString ) ), this, SLOT( filterSymbols( QString ) ) ); + } void QgsStyleV2ManagerDialog::onFinished() @@ -955,3 +956,8 @@ void QgsStyleV2ManagerDialog::tagSymbolsAction() QgsDebugMsg( "tagging symbols now" ); } +void QgsStyleV2ManagerDialog::filterSymbols( QString qword ) +{ + QStringList symbols = mStyle->findSymbols( qword ); + populateSymbols( symbols ); +} diff --git a/src/gui/symbology-ng/qgsstylev2managerdialog.h b/src/gui/symbology-ng/qgsstylev2managerdialog.h index af0e8ff2261a..1712995df686 100644 --- a/src/gui/symbology-ng/qgsstylev2managerdialog.h +++ b/src/gui/symbology-ng/qgsstylev2managerdialog.h @@ -60,6 +60,9 @@ class GUI_EXPORT QgsStyleV2ManagerDialog : public QDialog, private Ui::QgsStyleV void tagSymbolsAction(); void regrouped( QStandardItem* ); + //! filter the symbols based on input search term + void filterSymbols( QString ); + protected: //! populate combo box with known style items (symbols, color ramps)