def welcome(self, action=None): """ display a welcome window """ page = gtk.Label() # welcome text text = """<span size="x-large" weight="bold">Welcome to odML-Editor</span>\n\nNow go ahead and <a href="#new">create a new document</a>.""" for action in self.welcome_disabled_actions: self.enable_action(action, False) # display recently used files recent_filter = gtk.RecentFilter() odMLChooserDialog._setup_file_filter(recent_filter) files = filter(lambda i: recent_filter.filter( {'display_name': i.get_display_name(), 'uri': i.get_uri(), 'mime_type': i.get_mime_type()}), gtk.recent_manager_get_default().get_items()) if files: text += """\n\nOr open a <b>recently used file</b>:\n""" text += "\n".join([u"""\u2022 <a href="%s">%s</a>""" % (i.get_uri(), i.get_display_name()) for i in files]) page.set_markup(text) page.connect("activate-link", self.welcome_action) page.show() self.notebook.set_show_tabs(False) self.notebook.append_page(page)
def __create_action_group(self): entries = [ ( "FileMenu", None, "_File" ), # name, stock id, label */ ( "EditMenu", None, "_Edit" ), # name, stock id, label */ ( "AddMenu", gtk.STOCK_ADD), # name, stock id, label */ ( "HelpMenu", gtk.STOCK_HELP), # name, stock id, label */ ] for (k, v) in self.__class__.__dict__.iteritems(): if hasattr(v, "stock_id"): entries.append( (v.name, v.stock_id, v.label, v.accelerator, v.tooltip, getattr(self, k))) recent_action = gtk.RecentAction ("OpenRecent", "Open Recent", "Open Recent Files", gtk.STOCK_OPEN) recent_action.connect ("item-activated", self.open_recent) recent_filter = gtk.RecentFilter() odMLChooserDialog._setup_file_filter(recent_filter) recent_action.set_sort_type (gtk.RECENT_SORT_MRU) recent_action.add_filter (recent_filter) recent_action.set_show_not_found (False) action_group = gtk.ActionGroup("EditorActions") self.editor_actions = action_group action_group.add_actions(entries) action_group.add_action(recent_action) return action_group