The Wayback Machine - https://web.archive.org/web/20100612195133/http://kdedevelopers.org/aggregator
Skip navigation.
KDE Developer's Journals

Feed aggregator

Ryan Rix (PhrkOnLsh): aseigo is forcing me to blag

Planet KDE - 10 hours 26 min ago

yes, forcing, I’m such an abused little critter, it’s so bad, I’ll need counseling. :(

Over the last few weeks I have been putting the finishing touches on the plasma KPart plugin… It looks pretty good now, but still lacks a bit of the bits to really make it shine, including an API to allow applications to interact with the Plasma APIs on a more intimate level, rather than just "load widget foo, and I’ll get out of the way".

The current state of our Plasma dashboard is looking pretty good. And, what’s that? A special dates plugin! Thanks to the really awesome Akonadi and Calendar plugins (I owe fregl massive amounts of cookies/hugs for the calendar dataengine improvements!) it was mostly simple for me to write that widget. As you can tell, it still needs some layout lovin’, and the code is kinda nasty in some places, but it’s a great start.

That’s where I am this week :)

=-=-=-=-=
Powered by Blogilo


Victor Carbune (carbonix): KStars now has a view of its own for SkyObjects

Planet KDE - 11 hours 38 min ago
This week was the first week of our examination session at university. Even though I had a quite hard exam on the beginning of the week, I have worked on a class which will be used in KStars for displaying lists of objects, having a particular context menu, adapted for KStars SkyObjects.

Yesterday, together with Dragos, a friend and class mate who is currently a Gnome Google Summer of Code Student we decided to do a whole day coding sprint on our projects, since university exams tend to keep us temporary away from our work.

I consider the overall a result interesting and really useful. The class on which I've worked, KSObjectList extends QTableView and will be used wherever a list of SkyObjects might appear in KStars. For the moment, it replaces the standard QTableView in the Observing List (a tool in KStars which permits users to plan their observing session) and will be used in a more complex search query dialog on the database.

KSObjectList current has the following:
  • a particular context menu, directly connecting actions which can be done on a SkyObject (Show Details, Center Object, Show SDSS Image etc.)
  • the options actually displayed on the context menu can be directly specified in the .ui file (this means one can easily use to Qt Designer to easily add / remove options for the object list
  • actions / options are easily added by a developer in the objlistpopupmenu (which extends KMenu)

This represents the first step to some great features, which might include some of the following:
  • implicit and explicit column layout (specified by the developer through particular methods)
  • appending directly a QList to the list
  • intelligent handling of properties of SkyObjects (e.g. when appending a skyobject to the view, it automatically gets the properties for each of the column defined by the developer for the view)
So, how easy is to actually use this view? Below is a sample, from an .ui file in KStars:

<widget class="KSObjectList" name="SessionView">
   <property name="showCenter">
      <set>true</set> </property>
      ...
   <property name="showRemoveFromSessionPlan">
      <set>true</set>
   </property>
</widget>

It's pretty obvious what's happening above: we specified what options should appear on the context menu when the user right clicks a row in the view. These are not new features in KStars, but rather the code is refactored so that it got really reusable by multiple components in KStars.

Even though I have not received a travel grant (but I thank the KDE e.V. board for evaluating my request) I decided to make a financial effort to participate at aKademy, since knowing the community means a lot to me!

So today, together with my friend and colleague, Diana (a KDE GSoC Student working on Kate) we've booked tickets to Tampere and I'm very eager to meet everyone at aKademy! Even though I will attend only the first three days, I hope on getting to know our community better :).

Chani Armitage (Chani): a note on activity/plasma bugs

Planet KDE - 15 hours 25 min ago

so, a bug snuck into beta 2. If you’ve never switched activities, you might not *have* a current activity, which can get you weird stuff like black screens. It’s fixed in trunk (as of a few days ago), but if you’re using the betas, go press meta-tab (the global shortcut for cycling through activities) to avoid this bug :)

Also, although the beta1 activity-creation bug was fixed, it gave some people a lot of useless activities that can’t be automagically cleaned up. If you don’t want to delete them all manually, here’s how to wipe out all your plasma and activity config:

1. log out of kde
2. log into a terminal
3. remove plasma-desktop-appletsrc and activitymanagerrc from ~/.kde4/share/config/ (might be .kde/ instead of .kde4/ on some distros)
4. log back into kde
5. do the meta-tab thing again if you’re on beta 2

remember: that will delete *all* your plasma config, both desktop and panels. you might want to back up the files first, in case you change your mind.

[edit] oh, one more note; if you’re using multiple screens or PVD, the migration from 4.4 to 4.5beta will make each containment a separate activity. so, if you had 4 virtual desktops and PVD turned on, you’ll have four activities, *each* with four containments. this might not be what you wanted. I had intended to add some code to try and create fewer activities during migration, but didn’t have time. it might still make it into 4.5; we’ll see.


Cornelius Schumacher: Hackweek V: Graphical SUSE Studio Client

Planet KDE - 16 hours 35 min ago
Hackweek V is over and I can happily report success. My graphical SUSE Studio client is functional and has the first cool features implemented. The focus of the client is not to duplicate the functionality of the SUSE Studio web interface, but to provide those features, which are hard or not possible to do on the server. This is stuff like managing downloads, running and deploying appliances locally, or native access to testdrive. From this list I got the native testdrive done. On the click of a button, the client starts a testdrive on the SUSE Studio servers and then connects with an embedded native client. This gives great performance and a very smooth and integrated experience.


