8000 Use symbolic icons for buttons in GTK toolbar. · matplotlib/matplotlib@82877b7 · GitHub
[go: up one dir, main page]

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 82877b7

Browse files
committed
Use symbolic icons for buttons in GTK toolbar.
Unfortunately, the only way to trigger this is to rename the files, so add some symlinks to the existing SVG. Switching from PNG to SVG should be scalable as well.
1 parent 793c6b0 commit 82877b7

File tree

9 files changed

+18
-7
lines changed

9 files changed

+18
-7
lines changed

lib/matplotlib/backends/backend_gtk3.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
# auto-backend selection logic correctly skips.
2828
raise ImportError from e
2929

30-
from gi.repository import GLib, GObject, Gtk, Gdk
30+
from gi.repository import Gio, GLib, GObject, Gtk, Gdk
3131

3232

3333
_log = logging.getLogger(__name__)
@@ -464,9 +464,11 @@ def __init__(self, canvas, window):
464464
if text is None:
465465
self.insert(Gtk.SeparatorToolItem(), -1)
466466
continue
467-
image = Gtk.Image()
468-
image.set_from_file(
469-
str(cbook._get_data_path('images', image_file + '.png')))
467+
image = Gtk.Image.new_from_gicon(
468+
Gio.Icon.new_for_string(
469+
str(cbook._get_data_path('images',
470+
f'{image_file}-symbolic.svg'))),
471+
Gtk.IconSize.LARGE_TOOLBAR)
470472
self._gtk_ids[text] = tbutton = (
471473
Gtk.ToggleToolButton() if callback in ['zoom', 'pan'] else
472474
Gtk.ToolButton())
@@ -623,7 +625,7 @@ def set_history_buttons(self):
623625

624626

625627
class ToolbarGTK3(ToolContainerBase, Gtk.Box):
626-
_icon_extension = '.png'
628+
_icon_extension = '-symbolic.svg'
627629

628630
def __init__(self, toolmanager):
629631
ToolContainerBase.__init__(self, toolmanager)
@@ -644,8 +646,9 @@ def add_toolitem(self, name, group, position, image_file, description,
644646
tbutton.set_label(name)
645647

646648
if image_file is not None:
647-
image = Gtk.Image()
648-
image.set_from_file(image_file)
649+
image = Gtk.Image.new_from_gicon(
650+
Gio.Icon.new_for_string(image_file),
651+
Gtk.IconSize.LARGE_TOOLBAR)
649652
tbutton.set_icon_widget(image)
650653

651654
if position is None:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
back.svg
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
filesave.svg
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
forward.svg
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
help.svg
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
home.svg
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
move.svg
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
subplots.svg
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
< 39EE /td>
1+
zoom_to_rect.svg

0 commit comments

Comments
 (0)
0