63 Commits

Author SHA1 Message Date
Erkan IŞIK a5d46279b8 docs: add manual partition fixes summary to AGENTS.md 2026-09-18 00:49:37 +03:00
Erkan IŞIK 8633422c22 fix: manual partition validation - add duplicate mountpoint check, swap size validation, disk selection in is_complete, and delete flag handling in disk_free_regions_mb 2026-09-18 00:45:09 +03:00
Erkan IŞIK 7e1bf45998 uptdate yali-rs-15092026 2026-09-15 22:16:48 +03:00
Erkan IŞIK 22de7d5255 Dead code uyarılarını gidermek için #[allow(dead_code)] eklendi
- ManualState struct'ına dead code uyarısı kaldırma eklendi
- FsType enum'ına dead code uyarısı kaldırma eklendi (Lvm variant'ı için)
- VolumeGroup struct'ına dead code uyarısı kaldırma eklendi
- Bu alanlar gelecekte LVM ve gelişmiş bölümleme özellikleri için planlanmış

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-25 18:18:38 +03:00
Erkan IŞIK 75e2b1bf5e Tablo sütun başlıkları için translation key'leri eklendi
- Türkçe ve İngilizce dil dosyalarına tablo sütun başlıkları eklendi
- column_device, column_mount_point, column_label, column_type, column_format, column_size
- Manuel bölümleme tablosunda kullanılan sütun başlıkları için çeviri desteği

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-24 08:41:37 +03:00
Erkan IŞIK dcd3ec4efb Bölümleme tablosu boyut sütunu düzeltmeleri ve disk seçimi UI iyileştirmeleri
- Manuel bölümleme tablosunda boyut sütununun görünmemesi sorunu çözüldü
- Disk başlığı kırmızı renk ve kutucuk simge sorunları düzeltildi (c_accent yerine c_text, Unicode ok karakteri)
- Disk seçimi için ComboBox bileşeni eklendi (eski Grid tabanlı sistem yerine)
- Tablo header hizalamaları düzeltildi (sol/sağ/ortalanmış sütunlar)
- Font yüklemesi iyileştirildi (monospace font desteği ve emoji fallback mekanizması)
- LVM LV boyut kontrolü sembolik boyutlar için düzeltildi
- Disk bölüm numarası formatlama fonksiyonu eklendi (nvme0n1p1 vs sda1 mantığı)

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-24 00:43:32 +03:00
Erkan IŞIK 7209d58ea0 fix: parted birim tuzağı — mkpart argümanları MiB sonekine geçti
- parted "MB" sonekini onalık (10^6) okur, hesaplarımız binary (2^20):
  3944MB → sektör 7703125 (hizasız) → "en yakın konum" hatası.
  Tüm mkpart konumları artık "{}MiB" (tamsayı MiB = 2048 sektör katı).
- Bölümleme Planı şeridi yalnızca seçili disk için gösteriliyor
  (state.selected_disk), tüm diskler aynı anda değil.
- AGENTS.md: parted birim tuzağı notu eklendi.
2026-08-23 14:35:01 +03:00
Erkan IŞIK 0a02f576d4 docs: ajan notları — çoklu disk/granular bölümleme mimarisi ve yapılacaklar 2026-08-22 21:37:36 +03:00
Erkan IŞIK 5c148472c4 feat: çoklu disk desteği ve eski Yali tarzı granular bölümleme işlemleri
- CustomPartition artık disk alanı taşıyor; bölümler diske göre gruplanıyor
- Manuel modda TÜM disklerin mevcut bölümleri otomatik listeleniyor
- Tablo her disk için kendi sütun başlıklarını gösteriyor
- Silinmek işaretli bölümler tek 'Boş Alan' satırında birleşiyor (GParted tarzı);
  Boş Alan = disk − (korunanlar + yeni tanımlar), 0'a düşerse satır gizlenir
- Sil/Geri Al: fiziksel bölümler silinmek İŞARETLENİR (OperationDestroyDevice
  karşılığı), kullanıcı tanımı olanlar listeden tamamen kalkar
- Kurulum job'ları granular modele geçti: mktable ile tüm disk sıfırlanmıyor;
  rm → boş alana mkpart (sysfs geometrisi) → yalnızca istenenler mkfs.
  İşlemi olmayan disklere hiç dokunulmaz
