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',
self.welcome),
('welcome:finish',
self.welcome_handler),
('installpath:finish',
self.installpath_handler),
('installpath:show',
self.installpath),
('network:show',
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',
self.filesystem),
('filesystem:finish',
@ -185,14 +173,6 @@ class Controller:
view = WelcomeView(self.models['welcome'], self.signal)
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 -------------------------------------------------------------
def installpath(self):
title = "15.10"
@ -208,41 +188,22 @@ class Controller:
self.ui.set_body(InstallpathView(self.models["installpath"],
self.signal))
def installpath_handler(self):
log.debug("InstallPath handler called.")
pass
def install_ubuntu(self):
log.debug("Installing Ubuntu path chosen.")
self.signal.emit_signal('network:show')
def install_ubuntu_handler(self):
pass
def install_maas_region_server(self):
pass
def install_maas_region_server_handler(self):
pass
def install_maas_cluster_server(self):
pass
def install_maas_cluster_server_handler(self):
pass
def test_media(self):
pass
def test_media_handler(self):
pass
def test_memory(self):
pass
def test_memory_handler(self):
pass
# Network -----------------------------------------------------------------
def network(self):
title = "Network connections"
@ -254,30 +215,15 @@ class Controller:
self.ui.set_footer(footer)
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):
pass
def set_default_route_handler(self):
pass
def bond_interfaces(self):
pass
def bond_interfaces_handler(self):
pass
def install_network_driver(self):
pass
def install_network_driver_handler(self):
pass
# Filesystem --------------------------------------------------------------
def filesystem(self):
title = "Filesystem setup"
@ -343,33 +289,18 @@ class Controller:
def connect_iscsi_disk(self):
pass
def connect_iscsi_disk_handler(self):
pass
def connect_ceph_disk(self):
pass
def connect_ceph_disk_handler(self):
pass
def create_volume_group(self):
pass
def create_volume_group_handler(self):
pass
def create_raid(self):
pass
def create_raid_handler(self):
pass
def setup_bcache(self):
pass
def setup_bcache_handler(self):
pass
def add_first_gpt_partition(self):
pass

View File

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

View File

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

View File

@ -67,8 +67,10 @@ class WelcomeView(WidgetWrap):
return BoxAdapter(SimpleList(sl),
height=len(sl))
def confirm(self, button):
emit_signal(self.signal, 'welcome:finish', button.label)
def confirm(self, result):
self.model.selected_language = result.label
emit_signal(self.signal, 'installpath:show')
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.")