11 Mayıs 2017 Perşembe

Tüm yorumları göster/gizle toggle menü elemanı eklendi.

LibreOffice Calc bileşenine daha önce "tüm yorumları göster ve gizle" seçeneklerini ayrı ayrı komutlar halinde eklemiştim. Arkasından bunun toggle halde çalışan halinin de eklenmesini istemişlerdi. Ekledim. 5.4 sürümünden itibaren kullanılabilecek.

İ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:
  1. Geri Al yöneticisi başlatılır 
  2. Seçili tablolar bir listeye atanır
  3. Bu tablolar içindeki tüm yorumlar bir listeye atanır. 
  4. Yorumlar listesinin içindeki her yorumun durumu görünür yapılır.
  5.  Geri Al yöneticisi bitirilir
(Zaten hepsi görünür durumdaysa kontrolü yapılmaya değer bulunursa  ekleyeceğim. Bazen performansı arttırma çabası karmaşıklığı arttırıp tam tersi etki yaratabilir.)

Toggle tüm yorumları göster/gizle


Yorumlar için 3 durum mevcuttur:
  • Hepsi görünür durumda
  • Hepsi gizli durumda
  • Karışık
Öncelikle belge açılırken ya da belgenin durumu değiştiğinde seçeneğin işaretli mi değil mi olacağına karar vermek gerekir
  1.  Seçili tablolar bir listeye atanır (Açılış durumunda bu güncel tabloya denk gelir)
  2. 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)
  3.  Bu yorumların durumları tespit edilir
  4. Butonun seçili olması ya da olmaması durumu gerçekleştirilir.
 Butonun durumuna karar verildi. Varsayalım ki tüm yorumlar başta açık halde olsun öyleyse buton seçili görünecek. ve görevi tüm yorumları gizlemek olacak Şimdi kullanıcı bu butona tıkladığında:
  1.  Seçili tablolar bir listeye atanır (Hiçbir tablonun seçili olmaması durumu yoktur)
  2. Bu tablolardaki yorumlar bir listeye atanır.
  3. Geri Al yöneticisi başlatılır
  4.  Yorumlar listesindeki tüm yorumlar kapalı hale getirilir.
  5.  Butona göster görevi atanır
  6.  Geri Al yöneticisi bitirilir
  7. Butonun nasıl görüneceği durumu güncellenir.
Seçim durumu değiştiğinde tüm adımlar en baştan tekrar edilir.