Add a quit_all key to the default keymap #4921

Merged
merged 2 commits into from Dec 11, 2015
@@ -95,7 +95,8 @@ Zoom-to-rect **o**
Save **ctrl** + **s**
Toggle fullscreen **ctrl** + **f**
Close plot **ctrl** + **w**
-Constrain pan/zoom to x axis hold **x** when panning/zooming with mouse
+Close all plots **shift** + **w**
+Constrain pan/zoom to x axis hold **x** when panning/zooming with mouse
Constrain pan/zoom to y axis hold **y** when panning/zooming with mouse
Preserve aspect ratio hold **CONTROL** when panning/zooming with mouse
Toggle grid **g** when mouse is over an axes
@@ -325,6 +325,16 @@ def trigger(self, sender, event, data=None):
Gcf.destroy_fig(self.figure)
+class ToolQuitAll(ToolBase):
+ """Tool to call the figure manager destroy method"""
+
+ description = 'Quit all figures'
+ default_keymap = rcParams['keymap.quit_all']
+
+ def trigger(self, sender, event, data=None):
+ Gcf.destroy_all()
+
+
class ToolEnableAllNavigation(ToolBase):
"""Tool to enable all axes for toolmanager interaction"""
@@ -860,6 +870,7 @@ def _mouse_move(self, event):
'grid': ToolGrid,
'fullscreen': ToolFullScreen,
'quit': ToolQuit,
+ 'quit_all': ToolQuitAll,
'allnav': ToolEnableAllNavigation,
'nav': ToolEnableNavigation,
'xscale': ToolXScale,
@@ -1158,7 +1158,8 @@ def validate_cycler(s):
'keymap.pan': [['p'], validate_stringlist],
'keymap.zoom': [['o'], validate_stringlist],
'keymap.save': [['s', 'ctrl+s'], validate_stringlist],
- 'keymap.quit': [['ctrl+w', 'cmd+w'], validate_stringlist],
+ 'keymap.quit': [['ctrl+w', 'cmd+w', 'q'], validate_stringlist],
+ 'keymap.quit_all': [['W', 'cmd+W', 'Q'], validate_stringlist],
@thisch

thisch Nov 25, 2015

Contributor

Is it ok to leave this change as it is?

@fariza

fariza Nov 25, 2015

Member

I don't see mayor problem with that @tacaswell what do you think?

@pelson

pelson Jan 14, 2016

Member

I don't think we need 3 keys for the same command. How about removing the "W" and "Q" and just having cmd+W?

'keymap.grid': [['g'], validate_stringlist],
'keymap.yscale': [['l'], validate_stringlist],
'keymap.xscale': [['k', 'L'], validate_stringlist],