Commit Digest 129: 21 września 2008
- Różne zmiany w Plasmie: prace nad plasmoidem pogodowym, rozpoczęcie prac nad plasmoidem obsługujacym powiadomienia systemowe.
- Naprawiony błąd powolnego kasowania wielu plików.
- Moduł Ustawienia systemowe (System Settings) do wyboru domyślnego menedżera plików.
- Podstawowa obsługa usuwania efektu czerwonych oczu w Gwenview.
- Generator dokumentów faksowych G3/G4 w aplikacji Okular.
- Dalsze prace nad mechanizmem uzupełniania kodu źródłowego w KDevelop 4.
- Rozpoczęcie prac nad interfejsem D-Bus w aplikacji Lokalize.
- Prace nad obsługą różnych zasobów we wtyczce OpenSync dla Akonadi.
- Powrót akcji aplikacji Ark do menu kontekstowego.
- Mapy Liechtensteinu, Omanu i San-Marino w KGeography.
- Widżet KFormula został przeniesiony z KOffice do kdelibs, aby mógł być używany także w innych aplikacjach.
- Prace nad portowaniem Keep - narzędzia do wykonywania kopii zapasowych - do KDE 4.
Ryan P. Bitanga zaprezentował QuickSand - alternatywę dla KRunnera:
“QuickSand jest mocno inspirowany interfejsem "Primer" dla Quicksilver w Mac OS X.QuickSand posiada 3 tryby wyświetlania: "Parada ikon", "Wybrany element", oraz widok "Tekstowy". Domyślnym widokiem jest "Parada ikon". QuickSand wyświetla zachętę do wpisywania tekstu, który ma zostać wyszukany. Wpisany tekst pojawia się w lewym górnym narożniku aplikacji. Jeśli zostaną znalezione jakieś wyniki, to ich liczba pojawia się w prawym narożniku. Ikony znalezionych aplikacji ułożone są obok siebie, a dodatkowo pojawia się podpowiedź, która ma naprowadzić użytkownika na właściwą aplikację. Użytkownik może przewijać listę aplikacji za pomocą strzałek w górę i w dół (kiedy wyświetlana jest podpowiedź) lub w lewo i prawo, kiedy podpowiedzi nie ma.
Wciśnięcie klawisza <enter> wyświetli tylko zaznaczony wynik. Kliknięcie strzałki w prawym górnym narożniku przełącza pomiędzy widokami "Parada ikon" i "Wybrany element".
Jednym z powodów powstania QuickSand była możliwość obsługi wielu akcji. Dla przykładu, dopasowanie okna otwartej aplikacji może mieć skojarzonych kilka akcji. Okno może zostać zminimalizowane, wyświetlone na wszystkich pulpitach, itp. Jeśli dane dopasowanie ma skojarzonych kilka akcji, pojawi się nowy panel z wyświetlonymi akcjami. Wciśnięcie klawisza <tab> przełączy nas na ten panel i pozwoli wybrać odpowiednią akcję.
Miejmy nadzieję, że QuickSand będzie opcją w KRunner, a użytkownicy będą mogli wybierać pomiędzy nim, a domyślnym interfejsem KRunnera.
W przyszłości w QuickSand ma pojawić się możliwość uruchamiania akcji z parametrami. Przykładowo dla pliku "zrzutekranu.jpg" pojawi się akcja "wyślij mailem..." a parametrem będzie na przykład adres "danny@commit-digest.org". Dodanie obsługi parametrów nie powinno być trudne: po prostu poniżej panelu z akcjami pojawi się kolejny panel zawierający pola parametrów.”
Gopala Krishna przedstawił zmiany poczynione przez studentów Summer of Code w aplikacji Umbrello:
“Cześć, nazywam się Gopala Krishna i aktualnie studiuję inżynierię informatyczną w Bangalore w Indiach.
Umbrello jest aplikacją KDE do modelowania UML dostępną w module kdesdk. Umbrello został już przeportowany do KDE 4, ale wciąż są tam rzeczy, które można poprawić.
Google Summer of Code 2008 dało mi szansę wniesienia swojego wkładu w KDE. Pracuję nad wprowadzeniem takich zmian, aby Umbrello korzystało z komponentu GraphicsView. Moim mentorem jest Kubuntero, czyli Jonathan Riddell.
Prace rozpocząłem od zamiany Q3Canvas na GraphicsView i powoli usuwałem wszystkie odniesienia do Q3Canvas. Oczywiście sprawiło to, że narysowanie czegokolwiek stało się niemożliwe. Po wielu zmianach udało mi się sprawić, aby aplikacja znowu działała.
Po tej zmianie stanąłem przed wyborem tego, jak mają wygadać elementy diagramu: mogłem albo poprawić źródła, tak aby wszystkie popsute elementy zaczęły działać, albo też całkowicie zmienić podejście i skorzystać z możliwości GrapicsView. Druga opcja oczywiście była bardziej przyszłościowa i właśnie na nią się zdecydowałem. Pierwszym krokiem było przeprojektowanie podstawowych klas i przeniesienie ich do nowej przestrzeni nazw.
Kolejnym krokiem było zbudowanie mechanizmu do zmiany rozmiaru elementów. Poprzednie wersje pozwalały tylko na zmianę rozmiaru za pomocą prawego, dolnego narożnika. Stworzyłem nową klasę - WidgetHandle dziedziczącą po QGraphicsItem, która obsługiwała wszystkie zmiany rozmiaru. Poniżej zrzut ekranu ;)
Podczas portowania widżetów UML zauważyłem, że wyświetlają one wiele tekstu i każda z klas musi zawierać odpowiedni kod, który umożliwi rysowanie i dopasowanie rozmiaru czcionek.
Wpadłem na pomysł wydzielenia całej obsługi tekstu do klas TextItem oraz TextItemGroup. Poniżej możecie znaleźć informacje o wydajności obu rozwiązań.TextItems jest jedną z fajniejszych części projektu, gdyż umożliwia dodanie obsługi formatowania tekstu, podpowiedzi oraz edycji "w miejscu".
Teraz już prawie wszystkie widżety UML wykorzystują TextItemGroups i TextItems do wyświetlania tekstu.
Poniżej zrzuty ekranu z "odpicowanymi" widżetami!Aktualnie pracuję nad implementacją LinePath wykorzystywaną do rysowania linii łączących widżety.
Plany na przyszłość to jak najszybsza integracja mojego kodu z gałęzią trunk/, aby znalazł się on w KDE 4.2. Mam zamiar także poprawić działanie opcji Cofnij/Ponów. Wydaje mi się, że ze wsparciem społeczności Umbrello jest to jak najbardziej możliwe :-).
Kod źródłowy jest dostępny pod adresem http://websvn.kde.org/branches/work/soc-umbrello/.”

