Portál AbcLinuxu, 22. května 2024 14:40

Co se děje v KDE - 99 (24. 2. 2008)

2. 4. 2008 | Michal Vyskočil
Články - Co se děje v KDE - 99 (24. 2. 2008)  

Virtuální glóbus Marble: jak funguje, co umí, jaké jsou plány do budoucna. Puck je překladač XML definic uživatelského rozhraní do C++. Nová funkce KGet: ovládání přes webové rozhraní.

Tento týden

Další práce na spouštěčích, bindingy pro WebKit a počátek lepší podpory kompozitních správců oken v Plasmě, spolu s podporou více zdrojů v RSS plasmoidu. Přidány plasmoidy "BBall", "Show Desktop", "KMLDonkey", a "IM Presence" (za použití Decibel). Alternativní alt+tab přepínač oken (podobný s "Cover Switch" efektem z Compiz Fusion). SuperKaramba podporuje technologii "widgets-on-canvas" z Qt 4.4. Začalo dlouho očekávané přepsání KCron. Podpora operace Undo v dialogu KShortcutsEditor. Nové pluginy pro Digikam a Kritu. Různé vylepšení v KTorrent a Amarok 2.0. Práce na rozhraní a integrace MusicBrainz v KsCD (studentský projekt). Mnoho práce na přechodových efektech mezi stránkami v KPresenter. Začátek práce na integraci podpory pro online čtečky pro Akregator. Kubrick, rubikova kostka, byla importována do playground/games. KDiamond se přesunul z playground/games do kdereview, Kollision z kdereview do kdegames pro KDE 4.1. kdebase (trunk, KDE 4.1) nyní vyžaduje Qt 4.4. Akonalendar (malá aplikace pro demonstraci Akonadi modelů KCal) a grafická knihovna Quasar byly importovány do KDE SVN.

Inge Wallin mluvil o novinkách ve vývoji v Marble 4.1:

Marble je rychlý, univerzální a nenáročný virtuální glóbus. Je součástí balíku aplikací KDE-Edu a je velmi používán k demonstraci závratně krásného vzhledu KDE4. Ukážeme zde některé zajímavé momenty z vývoje, které se udály právě teď při vývoji pro vydání KDE 4.1.

Marble dnes

Marble je v KDE 4.0 virtuální glóbus. Je to normální aplikace, která ukazuje zeměkouli, umí přibližovat a vzdalovat pohled a dokáže zemi zobrazovat buď jako kouli nebo jako plochu. Marble je založen na dlaždicích, což znamená, že datové položky jsou obyčejné velké pixmapy, které můžeme získat ze zdrojů jako třeba NASA.

Uživatel si může vybrat z několika témat mapy, tj. použít třeba zdroj v podobně standardního zobrazení pro atlasy nebo noční mapu se světly měst, případně satelitní snímky. Stejně tak může určit, zda se mají zobrazovat další prvky typu hranice států, města nebo významná místa jako hory nebo vraky lodí (pomocí Marble se můžete podívat, kde je vrak Titaniku).

Kromě toho, že jde o samostatnou aplikaci, je Marble rovněž množina widgetů, které mohou programátoři použít ve svých projektech. Jde o mapový widget a dva ovládací prvky. Widgety rovněž nabízejí plnou integraci s Qt Designerem, takže vývojář může jednoduše umísťovat a upravovat komponenty za pomoci myši, stejně jako u běžných tlačítek.

Marble, vize

Přestože je v současnosti Marble virtuálním glóbem, v plánu je toho mnohem více. Očekáváme, že se takzvané "geografické služby" (Geo Services) stanou v blízké době běžnou součástí desktopu. Už teď dokáže Digikam geotagovat fotky, pokud fotoaparát obsahuje GPS. Geotagging prostě bude jednoduchá a běžná věc.

Manifest ve zdrojových kódech Marble říká: "Marble je zamýšlen tak, aby pro "geo prohlížeče" znamenal to stejné, co znamená je KHTML/WebKit pro webové prohlížeče". Jinými slovy, Marble bude centrální komponenta pro geografické služby.

Marble existuje ve dvou odlišných inkarnacích: v KDE verzi, která používá veškeré vymoženosti kdelibs, a Qt verzi, která je více portovatelná. Qt verze byla portována na Windows, Macintosh, Windows CE a OLPC. Doufáme, že se za nějaký čas stane Marble standardním geo prohlížečem na všech desktopech, Gnome nevyjímaje.

Marble a vývoj

K dosažení vize potřebujeme integraci. Marble potřebuje být plně integrovatelný do čehokoliv a také připraven k integraci ostatních komponent do sebe. Ve skutečnosti na toto klademe tak velký důraz, že jsme pro Marble 4.1 zvolili kódové jméno "Integration".

Widget Marble je v současnosti plně integrovatelný do jakékoliv KDE či Qt aplikace. Nicméně ne všechny frameworky widgety používají; například Flake Shapes z Plasmy a KOffice jsou dvě významné výjimky, ačkoliv Plasma v KDE 4.1 už dokáže používat i je.

