comparison mamba/habitats/editor.py @ 277:82aa91664e27

Warn on save failures
author Neil Muller <drnlmuller@gmail.com>
date Thu, 15 Sep 2011 18:01:43 +0200
parents 9c57025781e7
children f10d06fc64b2
comparison
equal deleted inserted replaced
276:9c57025781e7 277:82aa91664e27
146 self.edit_widget.set_tool(new_tool) 146 self.edit_widget.set_tool(new_tool)
147 self.current_tool.text = 'Tool: %s' % text 147 self.current_tool.text = 'Tool: %s' % text
148 self.current_tool.prepare() 148 self.current_tool.prepare()
149 149
150 def save(self, ev, widget): 150 def save(self, ev, widget):
151 if self.level.level_name in RESERVED_NAMES: 151 messagebox = None
152 print "Can't save over reserved name" 152 if not self.level.level_name:
153 return 153 messagebox = MessageBox((300, 300), 'Please enter a name')
154 if not self.level: 154 elif self.level.level_name in RESERVED_NAMES:
155 print "Need a level name" 155 messagebox = MessageBox((300, 300), 'Reserved level name')
156 if messagebox:
157 self.container.add(messagebox)
158 messagebox.grab_focus()
156 return 159 return
157 self.level.save_level() 160 self.level.save_level()
158 161
159 def new(self, ev, widget): 162 def new(self, ev, widget):
160 self.load_level(ev, widget, 'blank') 163 self.load_level(ev, widget, 'blank')
232 messagebox = None 235 messagebox = None
233 if new_name == self.level.level_name: 236 if new_name == self.level.level_name:
234 return True # No-op change 237 return True # No-op change
235 if not new_name: 238 if not new_name:
236 messagebox = MessageBox((300, 300), 'Please enter a name') 239 messagebox = MessageBox((300, 300), 'Please enter a name')
237 if check_level_exists(new_name): 240 if new_name in RESERVED_NAMES:
241 # This case is caught by the existance check, but the
242 # importance of the reserved names means we use a different
243 # message
244 messagebox = MessageBox((300, 300), 'Reserved level name')
245 elif check_level_exists(new_name):
238 messagebox = MessageBox((300, 300), 'Name already in use') 246 messagebox = MessageBox((300, 300), 'Name already in use')
239 if messagebox: 247 if messagebox:
240 self.container.add(messagebox) 248 self.container.add(messagebox)
241 messagebox.grab_focus() 249 messagebox.grab_focus()
242 return False 250 return False