Example #1
0
    def __init__(self, model, controller, name):
        self.model = model
        self.controller = controller
        self.dev = self.model.get_netdev_by_name(name)

        self.form = WLANForm()

        connect_signal(self.form, 'submit', self.done)
        connect_signal(self.form, 'cancel', self.cancel)

        if self.dev.configured_ssid is not None:
            self.form.ssid.value = self.dev.configured_ssid
        if self.dev.configured_wifi_psk is not None:
            self.form.psk.value = self.dev.configured_wifi_psk

        self.ssid_row = self.form.ssid.as_row(self, self.form.longest_caption)
        self.psk_row = self.form.psk.as_row(self, self.form.longest_caption)

        self.inputs = Pile(self._build_iface_inputs())

        self.error = Text("")
        self.body = [
            Padding.center_79(self.inputs),
            Padding.line_break(""),
            Padding.center_79(Color.info_error(self.error)),
            Padding.line_break(""),
            Padding.fixed_10(Pile([self.form.done_btn, self.form.cancel_btn])),
        ]
        self.orig_w = None
        super().__init__(ListBox(self.body))
Example #2
0
    def __init__(self, model, signal, selected_disk):
        log.debug('AddPartitionView: selected_disk=[{}]'.format(selected_disk))
        self.model = model
        self.signal = signal
        self.selected_disk = selected_disk
        self.disk_obj = self.model.get_disk(selected_disk)

        self.partnum = IntegerEditor(caption="",
                                     default=self.disk_obj.lastpartnumber + 1)
        self.size_str = _humanize_size(self.disk_obj.freespace)
        self.size = StringEditor(caption="".format(self.size_str))
        self.mountpoint = MountEditor(caption="", edit_text="/")
        self.fstype = Selector(opts=self.model.supported_filesystems)
        body = [
            Columns([
                ("weight", 0.2,
                 Text("Adding partition to {}".format(self.disk_obj.devpath),
                      align="right")), ("weight", 0.3, Text(""))
            ]),
            Padding.line_break(""),
            self._container(),
            Padding.line_break(""),
            Padding.fixed_10(self._build_buttons())
        ]
        partition_box = Padding.center_50(ListBox(body))
        super().__init__(partition_box)
Example #3
0
    def __init__(self, model, controller, name):
        self.model = model
        self.controller = controller
        self.dev = self.model.get_netdev_by_name(name)
        self.is_gateway = False
        self.form = NetworkConfigForm(self.ip_version)
        connect_signal(self.form, 'submit', self.done)
        connect_signal(self.form, 'cancel', self.cancel)

        self.form.subnet.help = "CIDR e.g. %s"%(self.example_address,)
        configured_addresses = self.dev.configured_ip_addresses_for_version(self.ip_version)
        if configured_addresses:
            addr = ipaddress.ip_interface(configured_addresses[0])
            self.form.subnet.value = str(addr.network)
            self.form.address.value = str(addr.ip)
        configured_gateway = self.dev.configured_gateway_for_version(self.ip_version)
        if configured_gateway:
            self.form.gateway.value = configured_gateway
        self.form.nameservers.value = ', '.join(self.dev.configured_nameservers)
        self.form.searchdomains.value = ', '.join(self.dev.configured_searchdomains)
        self.error = Text("", align='center')
        #self.set_as_default_gw_button = Pile(self._build_set_as_default_gw_button())
        body = [
            Padding.center_79(self.form.as_rows(self)),
            #Padding.line_break(""),
            #Padding.center_79(self.set_as_default_gw_button),
            Padding.line_break(""),
            Padding.fixed_10(self.form.buttons)
        ]
        super().__init__(ListBox(body))
 def __init__(self, model, signal, iface):
     self.model = model
     self.signal = signal
     self.ifname = iface
     self.iface = self.model.get_interface(self.ifname)
     self.is_gateway = False
     self.gateway_input = StringEditor(caption="")  # FIXME: ipaddr_editor
     self.address_input = StringEditor(caption="")  # FIXME: ipaddr_editor
     self.subnet_input = StringEditor(caption="")  # FIXME: ipaddr_editor
     self.error = Text("", align='center')
     self.nameserver_input = \
         StringEditor(caption="")  # FIXME: ipaddr_editor
     self.searchdomains_input = \
         StringEditor(caption="")  # FIXME: ipaddr_editor
     self.set_as_default_gw_button = Pile(
         self._build_set_as_default_gw_button())
     body = [
         Padding.center_79(self._build_iface_inputs()),
         Padding.line_break(""),
         Padding.center_79(self.set_as_default_gw_button),
         Padding.line_break(""),
         Padding.center_90(Color.info_error(self.error)),
         Padding.line_break(""),
         Padding.fixed_10(self._build_buttons())
     ]
     super().__init__(ListBox(body))
