Source code for svir.ui.tool_button_with_help_link
"""
button that when is clicked with whatsThis mode on opens an URL
Contact : marco@opengis.ch
.. note:: This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
"""
from __future__ import print_function
from svir.utilities.shared import DEBUG
__author__ = 'marco@opengis.ch'
__revision__ = '$Format:%H$'
__date__ = '26/11/2015'
from qgis.PyQt.QtCore import QUrl, QEvent
from qgis.PyQt.QtWidgets import QToolButton, QWhatsThis
from qgis.PyQt.QtGui import QDesktopServices
[docs]class QToolButtonWithHelpLink(QToolButton):
def __init__(self, action, help_url):
super(QToolButtonWithHelpLink, self).__init__()
self.setDefaultAction(action)
self.help_url = help_url
self.setWhatsThis(
'<a href="%s">Click for documentation</a>' % help_url)
[docs] def event(self, event):
if event.type() == QEvent.WhatsThis:
self.open_doc()
return True
return super(QToolButtonWithHelpLink, self).event(event)
[docs] def open_doc(self):
if DEBUG:
print('Opening : %s' % self.help_url)
QDesktopServices.openUrl(QUrl.fromLocalFile(self.help_url))
QWhatsThis.leaveWhatsThisMode()