- Slot ataması parted davranışıyla birebir: silinen numara yeniden kullanılır
- 'Kalan alan' sembolik kaldı; boyut kurulum anında boşluktan belirlenir
  (taşma imkânsız) + kapasite aşımı uyarısı/kilidi eklendi
- Özet ekranı ve bölüm planı: disk başına Mevcut/Kurulum Sonrası çift bar,
  kapasite gösterimleri düzeltildi
- Remixicon simge düzeltmesi (hard-drive), mp_* yeni çeviri anahtarları
- Testler: slot yeniden kullanımı, kapasite aşımı, disk-bazlı hesaplar (22/22)
2026-08-22 21:29:31 +03:00
Erkan IŞIK 379d32ac38 fix: manuel girilen bölüm boyutunun mountpoint değişiminde ezilmesi v4.0.3 2026-08-22 15:11:24 +03:00
Erkan IŞIK 91acde5317 fix: manuel ve otomatik bölümlemede kök dizin boyutu hesaplama hatası 2026-08-22 13:09:04 +03:00
Erkan IŞIK fb905d9714 test: add unit tests for partition step planning & validation 2026-08-19 13:19:39 +03:00
Erkan IŞIK 80e3559d0d refactor: split huge jobs/mod.rs into modular files & modernize slideshow
- Split src/jobs/mod.rs into specialized domain files under src/jobs/ (autologin, bootloader, execution, finish, keyboard, location, netinstall, network, partition, users) for better modularity and cleaner architecture.
- Integrated chrono-tz and enabled serde features on chrono in Cargo.toml.
- Added missing assets (remixicon font, icons, slides images/configs).
- Integrated localized slideshow presentation directly into UI, reading configurations from TOML.
- Updated Makefile to correctly target and install slideshow files into system directories.
- Cleaned up obsolete bin utility slides_test.rs.
2026-08-10 16:51:35 +03:00
Erkan IŞIK 20dc937ab8 fix: GPU karakter bozulması için repaint throttle; slideshow emoji ikonları; partition auto FS; çeşitli f32 tip düzeltmeleri 2026-07-23 17:13:05 +03:00
Erkan IŞIK 1e920e0717 docs: update README, CHANGELOG for slides/ restructure and binary refactor
- README.md: add slides/ directory, src/bin/slides_test.rs, src/lib.rs
  to project tree; add slides_test usage example
- README_en.md: same changes in English
- CHANGELOG.md: add v4.0.5 entry (slide migration, slides_test, rsync
  progress refactor, auto-install CLI output, edit dialog fixes)
- CHANGELOG_en.md: same in English
2026-07-10 02:05:35 +03:00
Erkan IŞIK 62000b7c87 feat: slide images moved to slides/img/, direct path in TOML, slides_test binary
- Moved 16 slide PNGs from assets/ to slides/img/
- Replaced [icons] mapping section with direct paths in icon field
- Added slides_test standalone binary for testing slideshows
- Added default-run = "yali-rs" in Cargo.toml to fix cargo run ambiguity
- Fixed edit dialog auto-resize and text field wrapping in partition.rs
- Updated branding.rs to load external slides from slides/ directory
- Removed [slides] section from branding.toml files
- Revamped CopyFilesJob with find-based progress tracking (rsync --out-format)
- Fixed install progress bar visibility logic
- Tweaked auto-install CLI output with sub-progress and current file
- Switched language-icon.svg to white fills for dark theme
- Minor locale fixes
2026-07-10 01:59:59 +03:00
Erkan IŞIK 3194c4d8a3 Please provide the files or the diff so I can generate the appropriate commit message for you. 2026-06-28 10:01:33 +03:00
Erkan IŞIK 7621507acd Please provide the file changes or a description of the modifications you made so I can generate the commit message for you. 2026-06-28 09:58:20 +03:00
Erkan Işık 733548da56 Merge branch yali-rs:main into main 2026-06-25 01:34:13 +03:00
Erkan IŞIK 71e2ab3829 chore: add English/Turkish changelog cross-links 2026-06-25 01:33:51 +03:00
Erkan IŞIK 7f94c8c0cc fix: make language selector combobox and dropdown theme-aware (dark/light) 2026-06-24 08:42:20 +03:00
Erkan IŞIK 6d0e8fa9bf fix: language selector SVG icon now uses theme text color (tint) 2026-06-24 08:37:18 +03:00
Erkan IŞIK 89d397aa7d fix: simulate sub-progress in demo mode for CopyFilesJob 2026-06-24 08:26:32 +03:00
Erkan IŞIK 1161296d27 feat: add sub-progress bar for rsync file copy progress
- InstallMessage: added SubProgress(f32) and CurrentFile(String) variants
- GlobalState: added install_sub_progress field
- UiSender: added sub_progress() and current_file() helpers
- CopyFilesJob: now streams rsync stderr, parses xfr#/to-chk for progress,
  and sends SubProgress/CurrentFile messages to UI
