multiple bookmark lists

svn: r6452
This commit is contained in:
Don Allingham
2006-04-26 21:48:13 +00:00
parent f2fe4dc6f9
commit 0593cae180
16 changed files with 408 additions and 45 deletions

View File

@@ -38,6 +38,7 @@ import DisplayModels
import const
import Utils
import Errors
import Bookmarks
from DdTargets import DdTargets
from QuestionDialog import QuestionDialog, ErrorDialog
@@ -78,7 +79,11 @@ class EventView(PageView.ListView):
PageView.ListView.__init__(
self, _('Events'), dbstate, uistate,
column_names, len(column_names), DisplayModels.EventModel,
signal_map)
signal_map, dbstate.db.get_event_bookmarks(),
Bookmarks.EventBookmarks)
def get_bookmarks(self):
return self.dbstate.db.get_event_bookmarks()
def drag_info(self):
return DdTargets.EVENT
@@ -95,6 +100,12 @@ class EventView(PageView.ListView):
<menu action="ViewMenu">
<menuitem action="Filter"/>
</menu>
<menu action="BookMenu">
<placeholder name="AddEditBook">
<menuitem action="AddBook"/>
<menuitem action="EditBook"/>
</placeholder>
</menu>
<menu action="EditMenu">
<placeholder name="CommonEdit">
<menuitem action="Add"/>

View File

