Correctly handle "internal:url:..." links.
This commit is contained in:
		
							parent
							
								
									f18fbbc2a1
								
							
						
					
					
						commit
						1111718ea3
					
				
					 1 changed files with 12 additions and 1 deletions
				
			
		|  | @ -19,7 +19,11 @@ | ||||||
| 
 | 
 | ||||||
| QString TextClickHandler::readable() const { | QString TextClickHandler::readable() const { | ||||||
| 	const auto result = url(); | 	const auto result = url(); | ||||||
| 	return result.startsWith(qstr("internal:")) ? QString() : result; | 	return !result.startsWith(qstr("internal:")) | ||||||
|  | 		? result | ||||||
|  | 		: result.startsWith(qstr("internal:url:")) | ||||||
|  | 		? result.mid(qstr("internal:url:").size()) | ||||||
|  | 		: QString(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| UrlClickHandler::UrlClickHandler(const QString &url, bool fullDisplayed) | UrlClickHandler::UrlClickHandler(const QString &url, bool fullDisplayed) | ||||||
|  | @ -33,6 +37,13 @@ UrlClickHandler::UrlClickHandler(const QString &url, bool fullDisplayed) | ||||||
| 			? original.toEncoded() | 			? original.toEncoded() | ||||||
| 			: QString()); | 			: QString()); | ||||||
| 		_readable = good.isValid() ? good.toDisplayString() : _originalUrl; | 		_readable = good.isValid() ? good.toDisplayString() : _originalUrl; | ||||||
|  | 	} else if (_originalUrl.startsWith(qstr("internal:url:"))) { | ||||||
|  | 		const auto external = _originalUrl.mid(qstr("internal:url:").size()); | ||||||
|  | 		const auto original = QUrl(external); | ||||||
|  | 		const auto good = QUrl(original.isValid() | ||||||
|  | 			? original.toEncoded() | ||||||
|  | 			: QString()); | ||||||
|  | 		_readable = good.isValid() ? good.toDisplayString() : external; | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 John Preston
						John Preston