Commit Digest 108: 27 kwietnia 2008
- Obsługa ocen w Gwenview (wykorzystując silnik NEPOMUK).
- Moduł przewidywania koniunkcji w KStars.
- Podstawowa obsługa XSLT oraz interfejs eksportu do HTML w Parley.
- Prace nad widokiem chmur w Marble.
- Możliwość gry za pomocą klawiatury w KNetWalk.
- Usunięto charselectapplet, który został zastąpiony odpowiednim plasmoidem.
- Różne poprawki, głównie w zarządzaniu kolekcją oraz w OSD (On Screen Display) programu Amarok 2.
- Różne drobne poprawki w KTorrent.
- Gra KBlocks została przeniesiona z pakietu kdereview do kdegames.
- Serwer Akonadi został przeniesiony do pakietu kdesupport.
Thomas McGuire omówił zmiany w aplikacji KMail (oraz w pakiecie KDE-PIM):
“Jak wiecie KMail i cały pakiet KDE-PIM nie został wydany wraz z KDE 4.0, prawdopodobnie pojawi się jednak dopiero w KDE 4.1. Zależy to od tego czy zdołamy uporać się ze wszystkimi problemami na czas.
Co do KMaila, większość pracy było to przeniesienie go na Qt 4 i KDE 4. Był to wielki wysiłek, ponieważ KMail i Kontact to ogromna ilość kodu, którego przeportowanie wymagało chwilowej rezygnacji z jakichś funkcji. W czasie wydania KDE 4.0 zrezygnowano z tylu rzeczy, że Kontact nie nadawałby się po prostu do użytku. Nie było po prostu odpowiedniej liczby programistów, aby zdążyć z wydaniem na czas.
Dotarliśmy do punktu w którym udało się nam odbudować całą funkcjonalność i KMail znów nadaje się do użytku. Korzystam z niego na co dzień do obsługi poczty za pomocą POP3 i nie mam żadnych problemów. IMAP także wydaje się działać prawidłowo.
Wersja na Qt 4 jest już prawie gotowa, jedynymi brakującymi funkcjami są lista folderów oraz wiadomości, obie mają zostać napisane w ramach projektu SoC przez Szymona Stefanka, który ma także bardzo ciekawe plany dotyczące wyglądu listy wiadomości.
Przed wydaniem KDE 4.1 planuję poprawić stabilność KMaila i uzupełnić kilka braków. Mimo, iż większość włożonej pracy to przenoszenie, KMail zawiera także kilka nowości. Te które pamiętam to obsługa tagowania, dodawanie linków do wiadomości pisanych w formacie HTML oraz poprawki w sprawdzaniu pisowni.
Najważniejszą cechą nowego KMaila jest to, że teraz dzięki Jarosławowi Stańkowi będzie on działał także pod systemem Windows i MacOS X. Poniżej zrzut ekranu z programu Kontact działającego na systemie Windows. Długoterminowe plany dla KMaila to przeprojektowanie go tak, aby korzystał z Akonadi. Będzie to wymagało kolejnych dużych zmian w kodzie - zastąpienie warstwy przechowywania danych w KMailu. Zajmie to trochę czasu, więc raczej nie stanie się to przed wydaniem KDE 4.2.”
Stephen Kelly opisał nowy widżet KDE Rich Text:
“Przez kilka ostatnich tygodni pracowałem nad widżetem "rich text" dla KDE. Ten nowy widżet ma umożliwić programistom łatwe dodanie zaawansowanego edytora tekstu do swojej aplikacji.
Podczas dodawania zagnieżdżonych list i lepszej obsługi odnośników w KJots zdałem sobie sprawę, że możliwości tych brakuje także w KMailu. Przyglądając się dalej stwierdziłem, iż wszystkie programy oferujące zaawansowaną edycję tekstu implementują to na swój własny sposób obsługując różne zestawy funkcji, a także wprowadzając swoje własne błędy. O wiele lepszą sytuacją byłoby wykorzystanie tego samego kodu we wszystkich aplikacjach. Oznaczałoby to, że wszystkie aplikacje korzystające z takiego kodu mają ten sam zestaw funkcji oraz te same błędy (oraz oczywiście ich poprawki).
Widżet spędził 10 dni w module kdereview i został przeniesiony do kdelibs. Aktualnie jest on wykorzystywany w aplikacjach KJots, KMail, Mailody oraz w edytorze podpisów KMail. Mimo, że dla każdej aplikacji dostępne są te same możliwości, program nie musi korzystać z nich wszystkich.
Na przykład w KJots zablokowałem możliwość wyrównywania tekstu oraz usunięcia formatowania. Dodałem także kilka rzeczy, które nie są potrzebne w innych aplikacjach. Jedną z moich ulubionych funkcji jest kopiowanie formatowania. Pozwala ono skopiować formatowanie tekstu z jednej części dokumentu i nałożyć je na inną.
Dalsza praca nad widżetem to dodanie obsługi tworzenia i edycji tabel oraz lepsze zarządzanie obrazkami.Dodanie tego widżetu w aplikacji jest na prawdę bardzo proste. Dla przykładu dodanie widżetu, akcji paska narzędzi i elementów menu służących do formatowania tekstu (czcionka, rozmiar, kolor, itp.) oraz dodawania odnośników to:
KRichTextWidget* editor = new KRrichTextWidget(this);
editor->setRichTextSupport( FullTextFormattingSupport | SupportHyperLinks );
editor->createActions( actionCollection() );
setCentralWidget( editor );
Programiści nie muszą już za każdym razem pisać kodu odpowiadającego za tworzenie akcji, ikon czy skrótów. Akcje są gotowe do użycia, muszą być tylko wymienione w pliku ui.rc. Dzięki pracy Allena Wintera i Stephena Kelly z ekipy KMail widżet ten będzie łatwo modyfikowalny, będzie też istniała możliwość tłumaczenia jego interfejsu. Jeśli potrzebujesz pomocy w dodawaniu obsługi KRichTextWidget dla swojej aplikacji, pytaj na liście kde-devel lub na IRCu - #kde-devel na irc.freenode.net.”
W kolejnej części dotyczącej projektów KDE Summer of Code Wouter Haffmans opowiada o KidDraw:
“Cześć! Nazywam się Wouter i jestem programistą KidDraw. Aplikację stworzyłem jako projekt na zajęcia w szkole, było to dawno temu i pisałem ją w Delphi. W ciągu ostatniego roku przepisałem ją do Qt 4 dla mojego 7 miesięcznego synka. Jak wskazuje nazwa aplikacji jest to prosty program do rysowania przeznaczona dla dzieci. Nie ma tam żadnych skomplikowanych narzędzi - jest tylko pędzel, kilka kolorów i wybór grubości linii. Jest też proste zapisywanie i wczytywanie obrazków.
Początkowo zgłosiłem się do tegorocznej edycji Google Summer of Code, aby przenieść KidDraw do KDE. Niestety nie zostałem wybrany, ale postanowiłem kontynuować swoją pracę podczas tego lata, aby upewnić się, że przynajmniej podstawowe funkcje programu działają prawidłowo. Duża część pracy jest już wykonana.
Jak na razie rysowanie działa, zapisywanie i otwieranie obrazków wciąż jest nie obsługiwane. Można także zmienić paletę kolorów, jednak kolory na obrazku jeszcze się nie zmieniają. Jest jeszcze masa pomysłów, które chciałbym wprowadzić. Są to na przykład kolorowanki (ładujemy tło i wypełniamy kolorem), ustawianie obrazków jako tła pulpitu, drukowanie obrazków, łączenie kropek i wiele więcej. Należy także przenieść aplikację do KDE - jak na razie korzysta ona tylko z Qt. Jak widać jeszcze wiele pracy przede mną! ”
Ten artykuł jest tłumaczeniem 108 numeru tygodnika KDE Commit Digest.

