30 Ekim 2010 Cumartesi

Sistem Yöneticisi

Sistem Yöneticisi, masaüstü ortamı için dil, servis, saat ve konsol ayarlarının yapılabilmesine olanak sağlayan bir sistem yönetimi aracıdır. Sistemin kendisiyle alakalı olan değişiklikleri yapabildiğimiz bir araçtır.


Yapacağımız iş için eksiklerin, gereksinimlerin ve isteklerin belirlenmesi aşamasında yaptığım araştırmalara göre bugzillaya sistem yöneticisinden desteklenmeyen dil ve klavye düzeninin çıkarılması konusunda bir öneri sunulmuş bunun haricinde bir hata kaydı girilmemiş yapılması gereken işler kısmında ise saat diliminin ayarlanması kaydı yapılmış.
Teknik detaylarından bahsetmek gerekirse;
backend.py dosyası, sistem yöneticisinin gerçekleştireceği işlerin fonksiyonel olarak tanımlandığı kısımdır. Bu kısımda tanımlanan fonksiyonlara kısa birer tanımlama getirirsek:
  • Çomar'a bağlantı gerçekleştirilir.
  • Sinyaller dinlenilip hangi fonksiyonların gerçekleştirileceğini bulunur.
  • System.settings 'ten paketleri alınır.
  • Paketleri listelenir.
  • System.service dosyasından Çomar yardımıyla servis listesini alınır.
  • System.settings'ten dilleri alınır.
  • Seçilen arayüzden dil döndürür.
  • Dil ayarlarını yapar.
  • Konsol klavye düzenindeki combobox'ı doldurur.(List keymaps)
  • Keymap'ten alınan dili geri döndürür.
  • İlk başlatılacak servisi ayarlar.
  • Başlangıç servislerini ayarlar ve geri döndürür.
  • Konsol sayısını ayarlar ve geri döndürür.
  • Saati ayarlar ve geri döndürür.
main.py dosyasından söz etmek gerekirse sistem yöneticisi için arayüz ile ilgili olayların gerçekleştiği backend.py çağrısı ile arayüz ve çalışacak fonksiyonların bağlandığı kısım olarak tanımlayabiliriz.

main.py de içerisinde:
  • Arayüz ile bağlantı kurulup(main.ui) MainWidget oluşturuluyor.
  • Ana form üzerindeki bileşenler ekleniyor.
  • backend ile bağlantı yapılıyor.
  • System.Settings ten sinyaller listeleniyor.
  • İconlar, butonlar oluşturuyor.
  • Butona sinyal-slot mekanizmasına göre görev atanıyor.
  • Comboboxlar dolduruyor.
  • Arayüzden seçilen değerler kaydediliyor.
backend kısmında olmayıp arayüz üzerinden gerçekleşen sadece uygula butonunun işlevidir.

Arayüzde kullanılmış KDE bağımlı parçaları incelediğimizde ise:
  • KMainWindow, KApplication, KCModule, KIcon,KCmdLineArgs, KGlobal kullanılmış.
  • Anapencere KMainWindow dan türemiştir.
  • Form üzerindeki iconlar KIcon ile oluşturulmuştur.

Hiç yorum yok:

Yorum Gönder