<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Marcin Juszkiewicz - qt</title><link href="https://marcin.juszkiewicz.com.pl/" rel="alternate"/><link href="https://marcin.juszkiewicz.com.pl/tag/qt/feed/" rel="self"/><id>https://marcin.juszkiewicz.com.pl/</id><updated>2018-10-14T14:01:00+02:00</updated><entry><title>QML - Quality Matters Last?</title><link href="https://marcin.juszkiewicz.com.pl/2018/10/14/qml-quality-matters-last/" rel="alternate"/><published>2018-10-14T14:01:00+02:00</published><updated>2018-10-14T14:01:00+02:00</updated><author><name>Marcin Juszkiewicz</name></author><id>tag:marcin.juszkiewicz.com.pl,2018-10-14:/2018/10/14/qml-quality-matters-last/</id><summary type="html">Was “&lt;span class="caps"&gt;QML&lt;/span&gt; is only for embedded devices, do not use on desktop” phrase got removed from documentation by&amp;nbsp;mistake</summary><content type="html">&lt;p&gt;In 2004 I was newbie in embedded Linux area. Decision to buy Sharp Zaurus instead of &lt;span class="caps"&gt;HP&lt;/span&gt; iPaq got me to Qt/e world rather to &lt;span class="caps"&gt;GTK&lt;/span&gt; one. I was also &lt;span class="caps"&gt;KDE&lt;/span&gt; user rather than &lt;span class="caps"&gt;GNOME2&lt;/span&gt; as well so I can say that I liked Qt&amp;nbsp;already.&lt;/p&gt;
&lt;p&gt;All those sizes in pixels, paddings and margins I saw in &lt;span class="caps"&gt;GTK&lt;/span&gt; code made me feel sick each time I had to edit &lt;span class="caps"&gt;UI&lt;/span&gt; of some application. No idea why developers went that&amp;nbsp;way&amp;#8230;&lt;/p&gt;
&lt;p&gt;In Qt world all you had to do was launching Qt Designer, put some &lt;span class="caps"&gt;UI&lt;/span&gt; elements into window, apply some Layout elements and build your app. No need to deal with padding/margin settings etc cause library that for&amp;nbsp;you.&lt;/p&gt;
&lt;p&gt;In meantime Qt developers added &lt;span class="caps"&gt;QML&lt;/span&gt; as a new way to do &lt;span class="caps"&gt;UI&lt;/span&gt; for Qt applications. I ignored it&amp;#8217;s existence until&amp;nbsp;now&amp;#8230;&lt;/p&gt;
&lt;p&gt;Few days ago Michał Schulz did nice work on improving my &lt;a href="https://github.com/hrw/modland-player"&gt;Modland player&lt;/a&gt;. He also moved it&amp;#8217;s &lt;span class="caps"&gt;UI&lt;/span&gt; from old Qt Designer one to &lt;span class="caps"&gt;QML&lt;/span&gt;.&lt;/p&gt;
&lt;figure id="__yafg-figure-1"&gt;
&lt;img alt="Modland player with QML based UI" loading="lazy" src="/files/2018/10/modland-1.jpg" title="Modland player with QML based UI"&gt;
&lt;figcaption&gt;Modland player with &lt;span class="caps"&gt;QML&lt;/span&gt; based &lt;span class="caps"&gt;UI&lt;/span&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;For now &lt;span class="caps"&gt;UI&lt;/span&gt; is hardcoded to 800x480. I have tried to make it scalable but have a feeling that &lt;span class="caps"&gt;QML&lt;/span&gt; is against&amp;nbsp;me.&lt;/p&gt;
&lt;p&gt;Look at Authors/Modules part. It is simple layout,&amp;nbsp;right?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;label&lt;/li&gt;
&lt;li&gt;listView&lt;/li&gt;
&lt;li&gt;label&lt;/li&gt;
&lt;li&gt;listView&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In Qt Designer &lt;span class="caps"&gt;UI&lt;/span&gt; I would select those four elements, put into GridLayout and it would scale properly. So I tried that for &lt;span class="caps"&gt;QML&lt;/span&gt;. Labels survived, listViews got 0x0&amp;nbsp;size.&lt;/p&gt;
&lt;p&gt;And the only &amp;#8216;design tool&amp;#8217; to edit &lt;span class="caps"&gt;QML&lt;/span&gt; is Qt Creator. Which gets fugly unstable once you try to play with &lt;span class="caps"&gt;QML&lt;/span&gt;&amp;nbsp;designs&amp;#8230;&lt;/p&gt;
&lt;p&gt;So I looked at files describing &lt;span class="caps"&gt;UI&lt;/span&gt;. And you know what I found there? Old &lt;span class="caps"&gt;GTK&lt;/span&gt; nightmares&amp;#8230; Positioning elements with pixels, sizes in pixels. &lt;strong&gt;Pixels!&lt;/strong&gt; Not some magical &amp;#8220;dp units&amp;#8221;. There is no way to say &amp;#8220;make this element 10em tall&amp;#8221; like you can with &lt;span class="caps"&gt;CSS&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;And it is not only with Modland player &lt;span class="caps"&gt;UI&lt;/span&gt;. Same it with &lt;span class="caps"&gt;QML&lt;/span&gt;&amp;nbsp;examples&amp;#8230;&lt;/p&gt;
&lt;p&gt;&lt;span class="caps"&gt;WTH&lt;/span&gt; happened with Qt developers? Or was &amp;#8220;&lt;span class="caps"&gt;QML&lt;/span&gt; is only for embedded devices, do not use on desktop&amp;#8221; phrase got removed from documentation by&amp;nbsp;mistake?&lt;/p&gt;</content><category term="development"/><category term="qt"/></entry><entry><title>The story of Qt/AArch64 patching</title><link href="https://marcin.juszkiewicz.com.pl/2014/01/20/the-story-of-qtaarch64-patching/" rel="alternate"/><published>2014-01-20T18:16:00+01:00</published><updated>2014-01-20T18:16:00+01:00</updated><author><name>Marcin Juszkiewicz</name></author><id>tag:marcin.juszkiewicz.com.pl,2014-01-20:/2014/01/20/the-story-of-qtaarch64-patching/</id><summary type="html">&lt;p&gt;In over a year of my work as AArch64 porter I saw a lot of patches. But Qt one has the most interesting&amp;nbsp;history.&lt;/p&gt;
&lt;p&gt;Around year ago when I was building whatever possible during my Linaro work we got to the point when Qt jumped into a queue. Build failed …&lt;/p&gt;</summary><content type="html">&lt;p&gt;In over a year of my work as AArch64 porter I saw a lot of patches. But Qt one has the most interesting&amp;nbsp;history.&lt;/p&gt;
&lt;p&gt;Around year ago when I was building whatever possible during my Linaro work we got to the point when Qt jumped into a queue. Build failed but fixing was quite easy &amp;#8212; all I had to do was to take &amp;#8220;webkitgtk&amp;#8221; patch written by Riku Voipio and apply it to Qt 4. Resulting file landed in &amp;#8220;meta-aarch64&amp;#8221; layer of OpenEmbedded and is still&amp;nbsp;there.&lt;/p&gt;
&lt;p&gt;Time passed. More common distributions like Debian, Fedora, OpenSUSE, Ubuntu (alphabetical order) started working on their AArch64 ports. And one day Fedora and Ubuntu started working on building Qt 4. I do not know who wrote QAtomic stuff but I saw few versions/iterations of it and it took me quite long time (first on model, then on real hardware) to get it fully working in Fedora &amp;#8212; used Ubuntu version of&amp;nbsp;patches.&lt;/p&gt;
&lt;p&gt;Up to this moment it was over 9 months and still no upstreaming was done. So one day I decided to go for it and opened &lt;a href="https://bugreports.qt-project.org/browse/QTBUG-35442"&gt;&lt;span class="caps"&gt;QTBUG&lt;/span&gt; #35442&lt;/a&gt;. Then reopened &lt;a href="https://code.google.com/p/double-conversion/issues/detail?id=33"&gt;issue #33&lt;/a&gt; in &amp;#8220;double-conversion&amp;#8221; project (which is used in few places in Qt) as they got good fix and merged wrong one (but it is fixed now). For that one I opened a request to update to newer version of &amp;#8220;double-conversion&amp;#8221; as &lt;a href="https://bugreports.qt-project.org/browse/QTBUG-35528"&gt;&lt;span class="caps"&gt;QTBUG&lt;/span&gt; #35528&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But story did not end there. As Qt 4 development is more or less ended I was asked to provide fixes for Qt 5. Took me a while. Had to create a graph of build time dependencies between Qt 5 components (had to break few in meantime) and slowly module after module I got most of it&amp;nbsp;built.&lt;/p&gt;
&lt;p&gt;There were 3 components which required&amp;nbsp;patching:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;qtdeclarative (issue #33, &lt;span class="caps"&gt;QTBUG&lt;/span&gt;&amp;nbsp;#35528)&lt;/li&gt;
&lt;li&gt;qtscript (WebKit related, sent by Riku Voipio as &lt;a href="https://codereview.qt-project.org/#change,74927"&gt;Qt change #74927&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;qtwebkit (sent as &lt;a href="https://codereview.qt-project.org/#change,74851"&gt;Qt change #74851&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;First one is solved upstream and waits for Qt guys. I was told that 5.3 will get it updated. Second one is already reviewed and merged. Last one left and here is a problem as it looks like the only person who does QtWebKit code reviews is Allan Sandfeld Jensen but he can not review code he sent. I am not able to do that due to Qt Contributor License Agreement which needs to be signed and (due to legal stuff) I can not do&amp;nbsp;that.&lt;/p&gt;
&lt;p&gt;So how it looks now? I would say that quite good. One 3rd party project needs update (in two places of Qt 5) and one patch needs to get through code review. I still need to send package updates to Fedora bug tracker. Ubuntu will need to merge patches when they move to 5.2&amp;nbsp;version.&lt;/p&gt;</content><category term="aarch64"/><category term="debian"/><category term="development"/><category term="fedora"/><category term="qt"/><category term="ubuntu"/></entry><entry><title>Is this the end of Maemo5?</title><link href="https://marcin.juszkiewicz.com.pl/2010/12/07/is-this-the-end-of-maemo5/" rel="alternate"/><published>2010-12-07T18:09:00+01:00</published><updated>2010-12-07T18:09:00+01:00</updated><author><name>Marcin Juszkiewicz</name></author><id>tag:marcin.juszkiewicz.com.pl,2010-12-07:/2010/12/07/is-this-the-end-of-maemo5/</id><summary type="html">&lt;p&gt;Some time ago I stopped following Maemo news. For me N900 became &amp;#8220;just a phone&amp;#8221; which I used for calls, checking email in crappy Modest, browsing web from time to time and to read &lt;a href="http://twitter.com/haerwu/"&gt;Twitter&lt;/a&gt; (if any application for it works) or &lt;a href="http://www.facebook.com/marcin.juszkiewicz"&gt;Facebook&lt;/a&gt; (by web browser cause there are no …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Some time ago I stopped following Maemo news. For me N900 became &amp;#8220;just a phone&amp;#8221; which I used for calls, checking email in crappy Modest, browsing web from time to time and to read &lt;a href="http://twitter.com/haerwu/"&gt;Twitter&lt;/a&gt; (if any application for it works) or &lt;a href="http://www.facebook.com/marcin.juszkiewicz"&gt;Facebook&lt;/a&gt; (by web browser cause there are no apps for&amp;nbsp;it).&lt;/p&gt;
&lt;p&gt;But recently I got one tweet which pointed me to &amp;#8220;&lt;a href="http://maemo.org/community/council/state_of_maemo-q32010-2/"&gt;State of Maemo&lt;/a&gt;&amp;#8221; post. For me it looks like Nokia decided to finally abandon sinking ship and leave Nokia N900 users alone. Qt will probably get some updates to show that they care about cross platform support. How many MeeGo Qt apps will work on Maemo5? No one knows probably but one thing is sure &amp;#8212; they will have to be recompiled because Harmattan will be hard-float (confirmed by Nokia developer during &lt;span class="caps"&gt;UDS&lt;/span&gt;-N). But for rest community will have to care&amp;nbsp;about.&lt;/p&gt;
&lt;p&gt;&lt;span class="caps"&gt;OK&lt;/span&gt;, there was told that there are &amp;#8220;ideas about opening various pieces of Maemo source code that are still closed&amp;#8221; but what it will be? No one knows. I would like to get Calendar opened but when it will happen I will probably do not have N900&amp;nbsp;anymore&amp;#8230;&lt;/p&gt;
&lt;p&gt;And today I read &lt;a href="http://talk.maemo.org/showpost.php?p=890743&amp;amp;postcount=822"&gt;total &amp;#8220;please ignore our ,but ignored by us, platform&amp;#8221; message&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Last week we spoke with Nokia. We were actively discouraged from developing for Maemo any further. There are lots of things we love about Maemo, including an awesome user community so we&amp;#8217;re disappointed to see it &lt;span class="caps"&gt;EOL&lt;/span&gt;&amp;#8217;d. It&amp;#8217;s frustrating to have put so much effort into an app only to see the platform it&amp;#8217;s on be terminated. Whether we reappear on MeeGo &amp;#8212; the successor to Maemo &amp;#8212; depends in part on Nokia. In the mean time, our conversation with Nokia has led us to deprioritize the update we were working on, though no final decision has been made yet as to whether or not it&amp;#8217;ll ship. I&amp;#8217;ll keep you&amp;nbsp;posted.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Somebody wants to buy my N900? I am going to move to Android because this looks like a platform where &lt;span class="caps"&gt;OS&lt;/span&gt; vendor care at least on some of devices by providing system upgrades. And there are communities which provide updates for abandoned devices. And no, I do not plan to buy device running MeeGo &amp;#8212; enough money spent on Nokia&amp;nbsp;devices.&lt;/p&gt;</content><category term="android"/><category term="maemo"/><category term="n900"/><category term="nokia"/><category term="qt"/></entry><entry><title>Is designing UI simple with Qt?</title><link href="https://marcin.juszkiewicz.com.pl/2010/09/17/is-designing-ui-simple-with-qt/" rel="alternate"/><published>2010-09-17T17:19:00+02:00</published><updated>2010-09-17T17:19:00+02:00</updated><author><name>Marcin Juszkiewicz</name></author><id>tag:marcin.juszkiewicz.com.pl,2010-09-17:/2010/09/17/is-designing-ui-simple-with-qt/</id><summary type="html">&lt;p&gt;I use Qt on my devices since my first LinuxPDA: Sharp Zaurus &lt;span class="caps"&gt;SL5000&lt;/span&gt; on which I used OpenZaurus with &lt;span class="caps"&gt;OPIE&lt;/span&gt; as primary environment. It was based on Qt/Embedded 2.3.x and was looking ok. &lt;span class="caps"&gt;UI&lt;/span&gt; of most applications work properly in both portrait and landscape modes, adapted to …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I use Qt on my devices since my first LinuxPDA: Sharp Zaurus &lt;span class="caps"&gt;SL5000&lt;/span&gt; on which I used OpenZaurus with &lt;span class="caps"&gt;OPIE&lt;/span&gt; as primary environment. It was based on Qt/Embedded 2.3.x and was looking ok. &lt;span class="caps"&gt;UI&lt;/span&gt; of most applications work properly in both portrait and landscape modes, adapted to size of fonts (I used smaller then default&amp;nbsp;ones).&lt;/p&gt;
&lt;p&gt;Then &lt;a href="/2005/04/15/c760-arrived/"&gt;Zaurus c760 arrived&lt;/a&gt; at my place and I did some &lt;span class="caps"&gt;UI&lt;/span&gt; code tweaks to make everything looking better on &lt;span class="caps"&gt;VGA&lt;/span&gt; screen (not that it looked wrong &amp;#8212; I just improved few things). At that time I had nearly every Zaurus model in hands and took care to make all looks proper in both&amp;nbsp;orientations.&lt;/p&gt;
&lt;p&gt;From time to time I was also playing with 3rdparty applications to adapt them to resolutions higher then &lt;span class="caps"&gt;QVGA&lt;/span&gt; (which was sort of standard in palmtops of that era). Usually loading &lt;span class="caps"&gt;UI&lt;/span&gt; files into Qt Designer and reordering them or adding layouts helped. One of them was &lt;a href="/2006/04/27/mileage-hires/"&gt;Mileage&lt;/a&gt; which required adding huge amount of layout elements just to make it look properly (all elements were put as X,Y positions&amp;nbsp;originally).&lt;/p&gt;
&lt;p&gt;Some time later I moved to &lt;span class="caps"&gt;GTK&lt;/span&gt;/X11 based environments on portable devices and later my cellphones took &lt;span class="caps"&gt;PDA&lt;/span&gt;&amp;nbsp;place.&lt;/p&gt;
&lt;p&gt;But with Nokia N900 I decided to go back to programming with Qt - 4.6 version this time. First was &lt;a href="/2009/11/30/i-wrote-module-player-in-qt/"&gt;my module player&lt;/a&gt; (which I probably never end) and some time later I decided to play a bit with &lt;a href="http://talk.maemo.org/showthread.php?p=800099"&gt;Vexed&lt;/a&gt; released by
Paul Romanchenko (rmrfchik on #maemo) where I reorganized &lt;span class="caps"&gt;UI&lt;/span&gt; a bit, added portrait support and did few other&amp;nbsp;tweaks.&lt;/p&gt;
&lt;p&gt;But then &lt;a href="/2010/08/26/switched-from-catorise-to-apmefo/"&gt;I switched to ApMeFo&lt;/a&gt; and while idea of application is good the &lt;span class="caps"&gt;UI&lt;/span&gt; is&amp;nbsp;disaster:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;tabs in main&amp;nbsp;window&lt;/li&gt;
&lt;li&gt;lack of portrait&amp;nbsp;support&lt;/li&gt;
&lt;li&gt;unusable &lt;span class="caps"&gt;UI&lt;/span&gt; when forced to portrait&amp;nbsp;mode&lt;/li&gt;
&lt;li&gt;use of non standard button&amp;nbsp;sizes&lt;/li&gt;
&lt;li&gt;use of non standard font&amp;nbsp;sizes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And sources lacked &lt;span class="caps"&gt;UI&lt;/span&gt; files&amp;#8230; So one day I decided that it will be good occasion to learn something new. Author was not responding to my sources request so I launched Qt Designer and started to recreate &lt;span class="caps"&gt;UI&lt;/span&gt; from scratch &amp;#8212; using existing sources as information what kind of widgets were used. Took me some time but I got new, a bit improved &lt;span class="caps"&gt;UI&lt;/span&gt; which even worked in portrait&amp;nbsp;mode:&lt;/p&gt;
&lt;figure id="__yafg-figure-1"&gt;
&lt;img alt="UI in portrait mode" loading="lazy" src="/files/2010/09/apmefo1.jpg" title="UI in portrait mode"&gt;
&lt;figcaption&gt;&lt;span class="caps"&gt;UI&lt;/span&gt; in portrait mode&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;But it still was not what I wanted. It still had tabs and small buttons&amp;#8230; First I got rid of&amp;nbsp;tabs:&lt;/p&gt;
&lt;figure id="__yafg-figure-2"&gt;
&lt;img alt="UI without tabs" loading="lazy" src="/files/2010/09/apmefo2.jpg" title="UI without tabs"&gt;
&lt;figcaption&gt;&lt;span class="caps"&gt;UI&lt;/span&gt; without tabs&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Rest of functionality was moved to menu and separate&amp;nbsp;window:&lt;/p&gt;
&lt;figure id="__yafg-figure-3"&gt;
&lt;img alt="separate window" loading="lazy" src="/files/2010/09/apmefo3.jpg" title="separate window"&gt;
&lt;figcaption&gt;separate window&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I was not too proud of it. &lt;span class="caps"&gt;OK&lt;/span&gt;, it looked better, I even changed some non-&lt;span class="caps"&gt;UI&lt;/span&gt; code but it still was not what I wanted to achieve. But at least I had something what I could give to users for&amp;nbsp;testing.&lt;/p&gt;
&lt;p&gt;How does it look now? Let me show not yet published&amp;nbsp;version:&lt;/p&gt;
&lt;p&gt;First main window &amp;#8212; all buttons are finger friendly. I also grouped them a bit &amp;#8212; it is visible in portrait mode which is also great when user want to re-order&amp;nbsp;items.&lt;/p&gt;
&lt;figure id="__yafg-figure-4"&gt;
&lt;img alt="Main window" loading="lazy" src="/files/2010/09/Screenshot-20100917-175058-700x.jpg" title="Main window"&gt;
&lt;figcaption&gt;Main window&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure id="__yafg-figure-5"&gt;
&lt;img alt="Main window in portrait" src="/files/2010/09/apmefo8.png" title="Main window in portrait"&gt;
&lt;figcaption&gt;Main window in portrait&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Dialog to select applications to add got some changes too. It is maybe not conform with &lt;span class="caps"&gt;UI&lt;/span&gt; style guide (&lt;span class="caps"&gt;OK&lt;/span&gt; not under but on right) but it gave me extra line in list widget. Think of multi&amp;nbsp;selection&amp;#8230;&lt;/p&gt;
&lt;figure id="__yafg-figure-6"&gt;
&lt;img alt="Add application dialog" loading="lazy" src="/files/2010/09/Screenshot-20100917-175117-700x.jpg" title="Add application dialog"&gt;
&lt;figcaption&gt;Add application dialog&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;As you see (de)activation and folders are now in menu. (De)Activation has also Yes/No requesters&amp;nbsp;:)&lt;/p&gt;
&lt;figure id="__yafg-figure-7"&gt;
&lt;img alt="Menu" loading="lazy" src="/files/2010/09/Screenshot-20100917-175124-700x.jpg" title="Menu"&gt;
&lt;figcaption&gt;Menu&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Folders window is place which needs lot of work. Only delete works now (also with Yes/No&amp;nbsp;requester).&lt;/p&gt;
&lt;figure id="__yafg-figure-8"&gt;
&lt;img alt="Folders window" loading="lazy" src="/files/2010/09/Screenshot-20100917-175129-700x.jpg" title="Folders window"&gt;
&lt;figcaption&gt;Folders window&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure id="__yafg-figure-9"&gt;
&lt;img alt="Folders window in portrait" src="/files/2010/09/apmefo7.png" title="Folders window in portrait"&gt;
&lt;figcaption&gt;Folders window in portrait&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;List of things to do is long as users suggested many things. I probably will not add most of them because so far I did not checked how exactly ApMeFo works but once I will read rest of source code I think that something good will come from&amp;nbsp;it.&lt;/p&gt;
&lt;p&gt;And is designing &lt;span class="caps"&gt;UI&lt;/span&gt; simple with Qt? I think that it is &amp;#8212; developer does not have to worry what kind of paddings are needed to be used, how to place widgets to make &lt;span class="caps"&gt;UI&lt;/span&gt; conform to style guide rules etc. Once you do design with layout elements application adapts itself to what is&amp;nbsp;available.&lt;/p&gt;</content><category term="collie"/><category term="maemo"/><category term="n900"/><category term="nokia"/><category term="openzaurus"/><category term="opie"/><category term="qt"/><category term="zaurus"/></entry><entry><title>Qt under Maemo is pain to develop with</title><link href="https://marcin.juszkiewicz.com.pl/2010/02/22/qt-under-maemo-is-pain-to-develop-with/" rel="alternate"/><published>2010-02-22T17:29:00+01:00</published><updated>2010-02-22T17:29:00+01:00</updated><author><name>Marcin Juszkiewicz</name></author><id>tag:marcin.juszkiewicz.com.pl,2010-02-22:/2010/02/22/qt-under-maemo-is-pain-to-develop-with/</id><summary type="html">&lt;p&gt;I have my own Protracker module player written for Maemo5. I used Qt because I am familiar with it and like it. But Maemo5 makes simple things&amp;nbsp;harder&amp;#8230;&lt;/p&gt;
&lt;p&gt;First thing: which version of Qt? Yes &amp;#8212; there are two of&amp;nbsp;them:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;4.5.3 which was ported by community, does not …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;I have my own Protracker module player written for Maemo5. I used Qt because I am familiar with it and like it. But Maemo5 makes simple things&amp;nbsp;harder&amp;#8230;&lt;/p&gt;
&lt;p&gt;First thing: which version of Qt? Yes &amp;#8212; there are two of&amp;nbsp;them:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;4.5.3 which was ported by community, does not follow Maemo5 look &lt;span class="amp"&gt;&amp;amp;&lt;/span&gt; feel but is present on each Nokia N900 by&amp;nbsp;default&lt;/li&gt;
&lt;li&gt;4.6 ported by Nokia, follows Maemo5 look &lt;span class="amp"&gt;&amp;amp;&lt;/span&gt; feel as much as possible but present only in extras-devel&amp;nbsp;repository&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I used Qt 4.6 because of proper look and working&amp;nbsp;Phonon.&lt;/p&gt;
&lt;p&gt;Second problem: moving &lt;span class="caps"&gt;API&lt;/span&gt;. Ok, I know: it is extras-&lt;strong&gt;devel&lt;/strong&gt; so not safe for devices but why I have to rebuild application after each &amp;#8220;apt-get update/upgrade&amp;#8221; cycle? First it was removal of QMaemo5KineticScroller, then rotation code&amp;nbsp;changed.&lt;/p&gt;
&lt;p&gt;Rotation is 3rd problem. In recent packages there is support for automatic rotation without any code other then setting window attribute for it. It is &lt;a href="http://qt.nokia.com/doc/qt-maemo-4.6/maemo5-rotation.html"&gt;even documented&lt;/a&gt;. But it does not work &amp;#8212; even in official example. From one commit to qt/maemo5 repo I got a feeling that automatic rotation needs to wait for next firmware update&amp;nbsp;:(&lt;/p&gt;
&lt;p&gt;Good thing is that my application is small so adapting to changes takes small amount of time. And I hope that &lt;span class="caps"&gt;PR1&lt;/span&gt;.2 will finally give working Qt without many&amp;nbsp;changes.&lt;/p&gt;</content><category term="maemo"/><category term="n900"/><category term="nokia"/><category term="qt"/></entry></feed>