The client uses the HTTP API of SUSE Studio to talk to the server. This way it gets the list of appliances and builds of a user and can operate on this data. It does some local caching of results of HTTP request in order to provide a very responsive user interface. The client is implemented using the KDE development platform, which provides all the bits and pieces to do the UI, to perform the HTTP communication, and also the embedded VNC viewer. It's pretty much standard technology, but I'm still amazed of how well all these pieces fit together and how easy it is to write such a client, which allows to move into areas, which aren't covered by the web application.


One detail of the implementation is particularly interesting, that's the XML parsing part. The REST-like API, which uses XML over HTTP, obviously involves quite a bit of XML parsing. Usually this is tedious code to write. This always annoyed me, so I wrote a tool to generate the parsing code, KXML Compiler. It's one of my hobby projects I work on from time to time since a couple of years now. It takes an example XML file and generates C++ classes from that, which represent the data, including parsers and writers from and to XML. So the application developer gets a nice native API to the data represented in XML without having to write any code. The tool works well for my use cases, but of course there are quite some situations, where it could produce better results or where it doesn't cover everything, so it sometimes needs fixes and improvements when taking on new data. It's an ongoing project and quite some fun as it involves some mind-twisting metaprogramming. The code is hosted as part of the Kode repository on github.

The code for the client is hosted in the Studiosus repository on gitorious.org. Some more information about the development during this hackweek can be found in my Hackweek blog.


Hackweek was fun. I'm happy about the progress I made. It also was great to see some of the other exciting projects which were done during this week. This is a fantastic way to stimulate innovation. I'm really looking forward to see more of what came out of this week and what future hackweeks will bring.

Harald Sitter (apachelogger): Fluffy @ LinuxTag

Planet KDE - Fri, 06/11/2010 - 20:45

For everyone who is going to be at LinuxTag in Berlin tomorrow. Frederik is giving a talk on Fluffy, you really want to check this out. Also make sure to stop by at the the booths starting with K :)

Further reading on LinuxTag matters are available on the Fluffy website.

Paul Adams is also fluffying up for Alpha1!

In related news:

  • We are now also Fluffy on freenode: come visit us in #fluffy
  • Arrival of alpha 1 is very close (if you want to test the alpha1 candidate, poke me on IRC)
  • Work on a website has started, checkout http://fluffy.jussi01.com/ (thanks to Jussi for hosting)
  • More than 100 people like us on Facebook

♥ Stay Fluffy ♥


Cyrille Berger: KOffice Meeting Spring 2010 – Day 0

Planet KDE - Fri, 06/11/2010 - 19:58

The KOffice developers are meeting at the LinuxHotel in Essen for the week-end to start planning the future release and discuss various issues. Today is the coming day, Boudewijn was first on site and was there to welcome me, and negotiate in German with the lady to add a plate so that I could get lunch too. The site is quiet gorgeous, a nice landscape, a nice hotel and a tux statue (free beer and coca…).



This raise the question of how productive we will be, as you can see below Boudewijn and Thorsten are already at work reviewing a patch on loading and saving text on shape, and we started informal discussions:



Now almost everybody has arrived, and is enjoying the wifi, in the garden. With more discussion, blogging, bug hunting, and listening to the history of castle told by Boudewijn.

Andrew Lake (Jamboarder): Upcoming noise, chaos and disorder

Planet KDE - Fri, 06/11/2010 - 19:51

Whew!!  After a crazy 2 months of on and off travelling, I’m finally back home and settling in for the summer.  It finally looks like the sun will be kind to Seattle starting this weekend – I had a beenie on at the Sounders FC match last night… seriously… it’s June… let’s get with the sun and the warm already…

Anyway, there’s lots of work to do to get Bangarang 2.0 into it’s testing and release cycle.  I’ve been getting a great deal of welcome help over the last few weeks from Stefan Burnicki, for which I am immensely greatful!  The last few weeks have been mostly about some refactoring and maintenance, so between that and the travelling the new feature clip has been somewhat slower.  It’s not been at zero though: you can now set the number of items in the Recently Played, Frequently Played and Highest Rated media lists, edit and browse by nepomuk tags, as well as few other tidbits here and there.  A full description of new features will be provided when 2.0 is released.

Regarding the 2.0 release cycle, I hope to get most of the rest of the 2.0 feature list  implemented in the next 2 to 3 weeks. There’s still more media semantics work to do.  I’m hoping to take advantage of the nepomuk user action ontology to improve on the media semantics implemented so far.  I also have a few ideas for optimizing list engine performance and well as few other welcome, quick-to-code-up features not on the feature list.  I’m keeping a careful eye on startup time and basic memory consumption since it really is not my intent for Bangarang to be everything to everyone.

In any event, hopefully sometime around the end of June we can release an alpha to get some early testing feedback, with a feature freeze and beta shortly after that.  The project is on a feature based release cycle, so it’ll be ready when it’s ready.  That said, I’m really eager to get this next release out.  Sooo, if you’d like to see a Bangarang 2.0 release sooner rather than later and would like to help, feel free to stop by the project page or just speak up here.  We welcome both coding and non-coding help.

peace and much respect!


Nikhil Marathe (nsm): GSoC Week 4: Experimenting with Collections

