Ejemplo n.º 1
0
    def check_state_available(self, sender=None):
        self.spinner.stop()

        rows = [
            Text(_("You can read the release notes for each version at:")),
            Text(""),
            Text("https://github.com/CanonicalLtd/subiquity/releases",
                 align='center'),
            Text(""),
            Text(
                _("If you choose to update, the update will be downloaded "
                  "and the installation will continue from here."), ),
        ]

        buttons = button_pile([
            done_btn(_("Update to the new installer"), on_press=self.update),
            done_btn(_("Continue without updating"), on_press=self.done),
            other_btn(_("Back"), on_press=self.cancel),
        ])
        buttons.base_widget.focus_position = 1

        excerpt = _(self.available_excerpt).format(
            current=self.controller.status.current_snap_version,
            new=self.controller.status.new_snap_version)

        self.title = self.available_title
        self.controller.ui.set_header(self.available_title)
        self._w = screen(rows, buttons, excerpt=excerpt)
        if 'update' in self.controller.answers:
            if self.controller.answers['update']:
                self.update()
            else:
                self.controller.app.aio_loop.call_soon(self.controller.done)
Ejemplo n.º 2
0
    def update_failed(self, msg):
        self.spinner.stop()

        rows = [Text(msg)]

        buttons = button_pile([
            done_btn(_("Try again"), on_press=self.try_update_again),
            done_btn(_("Continue without updating"), on_press=self.done),
            other_btn(_("Back"), on_press=self.cancel),
        ])
        buttons.base_widget.focus_position = 1

        self.title = self.update_failed_title
        self._w = screen(rows, buttons, excerpt=_(self.update_failed_excerpt))
Ejemplo n.º 3
0
    def _build_buttons(self):
        done = done_btn(on_press=self.done)

        buttons = [
            Color.button(done),
        ]
        return Pile(buttons)
Ejemplo n.º 4
0
    def _build_buttons(self):
        cancel = Color.button(cancel_btn(on_press=self.cancel))
        done = Color.button(done_btn(on_press=self.done))
        self.default_focus = done

        buttons = [done, cancel]
        return Pile(buttons, focus_item=done)
Ejemplo n.º 5
0
 def _build_buttons(self):
     log.debug('bcache: _build_buttons')
     buttons = [
         done_btn(on_press=self.done),
         cancel_btn(on_press=self.cancel),
     ]
     return Pile(buttons)
Ejemplo n.º 6
0
    def __init__(self, controller):
        self.controller = controller
        user_name = ""
        with open('/var/lib/ubuntu-wsl/assigned_account', 'r') as f:
            user_name = f.read()
        complete_text = _(
            "Hi {username},\n"
            "You have complete the setup!\n\n"
            "It is suggested to run the following command to update your Ubuntu "
            "to the latest version:\n\n\n"
            "  $ sudo apt update\n  $ sudo apt upgrade\n\n\n"
            "You can use the builtin `ubuntuwsl` command to manage your WSL settings:\n\n\n"
            "  $ sudo ubuntuwsl ...\n\n\n"
            "* All settings will take effect after first restart of Ubuntu."
        ).format(username=user_name)

        super().__init__(
            screen(
                rows=[],
                buttons=button_pile([
                    done_btn(_("Done"), on_press=self.confirm),
                ]),
                focus_buttons=True,
                excerpt=complete_text,
            ))
Ejemplo n.º 7
0
    def _build_buttons(self):
        done = done_btn(on_press=self.done)

        buttons = [
            Color.button(done, focus_map='button focus'),
        ]
        return Pile(buttons)
Ejemplo n.º 8
0
    def _build_buttons(self):
        log.debug('lvm: _build_buttons')
        cancel = cancel_btn(on_press=self.cancel)
        done = done_btn(on_press=self.done)

        buttons = [Color.button(done), Color.button(cancel)]
        return Pile(buttons)
Ejemplo n.º 9
0
 def __init__(self, controller):
     self.controller = controller
     super().__init__(screen(
         rows=[],
         buttons=button_pile([done_btn("OK", on_press=self.confirm)]),
         focus_buttons=True,
         excerpt=self.excerpt))
Ejemplo n.º 10
0
    def _build_buttons(self):
        log.debug('bond: _build_buttons')
        cancel = cancel_btn(on_press=self.cancel)
        done = done_btn(on_press=self.done)

        items = [Color.button(done), Color.button(cancel)]
        log.debug('buttons: items: {}'.format(items))
        return Pile(items)
Ejemplo n.º 11
0
    def _build_buttons(self):
        self.done = Toggleable(done_btn(_("Done"), on_press=self.done))

        return [
            self.done,
            reset_btn(_("Reset"), on_press=self.reset),
            back_btn(_("Back"), on_press=self.cancel),
        ]
Ejemplo n.º 12
0
    def _build_buttons(self):
        cancel = Color.button(cancel_btn(on_press=self.cancel),
                              focus_map='button focus')
        done = Color.button(done_btn(on_press=self.done),
                            focus_map='button focus')

        buttons = [done, cancel]
        return Pile(buttons, focus_item=done)
