Partition screen
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import json
|
||||
import subprocess
|
||||
from functools import partial
|
||||
|
||||
import gi
|
||||
|
||||
@@ -12,6 +13,8 @@ class StoragePage(Adw.Bin):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
self.selected_disk = None
|
||||
|
||||
# Main Layout
|
||||
clamp = Adw.Clamp()
|
||||
clamp.set_maximum_size(600)
|
||||
@@ -54,7 +57,7 @@ class StoragePage(Adw.Bin):
|
||||
self.disk_rows = []
|
||||
self.first_radio = None
|
||||
|
||||
for name, dev, icon in disks:
|
||||
for i, (name, dev, icon) in enumerate(disks):
|
||||
row = Adw.ActionRow()
|
||||
row.set_title(name)
|
||||
row.set_subtitle(f"/dev/{dev}")
|
||||
@@ -64,17 +67,29 @@ class StoragePage(Adw.Bin):
|
||||
if not self.first_radio:
|
||||
radio = Gtk.CheckButton()
|
||||
self.first_radio = radio
|
||||
# Default selection
|
||||
self.selected_disk = dev
|
||||
else:
|
||||
radio = Gtk.CheckButton()
|
||||
radio.set_group(self.first_radio)
|
||||
|
||||
radio.set_valign(Gtk.Align.CENTER)
|
||||
# Connect signal to update selection
|
||||
radio.connect("toggled", self.on_disk_toggled, dev)
|
||||
|
||||
row.add_suffix(radio)
|
||||
row.set_activatable_widget(radio)
|
||||
|
||||
self.disk_group.add(row)
|
||||
self.disk_rows.append(row)
|
||||
|
||||
def on_disk_toggled(self, button, device_name):
|
||||
if button.get_active():
|
||||
self.selected_disk = device_name
|
||||
|
||||
def get_selected_disk(self):
|
||||
return self.selected_disk
|
||||
|
||||
def get_disks(self):
|
||||
try:
|
||||
# lsblk -J -o NAME,SIZE,MODEL,TYPE,TRAN
|
||||
|
||||
Reference in New Issue
Block a user