Planet KDE - Fri, 06/11/2010 - 17:26
I didn't write a post last week, and it looks really bad in my form completion :) but I didn't have any user visible updates at all. This week is much better. First the visual then the text.That's cover art fetched from the UPnP device when the Content Directory has it available!Other updates include smoother full and incremental scanning of the Collection. This is one area which needs a lot more

Andreas Demmer (ademmer): Hello Planet KDE!

Planet KDE - Fri, 06/11/2010 - 14:40

Finally I managed to get my blog aggregated on Planet KDE! Since I run my private weblog (which covers all kinds of topics) in German, I needed to come up with an english blog solely dedicated to KDE. Therefore I added multi-language support to my private WordPress installation and created a filtered newsfeed. So here I am!

From now on, I plan to frequently blog about my progress in becoming a KDE coder. My first postings will cover my contributions to the NetworkManagement plasmoid and my first KWin plugin. Curious? Stay tuned!

Klaas Freitag (dragotin): Zippl – a Lightweigth Presentation Tool

Planet KDE - Fri, 06/11/2010 - 14:13

Recently people played around a lot with a new kind of presentations. The pages in the classical presentation tool sense seem to lie around on a large canvas and while the presentation running, the focus moves over the canvas and stops by interesting points. Zooming allows to go more in detail and other cool graphics effects make it fun to watch these presentations.

This week was the fifth Hackweek at Novell where we can pick an interesting topic and work on it. I am always interested in cool applications and I wanted to investigate a bit on Qts GraphicsView anyway so I decided to go for a proof of concept implementation of a lightweight but cool presentation tool following these concepts.

The tool is called Zippl (for no specific reason). It is implemented in C++ with Qt 4.6. Via a XML file the user can specify so called spots on the Zippl-canvas. During a presentation one after the other canvas is displayed with an animated move from one to the other.

Spots can consist of text in various fonts and sizes, geometric forms and images. Colors and line widths and stuff can be specified for each item. It is amazing what can already be done with these few elements.

But decide yourself by checking the following out, its the first little presentation done with Zippl:

With Qt its again fun to work on this kind of applications and the GraphicsView framework is awesome. If you want to see code, it is in the KDE svn, module playground/office.

What do you think? Is that something to investigate more on? You can give me feedback in openFATE about it if you want and rate it.

Stephen Kelly (steveire): KDE PIM promo multipliers

Planet KDE - Fri, 06/11/2010 - 12:50

There is a lot of interesting and innovative development currently going on in KDE PIM. Over the last number of years we have been porting the 10 year old Kontact suite to the new and spiffy Akonadi and KDE PIM platform. The primary benefits of this are scalability, extensibility, reliability, maintainability and ubiquity. The bread and butter of software engineering.

Development of mobile versions of KDE PIM are advancing fast

At our Osnabrück meeting early this year we discussed promoting KDE PIM for the purposes of attracting new developers and interested users for testing. Some of the ideas from the brainstorming session were good ones and have been actioned. The key to getting the message out to a wide audience is multipliers.

Multipliers

The developers and others close to the KDE PIM community number in only a few tens of people, but we want to reach an audience of tens of thousands. We can put out messages about features and improvements in KDE PIM, but to reach the wider audience we need others to relay the message.

We’ve been putting the message out in more channels over the last few months, such as twitter and facebook, and have had successes in getting content in German into LinuxMagazin in print and online. Markus Feilner attended the Osnabrück meeting in January and wrote a short article and a longer article about it in German. More recently he has covered the developments in KDE PIM mobile, so that is a good channel that we can keep open.

Of course, the KDE promotion team and infrastructure is also a huge help. Regular KDE Software Compilation release announcements on the dot help spread awareness of the coming stable releases for KDE PIM, and the dot editors are helpful and flexible enough in scheduling to get our own articles onto the dot. The dot is a good multiplier itself too, because articles appearing there often appear on other sites such as LWN.

How you can help

Even more multiplication of the news of work that we’re doing in KDE PIM would help us reach more users and potential developers. Anyone can help us get the message out. Is it still worthwhile to submit stories to slashdot or digg? Can you do that for us? Many of us in the KDE PIM team don’t know what sites are relevant to post to these days. Should we be on Technorati? Should we be on delicious? Are we on delicious already? I have no idea.

If you use these websites and know how to submit stories, go for it! Be part of the KDE PIM promo. Join the game.

Make sure you let us know as well. We can let you know if we fixed 20 bugs today, if we make something 14% faster, give you screenshots, or anything else suitable for twittering about. It also means you get the information before anyone else :) . The character limits on those kinds of sites don’t suit my writing style.

Of course if you want to write more than tweets or dents about KDE PIM, we can get your blog onto Planet KDE or Planet KDE PIM.

Who knows – it might even reach a national newspaper some day.

So, what are we doing?

The dependencies of KDE PIM have become more portable over recent years. Qt4 licensing changes made it easier to deploy Free Software on non-free operating systems. GPG4Win was developed and deployed bringing cryptographic features (and KDE technology) to Windows. More recently, extensive work has been done to port D-Bus to Windows and WinCE. The master branch in the D-Bus repository now contains the results of work that has been going on inside KDE and elsewhere in different branches and repositories. Future releases of D-Bus should be able to work just fine on Windows based systems.