Ejemplo n.º 13
0
    def _build_buttons(self):
        cancel = cancel_btn(on_press=self.cancel)
        done = done_btn(on_press=self.done)

        buttons = [
            Color.button(done, focus_map='button focus'),
            Color.button(cancel, focus_map='button focus')
        ]
        return Pile(buttons)
Ejemplo n.º 14
0
    def _build_buttons(self):
        log.debug('FileSystemView: building buttons')
        self.done = Toggleable(done_btn(_("Done"), on_press=self.done))

        return [
            self.done,
            reset_btn(_("Reset"), on_press=self.reset),
            back_btn(_("Back"), on_press=self.cancel),
            ]
Ejemplo n.º 15
0
    def _build_buttons(self):
        cancel = cancel_btn(_("Cancel"), on_press=self.cancel)
        done = done_btn(_("Done"), on_press=self.done)

        buttons = [
            done,
            cancel,
        ]
        return button_pile(buttons)
Ejemplo n.º 16
0
    def _build_buttons(self):
        back = back_btn(_("Back"), on_press=self.cancel)
        done = done_btn(_("Done"), on_press=self.done)

        buttons = button_pile([done, back])

        buttons.base_widget.focus_position = 0

        return buttons
Ejemplo n.º 17
0
    def __init__(self, controller, netdev_infos):
        self.controller = controller
        self.dev_name_to_table = {}
        self.cur_netdev_names = []
        self.error = Text("", align='center')

        self.device_colspecs = {
            0: ColSpec(rpad=1),
            3: ColSpec(min_width=15),
            4: ColSpec(can_shrink=True, rpad=1),
        }

        self.heading_table = TablePile([
            TableRow([
                Color.info_minor(Text(header)) for header in [
                    "",
                    "NAME",
                    "TYPE",
                    "NOTES",
                    "",
                ]
            ])
        ],
                                       spacing=2,
                                       colspecs=self.device_colspecs)

        self.device_pile = Pile([self.heading_table])

        for dev_info in netdev_infos:
            self.new_link(dev_info)

        self._create_bond_btn = menu_btn(_("Create bond"),
                                         on_press=self._create_bond)
        bp = button_pile([self._create_bond_btn])
        bp.align = 'left'

        rows = [
            self.device_pile,
            bp,
        ]

        self.buttons = button_pile([
            done_btn("TBD", on_press=self.done),  # See _route_watcher
            back_btn(_("Back"), on_press=self.cancel),
        ])
        self.bottom = Pile([
            ('pack', self.buttons),
        ])

        self.error_showing = False

        super().__init__(
            screen(rows=rows,
                   buttons=self.bottom,
                   focus_buttons=True,
                   excerpt=_(self.excerpt)))
Ejemplo n.º 18
0
 def __init__(self, parent, dev_info):
     self.parent = parent
     widgets = [
         Text(self.parent.controller.get_info_for_netdev(dev_info.name)),
         Text(""),
         button_pile([done_btn(_("Close"), on_press=self.close)]),
     ]
     # {device} is the name of a network device
     title = _("Info for {device}").format(device=dev_info.name)
     super().__init__(title, widgets, 0, 2)
Ejemplo n.º 19
0
 def __init__(self, parent, name, nic_info):
     self.parent = parent
     widgets = [
         Text(nic_info),
         Text(""),
         button_pile([done_btn(_("Close"), on_press=self.close)]),
         ]
     # {device} is the name of a network device
     title = _("Info for {device}").format(device=name)
     super().__init__(title, widgets, 0, 2)
Ejemplo n.º 20
0
 def __init__(self, parent, device):
     log.debug('ViewInterfaceInfo: {}'.format(device))
     self.parent = parent
     result = yaml.dump(device._net_info.serialize(),
                        default_flow_style=False)
     widgets = [
         Text(result),
         Text(""),
         button_pile([done_btn(_("Close"), on_press=self.close)]),
     ]
     title = _("Info for {}").format(device.name)
     super().__init__(title, widgets, 0, 2)
Ejemplo n.º 21
0
 def __init__(self):
     self.done_btn = Toggleable(done_btn(), 'button')
     self.cancel_btn = Toggleable(cancel_btn(), 'button')
     connect_signal(self.done_btn.base_widget, 'click', self._click_done)
     connect_signal(self.cancel_btn.base_widget, 'click',
                    self._click_cancel)
     self.buttons = Pile([self.done_btn, self.cancel_btn])
     self._fields = []
     for field in self._unbound_fields:
         bf = field.bind(self)
         setattr(self, bf.field.name, bf)
         self._fields.append(bf)
Ejemplo n.º 22
0
 def __init__(self, initial={}):
     self.done_btn = Toggleable(
         done_btn(self.ok_label, on_press=self._click_done))
     self.cancel_btn = Toggleable(
         cancel_btn(_("Cancel"), on_press=self._click_cancel))
     self.buttons = button_pile([self.done_btn, self.cancel_btn])
     self._fields = []
     for field in self._unbound_fields:
         bf = field.bind(self)
         setattr(self, bf.field.name, bf)
         self._fields.append(bf)
         if field.name in initial:
             bf.value = initial[field.name]