Refaktoring pro umožnění integrace Marble bez widgetů

Právě jsme dokončili refaktoring, v němž jsme rozdělili MarbleWidget do dvou tříd:

Vývojář, který nechce použít widget, prostě může použít MarbleMap a říct mu, aby se překreslil, kdykoli je to potřeba.

Refaktoring pro podporu externích pluginů

Vývoj probíhá i uvnitř Marble. Vnitřní mašinerie je dosti složitá kvůli extrémním výkonnostním nárokům, které jsou na hardware kladeny pro zajištění plynulých změn pohledu. Pamatujte, že Marble dobře funguje i bez hardwarové akcelerace.

Rozdělení jednotlivých vrstev je v současnosti daleko lépe definováno a refaktoring se zaměřuje na to, aby mohly externí pluginy vytvářet samostatné dlaždicové vrstvy, kombinovat je, vytvářet vektorové vrstvy či významné body nebo všechny předešlé libovolně kombinovat. Tyto pluginy budou také schopné se zapojit do systému pro nastavení legendy, což uživatelům umožní libovolně zapínat a vypínat různé funkce.

Podpora pro formáty KML a GPX

KML je XML formát, který se používá pro data, jež mohou být vložena do Google Maps a Google Earth. Marble 4.1 bude obsahovat podporu pro nejčastěji používané části KML a možná i pro KML celé. Takže jakákoli data, která mohou být zobrazena v Google Earth, bude také možné zobrazit v Marble.

Marble 4.1 bude podporovat i standardní trackovací soubory GPS (takzvané "GPX") a dost možná také další formáty souborů.

Podpora pro vlastní scény

Marble podporuje formát DGML, nový XML formát navržený přímo pro něj. DGML popisuje téma pro mapy nebo obecné nastavení kombinující jednu či více množin dlaždic s daty ostatních typů, jako jsou vektory či významné body. Pro Marble 4.1 jsme rozšířili DGML formát na DGML2, který je velmi šikovný. Příklady použití: vědci mohou vytvořit specializované mapy pro sledování zemětřesení, mapy počasí s kompletním popisem veškerých použitých symbolů, integrace s OpenStreetMap a tak dále.

Podpora další geografické infrastruktury

Pokud to vyjde, bude Marble 4.1 rovněž integrován do dnes existujících geo frameworků jako GeoClue, který se snaží ze souřadnic GPS, IP adresy a dalších zdrojů najít vaši současnou pozici. Rovněž podporuje GPS démona gpsd.

Doufáme, že lidé budou využívat všechny tyto nabízené možnosti integrace Marble a budou vytvářet nové a zajímavé způsoby, jak používat geografické služby na desktopu. Myslím, že si dnes ani nedokážeme představit všechny možnosti použití, které lidé vyvinou, až se potenciál KDE4 naplno projeví v KDE 4.2 a dále. Momentálně můžete použít Marble widget a Marble map ve vašich projektech a brzy bude možné napsat vlastní plugin do Marble. Kontaktuje mě (ingwa) nebo Torstena Rahna (tackat) na irc://irc.freenode.com/#kde-edu. Odpovíme skoro na všechno. Rovněž se můžete přihlásit do marble-devel@kde.org a získat informace přímo z první ruky.

Ivan Čukić prezentuje nový nástroj Puck, překladač uživatelského rozhraní pro Plasmu:

Tentokrát nehodlám mluvit přímo o Lancelotu, přestože z něj uvidíte screenshoty, ale hlavně o nástroji, který vytvářím, abychom si vývoj Lancelotu a dalších plasmových aplikací usnadnili.

Jméno toho nástroje je "Puck" (Dannyho nápad), což by mohlo znamenat Plasma UI Compiler K. Puck je nástrojem pro konverzi XML definice uživatelského rozhraní do C++ kódu Plasmy.

Není příliš složité vytvořit velice komplexní GUI přímo v C++, ale změny nebo přeuspořádání takového rozhraní jsou otrava. S UI definovaným v XML je to otázka cut-and-paste, což je přesně způsob, jak byla vytvořena kompaktnější verze Lancelotu nebo k uzpůsobení jeho vzhledu ala Kickoff. (Jediným účelem takových rozložení bylo udělat screenshoty pro tento Commit-Digest, finální verze Lancelotu tak vypadat nebude.)

099 pucking_lancelot

V současnosti Puck podporuje výhradně widgety a rozložení použitá v Lancelotu a je rovněž schopen generovat výhradně kód v C++. To znamená, že zatím není možné nahrát soubor s definicí UI za běhu.

Hlavní cíle do budoucna jsou:

V tuto chvíli je Puck součástí sestavovacího systému Lancelotu a je k dispozici v extragear/plasma/applets/lancelot/tools/puck. Není určen k použití pro jiné účely, tedy zatím ještě ne. Pokud byste jej chtěli použít pro váš vlastní projekt, můžete mě kontaktovat - adresa je ivan(dot)cukic(plus-sign)kde(at)gmail(dot)com.