This means that the entire KDE stack is portable in principle. In complicated programs, there is always going to be platform specific code which needs to be written, and in KDE PIM we have been making the PIM platform and applications work on Windows, MacOS, Maemo and WinCE just as well as they work on Linux. Those ports are in early alpha states of completion and stability, but work is ongoing. It’s an exciting time to be part of it. Future efforts innovating on top of Akonadi and Nepomuk could change the way we handle information, the web and the cloud, and we already have plenty of ideas.


John Layt: Repost: Holidays in KDE SC 4.5

Planet KDE - Fri, 06/11/2010 - 10:07

[Update: It seems this little blog and the weight of PlanetKDE was enough to bring my webhost to its knees and lead them to suspend my account.  I've changed the PNG's to JPG's so hopefully that reduces the load enough to keep me on their good side.  You should see the bandwidth graph spiking at 7-8pm Europe time :-) ]

I've blogged previously about the changes I've been making to the KHolidays library. The main improvement is the ability to calculate holidays using alternative calendar systems, such as the Hebrew, Hijri/Islamic or Jalali/Persian calendars. The holiday region files are also able to be split into geographical sub-regions such as States and Provinces, and embed metadata such as the language they are available in. Due to restricted time I wasn't able to complete all the new features I wanted, such as holiday classifications and multiple holiday regions, which would have allowed a better means of separating and controlling the display of different holiday types (e.g. civil and religious). Those will have to wait for SC 4.6, but the backend changes I have made are now visible to users so I thought I would show the results so far.

To do so I'll be using the Plasma calendar widget, which has seen some new features of it's own. The two big ones are displaying your PIM Events and To-do's via Akonadi (implemented by Frederick Gladhorn), and a new information pop-up that appears when you mouse-over a date rather than having to click it (implemented by Aaron Seigo). It will also try auto-detecting a default holiday region to use (also by Aaron). You can see the net effect effect here (ignore the plasmoidviewer frame :-):

Calendar Plasmoid in KDE SC 4.5Plasma calendar holiday popup

Here you can see a number of things at a glance:

  • Today is marked with a black halo
  • A selected date is marked with a blue halo
  • Holidays that are days off are marked with a red halo
  • Holidays that are not a day off are marked with a green halo
  • Events and To-do's and marked with a bold day number
  • The pop-up lists all holidays, Events, and Todo's for the day you hover over

There's still some polishing work and bug fixing to be done on this for SC 4.5 (e.g. the Event start and end date are not really needed), and we're likely to be looking at the whole appearance of the calendar in SC 4.6, so keep that in mind when commenting on the appearance :-).

The details for today also show up when you hover over the panel clock:

Plasma clock with todays holidays and events

The configuration hasn't changed much, other than displaying the language that the holiday region is available in which is useful for people living in multilingual countries. As already mentioned, in SC 4.6 the config will be a lot more flexible with the ability to choose multiple holiday regions and holiday classifications, and how these will affect the display of the holidays.

Holiday config dialog

New region files have been added for the following:

  • Israel, in English and Hebrew
  • Iran, in English and Farsi
  • Ireland, in Irish (thanks to Kevin Scannell)
  • Belarus (thanks to Andrey Yurkovsky)
  • Separate files for several French departments: French Guiana, Guadeloupe, Martinique, New Caledonia, French Polynesia, Réunion, Wallis and Futuna, and Mayotte (thanks to Pierre Buard)
  • Separate files for England and Wales, Northern Ireland, and Scotland (thanks to David Jarvie)
  • Separate files for all the Australian states: QLD, NSW, ACT, VIC, TAS, NT, SA, WA

Looking at some of these will illustrate the new features.

The file format supports optional holidays, which is useful in defining substitute holidays:

Substitute holidays

Here you can see holidays calculated in alternative calendar systems such as Hebrew, Jalali and Hijri, and displayed on either a Gregorian, Hebrew or Jalali calender:

Israel Hebrew HolidaysIsrael Gregorian Holidays

Iran Jalali HolidaysIran Gregorian Holiday

A number of other regions have been reviewed for accuracy with the help of the i18n teams, and this is where you can also help. If you have SC 4.5 Beta 2, you can check your national holidays in the Plasma calender for the next few years and raise a bug under kdepimlibs/KHolidays if you find any mistakes (you could also browse the region rule files at websvn). If your country, region or language isn't supported, also raise a wish requesting support. Please try include a link to a definitive source for your holiday rules, preferably in English so I can read it, otherwise I'll need your help in translating.

In particular, the Iran files are entirely a copy-and-paste from Wikipedia, I'd be grateful if someone could check them. Note that the Islamic holidays are calculated using the Civil version of the calendar so may differ by 1 day from the actual lunar calculations.  I'd also welcome lists of holidays for any other countries using alternative calendars to ensure the code works in as many cases as possible.

Sebastian Kügler (sebas): Jumped!

Planet KDE - Fri, 06/11/2010 - 09:40

Last weekend, a couple of friends and I went to an island in the Dutch Wadden Sea to celebrate the bachelor party of a close friend of mine. It was all pretty awesome, I picked up the poor guy around noon last Friday (when he thought he’d have another good 3 hours of meetings that afternoon), so it was a good start. The night, we spent bbqing on the beach (had Jerk pork) and the next day we want to the small airfield on Ameland — Chris still not knowing what would be happening.

