RGA(Open ERP) has proposed merging 
lp:~openerp-dev/openobject-client/save_as_widget_image into 
lp:~openerp-dev/openobject-client/trunk-dev-client.

Requested reviews:
  OpenERP sa GTK client R&D (openerp-dev-gtk)


task_id:769:
For widget="image" set default file name when Save As Dialogbox open
-- 
https://code.launchpad.net/~openerp-dev/openobject-client/save_as_widget_image/+merge/25505
Your team OpenERP sa GTK client R&D is requested to review the proposed merge 
of lp:~openerp-dev/openobject-client/save_as_widget_image into 
lp:~openerp-dev/openobject-client/trunk-dev-client.
=== modified file 'bin/widget/view/form_gtk/image.py'
--- bin/widget/view/form_gtk/image.py	2010-05-12 06:48:31 +0000
+++ bin/widget/view/form_gtk/image.py	2010-05-18 12:37:27 +0000
@@ -30,6 +30,7 @@
 import interface
 import tempfile
 import urllib
+from datetime import datetime
 
 NOIMAGE = file(common.terp_path_pixmaps("noimage.png"), 'rb').read()
 
@@ -76,6 +77,8 @@
         self.but_save_as.set_relief(gtk.RELIEF_NONE)
         self.but_save_as.connect('clicked', self.sig_save_as)
         self.but_save_as.set_tooltip_text(_('Save As'))
+        self.has_filename = attrs.get('filename')
+        self.data_field_name = attrs.get('name')
         self.hbox.pack_start(self.but_save_as, expand=False, fill=False)
 
         self.but_remove = gtk.Button()
@@ -111,11 +114,16 @@
             self._value = encodestring(file(filename, 'rb').read())
             self.update_img()
 
+    def _get_filename(self):
+        return self._view.model.value.get(self.has_filename) or self._view.model.value.get('name', self.data_field_name) or str(datetime.now())
+
     def sig_save_as(self, widget):
-        filename = common.file_selection(_('Save As...'), parent=self._window,
+        filename = common.file_selection(_('Save As...'), filename=self._get_filename(), parent=self._window,
                 action=gtk.FILE_CHOOSER_ACTION_SAVE)
         if filename:
-            file(filename, 'wb').write(decodestring(self._value))
+            fp = file(filename,'wb+')
+            fp.write(decodestring(self._value))
+            fp.close()
 
     def sig_remove(self, widget):
         self._value = ''

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to