* src/DbPrompter.py: Add display messages during load
* src/GrampsBSDDB.py: Add display messages during load * src/gramps_main.py: Add display messages during load svn: r3820
This commit is contained in:
parent
df47a1bcea
commit
879093c9f3
@ -1,4 +1,7 @@
|
|||||||
2004-12-19 Don Allingham <dallingham@users.sourceforge.net>
|
2004-12-19 Don Allingham <dallingham@users.sourceforge.net>
|
||||||
|
* src/DbPrompter.py: Add display messages during load
|
||||||
|
* src/GrampsBSDDB.py: Add display messages during load
|
||||||
|
* src/gramps_main.py: Add display messages during load
|
||||||
* src/DisplayModels.py: use a dictionary to handle reverse
|
* src/DisplayModels.py: use a dictionary to handle reverse
|
||||||
indices instead of list.index function. Drastically reduces
|
indices instead of list.index function. Drastically reduces
|
||||||
time are larger lists.
|
time are larger lists.
|
||||||
|
@ -386,7 +386,15 @@ def open_native(parent,filename,filetype):
|
|||||||
parent.db = GrampsBSDDB.GrampsBSDDB()
|
parent.db = GrampsBSDDB.GrampsBSDDB()
|
||||||
msgxml = gtk.glade.XML(const.gladeFile, "load_message","gramps")
|
msgxml = gtk.glade.XML(const.gladeFile, "load_message","gramps")
|
||||||
msg_top = msgxml.get_widget('load_message')
|
msg_top = msgxml.get_widget('load_message')
|
||||||
parent.read_file(filename)
|
msg_label = msgxml.get_widget('message')
|
||||||
|
|
||||||
|
def update_msg(msg):
|
||||||
|
msg_label.set_text("<i>%s</i>" % msg)
|
||||||
|
msg_label.set_use_markup(True)
|
||||||
|
while gtk.events_pending():
|
||||||
|
gtk.main_iteration()
|
||||||
|
|
||||||
|
parent.read_file(filename,update_msg)
|
||||||
msg_top.destroy()
|
msg_top.destroy()
|
||||||
success = True
|
success = True
|
||||||
elif filetype == const.app_gramps_xml:
|
elif filetype == const.app_gramps_xml:
|
||||||
|
@ -27,6 +27,7 @@ Provides the Berkeley DB (BSDDB) database backend for GRAMPS
|
|||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
import locale
|
import locale
|
||||||
|
from gettext import gettext as _
|
||||||
|
|
||||||
from RelLib import *
|
from RelLib import *
|
||||||
from GrampsDbBase import *
|
from GrampsDbBase import *
|
||||||
@ -120,7 +121,6 @@ class GrampsBSDDB(GrampsDbBase):
|
|||||||
self.name_group = db.DB(self.env)
|
self.name_group = db.DB(self.env)
|
||||||
self.name_group.set_flags(db.DB_DUP)
|
self.name_group.set_flags(db.DB_DUP)
|
||||||
self.name_group.open(name, "name_group", db.DB_HASH, flags=db.DB_CREATE)
|
self.name_group.open(name, "name_group", db.DB_HASH, flags=db.DB_CREATE)
|
||||||
|
|
||||||
self.id_trans = db.DB(self.env)
|
self.id_trans = db.DB(self.env)
|
||||||
self.id_trans.set_flags(db.DB_DUP)
|
self.id_trans.set_flags(db.DB_DUP)
|
||||||
self.id_trans.open(name, "idtrans", db.DB_HASH, flags=db.DB_CREATE)
|
self.id_trans.open(name, "idtrans", db.DB_HASH, flags=db.DB_CREATE)
|
||||||
|
@ -1068,7 +1068,7 @@ class Gramps:
|
|||||||
os.rmdir(tmpdir_path)
|
os.rmdir(tmpdir_path)
|
||||||
self.import_tool_callback()
|
self.import_tool_callback()
|
||||||
|
|
||||||
def read_file(self,filename):
|
def read_file(self,filename,callback=None):
|
||||||
self.topWindow.set_resizable(gtk.FALSE)
|
self.topWindow.set_resizable(gtk.FALSE)
|
||||||
filename = os.path.normpath(os.path.abspath(filename))
|
filename = os.path.normpath(os.path.abspath(filename))
|
||||||
|
|
||||||
@ -1090,7 +1090,7 @@ class Gramps:
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if self.load_database(filename) == 1:
|
if self.load_database(filename,callback) == 1:
|
||||||
if filename[-1] == '/':
|
if filename[-1] == '/':
|
||||||
filename = filename[:-1]
|
filename = filename[:-1]
|
||||||
name = os.path.basename(filename)
|
name = os.path.basename(filename)
|
||||||
@ -1540,17 +1540,12 @@ class Gramps:
|
|||||||
else:
|
else:
|
||||||
return GrampsCfg.get_nameof()(person)
|
return GrampsCfg.get_nameof()(person)
|
||||||
|
|
||||||
def load_progress(self,value):
|
|
||||||
self.statusbar.set_progress_percentage(value)
|
|
||||||
while gtk.events_pending():
|
|
||||||
gtk.main_iteration()
|
|
||||||
|
|
||||||
def status_text(self,text):
|
def status_text(self,text):
|
||||||
self.statusbar.set_status(text)
|
self.statusbar.set_status(text)
|
||||||
while gtk.events_pending():
|
while gtk.events_pending():
|
||||||
gtk.main_iteration()
|
gtk.main_iteration()
|
||||||
|
|
||||||
def post_load(self,name):
|
def post_load(self,name,callback=None):
|
||||||
self.db.set_save_path(name)
|
self.db.set_save_path(name)
|
||||||
res = self.db.get_researcher()
|
res = self.db.get_researcher()
|
||||||
owner = GrampsCfg.get_researcher()
|
owner = GrampsCfg.get_researcher()
|
||||||
@ -1558,22 +1553,31 @@ class Gramps:
|
|||||||
if res.get_name() == "" and owner.get_name():
|
if res.get_name() == "" and owner.get_name():
|
||||||
self.db.set_researcher(owner)
|
self.db.set_researcher(owner)
|
||||||
|
|
||||||
|
if callback:
|
||||||
|
callback(_('Setting up bookmarks...'))
|
||||||
self.setup_bookmarks()
|
self.setup_bookmarks()
|
||||||
|
|
||||||
GrampsGconfKeys.save_last_file(name)
|
GrampsGconfKeys.save_last_file(name)
|
||||||
self.gtop.get_widget("filter").set_text("")
|
self.gtop.get_widget("filter").set_text("")
|
||||||
|
|
||||||
self.statusbar.set_progress_percentage(1.0)
|
if callback:
|
||||||
|
callback(_('Building Person list...'))
|
||||||
self.people_view.change_db(self.db)
|
self.people_view.change_db(self.db)
|
||||||
|
if callback:
|
||||||
|
callback(_('Building Place list...'))
|
||||||
self.place_view.change_db(self.db)
|
self.place_view.change_db(self.db)
|
||||||
|
if callback:
|
||||||
|
callback(_('Building Source list...'))
|
||||||
self.source_view.change_db(self.db)
|
self.source_view.change_db(self.db)
|
||||||
|
if callback:
|
||||||
|
callback(_('Building Media list...'))
|
||||||
self.media_view.change_db(self.db)
|
self.media_view.change_db(self.db)
|
||||||
self.relationship = self.RelClass(self.db)
|
self.relationship = self.RelClass(self.db)
|
||||||
|
|
||||||
self.change_active_person(self.find_initial_person())
|
self.change_active_person(self.find_initial_person())
|
||||||
self.goto_active_person()
|
self.goto_active_person()
|
||||||
self.statusbar.set_progress_percentage(0.0)
|
if callback:
|
||||||
|
callback(_('Setup complete'))
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
def find_initial_person(self):
|
def find_initial_person(self):
|
||||||
@ -1585,18 +1589,21 @@ class Gramps:
|
|||||||
person = self.db.get_person_from_handle(the_ids[0])
|
person = self.db.get_person_from_handle(the_ids[0])
|
||||||
return person
|
return person
|
||||||
|
|
||||||
def load_database(self,name):
|
def load_database(self,name,callback=None):
|
||||||
|
|
||||||
filename = name
|
filename = name
|
||||||
|
|
||||||
self.status_text(_("Loading %s...") % name)
|
self.status_text(_("Loading %s...") % name)
|
||||||
|
|
||||||
if self.db.load(filename,self.load_progress) == 0:
|
if callback:
|
||||||
|
callback(_('Opening database...'))
|
||||||
|
|
||||||
|
if self.db.load(filename,callback) == 0:
|
||||||
self.status_text('')
|
self.status_text('')
|
||||||
return 0
|
return 0
|
||||||
self.status_text('')
|
self.status_text('')
|
||||||
|
|
||||||
val = self.post_load(name)
|
val = self.post_load(name,callback)
|
||||||
return val
|
return val
|
||||||
|
|
||||||
def setup_bookmarks(self):
|
def setup_bookmarks(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user