forked from pisilinux-rs/yali-rs
fix: manuel girilen bölüm boyutunun mountpoint değişiminde ezilmesi
This commit is contained in:
+29
-22
@@ -1095,33 +1095,40 @@ impl PartitionStep {
|
|||||||
.vertical_align(egui::Align::Center)
|
.vertical_align(egui::Align::Center)
|
||||||
);
|
);
|
||||||
|
|
||||||
// Mountpoint değiştiğinde boyutu otomatik güncelle
|
// Mountpoint değiştiğinde boyutu otomatik güncelle (eğer değer boşsa veya varsayılansa)
|
||||||
if prev_mp != self.manual.add_mountpoint {
|
if prev_mp != self.manual.add_mountpoint {
|
||||||
let mp = self.manual.add_mountpoint.trim().to_lowercase();
|
let mp = self.manual.add_mountpoint.trim().to_lowercase();
|
||||||
self.manual.add_size_str = match mp.as_str() {
|
let current_size = self.manual.add_size_str.trim();
|
||||||
"/boot/efi" => "1024".to_string(), // 1GB
|
let is_empty_or_default = current_size.is_empty()
|
||||||
"swap" => {
|
|| current_size == "0"
|
||||||
// Swap için minimum 1GB, varsa RAM boyutu kadar
|
|| current_size == "remaining";
|
||||||
if let Ok(mem) = std::fs::read_to_string("/proc/meminfo") {
|
|
||||||
if let Some(line) = mem.lines().find(|l| l.starts_with("MemTotal:")) {
|
if is_empty_or_default {
|
||||||
let kb: u64 = line.split_whitespace()
|
self.manual.add_size_str = match mp.as_str() {
|
||||||
.nth(1)
|
"/boot/efi" => "1024".to_string(), // 1GB
|
||||||
.and_then(|s| s.parse().ok())
|
"swap" => {
|
||||||
.unwrap_or(4194304); // 4GB varsayılan
|
// Swap için minimum 1GB, varsa RAM boyutu kadar
|
||||||
let mb = kb / 1024;
|
if let Ok(mem) = std::fs::read_to_string("/proc/meminfo") {
|
||||||
// Minimum 1GB, RAM boyutu ile karşılaştır
|
if let Some(line) = mem.lines().find(|l| l.starts_with("MemTotal:")) {
|
||||||
let swap_size = if mb < 1024 { 1024 } else { mb };
|
let kb: u64 = line.split_whitespace()
|
||||||
swap_size.to_string()
|
.nth(1)
|
||||||
|
.and_then(|s| s.parse().ok())
|
||||||
|
.unwrap_or(4194304); // 4GB varsayılan
|
||||||
|
let mb = kb / 1024;
|
||||||
|
// Minimum 1GB, RAM boyutu ile karşılaştır
|
||||||
|
let swap_size = if mb < 1024 { 1024 } else { mb };
|
||||||
|
swap_size.to_string()
|
||||||
|
} else {
|
||||||
|
"1024".to_string() // 1GB varsayılan
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
"1024".to_string() // 1GB varsayılan
|
"1024".to_string() // 1GB varsayılan
|
||||||
}
|
}
|
||||||
} else {
|
},
|
||||||
"1024".to_string() // 1GB varsayılan
|
"/" => "remaining".to_string(), // Geri kalan alan
|
||||||
}
|
_ => self.manual.add_size_str.clone(), // Diğerleri için mevcut değeri koru
|
||||||
},
|
};
|
||||||
"/" => "remaining".to_string(), // Geri kalan alan
|
}
|
||||||
_ => self.manual.add_size_str.clone(), // Diğerleri için mevcut değeri koru
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user