Skip to content

Commit 5c28eca

Browse files
Gustrytimlinux
authored andcommittedDec 13, 2017
update HTML data provider metadata (#5700)
* update HTML data provider metadata for grass, gdal and ams * update HTML data provider metadata for WMS and WCS * move HTML bullet list to QgsHtmlUtils
1 parent b6ddc70 commit 5c28eca

16 files changed

+235
-232
lines changed
 

‎doc/api_break.dox‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2075,6 +2075,9 @@ QgsRasterDataProvider {#qgis_api_break_3_0_QgsRasterDataProvider}
20752075
- draw() has been removed from the interface as it was not used anywhere.
20762076
- The progress and progressUpdate signals were removed. Methods which previously emitted these
20772077
signals now accept a QgsRasterBlockFeedback argument for reporting progress updates.
2078+
- metadata() was renamed to htmlMetadata()
2079+
- makeTableCell() has been removed
2080+
- makeTableCells() has been removed, look for the new class QgsHtmlUtils
20782081

20792082

20802083
QgsRasterFileWriter {#qgis_api_break_3_0_QgsRasterFileWriter}

‎python/core/core_auto.sip‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,7 @@
318318
%Include qgsgeometryvalidator.sip
319319
%Include qgsgml.sip
320320
%Include qgsgmlschema.sip
321+
%Include qgshtmlutils.sip
321322
%Include qgsmaplayer.sip
322323
%Include qgsmaplayerlegend.sip
323324
%Include qgsmaplayermodel.sip

‎python/core/qgshtmlutils.sip‎

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/************************************************************************
2+
* This file has been generated automatically from *
3+
* *
4+
* src/core/qgshtmlutils.h *
5+
* *
6+
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
7+
************************************************************************/
8+
9+
10+
11+
12+
class QgsHtmlUtils
13+
{
14+
%Docstring
15+
Class for HTML utilities.
16+
.. versionadded:: 3.0
17+
%End
18+
19+
%TypeHeaderCode
20+
#include "qgshtmlutils.h"
21+
%End
22+
public:
23+
24+
static QString buildBulletList( const QStringList &values );
25+
%Docstring
26+
Build a bullet list.
27+
This will return a HTML "ul" element.
28+
:rtype: str
29+
%End
30+
};
31+
32+
/************************************************************************
33+
* This file has been generated automatically from *
34+
* *
35+
* src/core/qgshtmlutils.h *
36+
* *
37+
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
38+
************************************************************************/

‎python/core/raster/qgsrasterdataprovider.sip‎

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -450,15 +450,6 @@ Copy member variables from other raster data provider. Useful for implementation
450450
%End
451451

452452

453-
static QString makeTableCell( const QString &value );
454-
%Docstring
455-
:rtype: str
456-
%End
457-
static QString makeTableCells( const QStringList &values );
458-
%Docstring
459-
:rtype: str
460-
%End
461-
462453

463454

464455

‎src/core/CMakeLists.txt‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ SET(QGIS_CORE_SRCS
193193
qgsgml.cpp
194194
qgsgmlschema.cpp
195195
qgshistogram.cpp
196+
qgshtmlutils.cpp
196197
qgsinterval.cpp
197198
qgsjsonutils.cpp
198199
qgslabelfeature.cpp
@@ -616,6 +617,7 @@ SET(QGIS_CORE_MOC_HDRS
616617
qgsgeometryvalidator.h
617618
qgsgml.h
618619
qgsgmlschema.h
620+
qgshtmlutils.h
619621
qgsmaplayer.h
620622
qgsmaplayerlegend.h
621623
qgsmaplayermodel.h

‎src/core/qgsapplication.cpp‎

Lines changed: 4 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1042,45 +1042,7 @@ QString QgsApplication::reportStyleSheet()
10421042
QColor myColor2 = myColor1;
10431043
myColor2 = myColor2.lighter( 110 ); //10% lighter
10441044
QString myStyle;
1045-
myStyle = "p.glossy{ background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, "
1046-
" stop: 0 " + myColor1.name() + ","
1047-
" stop: 0.1 " + myColor2.name() + ","
1048-
" stop: 0.5 " + myColor1.name() + ","
1049-
" stop: 0.9 " + myColor2.name() + ","
1050-
" stop: 1 " + myColor1.name() + ");"
1051-
" color: black;"
1052-
" padding-left: 4px;"
1053-
" padding-top: 20px;"
1054-
" padding-bottom: 8px;"
1055-
" border: 1px solid #6c6c6c;"
1056-
"}"
1057-
"p.subheaderglossy{ background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, "
1058-
" stop: 0 " + myColor1.name() + ","
1059-
" stop: 0.1 " + myColor2.name() + ","
1060-
" stop: 0.5 " + myColor1.name() + ","
1061-
" stop: 0.9 " + myColor2.name() + ","
1062-
" stop: 1 " + myColor1.name() + ");"
1063-
" font-weight: bold;"
1064-
" font-size: medium;"
1065-
" line-height: 1.1em;"
1066-
" width: 100%;"
1067-
" color: black;"
1068-
" padding-left: 4px;"
1069-
" padding-right: 4px;"
1070-
" padding-top: 20px;"
1071-
" padding-bottom: 8px;"
1072-
" border: 1px solid #6c6c6c;"
1073-
"}"
1074-
"th.glossy{ background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, "
1075-
" stop: 0 " + myColor1.name() + ","
1076-
" stop: 0.1 " + myColor2.name() + ","
1077-
" stop: 0.5 " + myColor1.name() + ","
1078-
" stop: 0.9 " + myColor2.name() + ","
1079-
" stop: 1 " + myColor1.name() + ");"
1080-
" color: black;"
1081-
" border: 1px solid #6c6c6c;"
1082-
"}"
1083-
".overview{"
1045+
myStyle = ".overview{"
10841046
" font: 1.82em;"
10851047
" font-weight: bold;"
10861048
"}"
@@ -1149,6 +1111,9 @@ QString QgsApplication::reportStyleSheet()
11491111
" padding-left: 20px;"
11501112
" font-weight: bold;"
11511113
"}"
1114+
"th .strong {"
1115+
" font-weight: bold;"
1116+
"}"
11521117
".tabular-view{ "
11531118
" border-collapse: collapse;"
11541119
" width: 95%;"

‎src/core/qgshtmlutils.cpp‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#include "qgshtmlutils.h"
2+
3+
QString QgsHtmlUtils::buildBulletList( const QStringList &values )
4+
{
5+
QString s( QStringLiteral( "<ul>" ) );
6+
7+
for ( const QString &value : values )
8+
{
9+
s += QStringLiteral( "<li>%1</li>" ).arg( value );
10+
}
11+
s += QLatin1String( "</ul>" );
12+
13+
return s;
14+
}

‎src/core/qgshtmlutils.h‎

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/***************************************************************************
2+
qgshtmlutils.h
3+
---------------------------
4+
begin : November 2017
5+
copyright : (C) 2017 by Etienne Trimaille
6+
email : etienne dot trimaille at gmail dot com
7+
***************************************************************************/
8+
9+
/***************************************************************************
10+
* *
11+
* This program is free software; you can redistribute it and/or modify *
12+
* it under the terms of the GNU General Public License as published by *
13+
* the Free Software Foundation; either version 2 of the License, or *
14+
* (at your option) any later version. *
15+
* *
16+
***************************************************************************/
17+
18+
#ifndef QGSHTMLUTILS_H
19+
#define QGSHTMLUTILS_H
20+
21+
#include "qgis.h"
22+
23+
/**
24+
* \ingroup core
25+
* \class QgsHtmlUtils
26+
* \brief Class for HTML utilities.
27+
* \since QGIS 3.0
28+
*/
29+
class CORE_EXPORT QgsHtmlUtils
30+
{
31+
public:
32+
33+
/**
34+
* Build a bullet list.
35+
* This will return a HTML "ul" element.
36+
*/
37+
static QString buildBulletList( const QStringList &values );
38+
};
39+
40+
#endif // QGSHTMLUTILS_H

‎src/core/raster/qgsrasterdataprovider.cpp‎

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -236,28 +236,6 @@ QStringList QgsRasterDataProvider::cStringList2Q_( char **stringList )
236236

237237
} // cStringList2Q_
238238

239-
QString QgsRasterDataProvider::makeTableCell( QString const &value )
240-
{
241-
return "<p>\n" + value + "</p>\n";
242-
} // makeTableCell_
243-
244-
// convenience function for building metadata() HTML table cells
245-
QString QgsRasterDataProvider::makeTableCells( QStringList const &values )
246-
{
247-
QString s( QStringLiteral( "<tr>" ) );
248-
249-
for ( QStringList::const_iterator i = values.begin();
250-
i != values.end();
251-
++i )
252-
{
253-
s += QgsRasterDataProvider::makeTableCell( *i );
254-
}
255-
256-
s += QLatin1String( "</tr>" );
257-
258-
return s;
259-
} // makeTableCell_
260-
261239
QString QgsRasterDataProvider::htmlMetadata()
262240
{
263241
QString s;

‎src/core/raster/qgsrasterdataprovider.h‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -510,9 +510,6 @@ class CORE_EXPORT QgsRasterDataProvider : public QgsDataProvider, public QgsRast
510510
//! \note not available in Python bindings
511511
static QStringList cStringList2Q_( char **stringList ) SIP_SKIP;
512512

513-
static QString makeTableCell( const QString &value );
514-
static QString makeTableCells( const QStringList &values );
515-
516513
/**
517514
* Dots per inch. Extended WMS (e.g. QGIS mapserver) support DPI dependent output and therefore
518515
are suited for printing. A value of -1 means it has not been set */

‎src/core/raster/qgsrasterlayer.cpp‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,9 @@ QString QgsRasterLayer::htmlMetadata() const
397397
}
398398
myMetadata += QLatin1String( "</td></tr>\n" );
399399

400+
// Insert provider-specific (e.g. WMS-specific) metadata
401+
myMetadata += mDataProvider->htmlMetadata();
402+
400403
// End Provider section
401404
myMetadata += QLatin1String( "</table>\n<br><br>" );
402405

‎src/providers/arcgisrest/qgsamsprovider.cpp‎

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -216,29 +216,33 @@ QgsRasterInterface *QgsAmsProvider::clone() const
216216

217217
static inline QString dumpVariantMap( const QVariantMap &variantMap, const QString &title = QString() )
218218
{
219-
QString result = QStringLiteral( "<table>" );
219+
QString result;
220220
if ( !title.isEmpty() )
221221
{
222-
result += QStringLiteral( "<tr><td class=\"glossy\" colspan=\"2\">%1</td></tr>" ).arg( title );
222+
result += QStringLiteral( "<tr><td class=\"highlight\">%1</td><td>" ).arg( title );
223+
}
224+
else
225+
{
226+
result += QStringLiteral( "<tr><td>" );
223227
}
224228
for ( auto it = variantMap.constBegin(); it != variantMap.constEnd(); ++it )
225229
{
226230
QVariantMap childMap = it.value().toMap();
227231
if ( childMap.isEmpty() )
228232
{
229-
result += QStringLiteral( "<tr><td>%1</td><td>%2</td></tr>" ).arg( it.key(), it.value().toString() );
233+
result += QStringLiteral( "%1:%2</td></tr>" ).arg( it.key(), it.value().toString() );
230234
}
231235
else
232236
{
233-
result += QStringLiteral( "<tr><td>%1</td><td>%2</td></tr>" ).arg( it.key(), dumpVariantMap( childMap ) );
237+
result += QStringLiteral( "%1:<table>%2</table></td></tr>" ).arg( it.key(), dumpVariantMap( childMap ) );
234238
}
235239
}
236-
result += QLatin1String( "</table>" );
237240
return result;
238241
}
239242

240243
QString QgsAmsProvider::htmlMetadata()
241244
{
245+
// This must return the content of a HTML table starting by tr and ending by tr
242246
return dumpVariantMap( mServiceInfo, tr( "Service Info" ) ) + dumpVariantMap( mLayerInfo, tr( "Layer Info" ) );
243247
}
244248

‎src/providers/gdal/qgsgdalprovider.cpp‎

Lines changed: 47 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include "qgscoordinatetransform.h"
2626
#include "qgsdataitem.h"
2727
#include "qgsdatasourceuri.h"
28+
#include "qgshtmlutils.h"
2829
#include "qgsmessagelog.h"
2930
#include "qgsrectangle.h"
3031
#include "qgscoordinatereferencesystem.h"
@@ -479,87 +480,58 @@ QString QgsGdalProvider::htmlMetadata()
479480
QMutexLocker locker( mpMutex );
480481
if ( !initIfNeeded() )
481482
return QString();
482-
QString myMetadata;
483-
myMetadata += QString( GDALGetDescription( GDALGetDatasetDriver( mGdalDataset ) ) );
484-
myMetadata += QLatin1String( "<br>" );
485-
myMetadata += QString( GDALGetMetadataItem( GDALGetDatasetDriver( mGdalDataset ), GDAL_DMD_LONGNAME, nullptr ) );
486483

487-
// my added code (MColetti)
484+
QString myMetadata;
488485

489-
myMetadata += QLatin1String( "<p class=\"glossy\">" );
490-
myMetadata += tr( "Dataset Description" );
491-
myMetadata += QLatin1String( "</p>\n" );
492-
myMetadata += QLatin1String( "<p>" );
493-
myMetadata += QString::fromUtf8( GDALGetDescription( mGdalDataset ) );
494-
myMetadata += QLatin1String( "</p>\n" );
486+
// GDAL Driver description
487+
myMetadata += QStringLiteral( "<tr><td class=\"highlight\">" ) + tr( "GDAL Driver Description" ) + QStringLiteral( "</td><td>" ) + QString( GDALGetDescription( GDALGetDatasetDriver( mGdalDataset ) ) ) + QStringLiteral( "</td></tr>\n" );
495488

489+
// GDAL Driver Metadata
490+
myMetadata += QStringLiteral( "<tr><td class=\"highlight\">" ) + tr( "GDAL Driver Metadata" ) + QStringLiteral( "</td><td>" ) + QString( GDALGetMetadataItem( GDALGetDatasetDriver( mGdalDataset ), GDAL_DMD_LONGNAME, nullptr ) ) + QStringLiteral( "</td></tr>\n" );
496491

497-
char **GDALmetadata = GDALGetMetadata( mGdalDataset, nullptr );
498-
499-
if ( GDALmetadata )
500-
{
501-
QStringList metadata = cStringList2Q_( GDALmetadata );
502-
myMetadata += QgsRasterDataProvider::makeTableCells( metadata );
503-
}
504-
else
505-
{
506-
QgsDebugMsg( "dataset has no metadata" );
507-
}
492+
// Dataset description
493+
myMetadata += QStringLiteral( "<tr><td class=\"highlight\">" ) + tr( "Dataset Description" ) + QStringLiteral( "</td><td>" ) + QString::fromUtf8( GDALGetDescription( mGdalDataset ) ) + QStringLiteral( "</td></tr>\n" );
508494

509495
// compression
510496
QString compression = QString( GDALGetMetadataItem( mGdalDataset, "COMPRESSION", "IMAGE_STRUCTURE" ) );
511-
if ( !compression.isEmpty() )
512-
{
513-
myMetadata += QLatin1String( "<p>" );
514-
myMetadata += tr( "COMPRESSION=%1" ).arg( compression );
515-
myMetadata += QLatin1String( "</p>\n" );
516-
}
497+
myMetadata += QStringLiteral( "<tr><td class=\"highlight\">" ) + tr( "Compression" ) + QStringLiteral( "</td><td>" ) + compression + QStringLiteral( "</td></tr>\n" );
517498

499+
// Band details
518500
for ( int i = 1; i <= GDALGetRasterCount( mGdalDataset ); ++i )
519501
{
520-
myMetadata += "<p class=\"glossy\">" + tr( "Band %1" ).arg( i ) + "</p>\n";
521502
GDALRasterBandH gdalBand = GDALGetRasterBand( mGdalDataset, i );
522-
GDALmetadata = GDALGetMetadata( gdalBand, nullptr );
523-
503+
char **GDALmetadata = GDALGetMetadata( gdalBand, nullptr );
504+
myMetadata += QStringLiteral( "<tr><td class=\"highlight\">" ) + tr( "Band %1" ).arg( i ) + QStringLiteral( "</td><td>" );
524505
if ( GDALmetadata )
525506
{
526507
QStringList metadata = cStringList2Q_( GDALmetadata );
527-
myMetadata += QgsRasterDataProvider::makeTableCells( metadata );
528-
}
529-
else
530-
{
531-
QgsDebugMsg( "band " + QString::number( i ) + " has no metadata" );
508+
myMetadata += QgsHtmlUtils::buildBulletList( metadata );
532509
}
533510

534511
char **GDALcategories = GDALGetRasterCategoryNames( gdalBand );
535512

536513
if ( GDALcategories )
537514
{
538515
QStringList categories = cStringList2Q_( GDALcategories );
539-
myMetadata += QgsRasterDataProvider::makeTableCells( categories );
540-
}
541-
else
542-
{
543-
QgsDebugMsg( "band " + QString::number( i ) + " has no categories" );
516+
myMetadata += QgsHtmlUtils::buildBulletList( categories );
544517
}
545-
518+
myMetadata += QStringLiteral( "</td></tr>" );
546519
}
520+
521+
// More information
522+
myMetadata += QStringLiteral( "<tr><td class=\"highlight\">" ) + tr( "More information" ) + QStringLiteral( "</td><td>\n" );
523+
547524
if ( mMaskBandExposedAsAlpha )
548525
{
549-
myMetadata += "<p class=\"glossy\">" + tr( "Mask band (exposed as alpha band)" ) + "</p>\n";
526+
myMetadata += tr( "Mask band (exposed as alpha band)" ) + QStringLiteral( "<br />\n" );
550527
}
551528

552-
// end my added code
553-
554-
myMetadata += QLatin1String( "<p class=\"glossy\">" );
555-
myMetadata += tr( "Dimensions" );
556-
myMetadata += QLatin1String( "</p>\n" );
557-
myMetadata += QLatin1String( "<p>" );
558-
myMetadata += tr( "X: %1 Y: %2 Bands: %3" )
559-
.arg( GDALGetRasterXSize( mGdalDataset ) )
560-
.arg( GDALGetRasterYSize( mGdalDataset ) )
561-
.arg( GDALGetRasterCount( mGdalDataset ) );
562-
myMetadata += QLatin1String( "</p>\n" );
529+
char **GDALmetadata = GDALGetMetadata( mGdalDataset, nullptr );
530+
if ( GDALmetadata )
531+
{
532+
QStringList metadata = cStringList2Q_( GDALmetadata );
533+
myMetadata += QgsHtmlUtils::buildBulletList( metadata );
534+
}
563535

564536
//just use the first band
565537
if ( GDALGetRasterCount( mGdalDataset ) > 0 )
@@ -568,18 +540,29 @@ QString QgsGdalProvider::htmlMetadata()
568540
if ( GDALGetOverviewCount( myGdalBand ) > 0 )
569541
{
570542
int myOverviewInt;
571-
for ( myOverviewInt = 0;
572-
myOverviewInt < GDALGetOverviewCount( myGdalBand );
573-
myOverviewInt++ )
543+
for ( myOverviewInt = 0; myOverviewInt < GDALGetOverviewCount( myGdalBand ); myOverviewInt++ )
574544
{
575545
GDALRasterBandH myOverview;
576546
myOverview = GDALGetOverview( myGdalBand, myOverviewInt );
577-
myMetadata += "<p>X : " + QString::number( GDALGetRasterBandXSize( myOverview ) );
578-
myMetadata += ",Y " + QString::number( GDALGetRasterBandYSize( myOverview ) ) + "</p>";
547+
QStringList metadata;
548+
metadata.append( QStringLiteral( "X : " ) + QString::number( GDALGetRasterBandXSize( myOverview ) ) );
549+
metadata.append( QStringLiteral( "Y : " ) + QString::number( GDALGetRasterBandYSize( myOverview ) ) );
550+
myMetadata += QgsHtmlUtils::buildBulletList( metadata );
579551
}
580552
}
581553
}
582554

555+
// End more information
556+
myMetadata += QStringLiteral( "</td></tr>\n" );
557+
558+
// Dimensions
559+
myMetadata += QStringLiteral( "<tr><td class=\"highlight\">" ) + tr( "Dimensions" ) + QStringLiteral( "</td><td>" );
560+
myMetadata += tr( "X: %1 Y: %2 Bands: %3" )
561+
.arg( GDALGetRasterXSize( mGdalDataset ) )
562+
.arg( GDALGetRasterYSize( mGdalDataset ) )
563+
.arg( GDALGetRasterCount( mGdalDataset ) );
564+
myMetadata += QStringLiteral( "</td></tr>\n" );
565+
583566
if ( GDALGetGeoTransform( mGdalDataset, mGeoTransform ) != CE_None )
584567
{
585568
// if the raster does not have a valid transform we need to use
@@ -588,23 +571,11 @@ QString QgsGdalProvider::htmlMetadata()
588571
}
589572
else
590573
{
591-
myMetadata += QLatin1String( "<p class=\"glossy\">" );
592-
myMetadata += tr( "Origin" );
593-
myMetadata += QLatin1String( "</p>\n" );
594-
myMetadata += QLatin1String( "<p>" );
595-
myMetadata += QString::number( mGeoTransform[0] );
596-
myMetadata += ',';
597-
myMetadata += QString::number( mGeoTransform[3] );
598-
myMetadata += QLatin1String( "</p>\n" );
599-
600-
myMetadata += QLatin1String( "<p class=\"glossy\">" );
601-
myMetadata += tr( "Pixel Size" );
602-
myMetadata += QLatin1String( "</p>\n" );
603-
myMetadata += QLatin1String( "<p>" );
604-
myMetadata += QString::number( mGeoTransform[1] );
605-
myMetadata += ',';
606-
myMetadata += QString::number( mGeoTransform[5] );
607-
myMetadata += QLatin1String( "</p>\n" );
574+
// Origin
575+
myMetadata += QStringLiteral( "<tr><td class=\"highlight\">" ) + tr( "Origin" ) + QStringLiteral( "</td><td>" ) + QString::number( mGeoTransform[0] ) + QStringLiteral( "," ) + QString::number( mGeoTransform[3] ) + QStringLiteral( "</td></tr>\n" );
576+
577+
// Pixel size
578+
myMetadata += QStringLiteral( "<tr><td class=\"highlight\">" ) + tr( "Pixel Size" ) + QStringLiteral( "</td><td>" ) + QString::number( mGeoTransform[1] ) + QStringLiteral( "," ) + QString::number( mGeoTransform[5] ) + QStringLiteral( "</td></tr>\n" );
608579
}
609580

610581
return myMetadata;

‎src/providers/grass/qgsgrassrasterprovider.cpp‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
#include "qgsapplication.h"
2727
#include "qgscoordinatetransform.h"
28+
#include "qgshtmlutils.h"
2829
#include "qgsrectangle.h"
2930
#include "qgscoordinatereferencesystem.h"
3031
#include "qgsrasterbandstats.h"
@@ -516,9 +517,7 @@ QString QgsGrassRasterProvider::htmlMetadata()
516517
{
517518
myList.append( i.key() + " : " + i.value() );
518519
}
519-
myMetadata += QgsRasterDataProvider::makeTableCells( myList );
520-
521-
520+
myMetadata += QgsHtmlUtils::buildBulletList( myList );
522521
return myMetadata;
523522
}
524523

‎src/providers/wcs/qgswcsprovider.cpp‎

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1178,10 +1178,10 @@ QString QgsWcsProvider::coverageMetadata( const QgsWcsCoverageSummary &coverage
11781178
metadata += QLatin1String( "<table width=\"100%\">" );
11791179

11801180
// Table header
1181-
metadata += QLatin1String( "<tr><th class=\"glossy\">" );
1181+
metadata += QLatin1String( "<tr><th class=\"strong\">" );
11821182
metadata += tr( "Property" );
11831183
metadata += QLatin1String( "</th>" );
1184-
metadata += QLatin1String( "<th class=\"glossy\">" );
1184+
metadata += QLatin1String( "<th class=\"strong\">" );
11851185
metadata += tr( "Value" );
11861186
metadata += QLatin1String( "</th></tr>" );
11871187

@@ -1233,8 +1233,7 @@ QString QgsWcsProvider::coverageMetadata( const QgsWcsCoverageSummary &coverage
12331233
QString QgsWcsProvider::htmlMetadata()
12341234
{
12351235
QString metadata;
1236-
1237-
metadata += QLatin1String( "<tr><td>" );
1236+
metadata += QStringLiteral( "<tr><td class=\"highlight\">" ) + tr( "WCS Info" ) + QStringLiteral( "</td><td><div>" );
12381237

12391238
metadata += QLatin1String( "</a>&nbsp;<a href=\"#coverages\">" );
12401239
metadata += tr( "Coverages" );
@@ -1247,22 +1246,22 @@ QString QgsWcsProvider::htmlMetadata()
12471246
metadata += "</a> ";
12481247
#endif
12491248

1250-
metadata += QLatin1String( "</td></tr>" );
1249+
metadata += QLatin1String( "<br /><table class=\"tabular-view\">" ); // Nested table 1
12511250

12521251
// Server Properties section
1253-
metadata += QLatin1String( "<tr><th class=\"glossy\"><a name=\"serverproperties\"></a>" );
1252+
metadata += QLatin1String( "<tr><th class=\"strong\"><a name=\"serverproperties\"></a>" );
12541253
metadata += tr( "Server Properties" );
12551254
metadata += QLatin1String( "</th></tr>" );
12561255

12571256
// Use a nested table
12581257
metadata += QLatin1String( "<tr><td>" );
1259-
metadata += QLatin1String( "<table width=\"100%\">" );
1258+
metadata += QLatin1String( "<table width=\"100%\">" ); // Nested table 2
12601259

12611260
// Table header
1262-
metadata += QLatin1String( "<tr><th class=\"glossy\">" );
1261+
metadata += QLatin1String( "<tr><th class=\"strong\">" );
12631262
metadata += tr( "Property" );
12641263
metadata += QLatin1String( "</th>" );
1265-
metadata += QLatin1String( "<th class=\"glossy\">" );
1264+
metadata += QLatin1String( "<th class=\"strong\">" );
12661265
metadata += tr( "Value" );
12671266
metadata += QLatin1String( "</th></tr>" );
12681267

@@ -1285,11 +1284,11 @@ QString QgsWcsProvider::htmlMetadata()
12851284
metadata += htmlRow( tr( "Get Coverage Url" ), mCapabilities.getCoverageUrl() + ( mIgnoreGetCoverageUrl ? tr( "&nbsp;<font color=\"red\">(advertised but ignored)</font>" ) : QLatin1String( "" ) ) );
12861285

12871286
// Close the nested table
1288-
metadata += QLatin1String( "</table>" );
1287+
metadata += QLatin1String( "</table>" ); // End nested table 2
12891288
metadata += QLatin1String( "</td></tr>" );
12901289

12911290
// Coverage properties
1292-
metadata += QLatin1String( "<tr><th class=\"glossy\"><a name=\"coverages\"></a>" );
1291+
metadata += QLatin1String( "<tr><th class=\"strong\"><a name=\"coverages\"></a>" );
12931292
metadata += tr( "Coverages" );
12941293
metadata += QLatin1String( "</th></tr>" );
12951294

@@ -1307,8 +1306,7 @@ QString QgsWcsProvider::htmlMetadata()
13071306
metadata += tr( "And %1 more coverages" ).arg( mCapabilities.coverages().size() - count );
13081307
}
13091308

1310-
QgsDebugMsg( "exiting with '" + metadata + "'." );
1311-
1309+
metadata += QStringLiteral( "</table></div></td></tr>\n" ); // End nested table 1
13121310
return metadata;
13131311
}
13141312

‎src/providers/wms/qgswmsprovider.cpp‎

Lines changed: 61 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1672,13 +1672,13 @@ QString QgsWmsProvider::layerMetadata( QgsWmsLayerProperty &layer )
16721672

16731673
// Use a nested table
16741674
metadata += QLatin1String( "<tr><td>" );
1675-
metadata += QLatin1String( "<table width=\"100%\">" );
1675+
metadata += QLatin1String( "<table width=\"100%\" class=\"tabular-view\">" );
16761676

16771677
// Table header
1678-
metadata += QLatin1String( "<tr><th class=\"glossy\">" );
1678+
metadata += QLatin1String( "<tr><th class=\"strong\">" );
16791679
metadata += tr( "Property" );
16801680
metadata += QLatin1String( "</th>" );
1681-
metadata += QLatin1String( "<th class=\"glossy\">" );
1681+
metadata += QLatin1String( "<th class=\"strong\">" );
16821682
metadata += tr( "Value" );
16831683
metadata += QLatin1String( "</th></tr>" );
16841684

@@ -1794,26 +1794,26 @@ QString QgsWmsProvider::layerMetadata( QgsWmsLayerProperty &layer )
17941794
metadata += QLatin1String( "<td>" );
17951795

17961796
// Nested table.
1797-
metadata += QLatin1String( "<table width=\"100%\">" );
1797+
metadata += QLatin1String( "<table width=\"100%\" class=\"tabular-view\">" );
17981798

17991799
// Layer Style Name
1800-
metadata += QLatin1String( "<tr><th class=\"glossy\">" );
1800+
metadata += QLatin1String( "<tr><th class=\"strong\">" );
18011801
metadata += tr( "Name" );
18021802
metadata += QLatin1String( "</th>" );
18031803
metadata += QLatin1String( "<td>" );
18041804
metadata += style.name;
18051805
metadata += QLatin1String( "</td></tr>" );
18061806

18071807
// Layer Style Title
1808-
metadata += QLatin1String( "<tr><th class=\"glossy\">" );
1808+
metadata += QLatin1String( "<tr><th class=\"strong\">" );
18091809
metadata += tr( "Title" );
18101810
metadata += QLatin1String( "</th>" );
18111811
metadata += QLatin1String( "<td>" );
18121812
metadata += style.title;
18131813
metadata += QLatin1String( "</td></tr>" );
18141814

18151815
// Layer Style Abstract
1816-
metadata += QLatin1String( "<tr><th class=\"glossy\">" );
1816+
metadata += QLatin1String( "<tr><th class=\"strong\">" );
18171817
metadata += tr( "Abstract" );
18181818
metadata += QLatin1String( "</th>" );
18191819
metadata += QLatin1String( "<td>" );
@@ -1823,10 +1823,10 @@ QString QgsWmsProvider::layerMetadata( QgsWmsLayerProperty &layer )
18231823
// LegendURLs
18241824
if ( !style.legendUrl.isEmpty() )
18251825
{
1826-
metadata += QLatin1String( "<tr><th class=\"glossy\">" );
1826+
metadata += QLatin1String( "<tr><th class=\"strong\">" );
18271827
metadata += tr( "LegendURLs" );
18281828
metadata += QLatin1String( "</th>" );
1829-
metadata += QLatin1String( "<td><table>" );
1829+
metadata += QLatin1String( "<td><table class=\"tabular-view\">" );
18301830
metadata += QLatin1String( "<tr><th>Format</th><th>URL</th></tr>" );
18311831
for ( int k = 0; k < style.legendUrl.size(); k++ )
18321832
{
@@ -1852,7 +1852,7 @@ QString QgsWmsProvider::htmlMetadata()
18521852
{
18531853
QString metadata;
18541854

1855-
metadata += QLatin1String( "<tr><td>" );
1855+
metadata += QStringLiteral( "<tr><td class=\"highlight\">" ) + tr( "WMS Info" ) + QStringLiteral( "</td><td><div>" );
18561856

18571857
if ( !mSettings.mTiled )
18581858
{
@@ -1873,22 +1873,22 @@ QString QgsWmsProvider::htmlMetadata()
18731873
metadata += QLatin1String( "</a> " );
18741874
}
18751875

1876-
metadata += QLatin1String( "</td></tr>" );
1876+
metadata += QLatin1String( "<br /><table class=\"tabular-view\">" ); // Nested table 1
18771877

18781878
// Server Properties section
1879-
metadata += QLatin1String( "<tr><th class=\"glossy\"><a name=\"serverproperties\"></a>" );
1879+
metadata += QLatin1String( "<tr><th class=\"strong\"><a name=\"serverproperties\"></a>" );
18801880
metadata += tr( "Server Properties" );
18811881
metadata += QLatin1String( "</th></tr>" );
18821882

18831883
// Use a nested table
18841884
metadata += QLatin1String( "<tr><td>" );
1885-
metadata += QLatin1String( "<table width=\"100%\">" );
1885+
metadata += QLatin1String( "<table width=\"100%\" class=\"tabular-view\">" ); // Nested table 2
18861886

18871887
// Table header
1888-
metadata += QLatin1String( "<tr><th class=\"glossy\">" );
1888+
metadata += QLatin1String( "<tr><th class=\"strong\">" );
18891889
metadata += tr( "Property" );
18901890
metadata += QLatin1String( "</th>" );
1891-
metadata += QLatin1String( "<th class=\"glossy\">" );
1891+
metadata += QLatin1String( "<th class=\"strong\">" );
18921892
metadata += tr( "Value" );
18931893
metadata += QLatin1String( "</th></tr>" );
18941894

@@ -2067,14 +2067,14 @@ QString QgsWmsProvider::htmlMetadata()
20672067
metadata += QLatin1String( "</td></tr>" );
20682068
}
20692069

2070-
// Close the nested table
2070+
// Close the nested table 2
20712071
metadata += QLatin1String( "</table>" );
20722072
metadata += QLatin1String( "</td></tr>" );
20732073

20742074
// Layer properties
20752075
if ( !mSettings.mTiled )
20762076
{
2077-
metadata += QLatin1String( "<tr><th class=\"glossy\"><a name=\"selectedlayers\"></a>" );
2077+
metadata += QLatin1String( "<tr><th class=\"strong\"><a name=\"selectedlayers\"></a>" );
20782078
metadata += tr( "Selected Layers" );
20792079
metadata += QLatin1String( "</th></tr>" );
20802080

@@ -2091,7 +2091,7 @@ QString QgsWmsProvider::htmlMetadata()
20912091
// Layer properties
20922092
if ( n < mCaps.mLayersSupported.size() )
20932093
{
2094-
metadata += QLatin1String( "<tr><th class=\"glossy\"><a name=\"otherlayers\"></a>" );
2094+
metadata += QLatin1String( "<tr><th class=\"strong\"><a name=\"otherlayers\"></a>" );
20952095
metadata += tr( "Other Layers" );
20962096
metadata += QLatin1String( "</th></tr>" );
20972097

@@ -2107,26 +2107,26 @@ QString QgsWmsProvider::htmlMetadata()
21072107
else
21082108
{
21092109
// Tileset properties
2110-
metadata += QLatin1String( "<tr><th class=\"glossy\"><a name=\"tilesetproperties\"></a>" );
2110+
metadata += QLatin1String( "<tr><th class=\"strong\"><a name=\"tilesetproperties\"></a>" );
21112111
metadata += tr( "Tileset Properties" );
21122112
metadata += QLatin1String( "</th></tr>" );
21132113

21142114
// Iterate through tilesets
21152115
metadata += QLatin1String( "<tr><td>" );
21162116

2117-
metadata += QLatin1String( "<table width=\"100%\">" );
2117+
metadata += QLatin1String( "<table width=\"100%\" class=\"tabular-view\">" ); // Nested table 3
21182118

21192119
Q_FOREACH ( const QgsWmtsTileLayer &l, mCaps.mTileLayersSupported )
21202120
{
2121-
metadata += QLatin1String( "<tr><th class=\"glossy\">" );
2121+
metadata += QLatin1String( "<tr><th class=\"strong\">" );
21222122
metadata += tr( "Identifier" );
2123-
metadata += QLatin1String( "</th><th class=\"glossy\">" );
2123+
metadata += QLatin1String( "</th><th class=\"strong\">" );
21242124
metadata += tr( "Tile mode" );
21252125
metadata += QLatin1String( "</th></tr>" );
21262126

21272127
metadata += QLatin1String( "<tr><td>" );
21282128
metadata += l.identifier;
2129-
metadata += QLatin1String( "</td><td class=\"glossy\">" );
2129+
metadata += QLatin1String( "</td><td class=\"strong\">" );
21302130

21312131
if ( l.tileMode == WMTS )
21322132
{
@@ -2148,26 +2148,26 @@ QString QgsWmsProvider::htmlMetadata()
21482148
metadata += QLatin1String( "</td></tr>" );
21492149

21502150
// Table header
2151-
metadata += QLatin1String( "<tr><th class=\"glossy\">" );
2151+
metadata += QLatin1String( "<tr><th class=\"strong\">" );
21522152
metadata += tr( "Property" );
21532153
metadata += QLatin1String( "</th>" );
2154-
metadata += QLatin1String( "<th class=\"glossy\">" );
2154+
metadata += QLatin1String( "<th class=\"strong\">" );
21552155
metadata += tr( "Value" );
21562156
metadata += QLatin1String( "</th></tr>" );
21572157

2158-
metadata += QLatin1String( "<tr><td class=\"glossy\">" );
2158+
metadata += QLatin1String( "<tr><td class=\"strong\">" );
21592159
metadata += tr( "Selected" );
21602160
metadata += QLatin1String( "</td>" );
2161-
metadata += QLatin1String( "<td class=\"glossy\">" );
2161+
metadata += QLatin1String( "<td class=\"strong\">" );
21622162
metadata += l.identifier == mSettings.mActiveSubLayers.join( QStringLiteral( "," ) ) ? tr( "Yes" ) : tr( "No" );
21632163
metadata += QLatin1String( "</td></tr>" );
21642164

21652165
if ( !l.styles.isEmpty() )
21662166
{
2167-
metadata += QLatin1String( "<tr><td class=\"glossy\">" );
2167+
metadata += QLatin1String( "<tr><td class=\"strong\">" );
21682168
metadata += tr( "Available Styles" );
21692169
metadata += QLatin1String( "</td>" );
2170-
metadata += QLatin1String( "<td class=\"glossy\">" );
2170+
metadata += QLatin1String( "<td class=\"strong\">" );
21712171
QStringList styles;
21722172
Q_FOREACH ( const QgsWmtsStyle &style, l.styles )
21732173
{
@@ -2177,15 +2177,15 @@ QString QgsWmsProvider::htmlMetadata()
21772177
metadata += QLatin1String( "</td></tr>" );
21782178
}
21792179

2180-
metadata += QLatin1String( "<tr><td class=\"glossy\">" );
2180+
metadata += QLatin1String( "<tr><td class=\"strong\">" );
21812181
metadata += tr( "CRS" );
21822182
metadata += QLatin1String( "</td>" );
21832183
metadata += QLatin1String( "<td>" );
2184-
metadata += QLatin1String( "<table><tr>" );
2185-
metadata += QLatin1String( "<td class=\"glossy\">" );
2184+
metadata += QLatin1String( "<table class=\"tabular-view\"><tr>" ); // Nested table 4
2185+
metadata += QLatin1String( "<td class=\"strong\">" );
21862186
metadata += tr( "CRS" );
21872187
metadata += QLatin1String( "</td>" );
2188-
metadata += QLatin1String( "<td class=\"glossy\">" );
2188+
metadata += QLatin1String( "<td class=\"strong\">" );
21892189
metadata += tr( "Bounding Box" );
21902190
metadata += QLatin1String( "</td>" );
21912191
for ( int i = 0; i < l.boundingBoxes.size(); i++ )
@@ -2196,11 +2196,11 @@ QString QgsWmsProvider::htmlMetadata()
21962196
metadata += l.boundingBoxes[i].box.toString();
21972197
metadata += QLatin1String( "</td></tr>" );
21982198
}
2199-
metadata += QLatin1String( "</table></td></tr>" );
2199+
metadata += QLatin1String( "</table></td></tr>" ); // End nested table 4
22002200

2201-
metadata += QLatin1String( "<tr><td class=\"glossy\">" );
2201+
metadata += QLatin1String( "<tr><td class=\"strong\">" );
22022202
metadata += tr( "Available Tilesets" );
2203-
metadata += QLatin1String( "</td><td class=\"glossy\">" );
2203+
metadata += QLatin1String( "</td><td class=\"strong\">" );
22042204

22052205
Q_FOREACH ( const QgsWmtsTileMatrixSetLink &setLink, l.setLinks )
22062206
{
@@ -2210,30 +2210,30 @@ QString QgsWmsProvider::htmlMetadata()
22102210
metadata += QLatin1String( "</td></tr>" );
22112211
}
22122212

2213-
metadata += QLatin1String( "</table></td></tr>" );
2213+
metadata += QLatin1String( "</table></td></tr>" ); // End nested table 3
22142214

22152215
if ( mTileMatrixSet )
22162216
{
22172217
// Iterate through tilesets
2218-
metadata += QLatin1String( "<tr><td><table width=\"100%\">" );
2218+
metadata += QLatin1String( "<tr><td><table width=\"100%\" class=\"tabular-view\">" ); // Nested table 3
22192219

2220-
metadata += QString( "<tr><th colspan=14 class=\"glossy\">%1 %2</th></tr>"
2220+
metadata += QString( "<tr><th colspan=14 class=\"strong\">%1 %2</th></tr>"
22212221
"<tr>"
2222-
"<th rowspan=2 class=\"glossy\">%3</th>"
2223-
"<th colspan=2 class=\"glossy\">%4</th>"
2224-
"<th colspan=2 class=\"glossy\">%5</th>"
2225-
"<th colspan=2 class=\"glossy\">%6</th>"
2226-
"<th colspan=2 class=\"glossy\">%7</th>"
2227-
"<th colspan=4 class=\"glossy\">%8</th>"
2222+
"<th rowspan=2 class=\"strong\">%3</th>"
2223+
"<th colspan=2 class=\"strong\">%4</th>"
2224+
"<th colspan=2 class=\"strong\">%5</th>"
2225+
"<th colspan=2 class=\"strong\">%6</th>"
2226+
"<th colspan=2 class=\"strong\">%7</th>"
2227+
"<th colspan=4 class=\"strong\">%8</th>"
22282228
"</tr><tr>"
2229-
"<th class=\"glossy\">%9</th><th class=\"glossy\">%10</th>"
2230-
"<th class=\"glossy\">%9</th><th class=\"glossy\">%10</th>"
2231-
"<th class=\"glossy\">%9</th><th class=\"glossy\">%10</th>"
2232-
"<th class=\"glossy\">%9</th><th class=\"glossy\">%10</th>"
2233-
"<th class=\"glossy\">%11</th>"
2234-
"<th class=\"glossy\">%12</th>"
2235-
"<th class=\"glossy\">%13</th>"
2236-
"<th class=\"glossy\">%14</th>"
2229+
"<th class=\"strong\">%9</th><th class=\"strong\">%10</th>"
2230+
"<th class=\"strong\">%9</th><th class=\"strong\">%10</th>"
2231+
"<th class=\"strong\">%9</th><th class=\"strong\">%10</th>"
2232+
"<th class=\"strong\">%9</th><th class=\"strong\">%10</th>"
2233+
"<th class=\"strong\">%11</th>"
2234+
"<th class=\"strong\">%12</th>"
2235+
"<th class=\"strong\">%13</th>"
2236+
"<th class=\"strong\">%14</th>"
22372237
"</tr>" )
22382238
.arg( tr( "Selected tile matrix set " ),
22392239
mSettings.mTileMatrixSetId,
@@ -2329,21 +2329,21 @@ QString QgsWmsProvider::htmlMetadata()
23292329
metadata += QLatin1String( "</tr>" );
23302330
}
23312331

2332-
metadata += QLatin1String( "</table></td></tr>" );
2332+
metadata += QLatin1String( "</table></td></tr>" ); // End nested table 3
23332333
}
23342334

23352335
const QgsWmsStatistics::Stat &stat = QgsWmsStatistics::statForUri( dataSourceUri() );
23362336

2337-
metadata += QLatin1String( "<tr><th class=\"glossy\"><a name=\"cachestats\"></a>" );
2337+
metadata += QLatin1String( "<tr><th class=\"strong\"><a name=\"cachestats\"></a>" );
23382338
metadata += tr( "Cache stats" );
23392339
metadata += QLatin1String( "</th></tr>" );
23402340

2341-
metadata += QLatin1String( "<tr><td><table width=\"100%\">" );
2341+
metadata += QLatin1String( "<tr><td><table width=\"100%\" class=\"tabular-view\">" ); // Nested table 3
23422342

2343-
metadata += QLatin1String( "<tr><th class=\"glossy\">" );
2343+
metadata += QLatin1String( "<tr><th class=\"strong\">" );
23442344
metadata += tr( "Property" );
23452345
metadata += QLatin1String( "</th>" );
2346-
metadata += QLatin1String( "<th class=\"glossy\">" );
2346+
metadata += QLatin1String( "<th class=\"strong\">" );
23472347
metadata += tr( "Value" );
23482348
metadata += QLatin1String( "</th></tr>" );
23492349

@@ -2365,13 +2365,12 @@ QString QgsWmsProvider::htmlMetadata()
23652365
metadata += QString::number( stat.errors );
23662366
metadata += QLatin1String( "</td></tr>" );
23672367

2368-
metadata += QLatin1String( "</table></td></tr>" );
2368+
metadata += QLatin1String( "</table></td></tr>" ); // End nested table 3
23692369
}
23702370

2371-
metadata += QLatin1String( "</table>" );
2372-
2373-
QgsDebugMsg( "exiting with '" + metadata + "'." );
2371+
metadata += QLatin1String( "</table>" ); // End nested table 2
23742372

2373+
metadata += QStringLiteral( "</table></div></td></tr>\n" ); // End nested table 1
23752374
return metadata;
23762375
}
23772376

0 commit comments

Comments
 (0)
Please sign in to comment.