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

0001 # ============================================================
0002 # MiddleClickLoader - plugin for Falkon
0003 # Copyright (C) 2018 Juraj Oravec <sgd.orava@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 
0019 import Falkon
0020 from PySide6 import QtCore
0021 from middleclickloader.mcl_handler import MCL_Handler
0022 
0023 
0024 class MCL_Plugin(Falkon.PluginInterface, QtCore.QObject):
0025     handler = None
0026 
0027     def init(self, state, settingsPath):
0028         plugins = Falkon.MainApplication.instance().plugins()
0029         plugins.registerAppEventHandler(Falkon.PluginProxy.MousePressHandler, self)
0030 
0031         self.handler = MCL_Handler(settingsPath)
0032 
0033     def unload(self):
0034         del self.handler
0035         self.handler = None
0036 
0037     def testPlugin(self):
0038         return True
0039 
0040     def mousePress(self, type, obj, event):
0041         if type == Falkon.Qz.ON_WebView:
0042             return self.handler.mousePress(obj, event)
0043 
0044         return False
0045 
0046     def showSettings(self, parent):
0047         pass
0048         self.handler.showSettings(parent)
0049 
0050 
0051 Falkon.registerPlugin(MCL_Plugin())