Example #5
0
 def __init__(self, parent, ssids):
     self.parent = parent
     button = cancel_btn(_("Cancel"), on_press=self.do_cancel)
     ssid_list = [menu_btn(label=ssid, on_press=self.do_network)
                  for ssid in ssids]
     p = Pile([BoxAdapter(ListBox(ssid_list), height=10),
               Padding.fixed_10(button)])
     box = LineBox(p, title="Select a network")
     super().__init__(box)
Example #6
0
 def __init__(self, step_count, cancel_func):
     self.cancel_func = cancel_func
     button = cancel_btn(on_press=self.do_cancel)
     self.bar = ProgressBar(normal='progress_incomplete',
                     complete='progress_complete',
                     current=0, done=step_count)
     box = LineBox(Pile([self.bar,
                         Padding.fixed_10(button)]),
                   title="Applying network config")
     super().__init__(box)
Example #7
0
 def __init__(self, model, signal):
     self.model = model
     self.signal = signal
     self.items = []
     self.body = [
         Padding.center_79(self._build_model_inputs()),
         Padding.line_break(""),
         Padding.fixed_10(self._build_buttons()),
     ]
     super().__init__(ListBox(self.body))
Example #8
0
 def __init__(self, model, signal, selected_device, hdinfo):
     log.debug('DiskInfoView: {}'.format(selected_device))
     self.model = model
     self.signal = signal
     self.selected_device = selected_device
     hdinfo = hdinfo.split("\n")
     body = []
     for h in hdinfo:
         body.append(Text(h))
     body.append(Padding.fixed_10(self._build_buttons()))
     super().__init__(Padding.center_79(SimpleList(body)))
Example #9
0
 def __init__(self, opts, model, controller, netdevs):
     self.opts = opts
     self.model = model
     self.controller = controller
     self.netdevs = netdevs
     self.items = []
     self.body = [
         Padding.center_79(self._build_model_inputs()),
         Padding.line_break(""),
         Padding.fixed_10(self._build_buttons())
     ]
     super().__init__(ListBox(self.body))
Example #10
0
 def __init__(self, model, signal):
     self.model = model
     self.signal = signal
     self.volgroup = UsernameEditor()
     self.selected_disks = []
     body = [
         Padding.center_50(self._build_disk_selection()),
         Padding.line_break(""),
         Padding.center_50(self._build_lvm_configuration()),
         Padding.line_break(""),
         Padding.fixed_10(self._build_buttons())
     ]
     super().__init__(ListBox(body))
Example #11
0
 def __init__(self, model, signal):
     self.model = model
     self.signal = signal
     self.ceph_mon = StringEditor()
     self.username = StringEditor()
     self.ceph_key = StringEditor()
     self.pool = []
     body = [
         Padding.center_50(self._build_model_inputs()),
         Padding.line_break(""),
         Padding.fixed_10(self._build_buttons())
     ]
     super().__init__(ListBox(body))
