feat(partition): tablo tek diske odaklansın, disk şeridi ekle

Kullanıcı isteği: manuel bölümlemede tüm disklerin bölüm tabloları tek
tabloda listeleniyordu ve bu kafa karışıklığı yaratıyordu. Tablo artık
üstteki seçicide hangi disk seçiliyse onun tablosunu gösteriyor.

## 1. Tablo tek diske indirildi
`show_manual_partition_table` artık `state.selected_disk`'e ait satırları
çiziyor. Satır indeksi `custom_partitions` içinde GLOBAL kaldığı için
seçim, silme, düzenleme ve "boş alan" birleşimi değişmeden çalışıyor;
yalnızca hangi satırların görüneceği daraldı.

Disk başlığındaki "aktif disk" (▶) işareti kaldırıldı: tabloda tek disk
olduğunda neyin aktif olduğu zaten belli, işaret gereksiz gürültüydü.

## 2. Disk şeridi — diğer diskler gizlenmiyor
Tablodan hemen sonra tıklanabilir bir şerit eklendi. Her disk için
`/dev/sdb · 120/500 GB` ve silinecek bölüm varsa sayısı yazılır;
tıklanınca o disk seçilir. Böylece odak tek diskte kalırken "sda'da 3
bölüm var" bilgisi kaybolmaz.

Disk değişince `manual.selected_idx` sıfırlanır. Bu gerekliydi: indeks
global olduğu için sda'da seçili satır, sdb'ye geçildikten sonra da
"seçili" kalıyor ve "Sil" yanlış bölümü etkiliyordu.

Şerit tek disk vken çizilmez (gürültü olurdu).

## 3. LVM bölümü de diske filtrelendi
Tablo tek diske odaklandı ama LVM listeleri tüm diskleri kapsıyordu:
sdb seçiliyken sda'nın VG'si listeleniyordu. Artık
  - VG listesi: yalnızca PV'leri o diskte olan VG'ler
  - LV listesi: yalnızca VG'si o diskte olan LV'ler
  - Yeni VG kurulumunda PV'ler yalnızca SEÇİLİ diskin PV'lerinden

Sonuncusu AGENTS.md'de kayıtlı açık bir maddeddi: PV'ler tüm disklerden
toplanıyordu, sdb'de kurulan bir VG sda'nın PV'lerini de içeriyor ve
boyut toplamı yanlış çıkıyordu. Diskte PV yoksa hata mesajı gösteriliyor
(`lvm_no_pv_on_disk`).

Ayrıca `has_lvm_pvs` artık `delete` işaretli PV'leri saymıyor.

## Testler
`table_scope_tests` (3 yeni): tablo satırları yalnızca seçili diske ait,
şerit her diski listeler, LVM PV'leri diske göre toplanır.

cargo check --all-targets : 0 hata, 0 uyarı
cargo test              : 79/79 geçti (76 → 79)
clippy                  : 78 uyarı, tamamı stil

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erkan IŞIK
2026-09-27 12:47:52 +03:00
parent 3b9a128704
commit bee04fb554
4 changed files with 271 additions and 73 deletions
+1
View File
@@ -455,6 +455,7 @@ lvm_lv_add = "Mantıksal Birim Ekle"
lvm_lv_error_vg = "En az bir Birim Grubu tanımlanmalıdır."
lvm_lv_error_size = "Girilen boyut, Birim Grubu kapasitesini aşıyor."
lvm_lv_mountpoint = "Bağlama Noktası"
lvm_no_pv_on_disk = "Bu diskte LVM PV yok. Önce bu diske PV bölümü ekleyin."
lvm_lv_fstype = "Dosya Sistemi"
lvm_lv_size = "Boyut (MB, 0=kalan):"
lvm_lv_action = "İşlem"