From 982abb9aef675a7217a70f2d4563888ca5c3b4f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaakko=20Kera=CC=88nen?= Date: Sun, 30 Jan 2022 13:58:34 +0200 Subject: [PATCH 1/1] About page parent/root navigation --- src/gmutil.c | 3 +++ src/ui/documentwidget.c | 13 +++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/gmutil.c b/src/gmutil.c index b984950e..ce1b68c7 100644 --- a/src/gmutil.c +++ b/src/gmutil.c @@ -258,6 +258,9 @@ iRangecc urlRoot_String(const iString *d) { else { iUrl parts; init_Url(&parts, d); + if (equalCase_Rangecc(parts.scheme, "about")) { + return (iRangecc){ constBegin_String(d), parts.path.start }; + } rootEnd = parts.path.start; } return (iRangecc){ constBegin_String(d), rootEnd }; diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c index 86513368..67fca410 100644 --- a/src/ui/documentwidget.c +++ b/src/ui/documentwidget.c @@ -4325,6 +4325,9 @@ static iBool handleCommand_DocumentWidget_(iDocumentWidget *d, const char *cmd) set_String(parentUrl, withScheme_String(parentUrl, "gemini")); stripUrlPort_String(parentUrl); } + if (!cmpCase_String(parentUrl, "about:")) { + setCStr_String(parentUrl, "about:about"); + } postCommandf_Root(w->root, "open url:%s", cstr_String(parentUrl)); } return iTrue; @@ -4339,8 +4342,14 @@ static iBool handleCommand_DocumentWidget_(iDocumentWidget *d, const char *cmd) but let's try anyway. */ set_String(rootUrl, withScheme_String(rootUrl, "gemini")); stripUrlPort_String(rootUrl); - } - postCommandf_Root(w->root, "open url:%s/", cstr_String(rootUrl)); + } + if (!cmpCase_String(rootUrl, "about:")) { + setCStr_String(rootUrl, "about:about"); + } + else { + appendCStr_String(rootUrl, "/"); + } + postCommandf_Root(w->root, "open url:%s", cstr_String(rootUrl)); return iTrue; } else if (equalWidget_Command(cmd, w, "scroll.moved")) { -- 2.34.1