| 51 | |
| 52 | |
| 53 | class DiskLayoutConfigurationMenu(AbstractSubMenu[DiskMenuConfig]): |
| 54 | def __init__(self, disk_layout_config: DiskLayoutConfiguration | None): |
| 55 | if not disk_layout_config: |
| 56 | self._disk_menu_config = DiskMenuConfig( |
| 57 | disk_config=None, |
| 58 | lvm_config=None, |
| 59 | btrfs_snapshot_config=None, |
| 60 | disk_encryption=None, |
| 61 | ) |
| 62 | else: |
| 63 | snapshot_config = disk_layout_config.btrfs_options.snapshot_config if disk_layout_config.btrfs_options else None |
| 64 | |
| 65 | self._disk_menu_config = DiskMenuConfig( |
| 66 | disk_config=disk_layout_config, |
| 67 | lvm_config=disk_layout_config.lvm_config, |
| 68 | disk_encryption=disk_layout_config.disk_encryption, |
| 69 | btrfs_snapshot_config=snapshot_config, |
| 70 | ) |
| 71 | |
| 72 | menu_options = self._define_menu_options() |
| 73 | self._item_group = MenuItemGroup(menu_options, sort_items=False, checkmarks=True) |
| 74 | |
| 75 | super().__init__( |
| 76 | self._item_group, |
| 77 | self._disk_menu_config, |
| 78 | allow_reset=True, |
| 79 | ) |
| 80 | |
| 81 | def _define_menu_options(self) -> list[MenuItem]: |
| 82 | return [ |
| 83 | MenuItem( |
| 84 | text=tr('Partitioning'), |
| 85 | action=self._select_disk_layout_config, |
| 86 | value=self._disk_menu_config.disk_config, |
| 87 | preview_action=self._prev_disk_layouts, |
| 88 | key='disk_config', |
| 89 | ), |
| 90 | MenuItem( |
| 91 | text='LVM', |
| 92 | action=self._select_lvm_config, |
| 93 | value=self._disk_menu_config.lvm_config, |
| 94 | preview_action=self._prev_lvm_config, |
| 95 | dependencies=[self._check_dep_lvm], |
| 96 | key='lvm_config', |
| 97 | ), |
| 98 | MenuItem( |
| 99 | text=tr('Disk encryption'), |
| 100 | action=self._select_disk_encryption, |
| 101 | preview_action=self._prev_disk_encryption, |
| 102 | dependencies=['disk_config'], |
| 103 | key='disk_encryption', |
| 104 | ), |
| 105 | MenuItem( |
| 106 | text='Btrfs snapshots', |
| 107 | action=self._select_btrfs_snapshots, |
| 108 | value=self._disk_menu_config.btrfs_snapshot_config, |
| 109 | preview_action=self._prev_btrfs_snapshots, |
| 110 | dependencies=[self._check_dep_btrfs], |
no outgoing calls
no test coverage detected