Skip to content

Commit 58f76de

Browse files
elpasonyalldawson
authored andcommittedOct 25, 2019
Fix anchor hyperlinks in raster layer info
1 parent 234a533 commit 58f76de

File tree

2 files changed

+73
-78
lines changed

2 files changed

+73
-78
lines changed
 

‎src/app/qgsrasterlayerproperties.cpp

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -446,18 +446,11 @@ QgsRasterLayerProperties::QgsRasterLayerProperties( QgsMapLayer *lyr, QgsMapCanv
446446
{
447447
mMetadataViewer->setZoomFactor( mMetadataViewer->zoomFactor() * 0.9 );
448448
}
449-
mMetadataViewer->page()->setLinkDelegationPolicy( QWebPage::DelegateExternalLinks );
449+
mMetadataViewer->page()->setLinkDelegationPolicy( QWebPage::LinkDelegationPolicy::DelegateExternalLinks );
450450
connect( mMetadataViewer->page(), &QWebPage::linkClicked, this, &QgsRasterLayerProperties::urlClicked );
451451
mMetadataViewer->page()->setViewportSize( QSize( 200, 200 ) );
452-
connect( mMetadataViewer->page(), &QWebPage::loadFinished, this, [ = ]
453-
{
454-
const auto frame { mMetadataViewer->page()->mainFrame() };
455-
mMetadataViewer->page()->setViewportSize( QSize( 200, 200 ) );
456-
//mMetadataViewer->resize( frame->contentsSize() );
457-
} );
458452
mMetadataViewer->page()->settings()->setAttribute( QWebSettings::DeveloperExtrasEnabled, true );
459453
mMetadataViewer->page()->settings()->setAttribute( QWebSettings::JavascriptEnabled, true );
460-
mMetadataViewer->page()->settings()->setAttribute( QWebSettings::LocalStorageEnabled, true );
461454

462455
#endif
463456

@@ -2069,15 +2062,19 @@ bool QgsRasterLayerProperties::rasterIsMultiBandColor()
20692062

20702063
void QgsRasterLayerProperties::updateInformationContent()
20712064
{
2065+
// We are using QgsWebView and the renderer is completely different from QTextBrowser
2066+
// add some extra style here
20722067
QString myStyle = QgsApplication::reportStyleSheet();
2073-
myStyle.append( QStringLiteral( "body { margin: 10px; } "
2074-
"table { border-collapse: collapse; } "
2075-
"td { word-wrap: break-word; } "
2076-
"table.list-view { table-layout:fixed; width: 95%; } "
2077-
"table.tabular-view { width: 100%; } "
2078-
".tabular-view th:first-child, .tabular-view td:first-child { width: 30%; } "
2068+
myStyle.append( QStringLiteral( "body { margin: auto; width: 97% } "
2069+
"table.tabular-view, table.list-view { border-collapse: collapse; table-layout:fixed; width: 100% !important; } "
2070+
"h1 { line-height: inherit; } "
2071+
"td, th { word-wrap: break-word; vertical-align: top; } "
2072+
".list-view th:first-child, .list-view td:first-child { width: 15%; } "
2073+
".list-view.highlight { padding-left: inherit; } "
2074+
".tabular-view th:first-child, .tabular-view td:first-child { width: 20%; } "
2075+
".tabular-view th.strong { background-color: #eee; }"
20792076
".tabular-view th, .tabular-view td { "
2080-
" border: none;"
2077+
" border: solid 1px #eee;"
20812078
"} \n " ) );
20822079
const QString html { mRasterLayer->htmlMetadata().replace( QStringLiteral( "<head>" ), QStringLiteral( R"raw(<head><style type="text/css">%1</style>)raw" ) ).arg( myStyle ) };
20832080
mMetadataViewer->setHtml( html );

‎src/providers/wms/qgswmsprovider.cpp

Lines changed: 61 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1903,25 +1903,25 @@ QString QgsWmsProvider::htmlMetadata()
19031903

19041904
if ( !mSettings.mTiled )
19051905
{
1906-
metadata += QStringLiteral( "&nbsp;<a href=\"#selectedlayers\">" ) %
1906+
metadata += QStringLiteral( "&nbsp;<a href=\"\" onclick=\"document.getElementById('selectedlayers').scrollIntoView(); return false;\">" ) %
19071907
tr( "Selected Layers" ) %
1908-
QStringLiteral( "</a>&nbsp;<a href=\"#otherlayers\">" ) %
1908+
QStringLiteral( "</a>&nbsp;<a href=\"\" onclick=\"document.getElementById('otherlayers').scrollIntoView(); return false;\">" ) %
19091909
tr( "Other Layers" ) %
19101910
QStringLiteral( "</a>" );
19111911
}
19121912
else
19131913
{
1914-
metadata += QStringLiteral( "&nbsp;<a href=\"#tilesetproperties\">" ) %
1914+
metadata += QStringLiteral( "&nbsp;<a href=\"\" onclick=\"document.getElementById('tilesetproperties').scrollIntoView(); return false;\">" ) %
19151915
tr( "Tile Layer Properties" ) %
19161916
QStringLiteral( "</a> " ) %
1917-
QStringLiteral( "&nbsp;<a href=\"#cachestats\">" ) %
1917+
QStringLiteral( "&nbsp;<a href=\"\" onclick=\"document.getElementById('cachestats'); return false;\">" ) %
19181918
tr( "Cache Stats" ) %
19191919
QStringLiteral( "</a> " );
19201920
}
19211921

19221922
metadata += QStringLiteral( "<br /><table class=\"tabular-view\">" ) % // Nested table 1
19231923
// Server Properties section
1924-
QStringLiteral( "<tr><th class=\"strong\"><a name=\"serverproperties\"></a>" ) %
1924+
QStringLiteral( "<tr><th class=\"strong\" id=\"serverproperties\">" ) %
19251925
tr( "Server Properties" ) %
19261926
QStringLiteral( "</th></tr>" ) %
19271927

@@ -2041,14 +2041,13 @@ QString QgsWmsProvider::htmlMetadata()
20412041
tr( "Tile Layer Count" ) %
20422042
QStringLiteral( "</td>" ) %
20432043
QStringLiteral( "<td>" ) %
2044-
QString::number( mCaps.mTileLayersSupported.size() );
2045-
QStringLiteral( "</td></tr>" ) %
2046-
2047-
QStringLiteral( "<tr><td>" ) %
2048-
tr( "GetTileUrl" ) %
2049-
QStringLiteral( "</td>" ) %
2050-
QStringLiteral( "<td>" ) %
2051-
getTileUrl();
2044+
QString::number( mCaps.mTileLayersSupported.size() ) %
2045+
QStringLiteral( "</td></tr>" ) %
2046+
QStringLiteral( "<tr><td>" ) %
2047+
tr( "GetTileUrl" ) %
2048+
QStringLiteral( "</td>" ) %
2049+
QStringLiteral( "<td>" ) %
2050+
getTileUrl();
20522051
QStringLiteral( "</td></tr>" );
20532052

20542053
if ( mTileLayer )
@@ -2093,15 +2092,15 @@ QString QgsWmsProvider::htmlMetadata()
20932092
tr( "Image Formats" ) %
20942093
QStringLiteral( "</td>" ) %
20952094
QStringLiteral( "<td>" ) %
2096-
mCaps.mCapabilities.capability.request.getMap.format.join( QStringLiteral( "<br />" ) );
2097-
QStringLiteral( "</td></tr>" ) %
2095+
mCaps.mCapabilities.capability.request.getMap.format.join( QStringLiteral( "<br />" ) ) %
2096+
QStringLiteral( "</td></tr>" ) %
20982097

2099-
// GetFeatureInfo Request Formats
2100-
QStringLiteral( "<tr><td>" ) %
2101-
tr( "Identify Formats" ) %
2102-
QStringLiteral( "</td>" ) %
2103-
QStringLiteral( "<td>" ) %
2104-
mCaps.mCapabilities.capability.request.getFeatureInfo.format.join( QStringLiteral( "<br />" ) );
2098+
// GetFeatureInfo Request Formats
2099+
QStringLiteral( "<tr><td>" ) %
2100+
tr( "Identify Formats" ) %
2101+
QStringLiteral( "</td>" ) %
2102+
QStringLiteral( "<td>" ) %
2103+
mCaps.mCapabilities.capability.request.getFeatureInfo.format.join( QStringLiteral( "<br />" ) );
21052104
QStringLiteral( "</td></tr>" ) %
21062105

21072106
// Layer Count (as managed by this provider)
@@ -2120,7 +2119,7 @@ QString QgsWmsProvider::htmlMetadata()
21202119
// Layer properties
21212120
if ( !mSettings.mTiled )
21222121
{
2123-
metadata += QStringLiteral( "<tr><th class=\"strong\"><a name=\"selectedlayers\"></a>" ) %
2122+
metadata += QStringLiteral( "<tr><th class=\"strong\" id=\"selectedlayers\">" ) %
21242123
tr( "Selected Layers" ) %
21252124
QStringLiteral( "</th></tr>" );
21262125

@@ -2137,7 +2136,7 @@ QString QgsWmsProvider::htmlMetadata()
21372136
// Layer properties
21382137
if ( n < mCaps.mLayersSupported.size() )
21392138
{
2140-
metadata += QStringLiteral( "<tr><th class=\"strong\"><a name=\"otherlayers\"></a>" ) %
2139+
metadata += QStringLiteral( "<tr><th class=\"strong\" id=\"otherlayers\">" ) %
21412140
tr( "Other Layers" ) %
21422141
QStringLiteral( "</th></tr>" );
21432142

@@ -2153,7 +2152,7 @@ QString QgsWmsProvider::htmlMetadata()
21532152
else
21542153
{
21552154
// Tileset properties
2156-
metadata += QStringLiteral( "<tr><th class=\"strong\"><a name=\"tilesetproperties\"></a>" ) %
2155+
metadata += QStringLiteral( "<tr><th class=\"strong\" id=\"tilesetproperties\">" ) %
21572156
tr( "Tileset Properties" ) %
21582157
QStringLiteral( "</th></tr>" ) %
21592158

@@ -2171,8 +2170,8 @@ QString QgsWmsProvider::htmlMetadata()
21712170
QStringLiteral( "</th></tr>" ) %
21722171

21732172
QStringLiteral( "<tr><td>" ) %
2174-
l.identifier;
2175-
QStringLiteral( "</td><td class=\"strong\">" );
2173+
l.identifier %
2174+
QStringLiteral( "</td><td class=\"strong\">" );
21762175

21772176
if ( l.tileMode == WMTS )
21782177
{
@@ -2205,22 +2204,22 @@ QString QgsWmsProvider::htmlMetadata()
22052204
tr( "Title" ) %
22062205
QStringLiteral( "</td>" ) %
22072206
QStringLiteral( "<td>" ) %
2208-
l.title;
2209-
QStringLiteral( "</td></tr>" ) %
2210-
2211-
QStringLiteral( "<tr><td class=\"strong\">" ) %
2212-
tr( "Abstract" ) %
2213-
QStringLiteral( "</td>" ) %
2214-
QStringLiteral( "<td>" ) %
2215-
l.abstract;
2216-
QStringLiteral( "</td></tr>" ) %
2217-
2218-
QStringLiteral( "<tr><td class=\"strong\">" ) %
2219-
tr( "Selected" ) %
2220-
QStringLiteral( "</td>" ) %
2221-
QStringLiteral( "<td class=\"strong\">" ) %
2222-
l.identifier == mSettings.mActiveSubLayers.join( QStringLiteral( "," ) ) ? tr( "Yes" ) : tr( "No" ) %
2223-
QStringLiteral( "</td></tr>" );
2207+
l.title %
2208+
QStringLiteral( "</td></tr>" ) %
2209+
2210+
QStringLiteral( "<tr><td class=\"strong\">" ) %
2211+
tr( "Abstract" ) %
2212+
QStringLiteral( "</td>" ) %
2213+
QStringLiteral( "<td>" ) %
2214+
l.abstract %
2215+
QStringLiteral( "</td></tr>" ) %
2216+
2217+
QStringLiteral( "<tr><td class=\"strong\">" ) %
2218+
tr( "Selected" ) %
2219+
QStringLiteral( "</td>" ) %
2220+
QStringLiteral( "<td class=\"strong\">" ) %
2221+
l.identifier == mSettings.mActiveSubLayers.join( QStringLiteral( "," ) ) ? tr( "Yes" ) : tr( "No" ) %
2222+
QStringLiteral( "</td></tr>" );
22242223

22252224
if ( !l.styles.isEmpty() )
22262225
{
@@ -2233,8 +2232,8 @@ QString QgsWmsProvider::htmlMetadata()
22332232
{
22342233
styles << style.identifier;
22352234
}
2236-
metadata += styles.join( QStringLiteral( ", " ) );
2237-
metadata += QStringLiteral( "</td></tr>" );
2235+
metadata += styles.join( QStringLiteral( ", " ) ) %
2236+
QStringLiteral( "</td></tr>" );
22382237
}
22392238

22402239
metadata += QStringLiteral( "<tr><td class=\"strong\">" ) %
@@ -2251,13 +2250,12 @@ QString QgsWmsProvider::htmlMetadata()
22512250
for ( int i = 0; i < l.boundingBoxes.size(); i++ )
22522251
{
22532252
metadata += QStringLiteral( "<tr><td>" ) %
2254-
l.boundingBoxes[i].crs;
2255-
QStringLiteral( "</td><td>" ) %
2256-
l.boundingBoxes[i].box.toString();
2257-
QStringLiteral( "</td></tr>" );
2253+
l.boundingBoxes[i].crs %
2254+
QStringLiteral( "</td><td>" ) %
2255+
l.boundingBoxes[i].box.toString() %
2256+
QStringLiteral( "</td></tr>" );
22582257
}
22592258
metadata += QStringLiteral( "</table></td></tr>" ) % // End nested table 4
2260-
22612259
QStringLiteral( "<tr><td class=\"strong\">" ) %
22622260
tr( "Available Tilesets" ) %
22632261
QStringLiteral( "</td><td class=\"strong\">" );
@@ -2392,7 +2390,7 @@ QString QgsWmsProvider::htmlMetadata()
23922390

23932391
const QgsWmsStatistics::Stat &stat = QgsWmsStatistics::statForUri( dataSourceUri() );
23942392

2395-
metadata += QStringLiteral( "<tr><th class=\"strong\"><a name=\"cachestats\"></a>" ) %
2393+
metadata += QStringLiteral( "<tr><th class=\"strong\" id=\"cachestats\">" ) %
23962394
tr( "Cache stats" ) %
23972395
QStringLiteral( "</th></tr>" ) %
23982396

@@ -2408,22 +2406,22 @@ QString QgsWmsProvider::htmlMetadata()
24082406
QStringLiteral( "<tr><td>" ) %
24092407
tr( "Hits" ) %
24102408
QStringLiteral( "</td><td>" ) %
2411-
QString::number( stat.cacheHits );
2412-
QStringLiteral( "</td></tr>" ) %
2409+
QString::number( stat.cacheHits ) %
2410+
QStringLiteral( "</td></tr>" ) %
24132411

2414-
QStringLiteral( "<tr><td>" ) %
2415-
tr( "Misses" ) %
2416-
QStringLiteral( "</td><td>" ) %
2417-
QString::number( stat.cacheMisses );
2418-
QStringLiteral( "</td></tr>" ) %
2412+
QStringLiteral( "<tr><td>" ) %
2413+
tr( "Misses" ) %
2414+
QStringLiteral( "</td><td>" ) %
2415+
QString::number( stat.cacheMisses ) %
2416+
QStringLiteral( "</td></tr>" ) %
24192417

2420-
QStringLiteral( "<tr><td>" ) %
2421-
tr( "Errors" ) %
2422-
QStringLiteral( "</td><td>" ) %
2423-
QString::number( stat.errors );
2424-
QStringLiteral( "</td></tr>" ) %
2418+
QStringLiteral( "<tr><td>" ) %
2419+
tr( "Errors" ) %
2420+
QStringLiteral( "</td><td>" ) %
2421+
QString::number( stat.errors ) %
2422+
QStringLiteral( "</td></tr>" ) %
24252423

2426-
QStringLiteral( "</table></td></tr>" ); // End nested table 3
2424+
QStringLiteral( "</table></td></tr>" ); // End nested table 3
24272425
}
24282426

24292427
metadata += QStringLiteral( "</table>" ) % // End nested table 2

0 commit comments

Comments
 (0)
Please sign in to comment.