|
More work on runners, bindings into WebKit, and the beginnings of better composite manager support in Plasma, with support for multiple feed sources in the RSS Plasmoid. The addition of a "BBall", "Show Desktop", "KMLDonkey", and "IM Presence" (using Decibel) Plasma applets. An alternative alt+tab window switcher (similar to Compiz Fusion's "Cover Switch" effect). SuperKaramba gets support for Qt 4.4 "widgets-on-canvas". A long-overdue "major" rewrite of KCron is undertaken. Undo support in the KShortcutsEditor dialog. New plugins in Digikam and Krita. Various improvements in KTorrent and Amarok 2.0. Interface work and MusicBrainz integration in KsCD (student project). Lots of work on page transition effects in KPresenter. The start of work on integrating online reader support into Akregator. Kubrick, a Rubik's Cube game, is imported into playground/games. KDiamond moves from playground/games to kdereview, Kollision from kdereview to kdegames for KDE 4.1. kdebase (trunk, KDE 4.1) now requires Qt 4.4. Akonalendar (a small app to demonstrate Akonadi KCal models), and the Quasar graphics library are imported into KDE SVN.
|
Inge Wallin talks about new developments in Marble 4.1:
|
Marble is a virtual globe that is fast, versatile, and uses few resources. It is part of the KDE-Edu suite of applications, and is often used as a demonstrator for the "breathtaking beauty" vision that drives KDE 4. We will here show some of the exciting developments that are happening with Marble right now for the KDE 4.1 release.
Marble Now Marble in KDE 4.0 is a virtual globe. It is a stand-alone application that can show you the earth, zoom in and out, and give you a view of the world in either Globe Projection or Flat Projection. It is based on tiles, i.e data sets that are just big pixmaps that we get from sources like NASA.
The user can choose a number of Map themes, i.e. datasets like a standard Atlas view or a night map with city lights or a set of satellite photos. He or she can also control what is shown on the basic map, such as country borders, cities or other placemarks like mountains or ship wrecks (you can locate the Titanic using Marble).
In addition to being a full application, Marble is also a set of widgets that the programmer can integrate into other applications. The set of widgets provided by marble comprises the map widget and two control widgets. The widgets have full integration with Qt Designer, so the developer can simply drag and drop the marble components as any ordinary button or combobox.
Marble, the Vision While Marble is a virtual globe now, the vision is much more than that. We expect so called "Geo Services" to become very common on the desktop in the near future. Already now, Digikam can geotag the photos if the camera has a GPS. Geotagging will simply be a common thing to do.
The manifesto file in the Marble source states: "Marble is meant to become for "geo browsers" what KHTML/WebKit is for web browsers already". In other words, Marble will be the central component in the geo services infrastructure.
Marble exists in two different incarnations: A KDE version which uses the full power of kdelibs, and a Qt-only version which is more portable. The Qt-only version has already been ported to Windows, Macintosh, Windows CE, and the OLPC. We hope that, given some time, Marble will be the standard Geo Browser on all desktops, including GNOME.
Marble, the Development To reach the vision, we need integration. Marble needs to be fully integratable into almost anything, and also to integrate other components into itself. In fact, we think this is so important that we have assigned the code name "Integration" for Marble 4.1.
The Marble widget is already able to be integrateg into any KDE or Qt application. However, not all frameworks uses widgets; Plasma and KOffice Flake Shapes are two notable exceptions, although Plasma in KDE 4.1 will actually be able to use them.
Refactor to Allow Integration of Marble Without Widgets We have just finished a refactoring where we split the MarbleWidget into two classes:
- MarbleMap, which is an abstract map class that can paint on any device.
- MarbleWidget which is like the old Widget, but uses MarbleMap as the actual painter.
The developer who do not want to use a widget can just use the MarbleMap and tell it to repaint whenever necessary.
Refactor to Allow External Plugins There is also development going on in the internals of Marble. The internal machinery is rather complex, due to the extreme performance demands that a smooth update puts on the hardware. Remember that Marble doesn't need hardware acceleration to be able to work well.
The layer system is much better defined now, and a refactor is going on that will allow external plugins to create new stand-alone tile layers, combined tile layers, vector layers or placemark layers or any combination thereof. These plugins will also be able to plug into the configuration system of the legend, thus letting users turn on and off subfunctions at will.
Support for KML and GPX Files KML is the XML format that is used to create data that can be inserted into Google maps and Google Earth. Marble 4.1 will have support for the most-used parts of KML, and eventually for all of KML. Thus any data that can be shown in Google Earth can also be shown in Marble.
Marble 4.1 will also support standard GPS track files (the so-called "GPX" files), and maybe also other file formats.
Support for Custom Scenes Marble supports DGML files, a new XML format created directly for Marble itself. DGML describes a Map Theme or general setup that combines one or more tile sets with data of other types, such as vectors and placemarks. For Marble 4.1, we have extended the DGML format into DGML2, which is very powerful. Examples of usages are: scientists can describe specialized maps for tracking earth quakes, weather maps with complete legends of all weather symbols, integration with OpenStreetMap and so on.
Support for Other Geo Infrastructure If possible, Marble 4.1 will also integrate into already existing geo frameworks such as GeoClue which tries to use GPS, IP number and other means to get the current position. It already supports gpsd, the GPS daemon, but that feature will be more easy to use in 4.1.
What we hope is that people will use all these ways of integrating Marble and create new and wonderful ways to use geo services on the desktop. I don't think we can imagine all the new uses yet, they will develop as the potential of KDE 4 unwraps in KDE 4.2 and on. Already now, you can use the Marble widget and the Marble map in your own projects, and soon you will be able to write custom plugins to Marble. Contact me (ingwa) or Torsten Rahn (tackat) on irc://irc.freenode.com/#kde-edu. We will answer almost any question. You can also subscribe to marble-devel@kde.org and get the insider story on all this.
|
|
Ivan Čukić presents a new tool, Puck, the Plasma UI Compiler:
|
This time I'm not talking about Lancelot per se, although you get screenshots of it, but rather of a tool that is being created to ease it's development and development of other Plasma-based applications.
The name of the tool is "Puck" (Danny's idea) which could stand for Plasma UI Compiler K. Puck is a tool for converting XML-based UI definition into C++ Plasma code.
It is not that difficult to create a more complex UI by coding it directly in C++, but changing or rearranging an already coded UI is a pain. With an XML-defined UI, it's just a matter of cut-and-paste - which is essentially what was done to create a more compact version of Lancelot, or even to make it look like Kickoff. (the sole purpose of those layouts was to take the screenshots for this Commit-Digest - the final Lancelot will not look like this):
Currently, Puck supports only widgets and layouts that are used in Lancelot, and is able to generate only C++ code. This means that UI files can not be loaded at runtime yet.
The main goals for the future are:
- support for all Plasma's widgets and layouts
- support for ECMAScript or Python, and then loading and relayouting of UIs at runtime
- figure out what to do with the QWidget on QGV support introduced in Qt 4.4
Currently, Puck is a part of Lancelot's build system, and it can be found in extragear/plasma/applets/lancelot/tools/puck. It's not meant to be used elsewhere, at least not yet. If you would like to use it for your project (or extend or develop it) you should contact me - the address is ivan(dot)cukic(plus-sign)kde(at)gmail(dot)com
|
|
Urs Wolfer introduces a new feature in KGet for KDE 4.1: the web interface:
|
KGet got a new feature for KDE 4.1: a web interface to control downloads over the internet.
This is especially useful for large downloads, which will take quite some time to download. This will for example be the case for torrent downloads, which will be possible with KGet from KDE 4.1. You can run KGet on one computer (server) in your local network, which probably runs all the time anyway! Just enable the web interface on that machine and you will be able to control the downloads on that machine from anywhere you have network/internet access.
The web interface should work in any standards-compliant web browser. Technologies used for it are XHTML, CSS, JavaScript, JSON, and Ajax. It will work very fast also on slow internet connections, since it does not reload the whole page all the time. It only transfers the download list, which is a very lightweight JSON file. The "webserver" behind it is based on Qt's QTcpServer. This might be interesting for any Qt application which wants to provide a web-based control.
The web interface is fully translatable, like any other KDE application. The visual design is by Mensur Zahirovic. Thanks a lot to him for the very nice layout.
|
|
|