- execution.rs: displays secondary progress bar below the main one during
  rsync file copy, updates install_current_file in real-time
- main.rs: handles new InstallMessage variants in auto-install mode
2026-06-24 08:09:46 +03:00
Erkan IŞIK 35ddd0e933 fix: next button disabled when user form is incomplete
- gradient_button now accepts enabled parameter; uses Sense::hover() and muted colors when disabled
- Added primary_button_enabled, secondary_button_enabled, danger_button_enabled variants
- main.rs: next button uses primary_button_enabled(..., is_valid) so it's grayed out and non-clickable when form incomplete
2026-06-24 07:44:28 +03:00
Erkan IŞIK 5e66e151bd fix: make user form and theme colors dark/light theme aware
- users.rs: hardcoded form fill replaced with c_bg_widget()
- theme.rs: c_root_bg() now uses theme-aware BG_ROOT atomic
- theme.rs: set_theme_mode() now sets BG_PANEL, BG_WIDGET, BORDER for light mode
- theme.rs: build_visuals() inactive/hovered/active fills are now theme-dependent
2026-06-24 07:18:41 +03:00
Erkan IŞIK 635c844710 feat: keyboard layout/variant search with custom combobox, hex color constants, various UI fixes
- Custom combobox implementation with TextEdit + Area popup for keyboard layout/variant search
- Added color_from_hex() helper, layout_buf/variant_buf fields
- Removed egui-dropdown dependency
- Popup items 28px -> 32px with gradient background
- Dropdown text color changed to pure white
- All color constants converted to hex format
- KLE SVG rendering improvements
- CHANGELOG.md updated
2026-06-24 07:09:39 +03:00
ayhanyalcinsoy 835c963311 Merge branch 'main' into 'main'
feat: form input styling, root password toggle, partition UI fixes

See merge request ayhanyalcinsoy/yali-rs!7
2026-06-22 22:12:21 +00:00
Erkan IŞIK d98ae22519 fix: slider max value = available disk space, partition size input now editable
- slider maximum value calculated as disk size minus used partitions
- editing mode includes current partition capacity in available space
- size text input now writes back to add_size_str
- formatted MB label shown next to text input
- CHANGELOG.md updated
2026-06-21 04:25:21 +03:00
Erkan IŞIK 74fa279ab8 fix: slider max value = available disk space, partition size input now editable
- slider maximum value calculated as disk size minus used partitions
- editing mode includes current partition capacity in available space
- size text input now writes back to add_size_str
- formatted MB label shown next to text input
- CHANGELOG.md updated
2026-06-21 04:17:09 +03:00
Erkan Işık 020dac2773 Merge branch yali-rs:main into main 2026-06-21 04:00:16 +03:00
Erkan IŞIK 8bb7116194 feat: form input styling, root password toggle, partition UI fixes
- form_input_text: Frame wrapper with stroke/fill/rounding, .frame(false)
- form_input_password: SVG eye icons instead of emoji, Frame wrapper
- Partition disk grid: hardcoded colors, left-aligned headers
- Users: root password show/hide toggle, colored form frames
- Add c_root_bg() theme function
2026-06-19 02:56:42 +03:00
ayhanyalcinsoy 22ec147a64 Merge branch 'main' into 'main'
refactor: extract ComboBox styling into dedicated module, add location step

