# Written by Robin Burchell
# No licence specified or required, but please give credit where it's due, and please let me know if this helped you.
# Feel free to contact with corrections or suggestions.
#
# We're using PySide, Nokia's official LGPL bindings.
# You can however easily use PyQt (Riverside Computing's GPL bindings) by commenting these and fixing the appropriate imports.
from PySide.QtCore import *
from PySide.QtGui import *
#from PyQt4 import *
#from PyQt4.QtCore import *
#from PyQt4.QtGui import *
import sys
class MyMainWindow(QWidget):
def __init__(self):
QWidget.__init__(self, None)
vbox = QVBoxLayout()
# Let's create two sliders widgets.
# http://doc.trolltech.com/4.6/qslider.html
sone = QSlider(Qt.Horizontal)
vbox.addWidget(sone)
stwo = QSlider(Qt.Horizontal)
vbox.addWidget(stwo)
# Link the first slider to the second.
# Think of this as an event and listener system - a signal is an event, and it can have multiple listeners.
# A slot is a listener to an event.
#
# Signals are generally used whenever an action occurs which might require a reaction, or feedback - for example,
# a user clicking on a button, or a slider value changing.
#
# A signal can provide one (or more) parameters, which can then be used in the corresponding slot(s).
#
# In this example, we're linking the valueChanged signal to setValue on the second slider, meaning that whenever the
# first slider is moved, the second slider will move with it.
#
# This might look strange when compared with the .NET and other typical methods of doing it, but it
# really is much more natural and easier to express.
# See also:
# http://doc.trolltech.com/4.6/signalsandslots.html
self.connect(sone, SIGNAL("valueChanged(int)"), stwo, SLOT("setValue(int)"));
# Set the layout on the window: this means that our button will actually be displayed.
self.setLayout(vbox)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MyMainWindow()
w.show()
app.exec_()
sys.exit()
Planet maemo
This (super) cool .NET developer and good friend came to me at the FOSDEM bar to tell me he was confused about why during the Tracker presentation I was asking people to replace F-Spot and Banshee.
I hope I didn’t say it like that, I would never intent to say that. But I’ll review the video of the presentation as soon as Rob publishes it.
Anyway, to ensure everybody understood correctly what I did wanted to say (whether or not I did, is another question):
The call was to inspire people to reimplement or to provide different implementations of F-Spot’s and Banshee’s data backends, so that they would use an RDF store like tracker-store instead of each app its own metadata database.
I think I also mentioned Rhythmbox in the same sentence because the last thing I would want is to turn this into a .NET vs. anti-.NET debate. It just happens to be that the best GNOME softwares for photo and music management are written in .NET (and that has a good reason).
People who know me also know that I think those anti-.NET people are disruptive ignorable people. I also actively and willingly ignore them (and they should know this). I’m actually a big fan of the Mono platform.
I’ll try to ensure that I don’t create this confusion during presentations anymore.
FOSDEM was really nice this year. Still too many interesting presentations to attend than our physical condition allows but that’s life.
Like I announced on my last post, I gave two presentations there and I am glad with both of them. People seemed really interested in OCRFeeder and I hope they try it out, send me feedback and spread the word about it.
I could personally meet P. Christeas, who had send me a patch for it, and listen to the questions and suggestions of people about how OCRFeeder works.
I must say the most impressive presentation I attended was by Professor Andrew Tanenbaum himself, about MINIX 3, what a beautiful piece of software it seems.
If you have not attended it, maybe you can watch the video recording once it is available.
Later on I had a nice chat with him regarding web browsers on MINIX and the real portability of applications that are said to be multi-platform.
Here are the slides for the presentations I gave:
OCRFeeder, documents conversion on GNOME View more presentations from Joaquim Rocha. Seriesfinale, a TV shows' tracker for Maemo 5 View more presentations from Joaquim Rocha.Looking forward for FOSDEM 2011!
Some people have already complained about the way GMail IMAP works. With great power comes a great responsibility. Google guys, you have one of the largest email services in the world, so this means that you have to care a lot about users and clients. Dape recently reported and error in how GMail creates the body structure of some particular messages and still got no answer.
Now I found that it does not return the full bodystructure of a multipart/mixed with two refc822 messages in it. If this sounds strange to you, it’s basically how Mozilla Thunderbird creates an email with two other emails as attachments. GMail simply will not tell you about the structure of the two attached emails.
Bodystruct support in Modest is working in most cases although these problems with GMail will most likely mean that it won’t be shipped with the next software update for the N900.
Some welcome news for all Qt on Maemo developers out there: Nokia intends to deploy the currently in Beta Qt 4.6 to all devices via software update — most probably already with the next major update PR1.2. Currently, Qt 4.6 (available from extras-devel) is completely optified and resides in /opt/qt4-maemo5. That will change with PR1.2, where it will move to the rootfs, replacing the community-supported Qt 4.5. What does this mean for Qt applications?
- Qt 4.6 applications: If all goes well, nothing needs to be done. Deployed applications should pick up the libraries in /usr. You might need to edit your build scripts so they won’t look in /opt/qt4-maemo5/bin if you’re using qmake.
- Qt 4.5 applications: This one is trickier. Qt 4.6 is neither API nor ABI compatible with Qt 4.5. This means that you’ll need at least a recompile, and probably also source code modifications if you’re doing anything Maemo5-specific. Qt 4.5 applications on device will stop working until there is a Qt 4.6-based update available.
So all you Qt 4.5 users out there, install libqt4-maemo5-dev in scratchbox and start porting. :)
I still don’t know how to submit my slides into the FOSDEM website, so I’m linking them here by now:
After a week of initial testing of MaePad 1.0 in Extras-Devel and some very helpful feedback from users, MaePad 1.1 "The Large Hadron Collision" hits the street (or more precisely, Extras-Testing). You can read the list of changes or go straight to the package page to test it.
In other news, gPodder 2.2 "LA X" (release notes on gPodder.org) was uploaded to Extras-Devel at the end of last week. This new release includes the promised UI changes and some other under-the-hood changes, but there have been some minor regressions (broken streaming for example) which have since been fixed in the development repository. Please test gPodder 2.2 (on the package page) and report bugs against it in the bug tracker, so that any issues can be fixed before the next package version.
Again, please report any bugs you find to the bug tracker, and don't go whining in the forums - it's a hassle to search and hunt for bug reports on the web, and your "bug report" forum post might never be seen by any of the developers of any given app.
gPodder 2.2 is of course also available for Maemo 4, and has been pushed into the Diablo Extras repository already. Starting from this version, no Chinook builds will be provided for gPodder anymore, but due to the interpreted nature of Python code, you can install the gPodder package from the Diablo repositories should you really need to run gPodder under Chinook. If you are reporting bugs against gPodder for Maemo 4, be sure to mention "Maemo 4", "Diablo" or "N8x0" in the bug report.
Ready to go into Maemo Extras during this week: Panucci 0.3.9-1 and headphoned 1.6 (thanks to all the testers for taking the time to test, review and rate these packages).
TMO member Fake has just announced his latest invention — a laser-cut stand for the Nokia N900.
The 3-piece acrylic or wood stand is now for sale for only $10, $15 if you buy two, and $20 for three (shipping included). Details on how to order, more stand pictures, and the long discussion is over at talk.maemo.org.
Returning home now — sitting in the EasyJet plane somewhere over Germany and sipping coffee.
Year ago when I was going to FOSDEM I took my Nokia E66 phone preloaded with Belgium maps to not get lost in Brussels. It was working quite good. This year I took Nokia N900 as the only device to use (no laptop, no other phone) and BUG to show something.
How did N900 worked as navigation device? Terrible! The problem started before travel. I installed whole set of map applications which were available:
- Ovi Maps
- Maemo Mapper
- Maep
- Mapbuddy
- Navit
Only first one had support to preloading map data (by using Nokia Map Loader under MS Windows). Maemo Mapper had such functionality in OS2008 but newer version has something totally broken. Navit required use of extra tool for conversion but after looking at UI I decided that will not even try. Maep and Mapbuddy always fetch from network so roaming costs would kill me.
So I used Ovi Maps as less bad then others. Lacks of offline POI support suxx, lack of adding own ones suxx even more as in Symbian version I just added few interesting places at home and used them during walking on streets of Brussels. Nokia needs to spend lot of money and developer time if they want to make it usable.
So software was more or less disaster but I managed to get to the ‘peeing boy’ so (after seeing’ peeing girl’ year ago) that part of tourist attractions is done. Would be nice to have some way of preloading AGPS data as without network connection it takes ages to get fix.
All rights reserved © Marcin Juszkiewicz Maemo5 and (lack of) navigation was originally posted on Marcin Juszkiewicz website
Related posts:
This week’s issue of Maemo Weekly News (MWKN) is now out. Some items I would like to highlight are the following:
- PUSH N900 US competition launched for hardware hacking
- Hands-on Mozilla’s pocket-sized Firefox mobile
- Forum Nokia Developer Conference, 2nd March, Sydney Australia
- February maemo.org sprint meeting minutes & actions online
- Porting Maemo’s base to other chipsets/devices
- 2009 Engadget awards – N900 nominee in 2 categories
- Maemo 6 Platform Security software home now in gitorious
- Maemo’s cellular software components’ home now in gitorious
Below is the full list of articles in this week’s issue:
Maemo Weekly News – February 8, 2010
- BBC tech correspondent covers Nokia still ruling in face of iPhone & iPad
- PUSH N900 US competition launched for hardware hacking
- Ken-Young on Orrery, bringing more stars into view than you can see
- Hands-on Mozilla’s pocket-sized Firefox mobile
- Browser Switchboard makes it easy to define alternative browsers as default
- Foursquare social networking/geolocation service & game
- More info on community-designed levels for Angry Birds
- Low-level recovery tools: TestDisk and PhotoRec
- MaePad notepad/jotter for Maemo 5
- Comic widget in early development
- Nokia N900 running emulated SNES controlled with PS3 SIXAXIS controller
- Extension enables Flash for YouTube on Firefox Mobil
- Showtime – TV listings app
- Forum Nokia Developer Conference, 2nd March, Sydney Australia
- Akademy KDE/Qt conference call for papers
- Debian Etch rebuilt for Maemo
- PyGtkEditor: On-device syntax-highlighting editor designed for Maemo
- Windows: Python & Qt for Maemo development in half an hour
- Elena Reshetova interviewed before FOSDEM about Maemo 6 security
- Testing Squad for maemo.org Extras created
- February maemo.org sprint meeting minutes & actions online
- 2009 Engadget awards – N900 nominee in 2 categories
- A quick round up of the PUSH N900 Showcase last night
- PUSH N900 London party pole-dancing robot video
- Subscribe to MWKN to ensure you never miss an issue
- Marina theme for Maemo 5
- Hoops Frenzy available for $1.99
- Magnetic Scrolls adventure games interpreter in Testing
- MADDE tech preview updated for PR 1.1
- Maemo 6 Platform Security software home now in gitorious
- Maemo’s cellular software components’ home now in gitorious
- mStatus updates multiple social networks’ status

