@@ -744,15 +744,17 @@ bool QgsStyleV2::group( StyleEntity type, QString name, int groupid )
744
744
return runEmptyQuery ( query );
745
745
}
746
746
747
- QStringList QgsStyleV2::findSymbols ( QString qword )
747
+ QStringList QgsStyleV2::findSymbols ( StyleEntity type, QString qword )
748
748
{
749
749
if ( !mCurrentDB )
750
750
{
751
751
QgsDebugMsg ( " Sorry! Cannot open database to search" );
752
752
return QStringList ();
753
753
}
754
754
755
- char *query = sqlite3_mprintf ( " SELECT name FROM symbol WHERE xml LIKE '%%%q%%'" , qword.toUtf8 ().constData () );
755
+ QString item = ( type == SymbolEntity ) ? " symbol" : " colorramp" ;
756
+ char *query = sqlite3_mprintf ( " SELECT name FROM %q WHERE xml LIKE '%%%q%%'" ,
757
+ item.toUtf8 ().constData (), qword.toUtf8 ().constData () );
756
758
757
759
sqlite3_stmt *ppStmt;
758
760
int nErr = sqlite3_prepare_v2 ( mCurrentDB , query, -1 , &ppStmt, NULL );
@@ -765,7 +767,6 @@ QStringList QgsStyleV2::findSymbols( QString qword )
765
767
766
768
sqlite3_finalize ( ppStmt );
767
769
768
-
769
770
query = sqlite3_mprintf ( " SELECT id FROM tag WHERE name LIKE '%%%q%%'" , qword.toUtf8 ().constData () );
770
771
nErr = sqlite3_prepare_v2 ( mCurrentDB , query, -1 , &ppStmt, NULL );
771
772
@@ -780,7 +781,16 @@ QStringList QgsStyleV2::findSymbols( QString qword )
780
781
781
782
QString dummy = tagids.join ( " , " );
782
783
783
- query = sqlite3_mprintf ( " SELECT symbol_id FROM tagmap WHERE tag_id IN (%q)" , dummy.toUtf8 ().constData () );
784
+ if ( type == SymbolEntity )
785
+ {
786
+ query = sqlite3_mprintf ( " SELECT symbol_id FROM tagmap WHERE tag_id IN (%q)" ,
787
+ dummy.toUtf8 ().constData () );
788
+ }
789
+ else
790
+ {
791
+ query = sqlite3_mprintf ( " SELECT colorramp_id FROM ctagmap WHERE tag_id IN (%q)" ,
792
+ dummy.toUtf8 ().constData () );
793
+ }
784
794
nErr = sqlite3_prepare_v2 ( mCurrentDB , query, -1 , &ppStmt, NULL );
785
795
786
796
QStringList symbolids;
@@ -793,7 +803,8 @@ QStringList QgsStyleV2::findSymbols( QString qword )
793
803
794
804
795
805
dummy = symbolids.join ( " , " );
796
- query = sqlite3_mprintf ( " SELECT name FROM symbol WHERE id IN (%q)" , dummy.toUtf8 ().constData () );
806
+ query = sqlite3_mprintf ( " SELECT name FROM %q WHERE id IN (%q)" ,
807
+ item.toUtf8 ().constData (), dummy.toUtf8 ().constData () );
797
808
nErr = sqlite3_prepare_v2 ( mCurrentDB , query, -1 , &ppStmt, NULL );
798
809
while ( nErr == SQLITE_OK && sqlite3_step ( ppStmt ) == SQLITE_ROW )
799
810
{
0 commit comments