More work on progress monitor.

svn: r8142
This commit is contained in:
Richard Taylor
2007-02-17 19:59:21 +00:00
parent e197638418
commit 625fbee200
11 changed files with 144 additions and 66 deletions

View File

@@ -65,6 +65,7 @@ import DateHandler
import ToolTips
import GrampsLocale
import Config
from GrampsDb import LongOpStatus
from Filters import SearchFilter, ExactSearchFilter
from Lru import LRU
@@ -321,10 +322,11 @@ class PeopleModel(gtk.GenericTreeModel):
self.mapper.clear_sort_names()
cursor = self.db.get_person_cursor()
node = cursor.first()
#cursor = self.db.get_person_cursor()
#node = cursor.first()
while node:
#while node:
for node in self.db.get_person_cursor_iter():
handle, d = node
if not (handle in skip or (dfilter and not dfilter.match(handle))):
name_data = d[PeopleModel._NAME_COL]
@@ -333,8 +335,8 @@ class PeopleModel(gtk.GenericTreeModel):
sorted_name = nsn(name_data)
self.mapper.assign_sort_name(handle, sorted_name, group_name)
node = cursor.next()
cursor.close()
#node = cursor.next()
#cursor.close()
def _build_filter_sub(self,dfilter, skip):
@@ -348,7 +350,13 @@ class PeopleModel(gtk.GenericTreeModel):
self.mapper.clear_sort_names()
status = LongOpStatus(msg="Loading People",
total_steps=len(handle_list),
interval=len(handle_list)/10)
self.db.emit('long-op-start', (status,))
for handle in handle_list:
status.heartbeat()
d = self.db.get_raw_person_data(handle)
if not (handle in skip or (dfilter and not dfilter.match(handle))):
name_data = d[PeopleModel._NAME_COL]
@@ -358,6 +366,8 @@ class PeopleModel(gtk.GenericTreeModel):
self.mapper.assign_sort_name(handle, sorted_name, group_name)
status.end()
def calculate_data(self, dfilter=None, skip=[]):
"""
Calculates the new path to node values for the model.