File indexing completed on 2024-05-12 04:58:40

0001 # ============================================================
0002 # HelloPython plugin for Falkon
0003 # Copyright (C) 2018 David Rosca <nowrep@gmail.com>
0004 #
0005 # This program is free software: you can redistribute it and/or modify
0006 # it under the terms of the GNU General Public License as published by
0007 # the Free Software Foundation, either version 3 of the License, or
0008 # (at your option) any later version.
0009 #
0010 # This program is distributed in the hope that it will be useful,
0011 # but WITHOUT ANY WARRANTY; without even the implied warranty of
0012 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0013 # GNU General Public License for more details.
0014 #
0015 # You should have received a copy of the GNU General Public License
0016 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
0017 # ============================================================
0018 import Falkon
0019 from PySide6 import QtGui, QtWidgets
0020 
0021 class HelloButton(Falkon.AbstractButtonInterface):
0022     def __init__(self):
0023         super().__init__()
0024         self.setIcon(QtGui.QIcon(":icons/other/about.svg"))
0025         self.setTitle("HelloPython")
0026         self.setToolTip("Hello Python")
0027 
0028         self.clicked.connect(self.onClicked)
0029 
0030     def id(self):
0031         return "hellopython-button"
0032 
0033     def name(self):
0034         return "HelloPython button"
0035 
0036     def onClicked(self, controller):
0037         self.menu = QtWidgets.QMenu()
0038         self.menu.addAction("Hello Python", lambda: print("clicked"))
0039         self.menu.popup(controller.callPopupPosition(self.menu.sizeHint()))
0040         self.menu.aboutToHide.connect(controller.callPopupClosed)