The next couple of hours we spent hanging out with the parachuters from Paracentrum Ameland, learnt a bit about safety, how you’d not break your legs, and what happens if you lose your contacts in mid-air. Then we boarded the small plane, one after the other, and climbed up to 3000m above the island, giving a fantastic view over all Dutch Wadden Sea islands. Then I was secured to my tandem master more tightly, put on the safety glasses, and open went the door. At that point, I just stepped out of the airplane onto the small step outside the airplane, stood there for two or three seconds, and jumped. We fell freely for a good 30 seconds until the parachute opened (probably wouldn’t be writing this if it hadn’t ;-)) at ~200km/h, and then spent another 5 to 6 minutes slowly decending onto the airfield again. Landing went smooth, as you can see on the photo.

I must say, that was an awesome experience, it’s a really weird moment when that door opens, but the view, the experience (and certainly the rush of adrenaline) make it absolutely worth it. I wonder if I’ve left behind my slight acrophobia on that flight. As to Chris, I think he still likes me. His face, in terms of Big Smile looked about the same as mine right after the jump.

If you’ve got friends that have you thrown out of a plane in mid-air, you don’t need enemies.

Abhishek Patil (_abhishek): Using vtkRenderWindow with QGraphicsView

Planet KDE - Fri, 06/11/2010 - 03:38

We are about to begin on a project that requires us to have floating and transparent widgets over VTK render-window output. About a year back, we had wanted to provide something similar to VTK Designer 2. We wanted users to have the ability to load UI (created using Qt Designer) directly on the VTK output window. At that time (you can follow the thread here) we were unable to come up with something satisfactory.

With the recent changes in Qt, it is now possible for us to have vtkRenderWindow within QGraphicsView. Infact we can now have vtkRenderWindow paint on to a QGLWidget viewport of QGraphicsView. Thats exactly what the vtkQtGraphicsViewRenderWindow class allows us to do.

The class is defined as follows

#ifdef Q_WS_WIN

#include "vtkWin32OpenGLRenderWindow.h"
typedef vtkWin32OpenGLRenderWindow vtkRenderWindowClass;

#endif

#ifdef Q_WS_X11

#include "vtkXOpenGLRenderWindow.h"
typedef vtkXOpenGLRenderWindow vtkRenderWindowClass;

#endif

class vtkQtGraphicsViewRenderWindow : public QGraphicsView,
public vtkRenderWindowClass
{

Q_OBJECT

public:

vtkQtGraphicsViewRenderWindow(QWidget* parent = 0);
~vtkQtGraphicsViewRenderWindow();
....

};

Since vtkQtGraphicsViewRenderWindow is a subclass of both QGraphicsView and vtkRenderWindow,
- we can add any QGraphicsItem to its scene.
- we can use it as a drop-in replacement for vtkRenderWindow.

For example, take a look at the code below.

vtkRenderer* CreateVTKPipeline()
{

vtkRenderer* renderer = vtkRenderer::New();

// Omitted code that create a fractal terrain scene.

return renderer;

}

int main(int argc, char** argv)
{

QApplication a(argc, argv);

vtkRenderer* renderer = CreateVTKPipeline();

vtkQtGraphicsViewRenderWindow gView;
gView.AddRenderer( renderer );
gView.resize(800, 600);
gView.show();

QCalendarWidget* calendar = new QCalendarWidget;
calendar->setWindowOpacity(0.7);

QGraphicsProxyWidget* sceneWidget = new QGraphicsProxyWidget(0, Qt::Dialog);
sceneWidget->setWidget(calendar);
sceneWidget->setPos( -sceneWidget->boundingRect().topLeft() );
sceneWidget->setFlag(QGraphicsItem::ItemIsMovable);
sceneWidget->setCacheMode(QGraphicsItem::DeviceCoordinateCache);
sceneWidget->setWindowTitle("Calendar Widget");

QGraphicsScene* scene = gView.scene();
scene->addItem(sceneWidget);

return a.exec();

}

Output of the above program becomes:

vtkQtGraphicsViewRenderWindow

Whats cooler about the above program is that we can move and resize the translucent QCalendarWidget – and have the background VTK scene updated!

You can checkout a copy of the class and test program from here:

https://svn2.hosted-projects.com/vcreatelogic/VCLTools/vtkQtGraphicsViewRenderWindow

Username: anonymous
Password: anonymous

