From fc59448ec74aef5d590386e858bb4f0393423ab6 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Wed, 18 Jan 2012 16:16:07 +0000 Subject: save changes to metadata to Journal --- diff --git a/PortfolioActivity.py b/PortfolioActivity.py index bc16dea..3ffaf27 100644 --- a/PortfolioActivity.py +++ b/PortfolioActivity.py @@ -139,7 +139,7 @@ class PortfolioActivity(activity.Activity): self._height = gtk.gdk.screen_height() self._scale = gtk.gdk.screen_height() / 900. - if self._hw[0:2] == 'xo': + if not HAVE_TOOLBOX and self._hw[0:2] == 'xo': titlef = 18 descriptionf = 12 else: @@ -347,6 +347,12 @@ class PortfolioActivity(activity.Activity): self._save_pdf = button_factory( 'save-as-pdf', activity_button_toolbar, self._save_as_pdf_cb, tooltip=_('Save as PDF')) + + separator_factory(activity_button_toolbar) + + self._save_to_journal = button_factory( + 'save-descriptions', activity_button_toolbar, + self._save_descriptions_cb, tooltip=_('Save descriptions')) else: separator_factory(self.toolbar) @@ -357,6 +363,12 @@ class PortfolioActivity(activity.Activity): 'save-as-pdf', self.toolbar, self._save_as_pdf_cb, tooltip=_('Save as PDF')) + separator_factory(self.toolbar) + + self._save_to_journal = button_factory( + 'save-descriptions', self.toolbar, + self._save_descriptions_cb, tooltip=_('Save descriptions')) + if HAVE_TOOLBOX: separator_factory(toolbox.toolbar, True, False) @@ -905,3 +917,20 @@ class PortfolioActivity(activity.Activity): obj_id in dsobject.metadata['tags']: return dsobject return None + + def _save_descriptions_cb(self, button): + ''' Find the object in the datastore and write out the changes + to the decriptions. ''' + for i in self.dsobjects: + jobject = datastore.get(i.object_id) + jobject.metadata['description'] = i.metadata['description'] + jobject.metadata['keep'] = i.metadata['keep'] + datastore.write(jobject, update_mtime=False, + reply_handler=self.datastore_write_cb, + error_handler=self.datastore_write_error_cb) + + def datastore_write_cb(self): + pass + + def datastore_write_error_cb(self, error): + _logger.error('datastore_write_error_cb: %r' % error) diff --git a/icons/save-descriptions.svg b/icons/save-descriptions.svg new file mode 100644 index 0000000..8f1e1a9 --- /dev/null +++ b/icons/save-descriptions.svg @@ -0,0 +1,128 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- cgit v0.9.1