Ejemplo n.º 23
0
    def _build_buttons(self):
        log.debug('FileSystemView: building buttons')
        buttons = []

        # don't enable done botton if we can't install
        # XXX should enable/disable button rather than having it appear/disappear I think
        if self.model.can_install():
            buttons.append(done_btn(_("Done"), on_press=self.done))

        buttons.append(reset_btn(_("Reset"), on_press=self.reset))
        buttons.append(back_btn(_("Back"), on_press=self.cancel))

        return button_pile(buttons)
Ejemplo n.º 24
0
    def __init__(self, controller):
        complete_text = _("You have already completed setup. Aborted.")

        self.controller = controller

        super().__init__(
            screen(
                rows=[],
                buttons=button_pile([
                    done_btn(_("Done"), on_press=self.confirm),
                ]),
                focus_buttons=True,
                excerpt=complete_text,
            ))
Ejemplo n.º 25
0
 def __init__(self, parent, disk):
     self.parent = parent
     dinfo = disk.info_for_display()
     rows = []
     for label, key in labels_keys:
         v = str(dinfo[key])
         rows.append(TableRow([Text(label, align='right'), Text(v)]))
     widgets = [
         TablePile(rows, colspecs={1: ColSpec(can_shrink=True)}),
         Text(""),
         button_pile([done_btn(_("Close"), on_press=self.close)]),
         ]
     title = _("Info for {}").format(disk.label)
     super().__init__(title, widgets, 0, 2)
Ejemplo n.º 26
0
    def check_state_checking(self):
        self.spinner.start()

        rows = [self.spinner]

        buttons = [
            done_btn(_("Continue without updating"), on_press=self.done),
            other_btn(_("Back"), on_press=self.cancel),
        ]

        self.title = self.checking_title
        self.controller.ui.set_header(self.title)
        self._w = screen(rows, buttons, excerpt=_(self.checking_excerpt))
        schedule_task(self._wait_check_result())
Ejemplo n.º 27
0
 def __init__(self, parent, device):
     self.parent = parent
     if device.info is not None:
         result = yaml.dump(device.info.serialize(),
                            default_flow_style=False)
     else:
         result = "Configured but not yet created {type} interface.".format(
             type=device.type)
     widgets = [
         Text(result),
         Text(""),
         button_pile([done_btn(_("Close"), on_press=self.close)]),
     ]
     title = _("Info for {device}").format(device=device.name)
     super().__init__(title, widgets, 0, 2)
Ejemplo n.º 28
0
    def _build_buttons(self):
        log.debug('FileSystemView: building buttons')
        buttons = []

        # don't enable done botton if we can't install
        if self.model.installable():
            buttons.append(
                Color.button(done_btn(on_press=self.done),
                             focus_map='button focus'))

        buttons.append(
            Color.button(reset_btn(on_press=self.reset),
                         focus_map='button focus'))
        buttons.append(
            Color.button(cancel_btn(on_press=self.cancel),
                         focus_map='button focus'))

        return Pile(buttons)
Ejemplo n.º 29
0
    def __init__(self, model, controller):
        self.model = model
        self.controller = controller
        self.dev_to_table = {}
        self.cur_netdevs = []
        self.error = Text("", align='center')

        self.device_colspecs = {
            0: ColSpec(rpad=1),
            3: ColSpec(min_width=15),
            4: ColSpec(can_shrink=True, rpad=1),
        }

        self.device_pile = Pile(self._build_model_inputs())

        self._create_bond_btn = menu_btn(_("Create bond"),
                                         on_press=self._create_bond)
        bp = button_pile([self._create_bond_btn])
        bp.align = 'left'

        rows = [
            self.device_pile,
            bp,
        ]

        self.buttons = button_pile([
            done_btn("TBD", on_press=self.done),  # See _route_watcher
            back_btn(_("Back"), on_press=self.cancel),
        ])
        self.bottom = Pile([
            ('pack', self.buttons),
        ])

        self.controller.network_event_receiver.add_default_route_watcher(
            self._route_watcher)

        self.error_showing = False

        super().__init__(
            screen(rows=rows,
                   buttons=self.bottom,
                   focus_buttons=True,
                   excerpt=_(self.excerpt)))
Ejemplo n.º 30
0
    def __init__(self, parent, disk):
        log.debug('DiskInfoView: {}'.format(disk))
        self.parent = parent
        dinfo = disk.info_for_display()
        template = """\
{devname}:\n
 Vendor: {vendor}
 Model: {model}
 SerialNo: {serial}
 Size: {humansize} ({size}B)
 Bus: {bus}
 Rotational: {rotational}
 Path: {devpath}"""
        result = template.format(**dinfo)
        widgets = [
            Text(result),
            Text(""),
            button_pile([done_btn(_("Close"), on_press=self.close)]),
        ]
        title = _("Info for {}").format(disk.label)
        super().__init__(title, widgets, 0, 2)