Example #12
0
 def __init__(self, model, signal, iface):
     self.model = model
     self.signal = signal
     self.iface = iface
     self.iface_obj = self.model.get_interface(iface)
     self.essid_input = StringEditor(caption="")
     self.psk_input = PasswordEditor(caption="")
     self.body = [
         Padding.center_79(self._build_iface_inputs()),
         Padding.line_break(""),
         Padding.fixed_10(self._build_buttons())
     ]
     super().__init__(ListBox(self.body))
 def __init__(self, model, family, controller):
     self.model = model
     self.family = family
     self.controller = controller
     self.default_gateway_w = None
     self.gateway_options = Pile(self._build_default_routes())
     body = [
         Padding.center_79(Text("Please set the default gateway:")),
         Padding.line_break(""),
         Padding.center_79(self.gateway_options),
         Padding.line_break(""),
         Padding.fixed_10(self._build_buttons())
     ]
     super().__init__(ListBox(body))
Example #14
0
    def __init__(self, model, signal, selected_disk):
        self.model = model
        self.signal = signal
        self.selected_disk = selected_disk
        self.disk_obj = self.model.get_disk(self.selected_disk)

        self.body = [
            Padding.center_79(self._build_model_inputs()),
            Padding.line_break(""),
            Padding.center_79(self._build_menu()),
            Padding.line_break(""),
            Padding.fixed_10(self._build_buttons()),
        ]
        super().__init__(ListBox(self.body))
Example #15
0
 def __init__(self, model, controller):
     self.model = model
     self.controller = controller
     self.bond_iface = None
     self.bond_mode = Selector(self.model.bonding_modes.values())
     self.selected_ifaces = []
     body = [
         Padding.center_50(self._build_iface_selection()),
         Padding.line_break(""),
         Padding.center_50(self._build_bondmode_configuration()),
         Padding.line_break(""),
         Padding.fixed_10(self._build_buttons())
     ]
     super().__init__(ListBox(body))
Example #16
0
 def __init__(self, model, signal):
     self.model = model
     self.signal = signal
     self.raid_level = Selector(self.model.raid_levels)
     self.hot_spares = IntegerEditor()
     self.chunk_size = StringEditor(edit_text="4K")
     self.selected_disks = []
     body = [
         Padding.center_50(self._build_disk_selection()),
         Padding.line_break(""),
         Padding.center_50(self._build_raid_configuration()),
         Padding.line_break(""),
         Padding.fixed_10(self._build_buttons())
     ]
     super().__init__(ListBox(body))
Example #17
0
 def __init__(self, model, signal):
     self.model = model
     self.signal = signal
     self.selected_disks = {
         'CACHE': None,
         'BACKING': None,
     }
     body = [
         Padding.center_50(self._build_disk_selection(section='CACHE')),
         Padding.line_break(""),
         Padding.center_50(self._build_disk_selection(section='BACKING')),
         Padding.line_break(""),
         Padding.fixed_10(self._build_buttons())
     ]
     super().__init__(ListBox(body))
Example #18
0
    def __init__(self, model, signal, selected_disk):
        self.model = model
        self.signal = signal
        self.selected_disk = selected_disk
        self.disk_obj = self.model.get_disk(selected_disk)

        self.mountpoint = MountEditor(caption="", edit_text="/")
        self.fstype = Selector(opts=self.model.supported_filesystems)
        body = [
            Padding.line_break(""),
            self._container(),
            Padding.line_break(""),
            Padding.fixed_10(self._build_buttons())
        ]
        format_box = Padding.center_50(ListBox(body))
        super().__init__(format_box)
Example #19
0
 def __init__(self, opts, model, signal, user, ifaces):
     self.opts = opts
     self.model = model
     self.signal = signal
     self.user = user
     self.ifaces = ifaces
     self.items = []
     self.body = [
         Padding.line_break(""),
         Padding.line_break(""),
         Padding.line_break(""),
         Padding.center_79(self._build_model_inputs()),
         Padding.line_break(""),
         Padding.fixed_10(self._build_buttons())
     ]
     super().__init__(ListBox(self.body))
