File indexing completed on 2024-03-24 17:07:17

0001 /*
0002 *  Copyright 2019 Michail Vourlakos <mvourlakos@gmail.com>
0003 *
0004 *  This file is part of Latte-Dock
0005 *
0006 *  Latte-Dock is free software; you can redistribute it and/or
0007 *  modify it under the terms of the GNU General Public License as
0008 *  published by the Free Software Foundation; either version 2 of
0009 *  the License, or (at your option) any later version.
0010 *
0011 *  Latte-Dock is distributed in the hope that it will be useful,
0012 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
0013 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0014 *  GNU General Public License for more details.
0015 *
0016 *  You should have received a copy of the GNU General Public License
0017 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
0018 */
0019 
0020 #include "persistentmenu.h"
0021 
0022 
0023 PersistentMenu::PersistentMenu(QWidget *parent)
0024     : QMenu (parent),
0025       m_blockHide(false)
0026 {
0027 }
0028 
0029 void PersistentMenu::setVisible (bool visible)
0030 {
0031   if (m_blockHide) {
0032       m_blockHide = false;
0033       return;
0034   }
0035 
0036   QMenu::setVisible (visible);
0037 }
0038 
0039 void PersistentMenu::mouseReleaseEvent (QMouseEvent *e)
0040 {
0041   const QAction *action = actionAt (e->pos ());
0042   if (action) {
0043       m_blockHide = true;
0044   }
0045 
0046   QMenu::mouseReleaseEvent (e);
0047 }