Example #1
0
    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)
Example #2
0
    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