Add option to bitmap_viewer to save all snapshots at once.

Change-Id: Ifded1063faf5f7fae27b1b3ea57ecf716407fa91

R=rspangler@chromium.org
BUG=chromium-os:13037
TEST=none

Review URL: http://codereview.chromium.org/6873120
diff --git a/scripts/newbitmaps/lib/pixcontrol.py b/scripts/newbitmaps/lib/pixcontrol.py
index 5d806df..d24e4ea 100755
--- a/scripts/newbitmaps/lib/pixcontrol.py
+++ b/scripts/newbitmaps/lib/pixcontrol.py
@@ -16,6 +16,7 @@
     menuFile.AppendSeparator()
     m_reload = menuFile.Append(wx.ID_ANY, "Reload\tCtrl+R")
     m_snapshot = menuFile.Append(wx.ID_ANY, "Save snapshot")
+    m_snapshotall = menuFile.Append(wx.ID_ANY, "Save snapshot of all screens")
     m_quit = menuFile.Append(wx.ID_ANY, "Quit\tCtrl+Q")
     menuBar = wx.MenuBar()
     menuBar.Append(menuFile, "&File")
@@ -24,6 +25,7 @@
     self.Bind(wx.EVT_MENU, self.OnAbout, m_about)
     self.Bind(wx.EVT_MENU, self.OnReload, m_reload)
     self.Bind(wx.EVT_MENU, self.OnSaveit, m_snapshot)
+    self.Bind(wx.EVT_MENU, self.OnSaveAll, m_snapshotall)
     self.Bind(wx.EVT_MENU, self.OnQuit, m_quit)
     self.Bind(wx.EVT_CLOSE, self.OnQuit)
 
@@ -106,3 +108,14 @@
       # FIXME: The model should know when to do this itself, right?
       self.bmpblock.Redisplay()
       self.do_update = False
+
+  def OnSaveAll(self, event=None):
+    """Save snapshots of all screens"""
+    start = self.bmpblock.current_screen
+    thinglist = self.screenlist.GetItems()
+    for thing in thinglist:
+      self.bmpblock.current_screen = thing
+      self.bmpblock.Redisplay()
+      self.bmpblock.Saveit()
+    self.bmpblock.current_screen = start
+    self.do_update = True