linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Masahiro Yamada <masahiroy@kernel.org>
To: linux-kbuild@vger.kernel.org
Cc: Masahiro Yamada <masahiroy@kernel.org>, linux-kernel@vger.kernel.org
Subject: [PATCH v2 18/19] kconfig: qconf: do not limit the pop-up menu to the first row
Date: Fri,  7 Aug 2020 18:19:08 +0900	[thread overview]
Message-ID: <20200807091909.2985787-18-masahiroy@kernel.org> (raw)
In-Reply-To: <20200807091909.2985787-1-masahiroy@kernel.org>

If you right-click the first row in the option tree, the pop-up menu
shows up, but if you right-click the second row or below, the event
is ignored due to the following check:

  if (e->y() <= header()->geometry().bottom()) {

Perhaps, the intention was to show the pop-menu only when the tree
header was right-clicked, but this handler is not called in that case.

Since the origin of e->y() starts from the bottom of the header,
this check is odd.

Going forward, you can right-click anywhere in the tree to get the
pop-up menu.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

Changes in v2:
 - new patch

 scripts/kconfig/qconf.cc | 68 ++++++++++++++++++++--------------------
 1 file changed, 34 insertions(+), 34 deletions(-)

diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc
index 19f7764c1d68..8eacebfeb030 100644
--- a/scripts/kconfig/qconf.cc
+++ b/scripts/kconfig/qconf.cc
@@ -863,40 +863,40 @@ void ConfigList::focusInEvent(QFocusEvent *e)
 
 void ConfigList::contextMenuEvent(QContextMenuEvent *e)
 {
-	if (e->y() <= header()->geometry().bottom()) {
-		if (!headerPopup) {
-			QAction *action;
-
-			headerPopup = new QMenu(this);
-			action = new QAction("Show Name", this);
-			  action->setCheckable(true);
-			  connect(action, SIGNAL(toggled(bool)),
-				  parent(), SLOT(setShowName(bool)));
-			  connect(parent(), SIGNAL(showNameChanged(bool)),
-				  action, SLOT(setOn(bool)));
-			  action->setChecked(showName);
-			  headerPopup->addAction(action);
-			action = new QAction("Show Range", this);
-			  action->setCheckable(true);
-			  connect(action, SIGNAL(toggled(bool)),
-				  parent(), SLOT(setShowRange(bool)));
-			  connect(parent(), SIGNAL(showRangeChanged(bool)),
-				  action, SLOT(setOn(bool)));
-			  action->setChecked(showRange);
-			  headerPopup->addAction(action);
-			action = new QAction("Show Data", this);
-			  action->setCheckable(true);
-			  connect(action, SIGNAL(toggled(bool)),
-				  parent(), SLOT(setShowData(bool)));
-			  connect(parent(), SIGNAL(showDataChanged(bool)),
-				  action, SLOT(setOn(bool)));
-			  action->setChecked(showData);
-			  headerPopup->addAction(action);
-		}
-		headerPopup->exec(e->globalPos());
-		e->accept();
-	} else
-		e->ignore();
+	if (!headerPopup) {
+		QAction *action;
+
+		headerPopup = new QMenu(this);
+		action = new QAction("Show Name", this);
+		action->setCheckable(true);
+		connect(action, SIGNAL(toggled(bool)),
+			parent(), SLOT(setShowName(bool)));
+		connect(parent(), SIGNAL(showNameChanged(bool)),
+			action, SLOT(setOn(bool)));
+		action->setChecked(showName);
+		headerPopup->addAction(action);
+
+		action = new QAction("Show Range", this);
+		action->setCheckable(true);
+		connect(action, SIGNAL(toggled(bool)),
+			parent(), SLOT(setShowRange(bool)));
+		connect(parent(), SIGNAL(showRangeChanged(bool)),
+			action, SLOT(setOn(bool)));
+		action->setChecked(showRange);
+		headerPopup->addAction(action);
+
+		action = new QAction("Show Data", this);
+		action->setCheckable(true);
+		connect(action, SIGNAL(toggled(bool)),
+			parent(), SLOT(setShowData(bool)));
+		connect(parent(), SIGNAL(showDataChanged(bool)),
+			action, SLOT(setOn(bool)));
+		action->setChecked(showData);
+		headerPopup->addAction(action);
+	}
+
+	headerPopup->exec(e->globalPos());
+	e->accept();
 }
 
 ConfigView*ConfigView::viewList;
-- 
2.25.1


  parent reply	other threads:[~2020-08-07  9:20 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-07  9:18 [PATCH v2 01/19] kconfig: qconf: remove ->addSeparator() to menuBar Masahiro Yamada
2020-08-07  9:18 ` [PATCH v2 02/19] kconfig: qconf: do not use 'menu' variable for (QMenuBar *) Masahiro Yamada
2020-08-07  9:18 ` [PATCH v2 03/19] kconfig: qconf: use 'menu' variable for (QMenu *) Masahiro Yamada
2020-08-07  9:18 ` [PATCH v2 04/19] kconfig: qconf: remove toolBar from ConfigMainWindow members Masahiro Yamada
2020-08-07  9:18 ` [PATCH v2 05/19] kconfig: qconf: overload addToolBar() to create and insert toolbar Masahiro Yamada
2020-08-07  9:18 ` [PATCH v2 06/19] kconfig: qconf: remove unused ConfigList::listView() Masahiro Yamada
2020-08-07  9:18 ` [PATCH v2 07/19] kconfig: qconf: remove name from ConfigSearchWindow constructor Masahiro Yamada
2020-08-07  9:18 ` [PATCH v2 08/19] kconfig: qconf: omit parent to QHBoxLayout() Masahiro Yamada
2020-08-07  9:18 ` [PATCH v2 09/19] kconfig: qconf: remove unused argument from ConfigList::updateList() Masahiro Yamada
2020-08-07  9:19 ` [PATCH v2 10/19] kconfig: qconf: remove unused argument from ConfigView::updateList() Masahiro Yamada
2020-08-07  9:19 ` [PATCH v2 11/19] kconfig: qconf: remove 'parent' from ConfigList::updateMenuList() Masahiro Yamada
2020-08-07  9:19 ` [PATCH v2 12/19] kconfig: qconf: drop more localization code Masahiro Yamada
2020-08-07  9:19 ` [PATCH v2 13/19] kconfig: qconf: remove ConfigItem::pixmap/setPixmap Masahiro Yamada
2020-08-07  9:19 ` [PATCH v2 14/19] kconfig: qconf: remove ConfigList::addColumn/removeColumn Masahiro Yamada
2020-08-07  9:19 ` [PATCH v2 15/19] kconfig: qconf: remove ConfigItem::text/setText Masahiro Yamada
2020-08-07  9:19 ` [PATCH v2 16/19] kconfig: qconf: remove unused voidPix, menuInvPix Masahiro Yamada
2020-08-07  9:19 ` [PATCH v2 17/19] kconfig: qconf: refactor icon setups Masahiro Yamada
2020-08-07  9:19 ` Masahiro Yamada [this message]
2020-08-07  9:19 ` [PATCH v2 19/19] kconfig: qconf: move setOptionMode() to ConfigList from ConfigView 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=20200807091909.2985787-18-masahiroy@kernel.org \
    --to=masahiroy@kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /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).