def modify_statusbar(self, dbstate, active=None): view = self.viewmanager.active_page if not isinstance(view, NavigationView): return nav_type = view.navigation_type() active_handle = self.get_active(nav_type, view.navigation_group()) self.status.pop(self.status_id) name, obj = navigation_label(dbstate.db, nav_type, active_handle) # Append relationship to default person if funtionality is enabled. if nav_type == 'Person' and active_handle \ and config.get('interface.statusbar') > 1: if active_handle != dbstate.db.get_default_handle(): msg = self.display_relationship(dbstate, active_handle) if msg: name = '%s (%s)' % (name, msg.strip()) if not name: name = self.NAV2MES[nav_type] self.status.push(self.status_id, name) process_pending_events()
def update_mru_menu(self, items): """ Builds the UI and action group for the MRU list. """ self.mru_disable() nav_type = self.navigation_type() hobj = self.get_history() menu_len = min(len(items) - 1, MRU_SIZE) entry = '<menuitem action="%s%02d"/>' data = [entry % (nav_type, index) for index in range(0, menu_len)] self.mru_ui = "".join(MRU_TOP) + "".join(data) + "".join(MRU_BTM) mitems = items[-MRU_SIZE - 1:-1] # Ignore current handle mitems.reverse() data = [] for index, handle in enumerate(mitems): name, obj = navigation_label(self.dbstate.db, nav_type, handle) data.append(('%s%02d'%(nav_type, index), None, name, "%s%d" % (mod_key(), index), None, make_callback(hobj.push, handle))) self.mru_action = gtk.ActionGroup(nav_type) self.mru_action.add_actions(data) self.mru_enable()
def display_backlinks(self, active_handle): """ Display the back references for an object. """ for classname, handle in self.dbstate.db.find_backlink_handles(active_handle): for classname, handle in self.dbstate.db.find_backlink_handles(handle): name = navigation_label(self.dbstate.db, classname, handle)[0] self.model.add((_(classname), name, handle, classname)) self.set_has_data(self.model.count > 0)