parent
3bd5843fc9
commit
c2d69774d5
|
@ -14,10 +14,12 @@
|
||||||
|
|
||||||
import nbxmpp
|
import nbxmpp
|
||||||
|
|
||||||
|
from gi.repository import Gdk
|
||||||
from gi.repository import Gtk
|
from gi.repository import Gtk
|
||||||
from gi.repository import GObject
|
from gi.repository import GObject
|
||||||
|
|
||||||
from gajim.common import app
|
from gajim.common import app
|
||||||
|
from gajim.common.helpers import launch_browser_mailer
|
||||||
from gajim.common.i18n import _
|
from gajim.common.i18n import _
|
||||||
from gajim.common.const import DEVS_CURRENT
|
from gajim.common.const import DEVS_CURRENT
|
||||||
from gajim.common.const import DEVS_PAST
|
from gajim.common.const import DEVS_PAST
|
||||||
|
@ -65,3 +67,25 @@ class AboutDialog(Gtk.AboutDialog):
|
||||||
'response', lambda dialog, *args: Gtk.AboutDialog.do_close(dialog))
|
'response', lambda dialog, *args: Gtk.AboutDialog.do_close(dialog))
|
||||||
|
|
||||||
self.show()
|
self.show()
|
||||||
|
self.connect('activate-link', self._on_activate_link)
|
||||||
|
# See https://gitlab.gnome.org/GNOME/gtk/issues/1561
|
||||||
|
self._connect_link_handler(self)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _on_activate_link(_label, uri):
|
||||||
|
# We have to use this, because the default GTK handler
|
||||||
|
# is not cross-platform compatible
|
||||||
|
launch_browser_mailer(None, uri)
|
||||||
|
return Gdk.EVENT_STOP
|
||||||
|
|
||||||
|
def _connect_link_handler(self, parent):
|
||||||
|
def _find_child(parent_):
|
||||||
|
if not hasattr(parent_, 'get_children'):
|
||||||
|
return
|
||||||
|
|
||||||
|
for child in parent_.get_children():
|
||||||
|
if isinstance(child, Gtk.Label):
|
||||||
|
if 'href' in child.get_label():
|
||||||
|
child.connect('activate-link', self._on_activate_link)
|
||||||
|
_find_child(child)
|
||||||
|
_find_child(parent)
|
||||||
|
|
Loading…
Reference in New Issue