Urs Wolfer představuje novu vlastnost v KGet pro KDE 4.1: webové rozhraní:

KGet v KDE 4.1 má novou funkci: webové rozhraní k ovládání stahování přes Internet.

Je to užitečné především pro velké objemy dat, které zaberou spoustu času. Například stahování torrentů, což bude s KGetem v KDE 4.1 možné. Na jednom počítači ve vaší lokální síti můžete spustit KGet (server), který pravděpodobně tak jako tak běží stále! Potom stačí jenom povolit na daném stroji webové rozhraní a můžete ovládat stahování na tom stroji odkudkoliv, kde máte přístup k síti/Internetu.

099 kget_webinterface_1

Webové rozhraní by mělo pracovat s libovolným prohlížečem dodržujícím standardy. Technologie použité pro to všechno jsou XHTML, CSS, Javascript, JSON a Ajax. Bude to pracovat velmi rychle i na pomalých linkách, protože se pokaždé nenahrává celá stránka. Přenáší se pouze seznam stahování, což je velice malý JSON soubor. "Webserver" je postaven na QTcpServer z Qt. Může to být zajímavé pro jakoukoli Qt aplikaci, která chce nabízet webové ovládání.

099 kget_webinterface_2

Webové rozhraní je plně přeložitelné, stejně jako jakákoli jiná KDE aplikace. Vzhled navrhl Mensur Zahirovic. Patří mu velké díky za tak pěkný layout.

Statistiky

Commity: 2612 od 245 vývojářů, 6750 změněných řádek, 1558 nových souborů.
Otevřené chyby: 16124
Otevřené požadavky: 13711
Otevřených chyb: 278 za posledních 7 dní.
Zavřených chyb: 193 za posledních 7 dní.

Shrnutí commitů

Modul Commitů
/trunk/KDE
342
/trunk/l10n-kde4
262
/branches/stable
145
/trunk/extragear
114
/branches/KDE
97
/trunk/playground
82
/trunk/kdesupport
57
/branches/work
36
/trunk/www
34
/trunk/koffice
34
Řádek Vývojář Commitů
99
Allen Winter
39
58
Andreas Pakulat
21
19
Siraj Razick
19
87
Riccardo Iaconelli
16
17
Thanomsub Noppaburana
16
32
Stephan Binner
15
24
Maximilian Kossick
12
21
Nikolaj Hald Nielsen
10
40
Michaël Larouche
9
19
Koos Vriezen
9

Stav překladů (i18n)

Jazyk Hotovo procent
portugalština
100%
řečtina
98%
švédština
95%
japonština
92%
Low Saxon
87%
estonština
86%
němčina
85%
brazilská portugalština
85%
nizozemština
85%
francouzština
85%

Lovci chyb

Lovec chyb Počet zavřených chyb
Thomas McGuire
24
Leonardo Finetti
23
Pino Toscano
23
Tristan Hoffmann
22
Tommi Tervo
11
Aaron J. Seigo
11
Joris Guisson
8
Gilles Caulier
8
Charles Connell
8
Jonathan Marten
6
Program Cvrkot
Amarok
8885
KMail
5095
K3b
4305
Kopete
3183
KDevelop
2716
Kate
2417
Solid
1970
Plasma
1970
Kontact
1649
Kaffeine
1637
Osoba Cvrkot
Tobias Hunger
5525
David Faure
2550
Stephan Kulow
1883
Aaron Seigo
1797
Torsten Rahn
1224
Laurent Montel
1120
Jonathan Riddell
1097
Stephan Binner
786
Adriaan de Groot
728
Thiago Macieira
721

Seriál Co se děje v KDE (dílů: 13)

První díl: Co se děje v KDE - 94 (20. 1. 2008), poslední díl: Co se děje v KDE - 108 (27. 4. 2008).
Předchozí díl: Co se děje v KDE - 98 (17. 2. 2008)
Následující díl: Co se děje v KDE - 100 (2. 3. 2008)

Související články

Co se děje v KDE - 98 (17. 2. 2008)
Co se děje v KDE - 97 (10. 2. 2008)
Co se děje v KDE - 96 (3. 2. 2008)

Odkazy a zdroje

KDE Commit-Digest 99

Další články z této rubriky

Týden na ITBiz: Polovina českých firem si není jistá blízkou budoucnosti svého oboru, většina ale počítá s velkým vlivem AI
Týden na ScienceMag.cz: Působivá simulace pádu do černé díry
Týden na ITBiz: Platby výkupného za ransomware vzrostly za poslední rok na pětinásobek
Týden na ScienceMag.cz: O krok blíže k molekulárním počítačům
Týden na ITBiz: Kvalita a přesnost dat generovaných AI rozhodne o důvěře zaměstnanců v umělou inteligenci

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.