<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Sat Aug 9 17:45:41 2008 -->
+<!--Generated with glade3 3.4.5 on Sun Aug 10 12:43:33 2008 -->
<glade-interface>
<widget class="GtkWindow" id="main-window">
<property name="title" translatable="yes">Gzv</property>
<property name="label" translatable="yes">gtk-save</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
- </widget>
- </child>
- <child>
- <widget class="GtkImageMenuItem" id="imagemenuitem4">
- <property name="visible">True</property>
- <property name="label" translatable="yes">gtk-save-as</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
+ <signal name="activate" handler="save_project"/>
</widget>
</child>
<child>
<property name="expand">False</property>
</packing>
</child>
+ <child>
+ <widget class="GtkToolButton" id="toolbutton5">
+ <property name="visible">True</property>
+ <property name="stock_id">gtk-save</property>
+ <signal name="clicked" handler="save_project"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ </packing>
+ </child>
<child>
<widget class="GtkSeparatorToolItem" id="toolbutton3">
<property name="visible">True</property>
self.focus_points_file = ''
def save_to_file(self, path):
- bn = os.path.basename(path)
- name = os.path.splitext(bn)[0]
+ if not self.focus_points_file:
+ bn = os.path.basename(path)
+ name = os.path.splitext(bn)[0]
+ self.focus_points_file = \
+ os.path.join(os.path.dirname(path), name + '_fpf')
cp = ConfigParser()
+ cp.add_section('Project')
cp.set('Project', 'image', self.image)
cp.set('Project', 'width', self.width)
cp.set('Project', 'height', self.height)
self.load_project(Project.parse_file(proj_file))
fc.destroy()
+ def save_project(self, *args):
+ fc = gtk.FileChooserDialog(_('Save project'), self.window,
+ action=gtk.FILE_CHOOSER_ACTION_SAVE,
+ buttons=(gtk.STOCK_CANCEL,
+ gtk.RESPONSE_CANCEL,
+ gtk.STOCK_SAVE,
+ gtk.RESPONSE_OK))
+ if fc.run() == gtk.RESPONSE_OK:
+ self.project.save_to_file(fc.get_filename())
+ self.balls.save_to_file(self.project.focus_points_file)
+ fc.destroy()
+
+
def load_project(self, project):
self.project = project
self.balls = self.load_balls_from_file(project.focus_points_file)