See merge request ayhanyalcinsoy/yali-rs!6
2026-06-18 11:32:28 +00:00
Erkan IŞIK 0b108be414 new file: CHANGELOG.md 2026-06-18 13:19:40 +03:00
Erkan Işık 5c98abac3e Merge branch yali-rs:main into main 2026-06-18 13:07:45 +03:00
Erkan IŞIK ae915c2540 feat: replace KLE JSON keyboard rendering with xkbcommon
xkbcommon ile XKB keymap derlenip tuş pozisyonları/sembolleri çıkarılıyor,
egui Painter ile temaya uygun çiziliyor. KLE JSON indirme/kullanma kalktı,
ureq ve serde_json bağımlılıkları kaldırıldı.

- compile_layout() — xkb::Keymap::new_from_names() ile keymap derleme
- key_position() — ISO‑105 tuşları için ondalıklı x,y pozisyonları
- keysym_to_label() — xkbcommon keysym → kısa etiket (⌫, ⇥, AltGr, …)
- draw_layout() — egui Painter ile ölçeklenebilir klavye çizimi
- Her tuşta tek karakter gösterimi (büyük harf tercihli)
- keyboard_layout boşken ilk show()'da varsayılana set edilir
- Eski KLE JSON önbellek dosyaları silindi
2026-06-18 13:07:18 +03:00
Erkan IŞIK a3d4b9534f modified: .gitignore 2026-06-17 10:16:39 +03:00
Erkan IŞIK c26af19be9 modified: TODO.md 2026-06-17 10:15:20 +03:00
Erkan IŞIK 2bf8c6cff2 modified: README.md 2026-06-17 10:08:46 +03:00
Erkan IŞIK 109e5733c8 İşleme için hazırlanmamış değişiklikler:
(işlenecekleri güncellemek için "git add <dosya>..." kullanın)
  (çalışma dizinindeki değişiklikleri atmak için
    "git restore <dosya>..." kullanın)
	değiştirildi:         locales/en.toml
	değiştirildi:         locales/tr.toml
	değiştirildi:         src/funct.rs
	değiştirildi:         src/installer.rs
	değiştirildi:         src/main.rs
	değiştirildi:         src/steps/bootloader.rs
	değiştirildi:         src/steps/display_manager.rs
	değiştirildi:         src/steps/mod.rs
	değiştirildi:         src/steps/partition.rs
	değiştirildi:         src/ui/mod.rs
	değiştirildi:         src/ui/theme.rs

İzlenmeyen dosyalar:
  (işlenecekler arasına koymak için "git add <dosya>..." kullanın)
	TODO-comar.txt
	src/steps/location.rs
	src/ui/combobox.rs
	src/ui/combobox_stil.rs

İşlemeye eklenen değişiklik yok ("git add" ve/veya "git commit -a" kullanın)
Click to collapse
+ Thought: 1.1s
$ git diff --stat
locales/en.toml              |   1 +
 locales/tr.toml              |   1 +
 src/funct.rs                 |  43 ++-------
 src/installer.rs             | 205 -------------------------------------------
 src/main.rs                  |   4 +-
 src/steps/bootloader.rs      |  17 ++--
 src/steps/display_manager.rs |  40 ++++-----
 src/steps/mod.rs             |   2 +
 src/steps/partition.rs       |  75 ++++++----------
 src/ui/mod.rs                |   2 +
…
Click to expand
+ Thought: 1.4s
$ git log --oneline -5
25226c0 feat: dropdown full-width click, gradient bg, pointing-hand cursor
a48120b feat: gradient buttons, language selector with flags, SVG support, and UI improvements
b9f6df2 Merge branch 'main' into 'main'
30ea527 Merge branch yali-rs:main into main
d60bf64 feat: update display manager configuration and enhance cleanup process with repository management
+ Thought: 1.2s
$ git add locales/en.toml locales/tr.toml src/funct.rs src/installer.rs src/main.rs src/steps/bootloader.rs src/steps/display_manager.rs src/steps/mod.rs src/steps/partition.rs src/ui/mod.rs src/ui/theme.rs src/steps/location.rs src/ui/combobox.rs src/ui/combobox_stil.rs && git commit -m "refactor: extract ComboBox styling into dedicated module, add location step