[original post : http://www.vcreatelogic.com/p/2010/06/using-vtkrenderwindow-with-qgraphicsview/ ]

Adenilson Cavalcanti (Savago): libgcal 0.9.4 released

Planet KDE - Fri, 06/11/2010 - 02:16
Sweet! But what the heck is this ‘libgcal’ thingie? For starts, the name can and is misleading, since it should read as ‘library for google calendar’ but in reality, it implements both Contacts and Calendar google data protocol.

When I got it started, back in February of 2008, it was supposed to implement just calendar, but later on I realized that adding contact support only required +25% of code on it (thanks for well modular software design). Back then,  there was no other good alternative for any C/C++ programmer that would fit the following requirements:
  • easy to use;
  • well documented;
  • few dependencies;

So, I got my library started! After studying the google data protocol 1.0 (at the time) for while, I realized that using XPath would make my life way easier than say, browsing through the DOM tree searching for the attributes and tags that I wanted.

At that time, Qt didn’t have support for XPath (it only started with 4.5), so I went with libxml. For networking I used libcurl, which is fast/reliable and has great documentation (and a very welcoming community, from time to time I asked for help and always got answers for my questions).

From the very early beginning, I set a high quality standard in the development (after all, parsing XML in C is already prone to errors by itself) and followed a TDD (Test Driven Development) approach where *first* I write the test and *later* write the implementation of functions. Having an average of test coverage of 80% helped a lot when google released version 2.0 of the protocol (back in december 2008) and now more recently, version 3.0 of Contact’s protocol. I did the porting from version 1.0 to version 2.0 of the protocol in few hours, mostly because I could detect any regression by simply running the test suites.

IIRC in about 4 months I got the basic (authenticate, retrieve, add/edit/delete, query for updates) done and the library even got featured in the google official blog (that was surprising to say the least)!

So, the library was ‘done’, let’s put it to good use. I decided to integrate it with Opensync (it was rather cool, I got google contacts and calendar sync for my Nokia N95 over bluetooth working 6 months before google decided to release a syncml server for S60 devices). You can see a pre-jurassic video of this here. I think up until now libsyncml is a pretty good syncml implementation, it is just a shame that there is not a good UI bounded to it.

But I needed a good UI and the alternative seemed to write an akonadi resource. In just 3 weeks I got contacts working, while also implementing missing features in libgcal to make possible to do fast-sync (i.e. when you download only what has changed in server side). Contacts resource was done in just 3 days (I think this is clearly a good signal that akonadi API is well designed).

Developing the akonadi resources gave the opportunity to better understand how KDE community works and also to start running KDE trunk as my default desktop (after all, pre-packaged software are for sissies and developers should eat their own dog food).

So, why I wrote all this story? Well, to help to understand some numbers:
  • 10 months ……. since last release (0.9.3)
  • 6 distros ………. pre-packages libgcal (Debian, Ubuntu, OpenSuse, Gentoo, Mandriva, FreeBSD) and counting
  • 2326 downloads .. directly from libgcal project website (hey, this is a source code tarball of a library and not some porn!)
  • 20681 views …… reported by google analytics in a 1 year period
  • 3000 ms……… the lag to ping google servers in a bad day in Manaus/Amazonas (yeah, truly it is unbeliavable how I managed to write a *networking* library in this enviroment but what doesn’t kill you makes you stronger)
  • 6762 LOC ……. lines of C code (34% are unit tests)
  • 76.5 % ……… current *real* code coverage (here I slipped a bit, it used to be 80%)
  • 10th ……….. of most wanted KDE features

So, what this new release brings? For start, support for multiple email addresses, patch by Stefano Avallone (Andre Loureiro helped to fix the unit test) and migration to Google Contacts API 3.0. Next, support for structured names and several other fields (nickname, blog, etc) by Holger Kral. I think currently only IM field is missing from the library (but is quite easy to implement that).

You can have access to both the library and the akonadi resource in libgcal website. The only issue is that is required to purge your akonadi resource and do a slow-sync again because the ETags and urls of contacts have changed thanks to migration to version 3.0 of protocol.

So, what is missing in the library for a 1.0 release? The following features:
  • support multiple calendars (easy to do, is a matter of using another URL as base to do the network operations)
  • support recurrent events in calendar (thanks to the fact that google uses an invalid iCal to represent it, it gets tricky to implement it since a iCal parser would fail to read this data). An idea to implement this would be to ‘convert’ the invalid iCal from google to a valid one and do the opposite when sending data back to the google server.
  • batch commit (nice to have, but not a hard requirement)
  • port/rewrite it all to Qt (seriously, this was actually started already: http://code.google.com/p/libgdata-cpp/). Here I’m somewhat unsure, if Qt has support for the XPath/XQuery in Symbian (it seems that RTTI is not supported in this OS).

Oh well… so, why not give it a try? If you got the skills, go on and download the sources (please check the README and INSTALL files) and feel free to report to me how things worked (or not…).

If you are a normal user, I think in a couple of weeks it should get packaged for your loved distro.


Aracele Torres (araceletorres): Hello world! We are the KDE Piauí

Planet KDE - Fri, 06/11/2010 - 00:17

Hello everyone!

We’re very pleased to properly formalize through this blog the creation of thegroup of KDE users and contributors from Piauí. It was officialy formed during Akademy-Br 2010, held in April in the State of Bahia, and got stronger after the activities about KDE that took place on FLISOL 2010 Teresina.

By creating this group we intend to help, in all possible aspects, the development, improvement and promotion of KDE SC and free software in general. In order to achieve that goal, we’re assisted by many supporters from many areas of study: Leonardo and Angela (Art students); André (Pharmacy student); Bianca (Chemistry student); Filipe, Gustavo e Francisco (Computer Sciences students); Aracele (History student); Sérgio (Philosophy student) and Antão (Jurist).

To begin with it we’re going to study coding, because everyone shows interest in contributing to KDE with good codes. But we’re also dedicated to provide the community with translations, promotions, artworks and bug reportings. We look forward to properly representing KDE in Piauí so we can show people what it has got, and why we should use it and help it.

Our logo mixes the cog, the official KDE symbol, with the carnaúba tree – one of the plants which represent our brazilian State. It’s been created by our art designer and supporter Pedro Leonardo, and from now on will be used as the official symbol of KDE-PI.

Well, that’s it! We’re just getting started. ;)http://kdepi.wordpress.com/


Dominik Haumann: Kate: Code Folding Crash

Planet KDE - Thu, 06/10/2010 - 23:59
We still have a crash in Kate's code folding code; no one was able to find a proper fix, yet. So if you want to get your hands dirty, just build Kate, find a fix and be the hero of all Kate developers :)

Albert Astals Cid (TSDgeos): Offer for Linux Magazine.es wanabbe subscriptors

Planet KDE - Thu, 06/10/2010 - 21:37
If you were thinking to subscribe to Linux Magazine.es you might want to have a look at this offer, which imho is quite good (>= 2€ for 6 numbers) and you even get to choose to donate 10% to KDE or other Free Software organizations.

Aaron Seigo (aseigo): join the game

Planet KDE - Thu, 06/10/2010 - 20:57
KDE: A Thriving Community Based on Participation

KDE thrives in direct relationship to the health and vibrancy of its community. The most obvious manifestation of this is when people contribute software development time to the various projects KDE undertakes. In fact, when KDE was founded 15 years ago that was pretty much the only way to get invovled. Since then the number of ways one can participate within KDE has exploded and the KDE community has grown to include groups of people working on translation and internationalization, art and graphic design, usability, documentation, communication, project management and more.

The world has benefited from the tireless efforts of thousands of individuals who have pulled together from around the world to make and be KDE. Whether it's school aged children in South America, farmers in developing nations, government offices at home and abroad (I recently found out that one European country uses KDE in their embassies around the globe), scientific beacons such as CERN or the NOAA or corporate offices around the world large and small, tens of millions have come to KDE for software they can use on their terms. Projects such as WebKit and several components within Qt itself have sprung from the KDE community, increasing the reach of KDE beyond our own software titles.

In support of this growth, a non-profit organization, KDE e.V. was founded n 1997 to provide legal, financial and logistic support to this growing hub of activity. Through "the e.V.", as those of us in KDE tend to refer to it as, we've been able to host dozens of developer sprints, participate in hundreds of trade shows around the world, engage with decision makers and other Freedom-oriented communities around the globe and build new levels of reliability and professionalism into the mechanics behind the KDE ecosystem. Very few other Free and Open Source communities out there have the benefit of such a competent and reliable foundation to hold trademarks, enter contracts protecting core technologies for the future as KDE has done with the FreeQt foundation, offer legal defense measures and future management guarantees through opt-in copyright assignment or do as good a job at reporting on the activities of the non-profit foundation behind the project with transparency and timeliness.

Being A Part of the KDE Team

Being a part of KDE is one of those rare opportunities to make a difference doing something truly enjoyable with others of like (and different!) mind in a productive and proactive environment. The best two words I can think to describe it are fulfilling and rewarding.

But being a part of this amazing movement has traditionally required available time, energy and some level of expertise in a field that touches on one or more of the aspects of developing software for end users. This isn't a mix of ingredients that everyone has available to them, leaving many on the "outside" or not able to be as supportive as they'd like to be. What to do?

A New Way To Get Involved Opens Up: Join the Game!

Yesterday, "the e.V." announced a new way to get involved with the KDE community. Unlike the other ways to get involved with KDE, this one doesn't involve your time but rather your pocketbook. We've received donations from thousands of people over the years, and those donations have made many things possible. Those donations are sporadic (making financial planning around them difficult) and haven't really been given the encouragement or recognition they probably deserve. This new program, called "Join The Game", changes all of that.

For 100 Euro a year, which is less than having a very cheap lunch out once a month or a few cups of nice coffee (mmm... cappuccino!) for most of us, you can join the KDE community and contribute with your resources. Since it's a scheduled program, this will allow KDE to budget around this income. What can your spare change do for KDE and, by extension, the world using Free software? With just 500 participants joining the game, here are some examples of what KDE could do:


  • Fund and host a major developer sprint every month. These sprints are the backbone for many of the larger, and smaller, KDE projects. It keeps the community connected and progress being made, with positive effects that are measurable through things such as commit rates for 3-6 months afterwards. Imagine what we could do with 12 more developer sprints a year!

  • Double the size of KDE's annual global event, Akademy! The travel budget for this year's Akademy could be doubled, and then some, allowing us to bring twice as many people together. Alternatively, it could be used to build up the regional events such as Camp KDE, Akademy.es, Akademy.br, etc.

  • Build a hardware "library" so KDE developers could get their hands (and code!) on various kinds of devices: mobile, thin client, tablet, multi-screen, alternative input devices, etc. Right now we rely on personal availability of the KDE contributors and the kindness of corporations who lend out such hardware. Having a hardware library for KDE developers would ease this and ensure that KDE is never left in the "well, I'd do it if I had the hardware..." position again.

  • Improve our server infrastructure. As KDE grows, we put a greater and greater set of demands on our technical infrastructure. I'd love to see bugs.kde.org blazing fast, and part (though not all) of the solution for such things in money to afford good hardware and the people to run it.

  • With a fraction of those funds, KDE could print more and better fliers, posters and hand outs for use at trade shows. We could more easily send such packages around the world to those who are representing and spreading KDE in their areas.



How the funds are actually used will depend on the needs of KDE in the future, how many of us sign up to "Join the Game" and the feedback from those who join up. One thing that is certain is that it will definitely be to the benefit of KDE and everyone who uses the software we create together.

There are some nice membership packages waiting for those who sign up, but even more importantly it's a way to feel more involved than ever, a way to build that "I'm making a difference out there" feeling with us as we take Free software out to the masses.

A Goal: 500 People In The Game

Goals are a great way to achieve concrete results, so here's one for all of us: Let's work towards building up to 500 "Join The Game" members. How quickly can we find (and/or be!) that number of people who will join us in helping KDE go faster and further through a regular financial contribution? One year? Before January 2011? Even faster?

Let's find out and spread the word about the Join The Game program in our local and online communities and jump into this new opportunity ourselves with both feet. Blog about it, talk about it, send links to the website to those you think would be interested. For those of us who also have the financial means to do so and are looking for a way to get involved with KDE and help move F/OSS forward on the desktop (and mobile, and..), open up your web browser and ...



Just imagine what we can do as our team grows and grows!

(Note that right now membership requires filling out a form and faxing it in, but online payment is being worked on and should be brought online shortly. An announcement will be made when that happens, and I expect the membership to accelerate when that happens.)

Stuart Jarvis: KOffice 2.2: Is It Ready Yet?

Planet KDE - Thu, 06/10/2010 - 19:46

KOffice 2.2 was recently released and can be “used for real work”. Conveniently, just after 2.2 was released, I found myself needing to put together a presentation for Akademy – so what to use?

Competition

PowerPoint is ok-ish but requires using Windows and doesn’t save in an open format (ODP or PDF). OpenOffice Impress – well, it doesn’t impress. I find the interface clunky and counter-intuitive, resizing images is fiddly, mysterious ugly lines appear around graphics on some machines on which I need to run it and, lacking the network transparency of a KDE app, I can’t work on remote documents via fish, but have to make a local copy (it even has the cheek to claim that opening a remote document is not possible on Linux).

KPresenter 2.2.0

KPresenter 2.2.0

I already had a play with KOffice 2.0 when it came out, but – as the KOffice team made clear at the time – that was really just a technology preview and not stable or featureful enough for day to day use. KOffice 2.1 was also advertised as not ready for general use, but I decided to give it a go and found KWord 2.1 perfectly adequate for the simple tasks I threw at it (I use LaTeX for big docs). I also had a bit of a play with KPresenter 2.1 and was quite impressed, but the only presentation I needed to work on was an adaptation of an older one from OpenOffice Impress that didn’t import well into KPresenter so I stuck with Impress.

This time, however, I decided to give KPresenter a go. So, a few hours later (spread over several days) I have a shiny, new, graphics-heavy presentation produced in KPresenter.

Quick verdict

Is KPresenter ready? Well I didn’t manage to crash it (and I normally manage to crash presentation apps) and found only a few irritations. For my personal use case, at present, there’s nothing better.

Nice points Configurability and convenience

KPresenter, like all the KOffice apps has a highly configurable interface so that I was able to move tools around to exactly where I found them most convenient. It even shows and hides toolboxes depending on whether you’re moving shapes around or editing texts – which is nice to keep the interface relevant although having things disappear is a bit disconcerting to start with.
Shapes in KPresenter

Shapes in KPresenter

Shapes

Like the rest of KOffice, shapes are the tool used to add images, text boxes and – well – everything. But it’s in KPresenter that they really seem to shine. Images in particular are easily placed, resized and bordered without right-clicking or drilling down through multiple menus. Items can be grouped and raised and lowered easily and I did a lot of drawing right in the app itself.

There’s also a nice set of default shapes to use, including the ubiquitous ‘gearhead’ figures and speech bubbles that are themselves easily configurable.

Beauty

Being Oxygen, the user interface just looks so much nicer than either Impress or KPresenter 1.6

Some quibbles Colour selection

The colour selector has a checkbox (on by default?) that hides colours with poor contrast. I didn’t notice this and since it hid black I accidentally made a number of components dark brown instead, something I had to fix later. Personally, I’d rather have the full choice of colours all the time, but it is easy to set it to your personal preference.
PDF export doesn't match page to slide by default

PDF export doesn't match page to slide by default

PDF export

KPresenter has a simple to use PDF export function, simply choose it from the file menu and choose a file name. However, the default settings produce a PDF with portrait pages with the landscape slide centred on the page with big margins – not very useful if you want to produce a PDF to use in the presentation (for example if the presentation PC might not have KPresenter on it).

You can however work around this by instead choosing to print the document to PDF and manually setting up a page with the correct aspect ratio and no margins – it’s not difficult, just takes a bit longer.

And yes, there’s a bug report.

Lists

Bulleted lists are not quite right yet – if you use a large font then the decoration is small and not vertically centred (bug report).

Conclusion

Overall, on the basis of my experience with KPresenter – and a brief play with KWord and KSpread – I think KOffice 2.2 is definitely worth a look and, yes, it is ready for real work. Even with the niggles outlined above, KPresenter will now be my application of choice for preparing presentations – I find it the most comfortable application to use for this task on any platform. Of course, depending on your particular needs, your views may differ.

KOffice is very exciting right now. It has always been – for me – the nicest office suite to actually use, but in the old days it was held back by a lack of some advanced features, a file format that no one else used and limited import and export capabilities. Now that it has standardised on OpenDocument, is able to import proprietary formats and seems to be developing quickly the future looks bright.

Syndicate content
close