@@ -35,6 +35,7 @@ import gtk.gdk
import RelLib
import PageView
import DisplayModels
import Bookmarks
import const
import Errors
from QuestionDialog import QuestionDialog, ErrorDialog
@@ -72,16 +73,32 @@ class FamilyListView(PageView.ListView):
PageView.ListView.__init__(
self, _('Family List'), dbstate, uistate,
column_names, len(column_names), DisplayModels.FamilyModel,
signal_map)
signal_map, dbstate.db.get_family_bookmarks(),
Bookmarks.FamilyBookmarks)
self.updating = False
def add_bookmark(self, obj):
mlist = []
self.selection.selected_foreach(self.blist, mlist)
if mlist:
self.bookmarks.add(mlist[0])
else:
from QuestionDialog import WarningDialog
WarningDialog(
_("Could Not Set a Bookmark"),
_("A bookmark could not be set because "
"no one was selected."))
def get_bookmarks(self):
return self.dbstate.db.get_family_bookmarks()
def column_order(self):
return self.dbstate.db.get_family_list_column_order()
def get_stock(self):
return 'gramps-family-list'
def ui_definition(self):
return '''<ui>
<menubar name="MenuBar">
@@ -95,6 +112,12 @@ class FamilyListView(PageView.ListView):
<menu action="ViewMenu">
<menuitem action="Filter"/>
</menu>
<menu action="BookMenu">
<placeholder name="AddEditBook">
<menuitem action="AddBook"/>
<menuitem action="EditBook"/>
</placeholder>
</menu>
</menubar>
<toolbar name="ToolBar">
<placeholder name="CommonEdit">
@@ -133,7 +156,6 @@ class FamilyListView(PageView.ListView):
def family_add_loop(self,handle_list):
if self.updating:
return False
print handle_list
self.updating = True
self.row_add(handle_list)
self.updating = False

View File

@@ -188,6 +188,12 @@ class FamilyView(PageView.PersonNavView):
<separator/>
</placeholder>
</menu>
<menu action="BookMenu">
<placeholder name="AddEditBook">
<menuitem action="AddBook"/>
<menuitem action="EditBook"/>
</placeholder>
</menu>
<menu action="ViewMenu">
<menuitem action="Siblings"/>
<menuitem action="Details"/>
@@ -239,6 +245,9 @@ class FamilyView(PageView.PersonNavView):
self.dbstate.db.connect('person-update', self.redraw)
self.dbstate.db.connect('person-add', self.redraw)
self.dbstate.db.connect('person-delete', self.redraw)
self.bookmarks.update_bookmarks(db.get_bookmarks())
if self.active:
self.bookmarks.redraw()
def get_name(self, handle, use_gender=False):
if handle:

View File

@@ -37,6 +37,8 @@ import DisplayModels
import ImgManip
import const
import Utils
import Bookmarks
from QuestionDialog import QuestionDialog, ErrorDialog
#-------------------------------------------------------------------------
@@ -73,12 +75,17 @@ class MediaView(PageView.ListView):
PageView.ListView.__init__(
self, _('Media'), dbstate, uistate,
column_names,len(column_names), DisplayModels.MediaModel,
signal_map)
signal_map, dbstate.db.get_media_bookmarks(),
Bookmarks.MediaBookmarks)
def get_bookmarks(self):
return self.dbstate.db.get_media_bookmarks()
def define_actions(self):
PageView.ListView.define_actions(self)
self.add_action('ColumnEdit', gtk.STOCK_PROPERTIES,
'_Column Editor', callback=self.column_editor)
def column_editor(self,obj):
import ColumnOrder
@@ -134,6 +141,12 @@ class MediaView(PageView.ListView):
</placeholder>
<menuitem action="ColumnEdit"/>
</menu>
<menu action="BookMenu">
<placeholder name="AddEditBook">
<menuitem action="AddBook"/>
<menuitem action="EditBook"/>
</placeholder>
</menu>
</menubar>
<toolbar name="ToolBar">
<placeholder name="CommonEdit">

View File

@@ -493,6 +493,12 @@ class PedigreeView(PageView.PersonNavView):
<separator/>
</placeholder>
</menu>
<menu action="BookMenu">
<placeholder name="AddEditBook">
<menuitem action="AddBook"/>
<menuitem action="EditBook"/>
</placeholder>
</menu>
</menubar>
<toolbar name="ToolBar">
<placeholder name="CommonNavigation">
@@ -546,6 +552,10 @@ class PedigreeView(PageView.PersonNavView):
db.connect('person-update', self.person_updated_cb)
db.connect('person-delete', self.person_updated_cb)
db.connect('person-rebuild', self.person_rebuild)
self.bookmarks.update_bookmarks(db.get_bookmarks())
if self.active:
self.bookmarks.redraw()
self.rebuild_trees(None)
def goto_active_person(self,handle=None):

View File

@@ -208,6 +208,12 @@ class PersonView(PageView.PersonNavView):
<menu action="ViewMenu">
<menuitem action="Filter"/>
</menu>
<menu action="BookMenu">
<placeholder name="AddEditBook">
<menuitem action="AddBook"/>
<menuitem action="EditBook"/>
</placeholder>
</menu>
<menu action="GoMenu">
<placeholder name="CommonGo">
<menuitem action="Back"/>
@@ -266,7 +272,9 @@ class PersonView(PageView.PersonNavView):
db.connect('person-rebuild', self.build_tree)
self.generic_filter_widget.apply_filter()
self.goto_active_person()
self.bookmarks.update_bookmarks(db.get_bookmarks())
if self.active:
self.bookmarks.redraw()
def goto_active_person(self,obj=None):
"""

View File

@@ -38,6 +38,8 @@ import DisplayModels
import const
import Utils
import Errors
import Bookmarks
from Editors import EditPlace, DeletePlaceQuery
from QuestionDialog import QuestionDialog, ErrorDialog
@@ -79,7 +81,12 @@ class PlaceView(PageView.ListView):
PageView.ListView.__init__(
self, _('Places'), dbstate, uistate, column_names,
len(column_names), DisplayModels.PlaceModel, signal_map)
len(column_names), DisplayModels.PlaceModel, signal_map,
dbstate.db.get_place_bookmarks(),
Bookmarks.PlaceBookmarks)
def get_bookmarks(self):
return self.dbstate.db.get_place_bookmarks()
def define_actions(self):
PageView.ListView.define_actions(self)
@@ -112,6 +119,12 @@ class PlaceView(PageView.ListView):
<menu action="ViewMenu">
<menuitem action="Filter"/>
</menu>
<menu action="BookMenu">
<placeholder name="AddEditBook">
<menuitem action="AddBook"/>
<menuitem action="EditBook"/>
</placeholder>
</menu>
<menu action="EditMenu">
<placeholder name="CommonEdit">
<menuitem action="Add"/>

View File

@@ -37,6 +37,8 @@ import PageView
import DisplayModels
import const
import Utils
import Bookmarks
from Editors import EditRepository, DelRepositoryQuery
from DdTargets import DdTargets
@@ -82,7 +84,12 @@ class RepositoryView(PageView.ListView):
PageView.ListView.__init__(
self, _('Repositories'), dbstate, uistate,
column_names, len(column_names),
DisplayModels.RepositoryModel, signal_map)
DisplayModels.RepositoryModel, signal_map,
dbstate.db.get_repo_bookmarks(),
Bookmarks.RepoBookmarks)
def get_bookmarks(self):
return self.dbstate.db.get_repo_bookmarks()
def drag_info(self):
return DdTargets.REPO_LINK
@@ -118,6 +125,12 @@ class RepositoryView(PageView.ListView):
<menu action="ViewMenu">
<menuitem action="Filter"/>
</menu>
<menu action="BookMenu">
<placeholder name="AddEditBook">
<menuitem action="AddBook"/>
<menuitem action="EditBook"/>
</placeholder>
</menu>
<menu action="EditMenu">
<placeholder name="CommonEdit">
<menuitem action="Add"/>

View File

@@ -37,9 +37,10 @@ import PageView
import DisplayModels
import const
import Utils
import Bookmarks
from DdTargets import DdTargets
from Editors import EditSource, DelSrcQuery
from QuestionDialog import QuestionDialog, ErrorDialog
#-------------------------------------------------------------------------
@@ -75,7 +76,12 @@ class SourceView(PageView.ListView):
PageView.ListView.__init__(
self, _('Sources'), dbstate, uistate, column_names,
len(column_names), DisplayModels.SourceModel, signal_map)
len(column_names), DisplayModels.SourceModel, signal_map,
dbstate.db.get_source_bookmarks(),
Bookmarks.SourceBookmarks)
def get_bookmarks(self):
return self.dbstate.db.get_source_bookmarks()
def drag_info(self):
return DdTargets.SOURCE_LINK
@@ -111,6 +117,12 @@ class SourceView(PageView.ListView):
<menu action="ViewMenu">
<menuitem action="Filter"/>
</menu>
<menu action="BookMenu">
<placeholder name="AddEditBook">
<menuitem action="AddBook"/>
<menuitem action="EditBook"/>
</placeholder>
</menu>
<menu action="EditMenu">
<placeholder name="CommonEdit">
<menuitem action="Add"/>