linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: Maxim Levitsky <mlevitsk@redhat.com>,
	linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v3.1 7/7] kconfig: qconf: navigate menus on hyperlinks
Date: Tue, 30 Jun 2020 08:48:35 +0200	[thread overview]
Message-ID: <20200630084835.4db1331f@coco.lan> (raw)
In-Reply-To: <6f7162e40f127e76c7169315d33a14946a85719a.1593498345.git.mchehab+huawei@kernel.org>

Instead of just changing the helper window to show a
dependency, also navigate to it at the config and menu
widgets.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>


---

I ended re-sending the same version as on patch series 2. Please
consider this patch instead.

diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc
index 6a327b69ff5f..fd721c6c4c94 100644
--- a/scripts/kconfig/qconf.cc
+++ b/scripts/kconfig/qconf.cc
@@ -1233,7 +1233,6 @@ void ConfigInfoView::clicked(const QUrl &url)
 	char *data = new char[count + 1];
 	struct symbol **result;
 	struct menu *m = NULL;
-	char type;
 
 	if (count < 1) {
 		qInfo() << "Clicked link is empty";
@@ -1243,7 +1242,6 @@ void ConfigInfoView::clicked(const QUrl &url)
 
 	memcpy(data, str.constData(), count);
 	data[count] = '\0';
-	type = data[0];
 
 	/* Seek for exact match */
 	data[0] = '^';
@@ -1256,15 +1254,8 @@ void ConfigInfoView::clicked(const QUrl &url)
 	}
 
 	sym = *result;
-	if (type == 's') {
-		symbolInfo();
-		emit showDebugChanged(true);
-		free(result);
-		delete data;
-		return;
-	}
 
-	/* URL is a menu */
+	/* Seek for the menu which holds the symbol */
 	for (struct property *prop = sym->prop; prop; prop = prop->next) {
 		    if (prop->type != P_PROMPT && prop->type != P_MENU)
 			    continue;
@@ -1273,16 +1264,13 @@ void ConfigInfoView::clicked(const QUrl &url)
 	}
 
 	if (!m) {
-		qInfo() << "Clicked menu is invalid:" << data;
-		free(result);
-		delete data;
-		return;
+		/* Symbol is not visible as a menu */
+		symbolInfo();
+		emit showDebugChanged(true);
+	} else {
+		emit menuSelected(m);
 	}
 
-	_menu = m;
-	menuInfo();
-
-	emit showDebugChanged(true);
 	free(result);
 	delete data;
 }
@@ -1731,6 +1719,7 @@ void ConfigMainWindow::setMenuLink(struct menu *menu)
 			list->setSelected(item, true);
 			list->scrollToItem(item);
 			list->setFocus();
+			helpText->setInfo(menu);
 		}
 	}
 }

  reply	other threads:[~2020-06-30  6:48 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-30  6:26 [PATCH v3 0/7] Fix split view search and debug info navigation Mauro Carvalho Chehab
2020-06-30  6:26 ` [PATCH v3 1/7] kconfig: qconf: cleanup includes Mauro Carvalho Chehab
2020-06-30  6:26 ` [PATCH v3 2/7] kconfig: qconf: make search fully work again on split mode Mauro Carvalho Chehab
2020-06-30  6:26 ` [PATCH v3 3/7] kconfig: qconf: make debug links work again Mauro Carvalho Chehab
2020-06-30  6:26 ` [PATCH v3 4/7] kconfig: qconf: re-implement setSelected() Mauro Carvalho Chehab
2020-06-30  6:26 ` [PATCH v3 5/7] kconfig: qconf: simplify the goBack() logic Mauro Carvalho Chehab
2020-06-30  6:26 ` [PATCH v3 6/7] kconfig: qconf: don't show goback button on splitMode Mauro Carvalho Chehab
2020-07-18 19:24   ` Maxim Levitsky
2020-06-30  6:26 ` [PATCH v3 7/7] kconfig: qconf: navigate menus on hyperlinks Mauro Carvalho Chehab
2020-06-30  6:48   ` Mauro Carvalho Chehab [this message]
2020-07-01 15:21     ` [PATCH v3.1 " Masahiro Yamada
2020-07-01 15:51       ` Mauro Carvalho Chehab
2020-07-01 15:55         ` Maxim Levitsky
2020-07-01 15:19 ` [PATCH v3 0/7] Fix split view search and debug info navigation Masahiro Yamada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200630084835.4db1331f@coco.lan \
    --to=mchehab+huawei@kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=mlevitsk@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).