Skip to content

Commit

Permalink
feat[Vanilla-OS#348: Option to install on removable drive
Browse files Browse the repository at this point in the history
  • Loading branch information
muhdsalm committed Aug 3, 2024
1 parent bbb09eb commit 209b6c8
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 4 deletions.
10 changes: 6 additions & 4 deletions vanilla_installer/core/disks.py
Original file line number Diff line number Diff line change
Expand Up @@ -207,10 +207,10 @@ def __eq__(self, other):


class DisksManager:
def __init__(self):
self.__disks = self.__get_disks()
def __init__(self, removableDevices=False):
self.__disks = self.__get_disks(removableDevices)

def __get_disks(self):
def __get_disks(self, removableDevices):
disks = []

for disk in os.listdir("/sys/block"):
Expand All @@ -221,7 +221,9 @@ def __get_disks(self):
with open("/sys/block/" + disk + "/removable") as f:
removable = int(f.readlines()[0].strip())

if removable == 1:
if removable == 1 and not removableDevices:
continue
if removable == 0 and removableDevices:
continue

disks.append(Disk(disk))
Expand Down
9 changes: 9 additions & 0 deletions vanilla_installer/defaults/disk.py
Original file line number Diff line number Diff line change
Expand Up @@ -662,6 +662,7 @@ class VanillaDefaultDisk(Adw.Bin):
btn_auto = Gtk.Template.Child()
btn_manual = Gtk.Template.Child()
group_disks = Gtk.Template.Child()
removable_disks = Gtk.Template.Child()
disk_space_err_box = Gtk.Template.Child()
disk_space_err_label = Gtk.Template.Child()

Expand All @@ -673,8 +674,10 @@ def __init__(self, window, distro_info, key, step, **kwargs):
self.__step = step
self.delta = False
self.__registry_disks = []
self.__registry_removable_disks = []
self.__selected_disks = []
self.__disks = DisksManager()
self.__removable_disks = DisksManager(removableDevices=True)
self.__partition_recipe = None
self.__selected_disks_sum = 0

Expand All @@ -691,6 +694,12 @@ def __init__(self, window, distro_info, key, step, **kwargs):

self.__registry_disks.append(entry)

for disk in self.__removable_disks.all_disks:
entry = VanillaDefaultDiskEntry(self, disk)
self.removable_disks.add_row(entry)

self.__registry_removable_disks.append(entry)

# signals
self.btn_next.connect("clicked", self.__on_btn_next_clicked)
self.btn_auto.connect("clicked", self.__on_auto_clicked)
Expand Down
9 changes: 9 additions & 0 deletions vanilla_installer/gtk/default-disk.ui
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,15 @@
<child>
<object class="AdwPreferencesGroup" id="group_disks"></object>
</child>
<child>
<object class="AdwPreferencesGroup">
<child>
<object class="AdwExpanderRow" id="removable_disks">
<property name="title" translatable="yes">Removable Drives</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<child>
Expand Down

0 comments on commit 209b6c8

Please sign in to comment.