Example #20
0
 def __init__(self, model, signal):
     self.model = model
     self.signal = signal
     self.items = []
     self.error = Text("", align='center')
     self.body = [
         Padding.center_79(self._build_model_inputs()),
         Padding.line_break(""),
         Padding.center_79(self._build_additional_options()),
         Padding.line_break(""),
         Padding.center_79(Color.info_error(self.error)),
         Padding.line_break(""),
         Padding.fixed_10(self._build_buttons()),
     ]
     # FIXME determine which UX widget should have focus
     self.lb = ListBox(self.body)
     self.lb.set_focus(4)  # _build_buttons
     super().__init__(self.lb)
Example #21
0
 def _build_body(self):
     body = []
     if self.dev.type == 'wlan':
         body.extend([
             Padding.center_79(self.wifi_info),
             Padding.center_79(self.wifi_method),
             Padding.line_break(""),
         ])
     body.extend([
         Padding.center_79(self.ipv4_info),
         Padding.center_79(self.ipv4_method),
         Padding.line_break(""),
         Padding.center_79(self.ipv6_info),
         Padding.center_79(self.ipv6_method),
         Padding.line_break(""),
         Padding.fixed_10(self._build_buttons())
     ])
     return body
Example #22
0
 def __init__(self, model, signal):
     log.debug('FileSystemView init start()')
     self.model = model
     self.signal = signal
     self.items = []
     self.model.probe_storage()  # probe before we complete
     self.body = [
         Padding.center_79(Text("FILE SYSTEM")),
         Padding.center_79(self._build_partition_list()),
         Padding.line_break(""),
         Padding.center_79(Text("AVAILABLE DISKS")),
         Padding.center_79(self._build_model_inputs()),
         Padding.line_break(""),
         Padding.center_79(self._build_menu()),
         Padding.line_break(""),
         Padding.center_79(self._build_used_disks()),
         Padding.fixed_10(self._build_buttons()),
     ]
     super().__init__(ListBox(self.body))
     log.debug('FileSystemView init complete()')
Example #23
0
    def __init__(self, model, controller, opts, loop):
        self.model = model
        self.controller = controller
        self.opts = opts
        self.loop = loop
        self.items = []
        self.email = EmailEditor()
        self.error = Text("", align="center")
        self.progress = Text("", align="center")

        body = [
            Padding.center_90(self._build_model_inputs()),
            Padding.line_break(""),
            Padding.center_79(Color.info_minor(Text("If you do not have an account, visit https://login.ubuntu.com to create one."))),
            Padding.line_break(""),
            Padding.center_90(Color.info_error(self.error)),
            Padding.center_90(self.progress),
            Padding.line_break(""),
            Padding.fixed_10(self._build_buttons()),
        ]
        super().__init__(ListBox(body))
Example #24
0
    def __init__(self, model, signal, opts):
        self.model = model
        self.signal = signal
        self.opts = opts
        self.items = []
        self.realname = RealnameEditor(caption="")
        self.hostname = UsernameEditor(caption="")
        self.username = UsernameEditor(caption="")
        self.password = PasswordEditor(caption="")
        self.ssh_import_id = StringEditor(caption="")
        self.ssh_import_confirmed = True
        self.error = Text("", align="center")
        self.confirm_password = PasswordEditor(caption="")

        body = [
            Padding.center_90(self._build_model_inputs()),
            Padding.line_break(""),
            Padding.center_90(Color.info_error(self.error)),
            Padding.line_break(""),
            Padding.fixed_10(self._build_buttons()),
        ]
        super().__init__(ListBox(body))
Example #25
0
 def __init__(self, controller):
     self.controller = controller
     self.body = [Padding.fixed_10(self._build_buttons())]
     super().__init__(ListBox(self.body))
Example #26
0
 def __init__(self, closer, help_text):
     self._closer = closer
     button = Color.button(PlainButton(label="Close", on_press=lambda btn:self._closer()))
     super().__init__(LineBox(Pile([Text(help_text), Padding.fixed_10(button)]), title="Help"))