Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/resources.py
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@gmail.com>2012-03-17 04:34:39 (GMT)
committer Gonzalo Odiard <godiard@gmail.com>2012-03-17 04:34:39 (GMT)
commit204dea30c4f6607168be302bd481b04b640f09d0 (patch)
treecfde073673c82b096cefa86a79ba7be25eb79531 /resources.py
parentf375c2d319a8c8cc05b389100280249f1cb53ed9 (diff)
Add a unique id_resource property to the resources.
Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
Diffstat (limited to 'resources.py')
-rw-r--r--resources.py27
1 files changed, 16 insertions, 11 deletions
diff --git a/resources.py b/resources.py
index 48626e7..43b9f74 100644
--- a/resources.py
+++ b/resources.py
@@ -42,7 +42,10 @@ class CollectResourcesWin(gtk.HBox):
self.resource_listview.set_size_request(width, -1)
self.resource_listview.connect('cursor-changed', self.select_resource)
- self.treemodel = gtk.ListStore(gobject.TYPE_STRING)
+
+ # title and id_resource
+ self.treemodel = gtk.ListStore(gobject.TYPE_STRING,
+ gobject.TYPE_STRING)
self.resource_listview.set_model(self.treemodel)
renderer = gtk.CellRendererText()
renderer.set_property('wrap-mode', gtk.WRAP_WORD)
@@ -96,7 +99,7 @@ class CollectResourcesWin(gtk.HBox):
self._load_treemodel()
self.show_all()
self._modified_data = False
- self._selected_key = None
+ self._selected_key = self.model.get_new_resource_id()
self._image_resource_path = None
@@ -136,22 +139,21 @@ class CollectResourcesWin(gtk.HBox):
self._modified_data = True
def __information_changed_cb(self, entry):
- logging.debug('Data modified')
self._modified_data = True
def _load_treemodel(self):
logging.error('loading treemodel')
for resource in self.model.data['resources']:
logging.error('adding resource %s', resource)
- self.treemodel.append([resource['title']])
+ self.treemodel.append([resource['title'], resource['id_resource']])
def select_resource(self, treeview):
treestore, coldex = treeview.get_selection().get_selected()
- logging.debug('selected resource %s', treestore.get_value(coldex, 0))
+ logging.debug('selected resource %s', treestore.get_value(coldex, 1))
if self._modified_data:
# update data
self._update_model(self._selected_key)
- self._selected_key = treestore.get_value(coldex, 0)
+ self._selected_key = treestore.get_value(coldex, 1)
self._display_model(self._selected_key)
def _update_model(self, key):
@@ -166,10 +168,11 @@ class CollectResourcesWin(gtk.HBox):
resource = {'title': self.title_entry.get_text(),
'file_image': self._image_resource_path,
- 'file_text': self._image_resource_path + '.html'}
+ 'file_text': self._image_resource_path + '.html',
+ 'id_resource': key}
if new_entry:
self.model.data['resources'].append(resource)
- self.treemodel.append([self.title_entry.get_text()])
+ self.treemodel.append([self.title_entry.get_text(), key])
self._modified_data = False
def _get_html(self):
@@ -201,8 +204,9 @@ class CollectResourcesWin(gtk.HBox):
def _get_resource(self, key):
for resource in self.model.data['resources']:
- if resource['title'] == key:
+ if resource['id_resource'] == int(key):
return resource
+ logging.error('ERROR: resource %s not found', key)
return None
def del_resource(self):
@@ -224,9 +228,10 @@ class CollectResourcesWin(gtk.HBox):
# update data
self._update_model(self._selected_key)
- self._selected_key = None
+ self._selected_key = self.model.get_new_resource_id()
resource = {'title': '',
'file_image': '',
- 'file_text': ''}
+ 'file_text': '',
+ 'id_resource': self._selected_key}
self._display_resource(resource)
self.emit('resource_updated')