Commit f0a40332 authored by Masahiro Yamada's avatar Masahiro Yamada Committed by Greg Kroah-Hartman

kconfig: qconf: do not limit the pop-up menu to the first row

[ Upstream commit fa8de0a3 ]

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: default avatarMasahiro Yamada <masahiroy@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent e9701d5d
...@@ -869,40 +869,40 @@ void ConfigList::focusInEvent(QFocusEvent *e) ...@@ -869,40 +869,40 @@ void ConfigList::focusInEvent(QFocusEvent *e)
void ConfigList::contextMenuEvent(QContextMenuEvent *e) void ConfigList::contextMenuEvent(QContextMenuEvent *e)
{ {
if (e->y() <= header()->geometry().bottom()) { if (!headerPopup) {
if (!headerPopup) { QAction *action;
QAction *action;
headerPopup = new QMenu(this);
headerPopup = new QMenu(this); action = new QAction("Show Name", this);
action = new QAction("Show Name", this); action->setCheckable(true);
action->setCheckable(true); connect(action, SIGNAL(toggled(bool)),
connect(action, SIGNAL(toggled(bool)), parent(), SLOT(setShowName(bool)));
parent(), SLOT(setShowName(bool))); connect(parent(), SIGNAL(showNameChanged(bool)),
connect(parent(), SIGNAL(showNameChanged(bool)), action, SLOT(setOn(bool)));
action, SLOT(setOn(bool))); action->setChecked(showName);
action->setChecked(showName); headerPopup->addAction(action);
headerPopup->addAction(action);
action = new QAction("Show Range", this); action = new QAction("Show Range", this);
action->setCheckable(true); action->setCheckable(true);
connect(action, SIGNAL(toggled(bool)), connect(action, SIGNAL(toggled(bool)),
parent(), SLOT(setShowRange(bool))); parent(), SLOT(setShowRange(bool)));
connect(parent(), SIGNAL(showRangeChanged(bool)), connect(parent(), SIGNAL(showRangeChanged(bool)),
action, SLOT(setOn(bool))); action, SLOT(setOn(bool)));
action->setChecked(showRange); action->setChecked(showRange);
headerPopup->addAction(action); headerPopup->addAction(action);
action = new QAction("Show Data", this);
action->setCheckable(true); action = new QAction("Show Data", this);
connect(action, SIGNAL(toggled(bool)), action->setCheckable(true);
parent(), SLOT(setShowData(bool))); connect(action, SIGNAL(toggled(bool)),
connect(parent(), SIGNAL(showDataChanged(bool)), parent(), SLOT(setShowData(bool)));
action, SLOT(setOn(bool))); connect(parent(), SIGNAL(showDataChanged(bool)),
action->setChecked(showData); action, SLOT(setOn(bool)));
headerPopup->addAction(action); action->setChecked(showData);
} headerPopup->addAction(action);
headerPopup->exec(e->globalPos()); }
e->accept();
} else headerPopup->exec(e->globalPos());
e->ignore(); e->accept();
} }
ConfigView*ConfigView::viewList; ConfigView*ConfigView::viewList;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment