<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.6(BH)" -->
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Planet Maemo: category &quot;feed:c7e5726454066386af96dd3c47820d51&quot;</title>
        <description>Blog entries from Maemo community</description>
        <link>http://maemo.org/news/planet-maemo/</link>
        <lastBuildDate>Sun, 24 May 2026 14:09:19 +0000</lastBuildDate>
        <generator>FeedCreator 1.7.6(BH)</generator>
        <language>en</language>
        <managingEditor>planet@maemo.org</managingEditor>
        <item>
            <title>MSOOXML: Why oh why?</title>
            <link>http://blogs.kde.org/node/4504</link>
            <description><![CDATA[
<p>Some like to make a joke of OpenOffice.org coming with around 8 different string-implementations and comparing that with what we are having in Calligra with QString. But when we worked back then in OASIS to form what later became the ISO OpenDocument standard we left such implementation details out.</p>
<p>A string is a string and its all XML. As minimum I would expect to not find a complete XML data-structure in an ISO standard that 1) is such an implementation detail and 2) does define an own complex data-structure for just one single use-case that could have beem easily covered by an already used data-structure.</p>
<p>MSOOXML does exactly that. I was caught in surprise when discovering following snipped in an MSOOXML XML document;</p>
<pre>
&lt;c:cat&gt;
  &lt;c:multiLvlStrRef&gt;
    &lt;c:f&gt;Sheet1!$E$3:$G$4&lt;/c:f&gt;
    &lt;c:multiLvlStrCache&gt;
    &lt;c:ptCount val="3"/&gt;
    &lt;c:lvl&gt;
      &lt;c:pt idx="0"&gt;&lt;c:v&gt;Pass&lt;/c:v&gt;&lt;/c:pt&gt;
      &lt;c:pt idx="1"&gt;&lt;c:v&gt;Fail&lt;/c:v&gt;&lt;/c:pt&gt;
      &lt;c:pt idx="2"&gt;&lt;c:v&gt;NA&lt;/c:v&gt;&lt;/c:pt&gt;
    &lt;/c:lvl&gt;
    &lt;c:lvl&gt;
      &lt;c:pt idx="0"&gt;&lt;c:v&gt;Result&lt;/c:v&gt;&lt;/c:pt&gt;
    &lt;/c:lvl&gt;
    &lt;/c:multiLvlStrCache&gt;
  &lt;/c:multiLvlStrRef&gt;
&lt;/c:cat&gt;
</pre><p>
Compared to the commonly used c:strRef element the c:multiLvlStrRef element defines a multidimensional list of strings. Something that could be easily covered by just using multiple c:strRef elements. But no.</p>
<p>When looking at the MSOOXML specifications we discover those whole rather complex structure is used for exactly one single time for one single use-case;</p>
<p>ECMA-376 page 4060</p>
<pre>
5.7.2.116 multiLvlStrRef (Multi Level String Reference)

 Parent Elements:
  - cat (§5.7.2.24); xVal (§5.7.2.235)

 Child Elements:
  - extLst (Chart Extensibility) §5.7.2.64
  - f (Formula) §5.7.2.65
  - multiLvlStrCache (Multi Level String Cache) §5.7.2.115
</pre><p>
What I had to do was to implement code to parse all that and do exactly what the c:strRef element does. This pushed additional logic and work on consumers of that standard for no good reason. Worst is that this stayed undiscovered in Calligra for a long time and so we could, in some rather random cases, completely ignore categories in charts when importing Microsoft 2007/2010 documents.</p>
<p>Why oh why is that data-structure used? Why not reuse c:strRef like *ALL* the other parts of that ISO Standard do? Why duplicate the whole formula and cache logic? Why force consumers of that standard to special case exactly one single case rather then unifying this and removing a complete unneeded section plus a complete type-specification from the already rather large standard of &gt;5000 pages?</p>
<p>A proper QA on that standard rather then pushing it in such amazing speed through an ISO fasttrack process would have cleaned up a lot of such cases is my believe. It would have decreased the burden for adoption and improved the overall quality.</p>
<p>Since changing such fundamental things afterwards, means after becoming an official ISO standard, is impossible to do within a maintenance life-circle with a patch release (something like the already published ISO OpenDocument 1.1, 1.2  or the still to publish 1.x releases after them) this has to wait for a long time and would introduce then backwards-incompatible data-structures. Looks as we have to stick now with such mistakes forever :-(</p>
<span class="net_nemein_favourites">4 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=eca5a4740f6711e195fdd1679c9eb6a4b6a4&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/eca5a4740f6711e195fdd1679c9eb6a4b6a4/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=eca5a4740f6711e195fdd1679c9eb6a4b6a4&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/eca5a4740f6711e195fdd1679c9eb6a4b6a4/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Mon, 14 Nov 2011 14:56:31 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-eca5a4740f6711e195fdd1679c9eb6a4b6a4</guid>
        </item>
        <item>
            <title>11 steps remaining till Calligra 2.4</title>
            <link>http://blogs.kde.org/node/4493</link>
            <description><![CDATA[
<p>As Andreas note we are rather close <a href="http://dilfridge.blogspot.com/2011/10/towards-calligra-24.html">towards Calligra 2.4</a> which will be the very first release of the <a href="http://www.calligra-suite.org/">Calligra Suite</a>.</p>
<p>Our pretty cool <a href="http://quality.calligra-suite.org/">Calligra Quality Dashboard</a> lists 11 remaining release-critical blocker bugs that still need to be fixed till then.</p>
<p>Now is the perfect time to give the latest Calligra a try and report all your findings at our <a href="https://bugs.kde.org/enter_bug.cgi">bug-tracker</a>. Probably most interesting are serious data-lose issues on saving to our native OpenDocument formats, crashes and other major problems we can add to our top-priority list for either 2.4 or 2.5 which may finally be a <a href="http://blogs.kde.org/node/4446">silver-state candidate</a>.</p>
<p>On a side-note it is rather interesting that we are in fact releasing 3 different versions of our suite more or less in parallel. The 2.4 desktop-edition mostly known as office suite for the KDE desktop, the <a href="http://www.calligra-suite.org/news/calligra-provides-the-engine-for-nokias-harmattan-office/">Harmattan Office edition</a> shipped together with the N9 and <a href="http://www.shantanutushar.com/content/calligra-now-active">Calligra Active</a>. Following the spirit of the work done on <a href="http://dot.kde.org/2011/10/09/plasma-active-one-released">Plasma Active One</a> Calligra is btw also already <a href="https://build.pub.meego.com/package/show?package=calligra&amp;project=Project%3AKDE%3ADevel">packaged and available</a> for <a href="http://merproject.org/">Mer</a>.</p>
<p>Calligra is far ahead it's competition in this field. Building products based on the community-driven Calligra suite (or Calligra frameworks which would probably match more) is easy and can be done with little resources within very short time. That is a huge achievement we aimed for when starting working on KOffice version 2 lot of years back. An achievement we finally reached and we are able to prove to have reached and that today and now.</p>
<p>Gratulations to everybody involved in making that happen :-)</p>
<span class="net_nemein_favourites">7 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=8ec7220c02f511e1842879cc53f430bb30bb&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/8ec7220c02f511e1842879cc53f430bb30bb/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=8ec7220c02f511e1842879cc53f430bb30bb&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/8ec7220c02f511e1842879cc53f430bb30bb/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Sun, 30 Oct 2011 11:50:53 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-8ec7220c02f511e1842879cc53f430bb30bb</guid>
        </item>
        <item>
            <title>SlideCompare: improving rendering of slides in KOffice</title>
            <link>http://blogs.kde.org/node/4174</link>
            <description><![CDATA[
<p>Rendering slides is a complicated business. Slides can contain tons of different features just like webpages can. People expect that presentations look the same in different programs. Perhaps not pixel-perfect but very similar nevertheless.</p>
<p>OpenOffice and KOffice (and the Maemo/Meego Office Viewer) both have ODF as their main file format. ODF is an open standard and this means exchanging data between these programs should be simple and lossless. To help the developers of these programs find differences in rendering of slides, I have written a program that loads a presentation and shows it as rendered by KOffice and OpenOffice.</p>
<p>As an added bonus, it also shows how these programs render PowerPoint files. PowerPoint files are converted to ODP first and then loaded into each of the two rendering engines. That gives four types of output:</p>
<ul>
<li>Converted by OpenOffice to ODP and rendered by OpenOffice</li>
<li>Converted by KOffice to ODP and rendered by KOffice</li>
<li>Converted by KOffice to ODP and rendered by OpenOffice</li>
<li>Converted by OpenOffice to ODP and rendered by KOffice</li>
</ul>
<p>You can see an example view in the screenshot and screencast below.</p>
<p>The code has been announced on the <a href="http://lists.kde.org/?l=koffice-devel&amp;m=126754452707003&amp;w=2">koffice mailing list</a>.</p>
<p><a href="http://ktown.kde.org/~vandenoever/slidecompare.ogv"><img src="http://www.kdedevelopers.org/files/images/slidecompare.png" /></a></p>
<p><a href="http://ktown.kde.org/~vandenoever/slidecompare.ogv">Ogg Theora screencast of SlideCompare<br />
<a href="http://blip.tv/file/3289053">Flash screencast of SlideCompare</a></a></p>
<span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=d9647f608fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/d9647f608fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=d9647f608fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/d9647f608fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Tue, 02 Mar 2010 15:48:50 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-d9647f608fde11e08f466926c195ee21ee21</guid>
        </item>
        <item>
            <title>SlideCompare: improving rendering of slides in KOffice</title>
            <link>http://www.kdedevelopers.org/node/4174</link>
            <description><![CDATA[
 <p>Rendering slides is a complicated business. Slides can contain tons of different features just like webpages can. People expect that presentations look the same in different programs. Perhaps not pixel-perfect but very similar nevertheless.</p>
<p>OpenOffice and KOffice (and the Maemo/Meego Office Viewer) both have ODF as their main file format. ODF is an open standard and this means exchanging data between these programs should be simple and lossless. To help the developers of these programs find differences in rendering of slides, I have written a program that loads a presentation and shows it as rendered by KOffice and OpenOffice.</p>
<p>As an added bonus, it also shows how these programs render PowerPoint files. PowerPoint files are converted to ODP first and then loaded into each of the two rendering engines. That gives four types of output:</p>
<ul>
<li>Converted by OpenOffice to ODP and rendered by OpenOffice</li>
<li>Converted by KOffice to ODP and rendered by KOffice</li>
<li>Converted by KOffice to ODP and rendered by OpenOffice</li>
<li>Converted by OpenOffice to ODP and rendered by KOffice</li>
</ul>
<p>You can see an example view in the screenshot and screencast below.</p>
<p>The code has been announced on the <a href="http://lists.kde.org/?l=koffice-devel&amp;m=126754452707003&amp;w=2">koffice mailing list</a>.</p>
<p><a href="http://ktown.kde.org/~vandenoever/slidecompare.ogv"><img src="http://www.kdedevelopers.org/files/images/slidecompare.png" /></a></p>
<p><a href="http://ktown.kde.org/~vandenoever/slidecompare.ogv">Ogg Theora screencast of SlideCompare<br />
<a href="http://blip.tv/file/3289053">Flash screencast of SlideCompare</a></a></p>
 <span class="net_nemein_favourites">10 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=fad8d846261a11dfb201e55b357014441444&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/fad8d846261a11dfb201e55b357014441444/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=fad8d846261a11dfb201e55b357014441444&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/fad8d846261a11dfb201e55b357014441444/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Tue, 02 Mar 2010 15:48:50 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-fad8d846261a11dfb201e55b357014441444</guid>
        </item>
        <item>
            <title>Qt for Android, 2nd try</title>
            <link>http://blogs.kde.org/node/4167</link>
            <description><![CDATA[
<p>Remember the <a href="http://www.kdedevelopers.org/node/4070">last call</a>? After less than 5 months we can see <a href="http://www.newlc.com/node/23522">apparent success</a>, and a lot more than a proof of concept.</p>
<p><a href="http://blip.tv/play/AYG_2CkC"><img src="http://lh4.ggpht.com/_FBlhhjjfQMQ/S3sMCh4GUQI/AAAAAAAAHWs/F1Q8VOPsHxY/s512/qt-android1.png" /></a><br />
<a href="http://blip.tv/play/AYG_2CkC">Click to enjoy the show</a></p>
<p>Apaprently, <a href="http://labs.trolltech.com/blogs/category/labs/lighthouse/">Qt Lighthouse</a> was used for porting the QtGUI module.</p>
<p>From the <a href="http://code.google.com/p/android-lighthouse/wiki/Compile">Author</a>:<br />
<b><i>"You don't have to write your own jni&lt;=&gt;java connections, all the magic is done from java by com.nokia.qt package, take a look to examples/android/QtTest/src/com/nokia/qt"</i></b></p>
<p>I can only say, Kudos to BogDan! And of course I still cannot believe how flexible Qt architecture is. I bet we can expect more ports this year.</p>
<p>Dig for more details... and leave what you discovered in the comments below.</p>
<span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=d8925d648fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/d8925d648fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=d8925d648fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/d8925d648fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Tue, 16 Feb 2010 21:23:57 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-d8925d648fde11e08f466926c195ee21ee21</guid>
        </item>
        <item>
            <title>Qt for Android, 2nd try</title>
            <link>http://www.kdedevelopers.org/node/4167</link>
            <description><![CDATA[
 <p>Remember the <a href="http://www.kdedevelopers.org/node/4070">last call</a>? After less than 5 months we can see <a href="http://www.newlc.com/node/23522">apparent success</a>, and a lot more than a proof of concept.</p>
<p><a href="http://blip.tv/play/AYG_2CkC"><img src="http://lh4.ggpht.com/_FBlhhjjfQMQ/S3sMCh4GUQI/AAAAAAAAHWs/F1Q8VOPsHxY/s512/qt-android1.png" /></a><br />
<a href="http://blip.tv/play/AYG_2CkC">Click to enjoy the show</a></p>
<p>Apaprently, <a href="http://labs.trolltech.com/blogs/category/labs/lighthouse/">Qt Lighthouse</a> was used for porting the QtGUI module.</p>
<p>From the <a href="http://code.google.com/p/android-lighthouse/wiki/Compile">Author</a>:<br />
<b><i>"You don't have to write your own jni&lt;=&gt;java connections, all the magic is done from java by com.nokia.qt package, take a look to examples/android/QtTest/src/com/nokia/qt"</i></b></p>
<p>I can only say, Kudos to BogDan! And of course I still cannot believe how flexible Qt architecture is. I bet we can expect more ports this year.</p>
<p>Dig for more details... and leave what you discovered in the comments below.</p>
 <span class="net_nemein_favourites">10 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=6b548fe81b4e11df94ba1fa0ad1f5d7a5d7a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/6b548fe81b4e11df94ba1fa0ad1f5d7a5d7a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=6b548fe81b4e11df94ba1fa0ad1f5d7a5d7a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/6b548fe81b4e11df94ba1fa0ad1f5d7a5d7a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Tue, 16 Feb 2010 21:23:57 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-6b548fe81b4e11df94ba1fa0ad1f5d7a5d7a</guid>
        </item>
        <item>
            <title>Silent Metronome in QML</title>
            <link>http://blogs.kde.org/node/4161</link>
            <description><![CDATA[
<p>Tonight I could not attend band rehearsal so I used the time to play with the new QML language. There is a <a href="http://qt.nokia.com/doc/qml-snapshot/tutorial.html">nice tutorial</a> online and <a href="http://labs.trolltech.com/blogs/2010/01/27/upcoming-qtcreator-support-for-qml-or-what-is-bauhaus/">a good screencast</a>.</p>
<p>QML allows one to write flashy applications with little code. My first QML program is a metronome. The N900 has a metronome program but it is rather boring. It does not look and feel like a real metronome. So I set out to write one in QML and managed to do so in 56 lines of QML. The interaction is simple: tap it to toggle between on and off and slide up and down to move the cross-bar on the metronome which will adjust the tempo in the range 40 to 208 beats per minute.</p>
<p>Without further ado here is the code. You can run it in qmlviewer. Two things are lacking at the moment: a nice SVG image of a metronome and of course the ticking sound. I am keen to find out how to make the metronome produce sound to make it useful.</p>
<p><code><br />
import Qt 4.6</code></p>
<p>Rectangle {<br />
    width: 640<br />
    height: 480</p>
<p>    Rectangle { // metronome bar<br />
        id: bar<br />
        x: 320; y: 100; width: 30; height: 300<br />
        color: "#aaaaaa"<br />
        property double tempo: 120</p>
<p>        Rectangle { // weight on metronome bar that determines the tempo<br />
            x: -15; y: parent.tempo; width: 60; height: 30<br />
            color: "#aaaaaa"<br />
        }</p>
<p>        transformOrigin: Item.Bottom<br />
        rotation: 0<br />
        rotation: SequentialAnimation {<br />
            id: anim<br />
            repeat: true<br />
            NumberAnimation { to: 35; easing: "easeInOutQuad"; duration: 60000/bar.tempo }<br />
            NumberAnimation { to: -35; easing: "easeInOutQuad"; duration: 60000/bar.tempo }<br />
        }<br />
    }</p>
<p>    Text { // tempo indicator<br />
        x: 0; y: 0;<br />
        font.pointSize: 24; font.bold: true<br />
        text: bar.tempo<br />
    }</p>
<p>    MouseRegion { // logic for tempo tuning and turning metronome on and off<br />
        anchors.fill: parent<br />
        property int start: -1<br />
        property bool moved: false<br />
        property bool wasrunning: true</p>
<p>        onReleased: { // start or stop the metronome<br />
            anim.running = (moved) ?wasrunning :!wasrunning<br />
            bar.rotation = 0<br />
            start = -1<br />
        }<br />
        onPositionChanged: { // adjust the tempo<br />
            moved = start != -1<br />
            wasrunning = (moved) ?wasrunning :anim.running<br />
            bar.tempo += (moved) ?(mouse.y - start) :0<br />
            bar.tempo = (bar.tempo &gt; 208) ?208 :bar.tempo<br />
            bar.tempo = (bar.tempo &lt; 40) ?40 :bar.tempo<br />
            anim.running = false;<br />
            bar.rotation = 0<br />
            start = mouse.y<br />
        }<br />
    }<br />
}<br />
<br />
<img src="http://maemo.org/files/images/snapshot1_2.png" alt="silent metronome in qml" /><img src="http://maemo.org/files/images/metronome.jpg" alt="real metronome" /></p>
<span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=d7bb5c888fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/d7bb5c888fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=d7bb5c888fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/d7bb5c888fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Fri, 12 Feb 2010 00:01:12 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-d7bb5c888fde11e08f466926c195ee21ee21</guid>
        </item>
        <item>
            <title>Silent Metronome in QML</title>
            <link>http://www.kdedevelopers.org/node/4161</link>
            <description><![CDATA[
 <p>Tonight I could not attend band rehearsal so I used the time to play with the new QML language. There is a <a href="http://qt.nokia.com/doc/qml-snapshot/tutorial.html">nice tutorial</a> online and <a href="http://labs.trolltech.com/blogs/2010/01/27/upcoming-qtcreator-support-for-qml-or-what-is-bauhaus/">a good screencast</a>.</p>
<p>QML allows one to write flashy applications with little code. My first QML program is a metronome. The N900 has a metronome program but it is rather boring. It does not look and feel like a real metronome. So I set out to write one in QML and managed to do so in 56 lines of QML. The interaction is simple: tap it to toggle between on and off and slide up and down to move the cross-bar on the metronome which will adjust the tempo in the range 40 to 208 beats per minute.</p>
<p>Without further ado here is the code. You can run it in qmlviewer. Two things are lacking at the moment: a nice SVG image of a metronome and of course the ticking sound. I am keen to find out how to make the metronome produce sound to make it useful.</p>
<p><div class="codeblock"><code>import Qt 4.6<br /><br />Rectangle {<br />&nbsp;&nbsp;&nbsp; width: 640<br />&nbsp;&nbsp;&nbsp; height: 480<br /><br />&nbsp;&nbsp;&nbsp; Rectangle { // metronome bar<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id: bar<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x: 320; y: 100; width: 30; height: 300<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; color: &quot;#aaaaaa&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; property double tempo: 120<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Rectangle { // weight on metronome bar that determines the tempo<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x: -15; y: parent.tempo; width: 60; height: 30<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; color: &quot;#aaaaaa&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transformOrigin: Item.Bottom<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rotation: 0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rotation: SequentialAnimation {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id: anim<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; repeat: true<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumberAnimation { to: 35; easing: &quot;easeInOutQuad&quot;; duration: 60000/bar.tempo }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumberAnimation { to: -35; easing: &quot;easeInOutQuad&quot;; duration: 60000/bar.tempo }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }<br /><br />&nbsp;&nbsp;&nbsp; Text { // tempo indicator<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x: 0; y: 0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; font.pointSize: 24; font.bold: true<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text: bar.tempo<br />&nbsp;&nbsp;&nbsp; }<br /><br />&nbsp;&nbsp;&nbsp; MouseRegion { // logic for tempo tuning and turning metronome on and off<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; anchors.fill: parent<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; property int start: -1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; property bool moved: false<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; property bool wasrunning: true<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; onReleased: { // start or stop the metronome<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; anim.running = (moved) ?wasrunning :!wasrunning<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bar.rotation = 0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; start = -1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; onPositionChanged: { // adjust the tempo<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; moved = start != -1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wasrunning = (moved) ?wasrunning :anim.running<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bar.tempo += (moved) ?(mouse.y - start) :0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bar.tempo = (bar.tempo &gt; 208) ?208 :bar.tempo<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bar.tempo = (bar.tempo &lt; 40) ?40 :bar.tempo<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; anim.running = false;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bar.rotation = 0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; start = mouse.y<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }<br />}</code></div><br />
<img src="http://maemo.org/files/images/snapshot1_2.png" alt="silent metronome in qml" /><img src="http://maemo.org/files/images/metronome.jpg" alt="real metronome" /></p>
 <span class="net_nemein_favourites">12 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=be847b32176c11df83f07f4e7b55a2d1a2d1&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/be847b32176c11df83f07f4e7b55a2d1a2d1/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=be847b32176c11df83f07f4e7b55a2d1a2d1&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/be847b32176c11df83f07f4e7b55a2d1a2d1/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Fri, 12 Feb 2010 00:01:12 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-be847b32176c11df83f07f4e7b55a2d1a2d1</guid>
        </item>
        <item>
            <title>Silent metronome</title>
            <link>http://blogs.kde.org/node/4159</link>
            <description><![CDATA[
<span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=d6f48dec8fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/d6f48dec8fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=d6f48dec8fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/d6f48dec8fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Thu, 11 Feb 2010 23:38:59 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-d6f48dec8fde11e08f466926c195ee21ee21</guid>
        </item>
        <item>
            <title>Silent metronome</title>
            <link>http://www.kdedevelopers.org/node/4159</link>
            <description><![CDATA[
<img src="http://www.kdedevelopers.org/files/images/snapshot1_2.png" alt="Silent metronome" title="Silent metronome"  class="image image-preview " width="640" height="480" />  <span class="net_nemein_favourites">2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=bd075388176c11df83f07f4e7b55a2d1a2d1&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/bd075388176c11df83f07f4e7b55a2d1a2d1/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=bd075388176c11df83f07f4e7b55a2d1a2d1&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/bd075388176c11df83f07f4e7b55a2d1a2d1/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Thu, 11 Feb 2010 23:38:59 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-bd075388176c11df83f07f4e7b55a2d1a2d1</guid>
        </item>
        <item>
            <title>Presentation</title>
            <link>http://www.kdedevelopers.org/node/4145</link>
            <description><![CDATA[
<img src="http://www.kdedevelopers.org/files/images/Screenshot-20100119-164321.preview.png" alt="Presentation" title="Presentation"  class="image image-preview " width="640" height="384" />  <span class="net_nemein_favourites">7 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=41307e84051911df8bc54bbf38a819061906&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/41307e84051911df8bc54bbf38a819061906/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=41307e84051911df8bc54bbf38a819061906&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/41307e84051911df8bc54bbf38a819061906/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Tue, 19 Jan 2010 15:47:20 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-41307e84051911df8bc54bbf38a819061906</guid>
        </item>
        <item>
            <title>Presentation</title>
            <link>http://blogs.kde.org/node/4145</link>
            <description><![CDATA[
<span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=d62f651c8fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/d62f651c8fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=d62f651c8fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/d62f651c8fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Tue, 19 Jan 2010 15:47:20 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-d62f651c8fde11e08f466926c195ee21ee21</guid>
        </item>
        <item>
            <title>kword</title>
            <link>http://www.kdedevelopers.org/node/4144</link>
            <description><![CDATA[
<img src="http://www.kdedevelopers.org/files/images/Screenshot-20100119-164450.preview.png" alt="kword" title="kword"  class="image image-preview " width="640" height="384" />  <span class="net_nemein_favourites">7 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=3fe3e61a051911df8bc54bbf38a819061906&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/3fe3e61a051911df8bc54bbf38a819061906/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=3fe3e61a051911df8bc54bbf38a819061906&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/3fe3e61a051911df8bc54bbf38a819061906/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Tue, 19 Jan 2010 15:46:05 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-3fe3e61a051911df8bc54bbf38a819061906</guid>
        </item>
        <item>
            <title>kword</title>
            <link>http://blogs.kde.org/node/4144</link>
            <description><![CDATA[
<span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=d548632e8fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/d548632e8fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=d548632e8fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/d548632e8fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Tue, 19 Jan 2010 15:46:05 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-d548632e8fde11e08f466926c195ee21ee21</guid>
        </item>
        <item>
            <title>Alpha version of Office Viewer for Nokia N900 available</title>
            <link>http://www.kdedevelopers.org/node/4143</link>
            <description><![CDATA[
 <p>Today, Nokia released the first public version of the office document viewer for the Nokia N900 phone. It <a href="http://maemo.org/packages/view/freoffice/">was uploaded</a> to the Maemo repositories. This version supports text files, spreadsheets and presentations in OpenDocument format (ODF) and Microsoft Office formats. The viewer requires the latest update (PR1.1) to the N900 software. You can install 'Office Viewer' by adding the maemo-devel repository to your N900 catalogues:</p>
<dl>
<dt>Catalog name:</dt>
<dd>Maemo Extras-devel</dd>
<dt>Web address:</dt>
<dd>http://repository.maemo.org/extras-devel</dd>
<dt>Distribution:</dt>
<dd>fremantle</dd>
<dt>Components:</dt>
<dd>free</dd>
</dl>
<p>Then the application 'freoffice' will be available in the category 'Office'. The install is 9 megabytes.</p>
<p>With the viewer, you can open multiple files at once, open office documents from your e-mail, search in office files and copy and paste from your documents. A very nice feature is the ability to give presentations with the phone. Here are some screen shots of the viewer running on the N900.</p>
<p><a href="http://www.kdedevelopers.org/files/images/Screenshot-20100119-164321.png"><img src="http://www.kdedevelopers.org/files/images/Screenshot-20100119-164321.thumbnail.png" alt="Presentation" /></a> <a href="http://www.kdedevelopers.org/files/images/Screenshot-20100119-141352.png"><img src="http://www.kdedevelopers.org/files/images/Screenshot-20100119-141352.thumbnail.png" alt="Spreadsheet" /></a> <a href="http://www.kdedevelopers.org/files/images/Screenshot-20100119-164450.png"><img src="http://www.kdedevelopers.org/files/images/Screenshot-20100119-164450.thumbnail.png" alt="Text Document" /></a> <a href="http://www.kdedevelopers.org/files/images/Screenshot-20100119-141912.png"><img src="http://www.kdedevelopers.org/files/images/Screenshot-20100119-141912.thumbnail.png" alt="Overview" /></a></p>
<p>The <a href="http://websvn.kde.org/trunk/koffice/tools/f-office/">code for this viewer</a> is available in the KOffice repository. New releases of the viewer will be uploaded to the repository as KOffice progresses towards version 2.2.</p>
<p>The viewer has a simple user interface and responds quickly to user input such as page changing and scrolling.</p>
 <span class="net_nemein_favourites">25 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=ed2d67f6050a11df8f79911f9f1eedc9edc9&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/ed2d67f6050a11df8f79911f9f1eedc9edc9/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=ed2d67f6050a11df8f79911f9f1eedc9edc9&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/ed2d67f6050a11df8f79911f9f1eedc9edc9/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Tue, 19 Jan 2010 14:00:04 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-ed2d67f6050a11df8f79911f9f1eedc9edc9</guid>
        </item>
        <item>
            <title>Alpha version of Office Viewer for Nokia N900 available</title>
            <link>http://blogs.kde.org/node/4143</link>
            <description><![CDATA[
<p>Today, Nokia released the first public version of the office document viewer for the Nokia N900 phone. It <a href="http://maemo.org/packages/view/freoffice/">was uploaded</a> to the Maemo repositories. This version supports text files, spreadsheets and presentations in OpenDocument format (ODF) and Microsoft Office formats. The viewer requires the latest update (PR1.1) to the N900 software. You can install 'Office Viewer' by adding the maemo-devel repository to your N900 catalogues:</p>
<dl>
<dt>Catalog name:</dt>
<dd>Maemo Extras-devel</dd>
<dt>Web address:</dt>
<dd>http://repository.maemo.org/extras-devel</dd>
<dt>Distribution:</dt>
<dd>fremantle</dd>
<dt>Components:</dt>
<dd>free</dd>
</dl>
<p>Then the application 'freoffice' will be available in the category 'Office'. The install is 9 megabytes.</p>
<p>With the viewer, you can open multiple files at once, open office documents from your e-mail, search in office files and copy and paste from your documents. A very nice feature is the ability to give presentations with the phone. Here are some screen shots of the viewer running on the N900.</p>
<p><a href="http://www.kdedevelopers.org/files/images/Screenshot-20100119-164321.png"><img src="http://www.kdedevelopers.org/files/images/Screenshot-20100119-164321.thumbnail.png" alt="Presentation" /></a> <a href="http://www.kdedevelopers.org/files/images/Screenshot-20100119-141352.png"><img src="http://www.kdedevelopers.org/files/images/Screenshot-20100119-141352.thumbnail.png" alt="Spreadsheet" /></a> <a href="http://www.kdedevelopers.org/files/images/Screenshot-20100119-164450.png"><img src="http://www.kdedevelopers.org/files/images/Screenshot-20100119-164450.thumbnail.png" alt="Text Document" /></a> <a href="http://www.kdedevelopers.org/files/images/Screenshot-20100119-141912.png"><img src="http://www.kdedevelopers.org/files/images/Screenshot-20100119-141912.thumbnail.png" alt="Overview" /></a></p>
<p>The <a href="http://websvn.kde.org/trunk/koffice/tools/f-office/">code for this viewer</a> is available in the KOffice repository. New releases of the viewer will be uploaded to the repository as KOffice progresses towards version 2.2.</p>
<p>The viewer has a simple user interface and responds quickly to user input such as page changing and scrolling.</p>
<span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=d47c647c8fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/d47c647c8fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=d47c647c8fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/d47c647c8fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Tue, 19 Jan 2010 14:00:04 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-d47c647c8fde11e08f466926c195ee21ee21</guid>
        </item>
        <item>
            <title>Sensors in the N900</title>
            <link>http://blogs.kde.org/node/4081</link>
            <description><![CDATA[
<p>Nokia has been kind enough for lending me an awesome N900. This will allow me to test KOffice on the phone. Document loading, parsing and scrolling speed could do with improvements.</p>
<p>Apart from using the N900 for serious things, I've also done a bit of playing with it. Qt has a famous OpenGL demo that shows the Qt logo in a QGLWidget. Instead of controlling the rotation of the object with the scrollbars, the adapted version uses the accelerometers in the device to move the logo.</p>
<p>This was a simple adaptation: reading the accelerometers is <a href="http://wiki.maemo.org/Accelerometers">simple</a>:</p>
<pre>
Nokia-N900-41-10:~# cat /sys/class/i2c-adapter/i2c-3/3-001d/coord
36 -18 -1134
</pre><p>
The <a href="http://ktown.kde.org/~vandenoever/repo/dists/fremantle/user/source/qtup_0.1-0.tar.gz">application source</a> and a <a href="http://ktown.kde.org/~vandenoever/repo/dists/fremantle/user/binary-armel/qtup_0.1-0_armel.deb">debian package for the N900</a> are now available.</p>
<p>Here is a screenshot of five running instances in the application overview. The five logos all move if you move the phone.<br />
<img src="http://maemo.org//www.kdedevelopers.org/files/images/Screenshot-20091012-195022.png" alt="N900 running qtup" /></p>
<p>Perhaps a Qt on Maemo guru can adapt this program to be a desktop widget with a transparent background.</p>
<span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=d3922a7e8fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/d3922a7e8fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=d3922a7e8fde11e08f466926c195ee21ee21&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/d3922a7e8fde11e08f466926c195ee21ee21/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Tue, 13 Oct 2009 06:52:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-d3922a7e8fde11e08f466926c195ee21ee21</guid>
        </item>
        <item>
            <title>Sensors in the N900</title>
            <link>http://www.kdedevelopers.org/node/4081</link>
            <description><![CDATA[
 <p>Nokia has been kind enough for lending me an awesome N900. This will allow me to test KOffice on the phone. Document loading, parsing and scrolling speed could do with improvements.</p>
<p>Apart from using the N900 for serious things, I've also done a bit of playing with it. Qt has a famous OpenGL demo that shows the Qt logo in a QGLWidget. Instead of controlling the rotation of the object with the scrollbars, the adapted version uses the accelerometers in the device to move the logo.</p>
<p>This was a simple adaptation: reading the accelerometers is <a href="http://wiki.maemo.org/Accelerometers">simple</a>:</p>
<pre>
Nokia-N900-41-10:~# cat /sys/class/i2c-adapter/i2c-3/3-001d/coord
36 -18 -1134
</pre><p>
The <a href="http://ktown.kde.org/~vandenoever/repo/dists/fremantle/user/source/qtup_0.1-0.tar.gz">application source</a> and a <a href="http://ktown.kde.org/~vandenoever/repo/dists/fremantle/user/binary-armel/qtup_0.1-0_armel.deb">debian package for the N900</a> are now available.</p>
<p>Here is a screenshot of five running instances in the application overview. The five logos all move if you move the phone.<br />
<img src="http://maemo.org//www.kdedevelopers.org/files/images/Screenshot-20091012-195022.png" alt="N900 running qtup" /></p>
<p>Perhaps a Qt on Maemo guru can adapt this program to be a desktop widget with a transparent background.</p>
 <span class="net_nemein_favourites">1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=ec48e02c050a11df8f79911f9f1eedc9edc9&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/ec48e02c050a11df8f79911f9f1eedc9edc9/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=ec48e02c050a11df8f79911f9f1eedc9edc9&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/ec48e02c050a11df8f79911f9f1eedc9edc9/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Tue, 13 Oct 2009 06:52:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-ec48e02c050a11df8f79911f9f1eedc9edc9</guid>
        </item>
        <item>
            <title>Plasma widgets on Maemo5</title>
            <link>http://www.kdedevelopers.org/node/4078</link>
            <description><![CDATA[
 <p><img src="http://93.157.1.37/~marijn/6822_100914886597296_100000363546757_21053_2747415_n.jpg" width="400" height="240" align="right" /> Yesterday nokia gave away 300 pre-production n900 devices to all attendants of this years Maemo summit in Amsterdam (in the form of a six months loan, after that they'll have to go back to Nokia). I'm also attending, so I also got one. Deciding what the first thing to port to a new device is is always hard, but in the end I figured that something with plasma might be nice. As maemo5 makes it possible for home-screen widgets to be part of separate processes, I figured it might be possible to adapt plasmoidviewer to act as a simple program to put any type of plasma applet on the normal maemo desktop (actually, I think it was somebody else that suggested this, I just don't remember who it was). So after several hours of hacking (and a lot more hours of compiling Qt and various parts of kde (btw, the just released Qt 4.6 maemo5 technology preview is missing some essential bits like for example qdbuscpp2xml), I managed to figure out just exactly how to get the window to appear on the normal desktop as a widget. At first this didn't look to pretty as you can see in this screenshot:</p>
<p>But after several more hours of hacking and trying to figure out how transparency works in X11, I even managed to get nice translucent applets. Also I figured out how to hook up the normal maemo5 widget configuration system to display the correct configuration dialog when you click on the configure button on one of these plasmoids. So with in the end maybe 20 lines of code, I got a rather good working implementation that makes it basically possible to have any plasmoid you might have on your normal kde desktop, also on your maemo5 home screen. One (somewhat major) problem with the current implementation is that it is not possible to resize widgets, but as far as I can tell that is mostly a limitation of the maemo5 desktop widget system, so I'm not sure if there is anything I can do about it from my side.</p>
<p><img src="http://93.157.1.37/~marijn/Screenshot-20091010-233039.jpg" /></p>
 <span class="net_nemein_favourites">9 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=eff087fab5ed11dea3d3a75100bfb807b807&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/eff087fab5ed11dea3d3a75100bfb807b807/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=eff087fab5ed11dea3d3a75100bfb807b807&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/eff087fab5ed11dea3d3a75100bfb807b807/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jos Van den OEver &lt;jos@vandenoever.info&gt;</author>
            <category>feed:c7e5726454066386af96dd3c47820d51</category>
            <pubDate>Sat, 10 Oct 2009 21:50:32 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-eff087fab5ed11dea3d3a75100bfb807b807</guid>
        </item>
    </channel>
</rss>
