mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-04 00:30:59 -05:00
Fix anchor hyperlinks in raster layer info
This commit is contained in:
parent
234a5331d7
commit
58f76de4af
@ -446,18 +446,11 @@ QgsRasterLayerProperties::QgsRasterLayerProperties( QgsMapLayer *lyr, QgsMapCanv
|
||||
{
|
||||
mMetadataViewer->setZoomFactor( mMetadataViewer->zoomFactor() * 0.9 );
|
||||
}
|
||||
mMetadataViewer->page()->setLinkDelegationPolicy( QWebPage::DelegateExternalLinks );
|
||||
mMetadataViewer->page()->setLinkDelegationPolicy( QWebPage::LinkDelegationPolicy::DelegateExternalLinks );
|
||||
connect( mMetadataViewer->page(), &QWebPage::linkClicked, this, &QgsRasterLayerProperties::urlClicked );
|
||||
mMetadataViewer->page()->setViewportSize( QSize( 200, 200 ) );
|
||||
connect( mMetadataViewer->page(), &QWebPage::loadFinished, this, [ = ]
|
||||
{
|
||||
const auto frame { mMetadataViewer->page()->mainFrame() };
|
||||
mMetadataViewer->page()->setViewportSize( QSize( 200, 200 ) );
|
||||
//mMetadataViewer->resize( frame->contentsSize() );
|
||||
} );
|
||||
mMetadataViewer->page()->settings()->setAttribute( QWebSettings::DeveloperExtrasEnabled, true );
|
||||
mMetadataViewer->page()->settings()->setAttribute( QWebSettings::JavascriptEnabled, true );
|
||||
mMetadataViewer->page()->settings()->setAttribute( QWebSettings::LocalStorageEnabled, true );
|
||||
|
||||
#endif
|
||||
|
||||
@ -2069,15 +2062,19 @@ bool QgsRasterLayerProperties::rasterIsMultiBandColor()
|
||||
|
||||
void QgsRasterLayerProperties::updateInformationContent()
|
||||
{
|
||||
// We are using QgsWebView and the renderer is completely different from QTextBrowser
|
||||
// add some extra style here
|
||||
QString myStyle = QgsApplication::reportStyleSheet();
|
||||
myStyle.append( QStringLiteral( "body { margin: 10px; } "
|
||||
"table { border-collapse: collapse; } "
|
||||
"td { word-wrap: break-word; } "
|
||||
"table.list-view { table-layout:fixed; width: 95%; } "
|
||||
"table.tabular-view { width: 100%; } "
|
||||
".tabular-view th:first-child, .tabular-view td:first-child { width: 30%; } "
|
||||
myStyle.append( QStringLiteral( "body { margin: auto; width: 97% } "
|
||||
"table.tabular-view, table.list-view { border-collapse: collapse; table-layout:fixed; width: 100% !important; } "
|
||||
"h1 { line-height: inherit; } "
|
||||
"td, th { word-wrap: break-word; vertical-align: top; } "
|
||||
".list-view th:first-child, .list-view td:first-child { width: 15%; } "
|
||||
".list-view.highlight { padding-left: inherit; } "
|
||||
".tabular-view th:first-child, .tabular-view td:first-child { width: 20%; } "
|
||||
".tabular-view th.strong { background-color: #eee; }"
|
||||
".tabular-view th, .tabular-view td { "
|
||||
" border: none;"
|
||||
" border: solid 1px #eee;"
|
||||
"} \n " ) );
|
||||
const QString html { mRasterLayer->htmlMetadata().replace( QStringLiteral( "<head>" ), QStringLiteral( R"raw(<head><style type="text/css">%1</style>)raw" ) ).arg( myStyle ) };
|
||||
mMetadataViewer->setHtml( html );
|
||||
|
@ -1903,25 +1903,25 @@ QString QgsWmsProvider::htmlMetadata()
|
||||
|
||||
if ( !mSettings.mTiled )
|
||||
{
|
||||
metadata += QStringLiteral( " <a href=\"#selectedlayers\">" ) %
|
||||
metadata += QStringLiteral( " <a href=\"\" onclick=\"document.getElementById('selectedlayers').scrollIntoView(); return false;\">" ) %
|
||||
tr( "Selected Layers" ) %
|
||||
QStringLiteral( "</a> <a href=\"#otherlayers\">" ) %
|
||||
QStringLiteral( "</a> <a href=\"\" onclick=\"document.getElementById('otherlayers').scrollIntoView(); return false;\">" ) %
|
||||
tr( "Other Layers" ) %
|
||||
QStringLiteral( "</a>" );
|
||||
}
|
||||
else
|
||||
{
|
||||
metadata += QStringLiteral( " <a href=\"#tilesetproperties\">" ) %
|
||||
metadata += QStringLiteral( " <a href=\"\" onclick=\"document.getElementById('tilesetproperties').scrollIntoView(); return false;\">" ) %
|
||||
tr( "Tile Layer Properties" ) %
|
||||
QStringLiteral( "</a> " ) %
|
||||
QStringLiteral( " <a href=\"#cachestats\">" ) %
|
||||
QStringLiteral( " <a href=\"\" onclick=\"document.getElementById('cachestats'); return false;\">" ) %
|
||||
tr( "Cache Stats" ) %
|
||||
QStringLiteral( "</a> " );
|
||||
}
|
||||
|
||||
metadata += QStringLiteral( "<br /><table class=\"tabular-view\">" ) % // Nested table 1
|
||||
// Server Properties section
|
||||
QStringLiteral( "<tr><th class=\"strong\"><a name=\"serverproperties\"></a>" ) %
|
||||
QStringLiteral( "<tr><th class=\"strong\" id=\"serverproperties\">" ) %
|
||||
tr( "Server Properties" ) %
|
||||
QStringLiteral( "</th></tr>" ) %
|
||||
|
||||
@ -2041,14 +2041,13 @@ QString QgsWmsProvider::htmlMetadata()
|
||||
tr( "Tile Layer Count" ) %
|
||||
QStringLiteral( "</td>" ) %
|
||||
QStringLiteral( "<td>" ) %
|
||||
QString::number( mCaps.mTileLayersSupported.size() );
|
||||
QStringLiteral( "</td></tr>" ) %
|
||||
|
||||
QStringLiteral( "<tr><td>" ) %
|
||||
tr( "GetTileUrl" ) %
|
||||
QStringLiteral( "</td>" ) %
|
||||
QStringLiteral( "<td>" ) %
|
||||
getTileUrl();
|
||||
QString::number( mCaps.mTileLayersSupported.size() ) %
|
||||
QStringLiteral( "</td></tr>" ) %
|
||||
QStringLiteral( "<tr><td>" ) %
|
||||
tr( "GetTileUrl" ) %
|
||||
QStringLiteral( "</td>" ) %
|
||||
QStringLiteral( "<td>" ) %
|
||||
getTileUrl();
|
||||
QStringLiteral( "</td></tr>" );
|
||||
|
||||
if ( mTileLayer )
|
||||
@ -2093,15 +2092,15 @@ QString QgsWmsProvider::htmlMetadata()
|
||||
tr( "Image Formats" ) %
|
||||
QStringLiteral( "</td>" ) %
|
||||
QStringLiteral( "<td>" ) %
|
||||
mCaps.mCapabilities.capability.request.getMap.format.join( QStringLiteral( "<br />" ) );
|
||||
QStringLiteral( "</td></tr>" ) %
|
||||
mCaps.mCapabilities.capability.request.getMap.format.join( QStringLiteral( "<br />" ) ) %
|
||||
QStringLiteral( "</td></tr>" ) %
|
||||
|
||||
// GetFeatureInfo Request Formats
|
||||
QStringLiteral( "<tr><td>" ) %
|
||||
tr( "Identify Formats" ) %
|
||||
QStringLiteral( "</td>" ) %
|
||||
QStringLiteral( "<td>" ) %
|
||||
mCaps.mCapabilities.capability.request.getFeatureInfo.format.join( QStringLiteral( "<br />" ) );
|
||||
// GetFeatureInfo Request Formats
|
||||
QStringLiteral( "<tr><td>" ) %
|
||||
tr( "Identify Formats" ) %
|
||||
QStringLiteral( "</td>" ) %
|
||||
QStringLiteral( "<td>" ) %
|
||||
mCaps.mCapabilities.capability.request.getFeatureInfo.format.join( QStringLiteral( "<br />" ) );
|
||||
QStringLiteral( "</td></tr>" ) %
|
||||
|
||||
// Layer Count (as managed by this provider)
|
||||
@ -2120,7 +2119,7 @@ QString QgsWmsProvider::htmlMetadata()
|
||||
// Layer properties
|
||||
if ( !mSettings.mTiled )
|
||||
{
|
||||
metadata += QStringLiteral( "<tr><th class=\"strong\"><a name=\"selectedlayers\"></a>" ) %
|
||||
metadata += QStringLiteral( "<tr><th class=\"strong\" id=\"selectedlayers\">" ) %
|
||||
tr( "Selected Layers" ) %
|
||||
QStringLiteral( "</th></tr>" );
|
||||
|
||||
@ -2137,7 +2136,7 @@ QString QgsWmsProvider::htmlMetadata()
|
||||
// Layer properties
|
||||
if ( n < mCaps.mLayersSupported.size() )
|
||||
{
|
||||
metadata += QStringLiteral( "<tr><th class=\"strong\"><a name=\"otherlayers\"></a>" ) %
|
||||
metadata += QStringLiteral( "<tr><th class=\"strong\" id=\"otherlayers\">" ) %
|
||||
tr( "Other Layers" ) %
|
||||
QStringLiteral( "</th></tr>" );
|
||||
|
||||
@ -2153,7 +2152,7 @@ QString QgsWmsProvider::htmlMetadata()
|
||||
else
|
||||
{
|
||||
// Tileset properties
|
||||
metadata += QStringLiteral( "<tr><th class=\"strong\"><a name=\"tilesetproperties\"></a>" ) %
|
||||
metadata += QStringLiteral( "<tr><th class=\"strong\" id=\"tilesetproperties\">" ) %
|
||||
tr( "Tileset Properties" ) %
|
||||
QStringLiteral( "</th></tr>" ) %
|
||||
|
||||
@ -2171,8 +2170,8 @@ QString QgsWmsProvider::htmlMetadata()
|
||||
QStringLiteral( "</th></tr>" ) %
|
||||
|
||||
QStringLiteral( "<tr><td>" ) %
|
||||
l.identifier;
|
||||
QStringLiteral( "</td><td class=\"strong\">" );
|
||||
l.identifier %
|
||||
QStringLiteral( "</td><td class=\"strong\">" );
|
||||
|
||||
if ( l.tileMode == WMTS )
|
||||
{
|
||||
@ -2205,22 +2204,22 @@ QString QgsWmsProvider::htmlMetadata()
|
||||
tr( "Title" ) %
|
||||
QStringLiteral( "</td>" ) %
|
||||
QStringLiteral( "<td>" ) %
|
||||
l.title;
|
||||
QStringLiteral( "</td></tr>" ) %
|
||||
l.title %
|
||||
QStringLiteral( "</td></tr>" ) %
|
||||
|
||||
QStringLiteral( "<tr><td class=\"strong\">" ) %
|
||||
tr( "Abstract" ) %
|
||||
QStringLiteral( "</td>" ) %
|
||||
QStringLiteral( "<td>" ) %
|
||||
l.abstract;
|
||||
QStringLiteral( "</td></tr>" ) %
|
||||
QStringLiteral( "<tr><td class=\"strong\">" ) %
|
||||
tr( "Abstract" ) %
|
||||
QStringLiteral( "</td>" ) %
|
||||
QStringLiteral( "<td>" ) %
|
||||
l.abstract %
|
||||
QStringLiteral( "</td></tr>" ) %
|
||||
|
||||
QStringLiteral( "<tr><td class=\"strong\">" ) %
|
||||
tr( "Selected" ) %
|
||||
QStringLiteral( "</td>" ) %
|
||||
QStringLiteral( "<td class=\"strong\">" ) %
|
||||
l.identifier == mSettings.mActiveSubLayers.join( QStringLiteral( "," ) ) ? tr( "Yes" ) : tr( "No" ) %
|
||||
QStringLiteral( "</td></tr>" );
|
||||
QStringLiteral( "<tr><td class=\"strong\">" ) %
|
||||
tr( "Selected" ) %
|
||||
QStringLiteral( "</td>" ) %
|
||||
QStringLiteral( "<td class=\"strong\">" ) %
|
||||
l.identifier == mSettings.mActiveSubLayers.join( QStringLiteral( "," ) ) ? tr( "Yes" ) : tr( "No" ) %
|
||||
QStringLiteral( "</td></tr>" );
|
||||
|
||||
if ( !l.styles.isEmpty() )
|
||||
{
|
||||
@ -2233,8 +2232,8 @@ QString QgsWmsProvider::htmlMetadata()
|
||||
{
|
||||
styles << style.identifier;
|
||||
}
|
||||
metadata += styles.join( QStringLiteral( ", " ) );
|
||||
metadata += QStringLiteral( "</td></tr>" );
|
||||
metadata += styles.join( QStringLiteral( ", " ) ) %
|
||||
QStringLiteral( "</td></tr>" );
|
||||
}
|
||||
|
||||
metadata += QStringLiteral( "<tr><td class=\"strong\">" ) %
|
||||
@ -2251,13 +2250,12 @@ QString QgsWmsProvider::htmlMetadata()
|
||||
for ( int i = 0; i < l.boundingBoxes.size(); i++ )
|
||||
{
|
||||
metadata += QStringLiteral( "<tr><td>" ) %
|
||||
l.boundingBoxes[i].crs;
|
||||
QStringLiteral( "</td><td>" ) %
|
||||
l.boundingBoxes[i].box.toString();
|
||||
QStringLiteral( "</td></tr>" );
|
||||
l.boundingBoxes[i].crs %
|
||||
QStringLiteral( "</td><td>" ) %
|
||||
l.boundingBoxes[i].box.toString() %
|
||||
QStringLiteral( "</td></tr>" );
|
||||
}
|
||||
metadata += QStringLiteral( "</table></td></tr>" ) % // End nested table 4
|
||||
|
||||
QStringLiteral( "<tr><td class=\"strong\">" ) %
|
||||
tr( "Available Tilesets" ) %
|
||||
QStringLiteral( "</td><td class=\"strong\">" );
|
||||
@ -2392,7 +2390,7 @@ QString QgsWmsProvider::htmlMetadata()
|
||||
|
||||
const QgsWmsStatistics::Stat &stat = QgsWmsStatistics::statForUri( dataSourceUri() );
|
||||
|
||||
metadata += QStringLiteral( "<tr><th class=\"strong\"><a name=\"cachestats\"></a>" ) %
|
||||
metadata += QStringLiteral( "<tr><th class=\"strong\" id=\"cachestats\">" ) %
|
||||
tr( "Cache stats" ) %
|
||||
QStringLiteral( "</th></tr>" ) %
|
||||
|
||||
@ -2408,22 +2406,22 @@ QString QgsWmsProvider::htmlMetadata()
|
||||
QStringLiteral( "<tr><td>" ) %
|
||||
tr( "Hits" ) %
|
||||
QStringLiteral( "</td><td>" ) %
|
||||
QString::number( stat.cacheHits );
|
||||
QStringLiteral( "</td></tr>" ) %
|
||||
QString::number( stat.cacheHits ) %
|
||||
QStringLiteral( "</td></tr>" ) %
|
||||
|
||||
QStringLiteral( "<tr><td>" ) %
|
||||
tr( "Misses" ) %
|
||||
QStringLiteral( "</td><td>" ) %
|
||||
QString::number( stat.cacheMisses );
|
||||
QStringLiteral( "</td></tr>" ) %
|
||||
QStringLiteral( "<tr><td>" ) %
|
||||
tr( "Misses" ) %
|
||||
QStringLiteral( "</td><td>" ) %
|
||||
QString::number( stat.cacheMisses ) %
|
||||
QStringLiteral( "</td></tr>" ) %
|
||||
|
||||
QStringLiteral( "<tr><td>" ) %
|
||||
tr( "Errors" ) %
|
||||
QStringLiteral( "</td><td>" ) %
|
||||
QString::number( stat.errors );
|
||||
QStringLiteral( "</td></tr>" ) %
|
||||
QStringLiteral( "<tr><td>" ) %
|
||||
tr( "Errors" ) %
|
||||
QStringLiteral( "</td><td>" ) %
|
||||
QString::number( stat.errors ) %
|
||||
QStringLiteral( "</td></tr>" ) %
|
||||
|
||||
QStringLiteral( "</table></td></tr>" ); // End nested table 3
|
||||
QStringLiteral( "</table></td></tr>" ); // End nested table 3
|
||||
}
|
||||
|
||||
metadata += QStringLiteral( "</table>" ) % // End nested table 2
|
||||
|
Loading…
x
Reference in New Issue
Block a user