connect filesystem menu actions to respective signals

Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
This commit is contained in:
Adam Stokes 2015-07-21 17:04:28 -04:00
parent 0be2b491f0
commit fc3fccea02
4 changed files with 30 additions and 91 deletions

View File

@ -59,22 +59,10 @@ class Controller:
[ [
('welcome:show', ('welcome:show',
self.welcome), self.welcome),
('welcome:finish',
self.welcome_handler),
('installpath:finish',
self.installpath_handler),
('installpath:show', ('installpath:show',
self.installpath), self.installpath),
('network:show', ('network:show',
self.network), self.network),
('network:finish',
self.network_handler),
('network:finish-set-default-route',
self.set_default_route_handler),
('network:finish-bond-interfaces',
self.bond_interfaces_handler),
('network:install-network-driver',
self.install_network_driver_handler),
('filesystem:show', ('filesystem:show',
self.filesystem), self.filesystem),
('filesystem:finish', ('filesystem:finish',
@ -185,14 +173,6 @@ class Controller:
view = WelcomeView(self.models['welcome'], self.signal) view = WelcomeView(self.models['welcome'], self.signal)
self.ui.set_body(view) self.ui.set_body(view)
def welcome_handler(self, language=None):
log.debug("Welcome handler")
if language is None:
raise SystemExit("No language selected, exiting as there are no "
"more previous controllers to render.")
log.debug("Welcome Model: {}".format(self.models["welcome"]))
self.signal.emit_signal('installpath:show')
# InstallPath ------------------------------------------------------------- # InstallPath -------------------------------------------------------------
def installpath(self): def installpath(self):
title = "15.10" title = "15.10"
@ -208,41 +188,22 @@ class Controller:
self.ui.set_body(InstallpathView(self.models["installpath"], self.ui.set_body(InstallpathView(self.models["installpath"],
self.signal)) self.signal))
def installpath_handler(self):
log.debug("InstallPath handler called.")
pass
def install_ubuntu(self): def install_ubuntu(self):
log.debug("Installing Ubuntu path chosen.") log.debug("Installing Ubuntu path chosen.")
self.signal.emit_signal('network:show') self.signal.emit_signal('network:show')
def install_ubuntu_handler(self):
pass
def install_maas_region_server(self): def install_maas_region_server(self):
pass pass
def install_maas_region_server_handler(self):
pass
def install_maas_cluster_server(self): def install_maas_cluster_server(self):
pass pass
def install_maas_cluster_server_handler(self):
pass
def test_media(self): def test_media(self):
pass pass
def test_media_handler(self):
pass
def test_memory(self): def test_memory(self):
pass pass
def test_memory_handler(self):
pass
# Network ----------------------------------------------------------------- # Network -----------------------------------------------------------------
def network(self): def network(self):
title = "Network connections" title = "Network connections"
@ -254,30 +215,15 @@ class Controller:
self.ui.set_footer(footer) self.ui.set_footer(footer)
self.ui.set_body(NetworkView(self.models["network"], self.signal)) self.ui.set_body(NetworkView(self.models["network"], self.signal))
def network_handler(self, interface=None):
log.info("Network Interface choosen: {}".format(interface))
if interface is None:
urwid.emit_signal(self.signal, 'installpath:show')
urwid.emit_signal(self.signal, 'filesystem:show')
def set_default_route(self): def set_default_route(self):
pass pass
def set_default_route_handler(self):
pass
def bond_interfaces(self): def bond_interfaces(self):
pass pass
def bond_interfaces_handler(self):
pass
def install_network_driver(self): def install_network_driver(self):
pass pass
def install_network_driver_handler(self):
pass
# Filesystem -------------------------------------------------------------- # Filesystem --------------------------------------------------------------
def filesystem(self): def filesystem(self):
title = "Filesystem setup" title = "Filesystem setup"
@ -343,33 +289,18 @@ class Controller:
def connect_iscsi_disk(self): def connect_iscsi_disk(self):
pass pass
def connect_iscsi_disk_handler(self):
pass
def connect_ceph_disk(self): def connect_ceph_disk(self):
pass pass
def connect_ceph_disk_handler(self):
pass
def create_volume_group(self): def create_volume_group(self):
pass pass
def create_volume_group_handler(self):
pass
def create_raid(self): def create_raid(self):
pass pass
def create_raid_handler(self):
pass
def setup_bcache(self): def setup_bcache(self):
pass pass
def setup_bcache_handler(self):
pass
def add_first_gpt_partition(self): def add_first_gpt_partition(self):
pass pass

View File

@ -28,8 +28,7 @@ from probert import prober
from probert.storage import StorageInfo from probert.storage import StorageInfo
import math import math
from urwid import (WidgetWrap, ListBox, Pile, BoxAdapter, from urwid import (WidgetWrap, ListBox, Pile, BoxAdapter,
Text, Columns, LineBox, Edit, RadioButton, Text, Columns, LineBox, Edit, RadioButton)
emit_signal)
from subiquity.ui.lists import SimpleList from subiquity.ui.lists import SimpleList
from subiquity.ui.buttons import done_btn, reset_btn, cancel_btn from subiquity.ui.buttons import done_btn, reset_btn, cancel_btn
from subiquity.ui.utils import Padding, Color from subiquity.ui.utils import Padding, Color
@ -329,8 +328,8 @@ class FilesystemView(WidgetWrap):
buttons = [ buttons = [
Color.button_secondary(reset_btn(on_press=self.reset), Color.button_secondary(reset_btn(on_press=self.reset),
focus_map='button_secondary focus'), focus_map='button_secondary focus'),
Color.button_secondary(done_btn(on_press=self.done), #Color.button_secondary(done_btn(on_press=self.done),
focus_map='button_secondary focus'), # focus_map='button_secondary focus'),
] ]
return Pile(buttons) return Pile(buttons)
@ -356,20 +355,22 @@ class FilesystemView(WidgetWrap):
def _build_menu(self): def _build_menu(self):
opts = [] opts = []
for opt in self.model.fs_menu: for opt, sig, _ in self.model.fs_menu:
opts.append( opts.append(
Color.button_secondary(done_btn(label=opt, Color.button_secondary(
on_press=self.done), done_btn(label=opt,
focus_map='button_secondary focus')) on_press=self.on_fs_menu_press),
focus_map='button_secondary focus'))
return Pile(opts) return Pile(opts)
def done(self, button): def on_fs_menu_press(self, result):
log.info("Filesystem View done() getting disk info") log.info("Filesystem View done() getting disk info")
actions = self.model.get_actions() actions = self.model.get_actions()
self.signal.emit_signal('filesystem:done', False, actions) self.signal.emit_signal(
self.model.get_signal_by_name(result.label), False, actions)
def cancel(self, button): def cancel(self, button):
self.signal.emit_signal('filesystem:done') self.signal.emit_signal('network:show')
def reset(self, button): def reset(self, button):
self.signal.emit_signal('filesystem:done', True) self.signal.emit_signal('filesystem:done', True)

View File

@ -151,9 +151,10 @@ class NetworkView(WidgetWrap):
col_1 = [] col_1 = []
for iface in ifaces: for iface in ifaces:
col_1.append( col_1.append(
Color.button_primary(confirm_btn(label=iface, Color.button_primary(
on_press=self.confirm), confirm_btn(label=iface,
focus_map='button_primary focus')) on_press=self.on_net_dev_press),
focus_map='button_primary focus'))
col_1 = BoxAdapter(SimpleList(col_1), col_1 = BoxAdapter(SimpleList(col_1),
height=len(col_1)) height=len(col_1))
@ -174,14 +175,18 @@ class NetworkView(WidgetWrap):
opts = [] opts = []
for opt, sig, _ in self.model.additional_options: for opt, sig, _ in self.model.additional_options:
opts.append( opts.append(
Color.button_secondary(confirm_btn(label=opt, Color.button_secondary(
on_press=self.confirm), confirm_btn(label=opt,
focus_map='button_secondary focus')) on_press=self.additional_menu_select),
focus_map='button_secondary focus'))
return Pile(opts) return Pile(opts)
def confirm(self, result): def additional_menu_select(self, result):
log.debug("Selected network dev: {}".format(result.label))
self.signal.emit_signal(self.model.get_signal_by_name(result.label)) self.signal.emit_signal(self.model.get_signal_by_name(result.label))
def on_net_dev_press(self, result):
log.debug("Selected network dev: {}".format(result.label))
self.signal.emit_signal('filesystem:show')
def cancel(self, button): def cancel(self, button):
self.signal.emit_signal('installpath:show') self.signal.emit_signal('installpath:show')

View File

@ -67,8 +67,10 @@ class WelcomeView(WidgetWrap):
return BoxAdapter(SimpleList(sl), return BoxAdapter(SimpleList(sl),
height=len(sl)) height=len(sl))
def confirm(self, button): def confirm(self, result):
emit_signal(self.signal, 'welcome:finish', button.label) self.model.selected_language = result.label
emit_signal(self.signal, 'installpath:show')
def cancel(self, button): def cancel(self, button):
emit_signal(self.signal, 'welcome:finish', None) raise SystemExit("No language selected, exiting as there are no "
"more previous controllers to render.")