- Create src/ui/combobox.rs with helper functions (show_combo_box, selectable_value, selectable_value_custom)
- Create src/ui/combobox_stil.rs with ComboBox visual constants (weak_bg_fill, text/border colors)
- Move theme.rs ComboBox visuals (weak_bg_fill, fg_stroke, bg_stroke) into combobox_stil::apply_visuals
- Move LocationStep from installer.rs to src/steps/location.rs
- Re-register LocationStep in steps/mod.rs
- Update all ComboBox usages across steps (bootloader, display_manager, partition, funct) to use theme::show_combo_box / selectable_value
- Replace manual mesh drawing in language selector with combobox helper
- Add region/timezone i18n keys
- Vertical-align region/zone labels to match ComboBox height"
[main ccc851d] refactor: extract ComboBox styling into dedicated module, add location step
 14 files changed, 547 insertions(+), 340 deletions(-)
 create mode 100644 src/steps/location.rs
 create mode 100644 src/ui/combobox.rs
 create mode 100644 src/ui/combobox_stil.rs
ccc851d refactor: extract ComboBox styling into dedicated module, add location step
14 dosya, 547 ekleme, 340 silme. Yeni dosyalar: combobox.rs, combobox_stil.rs, location.rs.
2026-06-17 10:01:47 +03:00
Erkan IŞIK ccc851d79f refactor: extract ComboBox styling into dedicated module, add location step
- Create src/ui/combobox.rs with helper functions (show_combo_box, selectable_value, selectable_value_custom)
- Create src/ui/combobox_stil.rs with ComboBox visual constants (weak_bg_fill, text/border colors)
- Move theme.rs ComboBox visuals (weak_bg_fill, fg_stroke, bg_stroke) into combobox_stil::apply_visuals
- Move LocationStep from installer.rs to src/steps/location.rs
- Re-register LocationStep in steps/mod.rs
- Update all ComboBox usages across steps (bootloader, display_manager, partition, funct) to use theme::show_combo_box / selectable_value
- Replace manual mesh drawing in language selector with combobox helper
- Add region/timezone i18n keys
- Vertical-align region/zone labels to match ComboBox height
2026-06-17 10:00:10 +03:00
ayhanyalcinsoy 6a3f82c5a2 Merge branch 'main' into 'main'
feat: gradient buttons, language selector with flags, SVG support, and UI improvements

See merge request ayhanyalcinsoy/yali-rs!5
2026-06-16 08:24:15 +00:00
Erkan IŞIK 25226c0f4f feat: dropdown full-width click, gradient bg, pointing-hand cursor 2026-06-15 02:36:30 +03:00
Erkan IŞIK a48120b039 feat: gradient buttons, language selector with flags, SVG support, and UI improvements
- Add linear gradient backgrounds to primary/secondary/danger buttons
- Add language selector with flag icons in ComboBox
- Add SVG support via egui_extras feature
- Add cancel confirmation dialog on exit
- Update Yali logo to SVG icon
- Add flag SVGs for all countries
- Improve users step layout with form helpers
- Refactor button API (ui::theme::*_button now takes ui param)
2026-06-15 02:36:29 +03:00
ayhanyalcinsoy b9f6df272e Merge branch 'main' into 'main'
sddm ayarı yapıldı ve live kalıntıları temizlendi

See merge request ayhanyalcinsoy/yali-rs!4
2026-06-06 12:39:29 +00:00
Erkan Işık 30ea5275ba Merge branch yali-rs:main into main 2026-06-06 15:24:34 +03:00
Erkan IŞIK d60bf64fa9 feat: update display manager configuration and enhance cleanup process with repository management 2026-06-06 15:23:39 +03:00
ayhanyalcinsoy ea6262a153 Merge branch 'main' into 'main'
Main

See merge request ayhanyalcinsoy/yali-rs!3
2026-06-06 12:11:31 +00:00
Erkan Işık e9e02e3e00 Merge branch yali-rs:main into main 2026-06-06 13:37:02 +03:00
Erkan IŞIK 3dca972906 feat: add user deletion during cleanup and remove unused password setting function 2026-06-06 13:36:27 +03:00