* src/DbState.py: Remove modeule.
* src/DisplayState.py: Rename from DbState, kepp only DisplayState class. * src/GrampsDbBase.py: Add DbState class. * src/MapView.py: Swap zoom_in and zoom_out to reflect reality; add place list with the ScrollableWindow, request size for the place list. * src/ViewManager.py: Use DisplayState.DisplayState. * src/gramps_main.py: Use GrampsDbBase.DbState; add docstring; svn: r5055
This commit is contained in:
parent
9d62401d7b
commit
3338178102
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
|||||||
|
2005-08-11 Alex Roitman <shura@gramps-project.org>
|
||||||
|
* src/DbState.py: Remove modeule.
|
||||||
|
* src/DisplayState.py: Rename from DbState, kepp only DisplayState
|
||||||
|
class.
|
||||||
|
* src/GrampsDbBase.py: Add DbState class.
|
||||||
|
* src/MapView.py: Swap zoom_in and zoom_out to reflect reality;
|
||||||
|
add place list with the ScrollableWindow, request size for the
|
||||||
|
place list.
|
||||||
|
* src/ViewManager.py: Use DisplayState.DisplayState.
|
||||||
|
* src/gramps_main.py: Use GrampsDbBase.DbState; add docstring;
|
||||||
|
|
||||||
2005-08-11 Don Allingham <don@gramps-project.org>
|
2005-08-11 Don Allingham <don@gramps-project.org>
|
||||||
* various: added new views
|
* various: added new views
|
||||||
* src/DbState.py: handle self.index == -1
|
* src/DbState.py: handle self.index == -1
|
||||||
|
@ -118,41 +118,6 @@ class History(GrampsDBCallback.GrampsDBCallback):
|
|||||||
if not self.at_end():
|
if not self.at_end():
|
||||||
self.history = self.history[0:self.index+1]
|
self.history = self.history[0:self.index+1]
|
||||||
|
|
||||||
class DbState(GrampsDBCallback.GrampsDBCallback):
|
|
||||||
|
|
||||||
__signals__ = {
|
|
||||||
'database-changed' : (GrampsDbBase.GrampsDbBase,),
|
|
||||||
'active-changed' : (str,),
|
|
||||||
'no-database' : None,
|
|
||||||
}
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
GrampsDBCallback.GrampsDBCallback.__init__(self)
|
|
||||||
self.db = GrampsDbBase.GrampsDbBase()
|
|
||||||
self.active = None
|
|
||||||
|
|
||||||
def change_active_person(self,person):
|
|
||||||
self.active = person
|
|
||||||
if person:
|
|
||||||
try:
|
|
||||||
self.emit('active-changed',(person.handle,))
|
|
||||||
except:
|
|
||||||
self.emit('active-changed',("",))
|
|
||||||
|
|
||||||
def change_active_handle(self,handle):
|
|
||||||
self.change_active_person(self.db.get_person_from_handle(handle))
|
|
||||||
|
|
||||||
def get_active_person(self):
|
|
||||||
return self.active
|
|
||||||
|
|
||||||
def change_database(self,db):
|
|
||||||
self.db = db
|
|
||||||
self.emit('database-changed',(self.db,))
|
|
||||||
|
|
||||||
def no_database(self):
|
|
||||||
self.db = GrampsDbBase.GrampsDbBase()
|
|
||||||
self.emit('no-database')
|
|
||||||
|
|
||||||
class DisplayState(GrampsDBCallback.GrampsDBCallback):
|
class DisplayState(GrampsDBCallback.GrampsDBCallback):
|
||||||
|
|
||||||
__signals__ = {
|
__signals__ = {
|
@ -1496,3 +1496,38 @@ class Transaction:
|
|||||||
if self.last and self.first:
|
if self.last and self.first:
|
||||||
return self.last - self.first + 1
|
return self.last - self.first + 1
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
class DbState(GrampsDBCallback.GrampsDBCallback):
|
||||||
|
|
||||||
|
__signals__ = {
|
||||||
|
'database-changed' : (GrampsDbBase,),
|
||||||
|
'active-changed' : (str,),
|
||||||
|
'no-database' : None,
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
GrampsDBCallback.GrampsDBCallback.__init__(self)
|
||||||
|
self.db = GrampsDbBase()
|
||||||
|
self.active = None
|
||||||
|
|
||||||
|
def change_active_person(self,person):
|
||||||
|
self.active = person
|
||||||
|
if person:
|
||||||
|
try:
|
||||||
|
self.emit('active-changed',(person.handle,))
|
||||||
|
except:
|
||||||
|
self.emit('active-changed',("",))
|
||||||
|
|
||||||
|
def change_active_handle(self,handle):
|
||||||
|
self.change_active_person(self.db.get_person_from_handle(handle))
|
||||||
|
|
||||||
|
def get_active_person(self):
|
||||||
|
return self.active
|
||||||
|
|
||||||
|
def change_database(self,db):
|
||||||
|
self.db = db
|
||||||
|
self.emit('database-changed',(self.db,))
|
||||||
|
|
||||||
|
def no_database(self):
|
||||||
|
self.db = GrampsDbBase()
|
||||||
|
self.emit('no-database')
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from gettext import gettext as _
|
from gettext import gettext as _
|
||||||
|
import gc
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -35,7 +36,6 @@ from gettext import gettext as _
|
|||||||
import gobject
|
import gobject
|
||||||
import gtk
|
import gtk
|
||||||
import gtk.gdk
|
import gtk.gdk
|
||||||
import gc
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -45,7 +45,6 @@ import gc
|
|||||||
import RelLib
|
import RelLib
|
||||||
import PageView
|
import PageView
|
||||||
|
|
||||||
|
|
||||||
data = (("_Center", 0,0),
|
data = (("_Center", 0,0),
|
||||||
("_North",0,80),
|
("_North",0,80),
|
||||||
("_South",0,-80),
|
("_South",0,-80),
|
||||||
@ -94,8 +93,12 @@ class GuideMap(gtk.DrawingArea):
|
|||||||
if self.backbuf and self.gc:
|
if self.backbuf and self.gc:
|
||||||
self.window.draw_pixbuf( self.gc, self.backbuf, 0,0, 0,0, -1,-1)
|
self.window.draw_pixbuf( self.gc, self.backbuf, 0,0, 0,0, -1,-1)
|
||||||
if self.current_area:
|
if self.current_area:
|
||||||
r = self.map_to_screen(self.current_area[0],self.current_area[1],self.current_area[2],self.current_area[3])
|
r = self.map_to_screen(self.current_area[0],
|
||||||
self.window.draw_rectangle( self.gc, False, r[0],r[1], r[2],r[3])
|
self.current_area[1],
|
||||||
|
self.current_area[2],
|
||||||
|
self.current_area[3])
|
||||||
|
self.window.draw_rectangle( self.gc, False,
|
||||||
|
r[0],r[1],r[2],r[3])
|
||||||
|
|
||||||
# Scale backbuffer
|
# Scale backbuffer
|
||||||
def size_allocate_cb(self,widget,allocation):
|
def size_allocate_cb(self,widget,allocation):
|
||||||
@ -109,7 +112,10 @@ class GuideMap(gtk.DrawingArea):
|
|||||||
new_size = (allocation.width,allocation.height)
|
new_size = (allocation.width,allocation.height)
|
||||||
if new_size is not self.old_size:
|
if new_size is not self.old_size:
|
||||||
self.old_size = new_size
|
self.old_size = new_size
|
||||||
self.backbuf = self.map_pixbuf.scale_simple(self.old_size[0],self.old_size[1],gtk.gdk.INTERP_BILINEAR)
|
self.backbuf = self.map_pixbuf.scale_simple(
|
||||||
|
self.old_size[0],
|
||||||
|
self.old_size[1],
|
||||||
|
gtk.gdk.INTERP_BILINEAR)
|
||||||
gc.collect()
|
gc.collect()
|
||||||
|
|
||||||
def map_to_screen( self, x,y,w,h):
|
def map_to_screen( self, x,y,w,h):
|
||||||
@ -122,7 +128,8 @@ class GuideMap(gtk.DrawingArea):
|
|||||||
|
|
||||||
# Zoomable map image
|
# Zoomable map image
|
||||||
class ZoomMap( gtk.DrawingArea):
|
class ZoomMap( gtk.DrawingArea):
|
||||||
def __init__(self, map_pixbuf, place_marker_pixbuf, hightlight_marker_pixbuf):
|
def __init__(self, map_pixbuf, place_marker_pixbuf,
|
||||||
|
hightlight_marker_pixbuf):
|
||||||
gtk.DrawingArea.__init__(self)
|
gtk.DrawingArea.__init__(self)
|
||||||
self.map_pixbuf = map_pixbuf
|
self.map_pixbuf = map_pixbuf
|
||||||
self.place_marker_pixbuf = place_marker_pixbuf
|
self.place_marker_pixbuf = place_marker_pixbuf
|
||||||
@ -152,9 +159,17 @@ class ZoomMap( gtk.DrawingArea):
|
|||||||
self.size_allocate_cb( self,self.get_allocation())
|
self.size_allocate_cb( self,self.get_allocation())
|
||||||
if self.backbuf and self.gc:
|
if self.backbuf and self.gc:
|
||||||
self.window.draw_pixbuf( self.gc, self.backbuf, 0,0, 0,0, -1,-1)
|
self.window.draw_pixbuf( self.gc, self.backbuf, 0,0, 0,0, -1,-1)
|
||||||
px = int((float(self.zoom_pos[1]) + 180.0) / 360.0 * self.backbuf.get_width())
|
px = int((float(self.zoom_pos[1]) + 180.0) / 360.0
|
||||||
py = int((90-float(self.zoom_pos[0])) / 180.0 * self.backbuf.get_height())
|
* self.backbuf.get_width())
|
||||||
self.window.draw_pixbuf( self.gc, self.hightlight_marker_pixbuf, 0,0, px-self.hightlight_marker_pixbuf.get_width()/2,py-self.hightlight_marker_pixbuf.get_height()/2, -1,-1)
|
py = int((90-float(self.zoom_pos[0])) / 180.0
|
||||||
|
* self.backbuf.get_height())
|
||||||
|
self.window.draw_pixbuf(
|
||||||
|
self.gc,
|
||||||
|
self.hightlight_marker_pixbuf,
|
||||||
|
0,0,
|
||||||
|
px-self.hightlight_marker_pixbuf.get_width()/2,
|
||||||
|
py-self.hightlight_marker_pixbuf.get_height()/2,
|
||||||
|
-1,-1)
|
||||||
self.window.draw_rectangle( self.gc, False, px-3,py-3, 6,6)
|
self.window.draw_rectangle( self.gc, False, px-3,py-3, 6,6)
|
||||||
|
|
||||||
# Scale backbuffer
|
# Scale backbuffer
|
||||||
@ -171,8 +186,10 @@ class ZoomMap( gtk.DrawingArea):
|
|||||||
pw = int(self.old_size[0]*self.magnifer)
|
pw = int(self.old_size[0]*self.magnifer)
|
||||||
ph = int(self.old_size[1]*self.magnifer)
|
ph = int(self.old_size[1]*self.magnifer)
|
||||||
|
|
||||||
px = int((float(self.zoom_pos[1]) + 180.0) / 360.0 * self.map_pixbuf.get_width())
|
px = int((float(self.zoom_pos[1]) + 180.0) / 360.0
|
||||||
py = int((90-float(self.zoom_pos[0])) / 180.0 * self.map_pixbuf.get_height())
|
* self.map_pixbuf.get_width())
|
||||||
|
py = int((90-float(self.zoom_pos[0])) / 180.0
|
||||||
|
* self.map_pixbuf.get_height())
|
||||||
|
|
||||||
px = max( pw/2, px)
|
px = max( pw/2, px)
|
||||||
py = max( ph/2, py)
|
py = max( ph/2, py)
|
||||||
@ -180,10 +197,13 @@ class ZoomMap( gtk.DrawingArea):
|
|||||||
px = min( px, self.map_pixbuf.get_width()-pw/2)
|
px = min( px, self.map_pixbuf.get_width()-pw/2)
|
||||||
py = min( py, self.map_pixbuf.get_height()-ph/2)
|
py = min( py, self.map_pixbuf.get_height()-ph/2)
|
||||||
|
|
||||||
zoomebuf = self.map_pixbuf.subpixbuf( int(px-pw/2), int(py-ph/2), pw,ph)
|
zoomebuf = self.map_pixbuf.subpixbuf( int(px-pw/2),
|
||||||
|
int(py-ph/2), pw,ph)
|
||||||
print ( px-pw/2, py-ph/2, pw,ph)
|
print ( px-pw/2, py-ph/2, pw,ph)
|
||||||
|
|
||||||
self.backbuf = zoomebuf.scale_simple(self.old_size[0],self.old_size[1],gtk.gdk.INTERP_BILINEAR)
|
self.backbuf = zoomebuf.scale_simple(self.old_size[0],
|
||||||
|
self.old_size[1],
|
||||||
|
gtk.gdk.INTERP_BILINEAR)
|
||||||
gc.collect()
|
gc.collect()
|
||||||
if self.guide:
|
if self.guide:
|
||||||
mx = 360.0 / self.map_pixbuf.get_width() * (px-pw/2.0) - 180.0
|
mx = 360.0 / self.map_pixbuf.get_width() * (px-pw/2.0) - 180.0
|
||||||
@ -199,12 +219,12 @@ class ZoomMap( gtk.DrawingArea):
|
|||||||
self.backbuf = None
|
self.backbuf = None
|
||||||
self.queue_draw()
|
self.queue_draw()
|
||||||
|
|
||||||
def zoom_in(self):
|
def zoom_out(self):
|
||||||
self.magnifer = min( 10, self.magnifer * 1.5)
|
self.magnifer = min( 10, self.magnifer * 1.5)
|
||||||
self.backbuf = None
|
self.backbuf = None
|
||||||
self.queue_draw()
|
self.queue_draw()
|
||||||
|
|
||||||
def zoom_out(self):
|
def zoom_in(self):
|
||||||
self.magnifer = max( 0.1, self.magnifer * 0.75)
|
self.magnifer = max( 0.1, self.magnifer * 0.75)
|
||||||
self.backbuf = None
|
self.backbuf = None
|
||||||
self.queue_draw()
|
self.queue_draw()
|
||||||
@ -266,10 +286,14 @@ class MapView(PageView.PageView):
|
|||||||
|
|
||||||
def define_actions(self):
|
def define_actions(self):
|
||||||
print "MapView.define_actions"
|
print "MapView.define_actions"
|
||||||
self.add_action('ZoomIn', gtk.STOCK_ZOOM_IN, "Zoom _In", callback=self.zoom_in_cb)
|
self.add_action('ZoomIn',gtk.STOCK_ZOOM_IN,
|
||||||
self.add_action('ZoomOut', gtk.STOCK_ZOOM_OUT, "Zoom _Out", callback=self.zoom_out_cb)
|
"Zoom _In",callback=self.zoom_in_cb)
|
||||||
self.add_action('ZoomNormal',gtk.STOCK_ZOOM_100,"_Normal Size", callback=self.zoom_100_cb)
|
self.add_action('ZoomOut',gtk.STOCK_ZOOM_OUT,
|
||||||
self.add_action('ZoomFit', gtk.STOCK_ZOOM_FIT, "Best _Fit", callback=self.zoom_fit_cb)
|
"Zoom _Out",callback=self.zoom_out_cb)
|
||||||
|
self.add_action('ZoomNormal',gtk.STOCK_ZOOM_100,
|
||||||
|
"_Normal Size", callback=self.zoom_100_cb)
|
||||||
|
self.add_action('ZoomFit',gtk.STOCK_ZOOM_FIT,
|
||||||
|
"Best _Fit",callback=self.zoom_fit_cb)
|
||||||
|
|
||||||
def get_stock(self):
|
def get_stock(self):
|
||||||
"""
|
"""
|
||||||
@ -293,10 +317,11 @@ class MapView(PageView.PageView):
|
|||||||
|
|
||||||
# On the right side
|
# On the right side
|
||||||
vbox = gtk.VBox( False, 4)
|
vbox = gtk.VBox( False, 4)
|
||||||
hbox.pack_start( vbox, False, True, 0)
|
hbox.pack_start( vbox, False, False, 0)
|
||||||
|
|
||||||
# The small guide map
|
# The small guide map
|
||||||
self.guide_map = GuideMap( gtk.gdk.pixbuf_new_from_file("land_shallow_topo_350.jpg"))
|
self.guide_map = GuideMap(
|
||||||
|
gtk.gdk.pixbuf_new_from_file("land_shallow_topo_350.jpg"))
|
||||||
self.guide_map.set_size_request(128,64)
|
self.guide_map.set_size_request(128,64)
|
||||||
vbox.pack_start( self.guide_map, False, True, 0)
|
vbox.pack_start( self.guide_map, False, True, 0)
|
||||||
|
|
||||||
@ -304,8 +329,11 @@ class MapView(PageView.PageView):
|
|||||||
|
|
||||||
# And the place list
|
# And the place list
|
||||||
self.place_list_view = MapPlacesList( data)
|
self.place_list_view = MapPlacesList( data)
|
||||||
vbox.pack_start( self.place_list_view,True,True,0)
|
self.place_list_view.set_size_request(128,-1)
|
||||||
|
vport = gtk.ScrolledWindow()
|
||||||
|
vbox.pack_start(vport,True,True,0)
|
||||||
|
vport.add( self.place_list_view)
|
||||||
|
|
||||||
self.place_list_view.connect("cursor-changed", self.entry_select_cb)
|
self.place_list_view.connect("cursor-changed", self.entry_select_cb)
|
||||||
|
|
||||||
return hbox
|
return hbox
|
||||||
@ -340,7 +368,8 @@ class MapView(PageView.PageView):
|
|||||||
(model,sel) = s.get_selected_rows()
|
(model,sel) = s.get_selected_rows()
|
||||||
for path in sel:
|
for path in sel:
|
||||||
iter = model.get_iter(path)
|
iter = model.get_iter(path)
|
||||||
self.zoom_map.scroll_to(model.get_value(iter,1), model.get_value(iter,2))
|
self.zoom_map.scroll_to(model.get_value(iter,1),
|
||||||
|
model.get_value(iter,2))
|
||||||
break
|
break
|
||||||
|
|
||||||
def zoom_in_cb(self,obj):
|
def zoom_in_cb(self,obj):
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Gramps - a GTK+/GNOME based genealogy program
|
# Gramps - a GTK+/GNOME based genealogy program
|
||||||
#
|
#
|
||||||
# Copyright (C) 2000-2005 Donald N. Allingham
|
# Copyright (C) 2005 Donald N. Allingham
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -18,12 +18,13 @@
|
|||||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# $Id$
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Standard python modules
|
# Standard python modules
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
|
||||||
from gettext import gettext as _
|
from gettext import gettext as _
|
||||||
from bsddb import db
|
from bsddb import db
|
||||||
import os
|
import os
|
||||||
@ -44,7 +45,7 @@ except:
|
|||||||
# GRAMPS modules
|
# GRAMPS modules
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
import DbState
|
import DisplayState
|
||||||
import DbPrompter
|
import DbPrompter
|
||||||
import const
|
import const
|
||||||
import PluginMgr
|
import PluginMgr
|
||||||
@ -176,7 +177,7 @@ class ViewManager:
|
|||||||
vbox.pack_end(self.statusbar,False)
|
vbox.pack_end(self.statusbar,False)
|
||||||
|
|
||||||
self.notebook.connect('switch-page',self.change_page)
|
self.notebook.connect('switch-page',self.change_page)
|
||||||
self.uistate = DbState.DisplayState(self.window, self.statusbar,
|
self.uistate = DisplayState.DisplayState(self.window, self.statusbar,
|
||||||
self.uimanager, self.state)
|
self.uimanager, self.state)
|
||||||
|
|
||||||
person_nav = Navigation.PersonNavigation(self.uistate)
|
person_nav = Navigation.PersonNavigation(self.uistate)
|
||||||
@ -797,4 +798,3 @@ def format_maker(formats):
|
|||||||
box.add(type_selector)
|
box.add(type_selector)
|
||||||
box.show_all()
|
box.show_all()
|
||||||
return (box,type_selector)
|
return (box,type_selector)
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ import const
|
|||||||
import Errors
|
import Errors
|
||||||
import PluginMgr
|
import PluginMgr
|
||||||
import TipOfDay
|
import TipOfDay
|
||||||
import DbState
|
import GrampsDbBase
|
||||||
|
|
||||||
from GrampsMime import mime_type_is_defined
|
from GrampsMime import mime_type_is_defined
|
||||||
from QuestionDialog import ErrorDialog
|
from QuestionDialog import ErrorDialog
|
||||||
@ -44,19 +44,20 @@ from QuestionDialog import ErrorDialog
|
|||||||
import gnome
|
import gnome
|
||||||
|
|
||||||
|
|
||||||
iconpaths = [".","/usr/share/gramps"]
|
iconpaths = [".",const.rootDir]
|
||||||
|
|
||||||
def register_stock_icons ():
|
def register_stock_icons ():
|
||||||
import os
|
import os
|
||||||
items = [
|
items = [
|
||||||
('people48.png',('gramps-person', 'Person', gtk.gdk.CONTROL_MASK, 0, '')),
|
('people48.png',('gramps-person','Person',gtk.gdk.CONTROL_MASK,0,'')),
|
||||||
('family48.png',('gramps-family', 'Family', gtk.gdk.CONTROL_MASK, 0, '')),
|
('family48.png',('gramps-family','Family',gtk.gdk.CONTROL_MASK,0,'')),
|
||||||
('ped24.png',('gramps-pedigree', 'Pedigree', gtk.gdk.CONTROL_MASK, 0, '')),
|
('ped24.png',('gramps-pedigree','Pedigree',gtk.gdk.CONTROL_MASK,0,'')),
|
||||||
('repos.png',('gramps-repository', 'Repositories', gtk.gdk.CONTROL_MASK, 0, '')),
|
('repos.png',('gramps-repository','Repositories',
|
||||||
('sources.png',('gramps-source', 'Sources', gtk.gdk.CONTROL_MASK, 0, '')),
|
gtk.gdk.CONTROL_MASK,0,'')),
|
||||||
('events.png',('gramps-event', 'Events', gtk.gdk.CONTROL_MASK, 0, '')),
|
('sources.png',('gramps-source','Sources',gtk.gdk.CONTROL_MASK,0,'')),
|
||||||
('place.png',('gramps-place', 'Places', gtk.gdk.CONTROL_MASK, 0, '')),
|
('events.png',('gramps-event','Events',gtk.gdk.CONTROL_MASK,0,'')),
|
||||||
('place.png',('gramps-map', 'Map', gtk.gdk.CONTROL_MASK, 0, '')),
|
('place.png',('gramps-place','Places',gtk.gdk.CONTROL_MASK,0,'')),
|
||||||
|
('place.png',('gramps-map','Map',gtk.gdk.CONTROL_MASK,0,'')),
|
||||||
]
|
]
|
||||||
|
|
||||||
# Register our stock items
|
# Register our stock items
|
||||||
@ -86,6 +87,12 @@ def register_stock_icons ():
|
|||||||
print 'failed to load GTK logo for toolbar'
|
print 'failed to load GTK logo for toolbar'
|
||||||
|
|
||||||
class Gramps:
|
class Gramps:
|
||||||
|
"""
|
||||||
|
Main class corresponding to a running gramps process.
|
||||||
|
|
||||||
|
There can be only one instance of this class per gramps application
|
||||||
|
process. It may spawn several windows and control several databases.
|
||||||
|
"""
|
||||||
|
|
||||||
def __init__(self,args):
|
def __init__(self,args):
|
||||||
|
|
||||||
@ -107,9 +114,10 @@ class Gramps:
|
|||||||
ErrorDialog(_("Configuration error"),str(msg))
|
ErrorDialog(_("Configuration error"),str(msg))
|
||||||
return
|
return
|
||||||
except Errors.GConfSchemaError, val:
|
except Errors.GConfSchemaError, val:
|
||||||
ErrorDialog(_("Configuration error"),
|
ErrorDialog(_("Configuration error"),str(val) +
|
||||||
str(val) + _("\n\nPossibly the installation of GRAMPS was incomplete."
|
_("\n\nPossibly the installation of GRAMPS "
|
||||||
" Make sure the GConf schema of GRAMPS is properly installed."))
|
"was incomplete. Make sure the GConf schema "
|
||||||
|
"of GRAMPS is properly installed."))
|
||||||
gtk.main_quit()
|
gtk.main_quit()
|
||||||
return
|
return
|
||||||
except:
|
except:
|
||||||
@ -118,9 +126,11 @@ class Gramps:
|
|||||||
|
|
||||||
if not mime_type_is_defined(const.app_gramps):
|
if not mime_type_is_defined(const.app_gramps):
|
||||||
ErrorDialog(_("Configuration error"),
|
ErrorDialog(_("Configuration error"),
|
||||||
_("A definition for the MIME-type %s could not be found"
|
_("A definition for the MIME-type %s could not "
|
||||||
"\n\nPossibly the installation of GRAMPS was incomplete."
|
"be found \n\nPossibly the installation of GRAMPS "
|
||||||
" Make sure the MIME-types of GRAMPS are properly installed.") % const.app_gramps)
|
"was incomplete. Make sure the MIME-types "
|
||||||
|
"of GRAMPS are properly installed.")
|
||||||
|
% const.app_gramps)
|
||||||
gtk.main_quit()
|
gtk.main_quit()
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -150,7 +160,7 @@ class Gramps:
|
|||||||
|
|
||||||
register_stock_icons()
|
register_stock_icons()
|
||||||
|
|
||||||
state = DbState.DbState()
|
state = GrampsDbBase.DbState()
|
||||||
|
|
||||||
a = ViewManager.ViewManager(state)
|
a = ViewManager.ViewManager(state)
|
||||||
a.register_view(PersonView.PersonView)
|
a.register_view(PersonView.PersonView)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user