diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 829331930122..871cea620fad 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -27,7 +27,7 @@ # auto-backend selection logic correctly skips. raise ImportError from e -from gi.repository import GLib, GObject, Gtk, Gdk +from gi.repository import Gio, GLib, GObject, Gtk, Gdk _log = logging.getLogger(__name__) @@ -464,9 +464,11 @@ def __init__(self, canvas, window): if text is None: self.insert(Gtk.SeparatorToolItem(), -1) continue - image = Gtk.Image() - image.set_from_file( - str(cbook._get_data_path('images', image_file + '.png'))) + image = Gtk.Image.new_from_gicon( + Gio.Icon.new_for_string( + str(cbook._get_data_path('images', + f'{image_file}-symbolic.svg'))), + Gtk.IconSize.LARGE_TOOLBAR) self._gtk_ids[text] = tbutton = ( Gtk.ToggleToolButton() if callback in ['zoom', 'pan'] else Gtk.ToolButton()) @@ -623,7 +625,7 @@ def set_history_buttons(self): class ToolbarGTK3(ToolContainerBase, Gtk.Box): - _icon_extension = '.png' + _icon_extension = '-symbolic.svg' def __init__(self, toolmanager): ToolContainerBase.__init__(self, toolmanager) @@ -644,8 +646,9 @@ def add_toolitem(self, name, group, position, image_file, description, tbutton.set_label(name) if image_file is not None: - image = Gtk.Image() - image.set_from_file(image_file) + image = Gtk.Image.new_from_gicon( + Gio.Icon.new_for_string(image_file), + Gtk.IconSize.LARGE_TOOLBAR) tbutton.set_icon_widget(image) if position is None: diff --git a/lib/matplotlib/mpl-data/images/back-symbolic.svg b/lib/matplotlib/mpl-data/images/back-symbolic.svg new file mode 120000 index 000000000000..22b78b6a8d63 --- /dev/null +++ b/lib/matplotlib/mpl-data/images/back-symbolic.svg @@ -0,0 +1 @@ +back.svg \ No newline at end of file diff --git a/lib/matplotlib/mpl-data/images/filesave-symbolic.svg b/lib/matplotlib/mpl-data/images/filesave-symbolic.svg new file mode 120000 index 000000000000..2bad4deb6655 --- /dev/null +++ b/lib/matplotlib/mpl-data/images/filesave-symbolic.svg @@ -0,0 +1 @@ +filesave.svg \ No newline at end of file diff --git a/lib/matplotlib/mpl-data/images/forward-symbolic.svg b/lib/matplotlib/mpl-data/images/forward-symbolic.svg new file mode 120000 index 000000000000..16bea25c1a22 --- /dev/null +++ b/lib/matplotlib/mpl-data/images/forward-symbolic.svg @@ -0,0 +1 @@ +forward.svg \ No newline at end of file diff --git a/lib/matplotlib/mpl-data/images/help-symbolic.svg b/lib/matplotlib/mpl-data/images/help-symbolic.svg new file mode 120000 index 000000000000..74f27a8db5a5 --- /dev/null +++ b/lib/matplotlib/mpl-data/images/help-symbolic.svg @@ -0,0 +1 @@ +help.svg \ No newline at end of file diff --git a/lib/matplotlib/mpl-data/images/home-symbolic.svg b/lib/matplotlib/mpl-data/images/home-symbolic.svg new file mode 120000 index 000000000000..bab8cc61783f --- /dev/null +++ b/lib/matplotlib/mpl-data/images/home-symbolic.svg @@ -0,0 +1 @@ +home.svg \ No newline at end of file diff --git a/lib/matplotlib/mpl-data/images/move-symbolic.svg b/lib/matplotlib/mpl-data/images/move-symbolic.svg new file mode 120000 index 000000000000..37362fe44247 --- /dev/null +++ b/lib/matplotlib/mpl-data/images/move-symbolic.svg @@ -0,0 +1 @@ +move.svg \ No newline at end of file diff --git a/lib/matplotlib/mpl-data/images/subplots-symbolic.svg b/lib/matplotlib/mpl-data/images/subplots-symbolic.svg new file mode 120000 index 000000000000..d5b44c022b3b --- /dev/null +++ b/lib/matplotlib/mpl-data/images/subplots-symbolic.svg @@ -0,0 +1 @@ +subplots.svg \ No newline at end of file diff --git a/lib/matplotlib/mpl-data/images/zoom_to_rect-symbolic.svg b/lib/matplotlib/mpl-data/images/zoom_to_rect-symbolic.svg new file mode 120000 index 000000000000..817c9f054330 --- /dev/null +++ b/lib/matplotlib/mpl-data/images/zoom_to_rect-symbolic.svg @@ -0,0 +1 @@ +zoom_to_rect.svg \ No newline at end of file