lkml.org 
[lkml]   [2020]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.8 118/148] kconfig: qconf: do not limit the pop-up menu to the first row
    Date
    From: Masahiro Yamada <masahiroy@kernel.org>

    [ Upstream commit fa8de0a3bf3c02e6f00b7746e7e934db522cdda9 ]

    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>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    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 23d1cb01a41ae..be67e74237d22 100644
    --- a/scripts/kconfig/qconf.cc
    +++ b/scripts/kconfig/qconf.cc
    @@ -864,40 +864,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


    \
     
     \ /
      Last update: 2020-08-24 11:53    [W:3.698 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site