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)