Esempio n. 1
0
 def __init__(self, app):
     self.app = app
     self.btn = header_btn(_("Help"), on_press=self._open)
     self.ssh_password = None
     self.current_help = None
     super().__init__(self.btn)
Esempio n. 2
0
 def __init__(self, app):
     self.app = app
     self.btn = header_btn(_("Help"), on_press=self._open)
     self.showing_something = False
     super().__init__(self.btn)
Esempio n. 3
0
    def __init__(self, parent):
        self.parent = parent
        close = header_btn(parent.base_widget.label)
        about = menu_item(_("About this installer"),
                          on_press=self.parent.about)
        keys = menu_item(_("Keyboard shortcuts"),
                         on_press=self.parent.shortcuts)
        drop_to_shell = menu_item(_("Enter shell"),
                                  on_press=self.parent.debug_shell)
        buttons = {
            about,
            close,
            drop_to_shell,
            keys,
        }
        if self.parent.ssh_password is not None:
            ssh_help = menu_item(_("Help on SSH access"),
                                 on_press=self.parent.ssh_help)
            buttons.add(ssh_help)
        if self.parent.app.opts.run_on_serial:
            rich = menu_item(_("Toggle rich mode"),
                             on_press=self.parent.toggle_rich)
            buttons.add(rich)
        local_title, local_doc = parent.app.ui.body.local_help()
        if local_title is not None:
            local = menu_item(local_title,
                              on_press=self.parent.show_local(
                                  local_title, local_doc))
            buttons.add(local)
        else:
            local = Text(
                ('info_minor header', " " + _("Help on this screen") + " "))

        if self.parent.app.controllers.Error.reports:
            view_errors = menu_item(
                _("View error reports").format(local_title),
                on_press=self.parent.show_errors)
            buttons.add(view_errors)
        else:
            view_errors = Text(
                ('info_minor header', " " + _("View error reports") + " "))

        for button in buttons:
            connect_signal(button.base_widget, 'click', self._close)

        entries = [
            local,
            keys,
            drop_to_shell,
            view_errors,
            hline,
            about,
        ]

        if self.parent.ssh_password is not None:
            entries.append(ssh_help)

        if self.parent.app.opts.run_on_serial:
            entries.extend([
                hline,
                rich,
            ])

        rows = [
            Columns([
                ('fixed', 1, tlcorner),
                hline,
                (widget_width(close), close),
                ('fixed', 1, trcorner),
            ]),
        ]
        for entry in entries:
            if isinstance(entry, Divider):
                left, right = ltee, rtee
            else:
                left = right = vline
            rows.append(
                Columns([
                    ('fixed', 1, left),
                    entry,
                    ('fixed', 1, right),
                ]))
        rows.append(Columns([
            (1, blcorner),
            hline,
            (1, brcorner),
        ]))
        self.width = max(
            [widget_width(b)
             for b in entries if not isinstance(b, Divider)]) + 2
        self.height = len(entries) + 2
        super().__init__(Color.frame_header(Filler(Pile(rows))))
Esempio n. 4
0
    def __init__(self, parent):
        self.parent = parent
        close = header_btn(parent.base_widget.label)
        about = menu_item(_("About this installer"), on_press=self._about)
        keys = menu_item(_("Keyboard shortcuts"), on_press=self._shortcuts)
        drop_to_shell = menu_item(_("Enter shell"), on_press=self._debug_shell)
        color = menu_item(_("Toggle color on/off"),
                          on_press=self._toggle_color)
        buttons = {
            close,
            about,
            keys,
            drop_to_shell,
            color,
        }
        local_title, local_doc = parent.app.ui.body.local_help()
        if local_title is not None:
            local = menu_item(local_title,
                              on_press=self._show_local(
                                  local_title, local_doc))
            buttons.add(local)
        else:
            local = Text(
                ('info_minor header', " " + _("Help on this screen") + " "))
        for button in buttons:
            connect_signal(button.base_widget, 'click', self._close)

        entries = [
            local,
            keys,
            drop_to_shell,
            hline,
            about,
            hline,
            color,
        ]

        rows = [
            Columns([
                ('fixed', 1, tlcorner),
                hline,
                (widget_width(close), close),
                ('fixed', 1, trcorner),
            ]),
        ]
        for entry in entries:
            if isinstance(entry, Divider):
                left, right = ltee, rtee
            else:
                left = right = vline
            rows.append(
                Columns([
                    ('fixed', 1, left),
                    entry,
                    ('fixed', 1, right),
                ]))
        rows.append(Columns([
            (1, blcorner),
            hline,
            (1, brcorner),
        ]))
        self.width = max(
            [widget_width(b)
             for b in entries if not isinstance(b, Divider)]) + 2
        self.height = len(entries) + 2
        super().__init__(Color.frame_header(Filler(Pile(rows))))