[LyX/master] Let hyperlink insets to be longer if name is given.

Pavel Sanda sanda at lyx.org
Wed Mar 25 06:23:28 UTC 2020


commit 426ca3a5d6de3c4f90d48f26538bfc6d40ce59d9
Author: Pavel Sanda <sanda at lyx.org>
Date:   Wed Mar 25 07:40:27 2020 +0100

    Let hyperlink insets to be longer if name is given.
    
    Thanks to Oystein Senneset Haaland.
    https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg210882.html
---
 src/insets/InsetHyperlink.cpp |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/insets/InsetHyperlink.cpp b/src/insets/InsetHyperlink.cpp
index a500f7b..a225a8e 100644
--- a/src/insets/InsetHyperlink.cpp
+++ b/src/insets/InsetHyperlink.cpp
@@ -60,19 +60,28 @@ ParamInfo const & InsetHyperlink::findInfo(string const & /* cmdName */)
 
 docstring InsetHyperlink::screenLabel() const
 {
+	// TODO: replace with unicode hyperlink character = U+1F517
 	docstring const temp = _("Hyperlink: ");
 
 	docstring url;
 
 	url += getParam("name");
-	if (url.empty())
+	if (url.empty()) {
 		url += getParam("target");
 
-	// elide if long
-	if (url.length() > 30) {
-		docstring end = url.substr(url.length() - 17, url.length());
-		support::truncateWithEllipsis(url, 13);
-		url += end;
+		// elide if long and no name was provided
+		if (url.length() > 30) {
+			docstring end = url.substr(url.length() - 17, url.length());
+			support::truncateWithEllipsis(url, 13);
+			url += end;
+		}
+	} else {
+		// elide if long (approx number of chars in line of article class)
+		if (url.length() > 80) {
+			docstring end = url.substr(url.length() - 67, url.length());
+			support::truncateWithEllipsis(url, 13);
+			url += end;
+		}
 	}
 	return temp + url;
 }


More information about the lyx-cvs mailing list