Skip to content

Commit 0af4fc1

Browse files
committed
[plugin manager] Allow search by tags via clicking on individual tag
1 parent fe5b399 commit 0af4fc1

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

src/app/pluginmanager/qgspluginmanager.cpp

+14-4
Original file line numberDiff line numberDiff line change
@@ -541,7 +541,7 @@ void QgsPluginManager::reloadModelData()
541541
mypDetailItem->setData( error, PLUGIN_ERROR_ROLE );
542542
mypDetailItem->setData( description, PLUGIN_DESCRIPTION_ROLE );
543543
mypDetailItem->setData( author, PLUGIN_AUTHOR_ROLE );
544-
mypDetailItem->setData( it->value( QStringLiteral( "tags" ) ), PLUGIN_TAGS_ROLE );
544+
mypDetailItem->setData( it->value( QStringLiteral( "tags" ) ).toLower(), PLUGIN_TAGS_ROLE );
545545
mypDetailItem->setData( it->value( QStringLiteral( "downloads" ) ).rightJustified( 10, '0' ), PLUGIN_DOWNLOADS_ROLE );
546546
mypDetailItem->setData( it->value( QStringLiteral( "average_vote" ) ), PLUGIN_VOTE_ROLE );
547547
mypDetailItem->setData( it->value( QStringLiteral( "deprecated" ) ), PLUGIN_ISDEPRECATED_ROLE );
@@ -909,7 +909,12 @@ void QgsPluginManager::showPluginDetails( QStandardItem *item )
909909
}
910910
if ( ! metadata->value( QStringLiteral( "tags" ) ).isEmpty() )
911911
{
912-
html += QStringLiteral( "<tr><td class='key'>%1 </td><td>%2</td></tr>" ).arg( tr( "Tags" ), metadata->value( QStringLiteral( "tags" ) ) );
912+
QStringList tags = metadata->value( QStringLiteral( "tags" ) ).split( ',' );
913+
for ( auto tag = tags.begin(); tag != tags.end(); ++tag )
914+
{
915+
*tag = QStringLiteral( "<a href='rpc2://search.tag/%1/'>%1</a>" ).arg( ( *tag ).trimmed() );
916+
}
917+
html += QStringLiteral( "<tr><td class='key'>%1 </td><td>%2</td></tr>" ).arg( tr( "Tags" ), tags.join( QStringLiteral( ", " ) ) );
913918
}
914919

915920
if ( ! metadata->value( QStringLiteral( "homepage" ) ).isEmpty() || ! metadata->value( QStringLiteral( "tracker" ) ).isEmpty() || ! metadata->value( QStringLiteral( "code_repository" ) ).isEmpty() )
@@ -1305,8 +1310,13 @@ void QgsPluginManager::wvDetails_linkClicked( const QUrl &url )
13051310
{
13061311
if ( url.host() == QLatin1String( "plugin.vote" ) )
13071312
{
1308-
QString params = url.path();
1309-
sendVote( params.split( '/' )[1].toInt(), params.split( '/' )[2].toInt() );
1313+
QStringList params = url.path().split( '/' );
1314+
sendVote( params[1].toInt(), params[2].toInt() );
1315+
}
1316+
else if ( url.host() == QLatin1String( "search.tag" ) )
1317+
{
1318+
QStringList params = url.path().split( '/' );
1319+
leFilter->setText( QStringLiteral( "tag:%1" ).arg( params[1] ) );
13101320
}
13111321
}
13121322
else

0 commit comments

Comments
 (0)