mostly convert file system views over
This commit is contained in:
parent
91d57c50f2
commit
5dc950c927
|
@ -19,7 +19,7 @@ from urwid import Text
|
||||||
from subiquitycore.ui.lists import SimpleList
|
from subiquitycore.ui.lists import SimpleList
|
||||||
from subiquitycore.ui.buttons import done_btn
|
from subiquitycore.ui.buttons import done_btn
|
||||||
from subiquitycore.ui.container import Pile
|
from subiquitycore.ui.container import Pile
|
||||||
from subiquitycore.ui.utils import Padding, Color
|
from subiquitycore.ui.utils import Padding
|
||||||
from subiquitycore.view import BaseView
|
from subiquitycore.view import BaseView
|
||||||
|
|
||||||
|
|
||||||
|
@ -40,12 +40,7 @@ class DiskInfoView(BaseView):
|
||||||
super().__init__(Padding.center_79(SimpleList(body)))
|
super().__init__(Padding.center_79(SimpleList(body)))
|
||||||
|
|
||||||
def _build_buttons(self):
|
def _build_buttons(self):
|
||||||
done = done_btn(on_press=self.done)
|
return Pile([done_btn(on_press=self.done)])
|
||||||
|
|
||||||
buttons = [
|
|
||||||
Color.button(done),
|
|
||||||
]
|
|
||||||
return Pile(buttons)
|
|
||||||
|
|
||||||
def keypress(self, size, key):
|
def keypress(self, size, key):
|
||||||
if key in ['tab', 'n', 'N', 'j', 'J']:
|
if key in ['tab', 'n', 'N', 'j', 'J']:
|
||||||
|
|
|
@ -14,12 +14,12 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from urwid import BoxAdapter, connect_signal, Text
|
from urwid import BoxAdapter, Text
|
||||||
|
|
||||||
from subiquitycore.ui.lists import SimpleList
|
from subiquitycore.ui.lists import SimpleList
|
||||||
from subiquitycore.ui.buttons import done_btn, cancel_btn, menu_btn
|
from subiquitycore.ui.buttons import done_btn, cancel_btn, menu_btn
|
||||||
from subiquitycore.ui.container import Columns, ListBox, Pile
|
from subiquitycore.ui.container import Columns, ListBox, Pile
|
||||||
from subiquitycore.ui.utils import Padding, Color
|
from subiquitycore.ui.utils import connect_signal, Padding
|
||||||
from subiquitycore.view import BaseView
|
from subiquitycore.view import BaseView
|
||||||
|
|
||||||
from subiquity.models.filesystem import humanize_size
|
from subiquity.models.filesystem import humanize_size
|
||||||
|
@ -48,8 +48,8 @@ class DiskPartitionView(BaseView):
|
||||||
done = done_btn(on_press=self.done)
|
done = done_btn(on_press=self.done)
|
||||||
|
|
||||||
buttons = [
|
buttons = [
|
||||||
Color.button(done),
|
done,
|
||||||
Color.amberbutton(cancel)
|
cancel,
|
||||||
]
|
]
|
||||||
return Pile(buttons)
|
return Pile(buttons)
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ class DiskPartitionView(BaseView):
|
||||||
else:
|
else:
|
||||||
connect_signal(part_btn, 'click', self._click_part, part)
|
connect_signal(part_btn, 'click', self._click_part, part)
|
||||||
return Columns([
|
return Columns([
|
||||||
(25, Color.menu_button(part_btn)),
|
(25, part_btn),
|
||||||
(9, Text(size, align="right")),
|
(9, Text(size, align="right")),
|
||||||
Text(fstype),
|
Text(fstype),
|
||||||
Text(mountpoint),
|
Text(mountpoint),
|
||||||
|
@ -92,7 +92,7 @@ class DiskPartitionView(BaseView):
|
||||||
add_btn = menu_btn(label)
|
add_btn = menu_btn(label)
|
||||||
connect_signal(add_btn, 'click', self.add_partition)
|
connect_signal(add_btn, 'click', self.add_partition)
|
||||||
partitioned_disks.append(Columns([
|
partitioned_disks.append(Columns([
|
||||||
(25, Color.menu_button(add_btn)),
|
(25, add_btn),
|
||||||
(9, Text(free_space, align="right")),
|
(9, Text(free_space, align="right")),
|
||||||
Text("free space"),
|
Text("free space"),
|
||||||
], 2))
|
], 2))
|
||||||
|
@ -101,8 +101,8 @@ class DiskPartitionView(BaseView):
|
||||||
text = ("Format or create swap on entire "
|
text = ("Format or create swap on entire "
|
||||||
"device (unusual, advanced)")
|
"device (unusual, advanced)")
|
||||||
partitioned_disks.append(Text(""))
|
partitioned_disks.append(Text(""))
|
||||||
partitioned_disks.append(Color.menu_button(
|
partitioned_disks.append(
|
||||||
menu_btn(label=text, on_press=self.format_entire)))
|
menu_btn(label=text, on_press=self.format_entire))
|
||||||
|
|
||||||
return BoxAdapter(SimpleList(partitioned_disks),
|
return BoxAdapter(SimpleList(partitioned_disks),
|
||||||
height=len(partitioned_disks))
|
height=len(partitioned_disks))
|
||||||
|
@ -117,10 +117,9 @@ class DiskPartitionView(BaseView):
|
||||||
""" Runs hdparm against device and displays its output
|
""" Runs hdparm against device and displays its output
|
||||||
"""
|
"""
|
||||||
text = ("Show disk information")
|
text = ("Show disk information")
|
||||||
return Color.menu_button(
|
return menu_btn(
|
||||||
menu_btn(
|
|
||||||
label=text,
|
label=text,
|
||||||
on_press=self.show_disk_info))
|
on_press=self.show_disk_info)
|
||||||
|
|
||||||
def show_disk_info(self, result):
|
def show_disk_info(self, result):
|
||||||
self.controller.show_disk_information(self.disk)
|
self.controller.show_disk_information(self.disk)
|
||||||
|
|
|
@ -21,7 +21,6 @@ configuration.
|
||||||
"""
|
"""
|
||||||
import logging
|
import logging
|
||||||
from urwid import (
|
from urwid import (
|
||||||
connect_signal,
|
|
||||||
LineBox,
|
LineBox,
|
||||||
Padding as UrwidPadding,
|
Padding as UrwidPadding,
|
||||||
Text,
|
Text,
|
||||||
|
@ -30,13 +29,13 @@ from urwid import (
|
||||||
|
|
||||||
from subiquitycore.ui.buttons import (
|
from subiquitycore.ui.buttons import (
|
||||||
cancel_btn,
|
cancel_btn,
|
||||||
continue_btn,
|
danger_btn,
|
||||||
done_btn,
|
done_btn,
|
||||||
menu_btn,
|
menu_btn,
|
||||||
reset_btn,
|
reset_btn,
|
||||||
)
|
)
|
||||||
from subiquitycore.ui.container import Columns, ListBox, Pile
|
from subiquitycore.ui.container import Columns, ListBox, Pile
|
||||||
from subiquitycore.ui.utils import Padding, Color
|
from subiquitycore.ui.utils import Color, connect_signal, Padding
|
||||||
from subiquitycore.view import BaseView
|
from subiquitycore.view import BaseView
|
||||||
|
|
||||||
from subiquity.models.filesystem import humanize_size
|
from subiquity.models.filesystem import humanize_size
|
||||||
|
@ -57,8 +56,8 @@ class FilesystemConfirmationView(WidgetWrap):
|
||||||
self.controller = controller
|
self.controller = controller
|
||||||
pile = Pile([
|
pile = Pile([
|
||||||
UrwidPadding(Text(confirmation_text), left=2, right=2),
|
UrwidPadding(Text(confirmation_text), left=2, right=2),
|
||||||
Padding.fixed_15(Color.amberbutton(cancel_btn(label="No", on_press=self.cancel))),
|
Padding.fixed_15(cancel_btn(label="No", on_press=self.cancel)),
|
||||||
Padding.fixed_15(Color.button(continue_btn(on_press=self.ok))),
|
Padding.fixed_15(danger_btn(label="Continue", on_press=self.ok)),
|
||||||
Text(""),
|
Text(""),
|
||||||
])
|
])
|
||||||
lb = LineBox(pile, title="Confirm destructive action")
|
lb = LineBox(pile, title="Confirm destructive action")
|
||||||
|
@ -146,10 +145,10 @@ class FilesystemView(BaseView):
|
||||||
# don't enable done botton if we can't install
|
# don't enable done botton if we can't install
|
||||||
if self.model.can_install():
|
if self.model.can_install():
|
||||||
buttons.append(
|
buttons.append(
|
||||||
Color.button(done_btn(on_press=self.done)))
|
done_btn(on_press=self.done))
|
||||||
|
|
||||||
buttons.append(Color.amberbutton(reset_btn(on_press=self.reset)))
|
buttons.append(reset_btn(on_press=self.reset))
|
||||||
buttons.append(Color.redbutton(cancel_btn(on_press=self.cancel)))
|
buttons.append(cancel_btn(on_press=self.cancel))
|
||||||
|
|
||||||
return Pile(buttons)
|
return Pile(buttons)
|
||||||
|
|
||||||
|
@ -181,7 +180,7 @@ class FilesystemView(BaseView):
|
||||||
if fs_obj.label and fs_obj.is_mounted and not fs.mount():
|
if fs_obj.label and fs_obj.is_mounted and not fs.mount():
|
||||||
disk_btn = menu_btn(label=label)
|
disk_btn = menu_btn(label=label)
|
||||||
connect_signal(disk_btn, 'click', self.click_disk, disk)
|
connect_signal(disk_btn, 'click', self.click_disk, disk)
|
||||||
disk_btn = Color.menu_button(disk_btn)
|
disk_btn = disk_btn
|
||||||
else:
|
else:
|
||||||
disk_btn = Color.info_minor(Text(" " + label))
|
disk_btn = Color.info_minor(Text(" " + label))
|
||||||
col1(disk_btn)
|
col1(disk_btn)
|
||||||
|
@ -199,7 +198,6 @@ class FilesystemView(BaseView):
|
||||||
if partition.available:
|
if partition.available:
|
||||||
part_btn = menu_btn(label=label)
|
part_btn = menu_btn(label=label)
|
||||||
connect_signal(part_btn, 'click', self.click_partition, partition)
|
connect_signal(part_btn, 'click', self.click_partition, partition)
|
||||||
part_btn = Color.menu_button(part_btn)
|
|
||||||
col2(part_btn, size)
|
col2(part_btn, size)
|
||||||
else:
|
else:
|
||||||
part_btn = Color.info_minor(Text(" " + label))
|
part_btn = Color.info_minor(Text(" " + label))
|
||||||
|
@ -211,18 +209,15 @@ class FilesystemView(BaseView):
|
||||||
if disk.available and disk.used > 0 and percent > 0:
|
if disk.available and disk.used > 0 and percent > 0:
|
||||||
disk_btn = menu_btn(label="ADD/EDIT PARTITIONS")
|
disk_btn = menu_btn(label="ADD/EDIT PARTITIONS")
|
||||||
connect_signal(disk_btn, 'click', self.click_disk, disk)
|
connect_signal(disk_btn, 'click', self.click_disk, disk)
|
||||||
disk_btn = Color.menu_button(disk_btn)
|
|
||||||
size = Text("{:>9} ({}%) free".format(humanize_size(free), percent))
|
size = Text("{:>9} ({}%) free".format(humanize_size(free), percent))
|
||||||
col2(disk_btn, size)
|
col2(disk_btn, size)
|
||||||
elif disk.available and percent > 0:
|
elif disk.available and percent > 0:
|
||||||
disk_btn = menu_btn(label="ADD FIRST PARTITION")
|
disk_btn = menu_btn(label="ADD FIRST PARTITION")
|
||||||
connect_signal(disk_btn, 'click', self.click_disk, disk)
|
connect_signal(disk_btn, 'click', self.click_disk, disk)
|
||||||
disk_btn = Color.menu_button(disk_btn)
|
|
||||||
col2(disk_btn, Text(""))
|
col2(disk_btn, Text(""))
|
||||||
else:
|
else:
|
||||||
disk_btn = menu_btn(label="EDIT PARTITIONS")
|
disk_btn = menu_btn(label="EDIT PARTITIONS")
|
||||||
connect_signal(disk_btn, 'click', self.click_disk, disk)
|
connect_signal(disk_btn, 'click', self.click_disk, disk)
|
||||||
disk_btn = Color.menu_button(disk_btn)
|
|
||||||
col2(disk_btn, Text(""))
|
col2(disk_btn, Text(""))
|
||||||
|
|
||||||
if len(inputs) == 1:
|
if len(inputs) == 1:
|
||||||
|
@ -252,10 +247,9 @@ class FilesystemView(BaseView):
|
||||||
|
|
||||||
for opt, sig in fs_menu:
|
for opt, sig in fs_menu:
|
||||||
if len(avail_disks) > 1:
|
if len(avail_disks) > 1:
|
||||||
opts.append(Color.menu_button(
|
opts.append(menu_btn(label=opt,
|
||||||
menu_btn(label=opt,
|
|
||||||
on_press=self.on_fs_menu_press,
|
on_press=self.on_fs_menu_press,
|
||||||
user_data=sig)))
|
user_data=sig))
|
||||||
return Pile(opts)
|
return Pile(opts)
|
||||||
|
|
||||||
def cancel(self, button=None):
|
def cancel(self, button=None):
|
||||||
|
|
|
@ -14,16 +14,15 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from urwid import (
|
from urwid import (
|
||||||
connect_signal,
|
|
||||||
Text,
|
Text,
|
||||||
)
|
)
|
||||||
|
|
||||||
from subiquitycore.ui.utils import Padding, Color
|
from subiquitycore.ui.utils import Color, connect_signal, Padding
|
||||||
|
|
||||||
from subiquitycore.ui.buttons import (
|
from subiquitycore.ui.buttons import (
|
||||||
cancel_btn,
|
cancel_btn,
|
||||||
menu_btn,
|
menu_btn,
|
||||||
PlainButton,
|
ok_btn,
|
||||||
)
|
)
|
||||||
from subiquitycore.ui.container import ListBox, Pile
|
from subiquitycore.ui.container import ListBox, Pile
|
||||||
from subiquitycore.view import BaseView
|
from subiquitycore.view import BaseView
|
||||||
|
@ -40,15 +39,16 @@ class GuidedFilesystemView(BaseView):
|
||||||
|
|
||||||
def __init__(self, model, controller):
|
def __init__(self, model, controller):
|
||||||
self.controller = controller
|
self.controller = controller
|
||||||
guided = PlainButton(label="Guided")
|
guided = ok_btn("Guided", on_press=self.guided)
|
||||||
connect_signal(guided, 'click', self.guided)
|
manual = ok_btn("Manual", on_press=self.manual)
|
||||||
manual = PlainButton(label="Manual")
|
cancel = cancel_btn(on_press=self.cancel)
|
||||||
connect_signal(manual, 'click', self.manual)
|
|
||||||
lb = ListBox([
|
lb = ListBox([
|
||||||
Padding.center_70(Text(text)),
|
Padding.center_70(Text(text)),
|
||||||
Padding.center_70(Text("")),
|
Padding.center_70(Text("")),
|
||||||
Padding.fixed_10(Color.button(guided)),
|
Padding.fixed_10(guided),
|
||||||
Padding.fixed_10(Color.button(manual))])
|
Padding.fixed_10(manual),
|
||||||
|
Padding.fixed_10(cancel),
|
||||||
|
])
|
||||||
super().__init__(lb)
|
super().__init__(lb)
|
||||||
|
|
||||||
def manual(self, btn):
|
def manual(self, btn):
|
||||||
|
@ -57,24 +57,29 @@ class GuidedFilesystemView(BaseView):
|
||||||
def guided(self, btn):
|
def guided(self, btn):
|
||||||
self.controller.guided()
|
self.controller.guided()
|
||||||
|
|
||||||
|
def cancel(self, btn):
|
||||||
|
self.controller.cancel()
|
||||||
|
|
||||||
|
|
||||||
class GuidedDiskSelectionView(BaseView):
|
class GuidedDiskSelectionView(BaseView):
|
||||||
|
|
||||||
def __init__(self, model, controller):
|
def __init__(self, model, controller):
|
||||||
self.model = model
|
self.model = model
|
||||||
self.controller = controller
|
self.controller = controller
|
||||||
cancel = Color.amberbutton(cancel_btn(on_press=self.cancel))
|
cancel = cancel_btn(on_press=self.cancel)
|
||||||
disks = []
|
disks = []
|
||||||
for disk in self.model.all_disks():
|
for disk in self.model.all_disks():
|
||||||
if disk.available:
|
if disk.available:
|
||||||
disk_btn = menu_btn("%-40s %s"%(disk.serial, humanize_size(disk.size).rjust(9)))
|
disk_btn = menu_btn("%-40s %s"%(disk.serial, humanize_size(disk.size).rjust(9)))
|
||||||
connect_signal(disk_btn, 'click', self.choose_disk, disk)
|
connect_signal(disk_btn, 'click', self.choose_disk, disk)
|
||||||
disks.append(Color.menu_button(disk_btn))
|
disks.append(disk_btn)
|
||||||
lb = ListBox([
|
lb = ListBox([
|
||||||
Padding.center_70(Text("Choose the disk to install to:")),
|
Padding.center_70(Text("Choose the disk to install to:")),
|
||||||
Padding.center_70(Text("")),
|
Padding.center_70(Text("")),
|
||||||
Padding.center_70(Pile(disks)),
|
Padding.center_70(Pile(disks)),
|
||||||
Padding.center_70(Text("")),
|
Padding.center_70(Text("")),
|
||||||
Padding.fixed_10(Color.button(cancel))])
|
Padding.fixed_10(cancel),
|
||||||
|
])
|
||||||
super().__init__(lb)
|
super().__init__(lb)
|
||||||
|
|
||||||
def cancel(self, btn):
|
def cancel(self, btn):
|
||||||
|
|
Loading…
Reference in New Issue