İlgili hata kaydı: https://bugs.documentfoundation.org/show_bug.cgi?id=107258
Gönderdiğim yama: https://gerrit.libreoffice.org/gitweb?p=core.git;a=commitdiff;h=198f5a16fd4c5bf691a3450bbf16e88c000f9baa
Sürüm notu: https://wiki.documentfoundation.org/ReleaseNotes/5.4#Calc
Bu iki seçeneği ayrı ayrı eklemişken toggle butonu yapmak ilk bakışta kolayca olmalı gibi geliyor insana. Ama durum öyle değil. Yazılmış eski iki komutu çağırarak yapmak mantıklı gibi görünüor olsa da LibreOffice'in kullandığı UNO komutları bir görevi bağımsız bir şekilde yerine getirmeyi hedefler. Bu yüzden bir komutu başka bir komutun içinden çağırmak çok mecbur kalınmadıkça uygun değil.
Bu toggle buton için bazı kısımları yeniden yazmam ve yeni kullanım senaryosuna göre ayarlamam gerekti. Şimdi komutların ayrı ayrı olması ve bir arada çalışması(toggle) durumunun gerçekleştirilme senaryoları arasındaki farkı şöyle anlatayım:
*Bu seçenek kullanıcıya belgede yorum var mı diye yapılan kontrolün sonucunda ancak belgede yorum varsa göründüğü için belgede yorum yoksa senaryosunu değerlendirmeye gerek yoktur.
Ayrı ayrı tüm yorumları göster/gizle
Kullanıcı tüm yorumları göster seçeneğine tıklar:- Geri Al yöneticisi başlatılır
- Seçili tablolar bir listeye atanır
- Bu tablolar içindeki tüm yorumlar bir listeye atanır.
- Yorumlar listesinin içindeki her yorumun durumu görünür yapılır.
- Geri Al yöneticisi bitirilir
Toggle tüm yorumları göster/gizle
Yorumlar için 3 durum mevcuttur:
- Hepsi görünür durumda
- Hepsi gizli durumda
- Karışık
- Seçili tablolar bir listeye atanır (Açılış durumunda bu güncel tabloya denk gelir)
- Bu tablolardaki yorumlar bir listeye atanır. (Performansı arttırmak açısından "karışık" durumunun en erken tespiti için yorumlar tablolar bazında değil kolonlar bazında incelenir)
- Bu yorumların durumları tespit edilir
- Butonun seçili olması ya da olmaması durumu gerçekleştirilir.
- Seçili tablolar bir listeye atanır (Hiçbir tablonun seçili olmaması durumu yoktur)
- Bu tablolardaki yorumlar bir listeye atanır.
- Geri Al yöneticisi başlatılır
- Yorumlar listesindeki tüm yorumlar kapalı hale getirilir.
- Butona göster görevi atanır
- Geri Al yöneticisi bitirilir
- Butonun nasıl görüneceği durumu güncellenir.