Commit Digest 113: 1 czerwca 2008
18 lipca 2008
- Do Amaroka 2 dodano podstawową obsługę oraz obsługę Librivox - biblioteki audiobooków udostępnionych w domenie publicznej.
- Trwa portowanie K3b do KDE 4.
- Dalsze prace nad "rozmytym wyszukiwaniem" w Digikam.
- Rozpoczęto prace nad efektami dźwiękowymi w grze KGoldRunner.
- Poprawki w imporcie msword-odf i kpr-odf w pakiecie KOffice.
- Rozpoczęcie prac nad integracją QTestLib w KDevelop.
- Do KMPlayer dodano menu zakładek i możliwość wyświetlania metadanych Phonona.
- Nowa ulepszona wersja KColorEdit została zaimportowana do KDE SVN.
- W KDE SVN powstał nowy moduł: kdeplasmoids, który ma zawierac wszystkie aplety Plasmy.
- Nowy motyw Plasmy dla KDE 4.1 pojawił się w KDE SVN.
- Biblioteka Eigen całkowicie pozbyła się zależności od Qt.
- Phonon został przeniesiony do modułu kdesupport a guidance-power-manager do extragear/utils.
John Layt opowiedział o przywróceniu zaawansowanych opcji drukowania (znanych z KDE 3.5.x) do KDE 4:
“Jedną z fajnych cech KDE 3 była świetna obsługa drukowania obsługiwana przez bibliotekę KDEPrint stworzoną przez Michaela Goffioul, która dawała KDE najlepszą obsługę drukowania spośród wszystkich pozostałych platform. Był to jeden z dwóch powodów dla których zrezygnowałem z GNOME na rzecz KDE (drugim powodem był KFileDialog). W KDE 4 byliśmy zmuszeni porzucić KDEPrint z powodów technicznych, obsługi wielu platform oraz braku chętnych do pracy nad tą częścią KDE. Decyzję tą ułatwiła nam także poprawiona obsługa drukowania w Qt 4 oraz to, że Trolltech obiecał wprowadzić w niej kolejne poprawki w Qt 4.4. Podziękowania należy kierować do Thomasa Zandera oraz Thiago Macieira. Mając już Qt 4.4 pracowałem nad uzupełnieniem kilku luk.
System KDEPrint powinien być podzielony na 3 części: wewnętrzną bibliotekę do komunikacji z systemem wydruku (CUPS, LPR, itp), wsparcie dla aplikacji (okna drukowania, itp) oraz część odpowiedzialną za zarządzenie systemem drukowania (dodawanie drukarek, podgląd zadań, itp).
Obsługa aplikacji jest już gotowa, ze względu na wykorzystanie Qt. Qt 4.4 ma poprawiony QPrintDialog bardzo podobny do tego z KDE 3, możliwość dodawania do okna własnych opcji oraz silnik z lepszą obsługą drukowania dwustronnego oraz marginesów. Wiele funkcji, które nie trafiły do Qt 4.4 pojawi się w Qt 4.5, a część z nich dodamy do QPrintDialog podczas drukowania z użyciem CUPS. Poniżej zrzuty ekranu z opcjami dotyczącymi zadania i strony, które dodałem do okna drukowania. Wymagają one jeszcze trochę dopracowania oraz dopasowania kilku ikon. Zarządzanie systemem drukowania w systemach UNIX stwarza jeszcze kilka problemów. Planowałem włączyć KDEPrint do wydania 4.1, ale niestety nie miałem wystarczającej ilości czasu, więc niestety nie będzie nowego narzędzia KPrinter w tym wydaniu. Zamiast tego w KDE 4.1 pojwi się printer-applet, który został zaimportowany do kdeutils przez Jonathana Riddella. printer-applet jets to port znanego z dytrybucji Red Hat narzędzia system-config-printer, które uzupełni brakującą funkcjonalność. Narzędzie to jest także w pewnym sensie krokiem milowym, gdyż jest pierwszą aplikacją pisaną w Pythonie, która trafiła do głównych modułów KDE.
Patrząc bardziej długodystansowo przyszłość KDEPrint jest niepewna. Wiele dystrybucji wprowadza własne narzędzia do zarządzania drukowaniem. Ze drugiej strony mamy interesującą współpracę pomiędzy projektami OpenPrinting i OpenUsability w celu stworzenia ujednoliconego okna drukowania, a jego pierwsza implementacja jest tworzona w ramach Google SoC 2008.”
Gilles Caulier i Marcel Wiesweg opowiedzieli o nowej funkcji "rozmytego wyszukiwania" w aplikacji digiKam:
“Rozmyte wyszukiwanie to zestaw narzędzi do przeszukiwania kolekcji zdjęć korzystając z falki Haara. Dzięki temu można odnaleźć zdjęcia na podstawie odręcznych szkiców lub korzystając z innego zdjęcia jako punktu odniesienia. Można dzięki temu także odnajdywać duplikaty zdjęć.
Aktualny algorytm Haara został wzięty z programu imgSeek. Przepisaliśmy kod, aby był bardziej w stylu C++ i stworzyliśmy interfejs do wymiany fingerprintów z bazą danych digiKama (imgSeek korzystał z pliku binarnego, a nie prawdziwej bazy SQL tak jak digiKam).
W aktualnej implementacji w digiKam pojawiły się trzy nowe narzędzia:W przypadku obu narzędzi rezultat działanie może zostać zapisany jako wirtualny folder.
- Wsadowy generator fingerprintów skanujący całą kolekcję i dodający je do bazy digiKama
- Edytor szkiców do odnajdywania podobnych zdjęć
- Narzędzie do wyszukiwania podobnych zdjęć - można wybrać dowolne zdjęcie z kolekcji, a digiKam sam odnajdzie wszystkie podobne do niego
Ciągle trwają prace nad innymi zadaniami:Wraz z Marcelem pracowaliśmy nad tymi implementacjami jakieś 2 tygodnie. Narzędzia są już dość dopracowane, chcemy jeszcze poprawić wyszukiwanie za pomocą algorytmu Haara. Wszystkie narzędzia "rozmytego wyszukiwania" muszą zostać ukończone przed wydaniem digiKam 0.10.0.
- Generowanie fingerprintów w locie, na przykład podczas importowania zdjęć z aparatu. Aktualnie fingerprinty muszą być generowane ręcznie z wykorzystaniem narzędzia o którym wspomniałem wcześniej.
- Stworzenie nowego narzędzia do wyszukiwania wszystkich duplikatów w całej kolekcji (Narzędzia -> Znajdź powtarzające się zdjęcia). W wynikach zobaczymy zdjęcia, które posiadają duplikaty. Kiedy użytkownik wybierze jakieś zdjęcie zostaną wyświetlone jego duplikaty. Użytkownik będzie miał możliwość wszystkie niechciane elementy.
- Brak informacji na temat celności w widoku ikon zawierającym znalezione elementy. Wymaga to wielu zmian i pojawi się dopiero po wydaniu 0.10.0. Tak na prawdę nasz aktualny widok ikon wciąż korzysta z przejściowych klas Qt 3 i dopiero trzeba stworzyć prawidłową implementację typu model/widok.
Jestem zaskoczony szybkością odpytywania bazy danej o figerprinty. Działa to bardzo szybko, ale czasami podczas używania narzędzia do szkiców wyniki są nieco dziwne.”
Ten artykuł jest tłumaczeniem 113 numeru tygodnika KDE Commit Digest.

