Meego Wiki
Views

User:Mikelima/Quando parte

From MeeGo wiki
Jump to: navigation, search

Quando Parte is my Transport planning application. It is, at the moment, based on reatime data from mobile.viaggiatreno.it only, with a station database extracted from OpenStreetMap data, which I am still improving and refining.

It is focused on "tactical" planning for commuters. That means, the user interface let you quickly go to the station you are interested in, and shows the situation as soon as possible.

The data provider has more informations available, that are currently unused. I am planning to add a function to find trains departing from the requested station to another one, and eventually to find trains between two stations in a certain time range.

When I started programming Quando Parte I meant to use the "XHTML" data and provide the same information as a QListModel, but the XHTML from viaggiatreno.it was not really XHTML, and it had very little structure. So to quickly have something useful, I decided to present the information in a QtWebKit View, after some minimal "annotation" to the original hatml to let me selectively show Arrivals or Departures. This may change in the future, but it solves other annoying problems, so...

Contents

Status

It is working fine now, except for rough edges and minor bugs. User interface still needs some work. I hope to be able to push it to the Nokia store during the Christmas vacations.

Mikelima 00:19, 23 December 2011 (UTC)

The Station List View mostly works now, I think I found a way around most problems. I am trying to add localization support, but I got a problem with ListElement "not allowing JavaScript", that is the text must be a string, and not a qsTr() call. There is a suggestrion for a workaround here.

Mikelima 09:13, 24 July 2011 (UTC)

Some progress, some more doubts. Most of the styling element can be accessed with <Element>Style, although I have not found how to acces some of the measures, like a semsible margin or padding.

Using anchors.left or right gives a warning in a Row element, but it looks like it works actually. How else can I have a Switch on ther far right and a Label on the left, without anchoring them to the extremes?

In anycase, I had better success with the C++ bindings. I have managed to make my StationList(Filter)Model visible to the QML UI. I will have to refactor it a bit to be able to change the sorting mode from QML as well.

Mikelima 15:31, 16 July 2011 (UTC)

OK, so now I have an harmattan configuration in the .pro file, and I have disabled the compilation of most files in case of an Harmattan build. Instead, I have added a View class, with a QDeclarativeView widget in it, that loads a main.qml file.

I have worked around the setSearchPaths() problem by spinning my own, but I will have to ask in the proper forum.

Now I have a PageStackWindow with a toolbar with a few Icons on it. And a Sheet for the settings. Nothing really works, but it looks nice.

Issues I have found:

The default font size is minuscule even in QM. I thought that it would be fixed here... The Label component has a reasonable default though. But it looks like the system programs also set the Bold attribute.

The documentation is still a bit inconsistent, and the one that is easily available (the Symbian version) is often wrong wrt Meego.

Putting a label next to a switch is more work than it should, as the label must be manually aligned and spaced to look any good.

Well, I am sure these are all early adopter problems, and I have the N950 to play with, so I cannot complain too loud.

I don't know if these problem are worth reporting though -- I am sure developers are aware of them. Apart from the setSearchPaths() one. I wonder if I am the only one trying it? Are people usually hardcoding all the paths?

Mikelima 19:01, 11 July 2011 (UTC)

All right, some more problems.

QDir::setSearchPaths() does not seem to work

The QDir::setSearchPaths() which I thought was a clever idea for Fremantle, only seem to work in debug mode on Harmattan. in practice: if i set up a searchpath with

QDir::setSearchPaths("foo", QStringList("/usr/share/foo"));

and then use

QFile("foo:bar");

foo:bar resolves to /usr/share/foo/bar in Fremantle, but /home/developer/foo:bar on Harmattan. This breaks the installation...

The desktop file

The fremantle desktop file does not work in Harmattan. have fixed it, but it does not look right. It is not only a problem with the different path, I fixed it early. The other thing is the icon path also has to be hardcoded. I hope thiw will change in the final image, because this basically means no icon theming?

And there is the mysterious "invoke magic" in the example harmattan .desktop file that I copied and did not work for my application.

Mikelima 08:43, 11 July 2011 (UTC)

It compiles! But..

I attempted building Quando Parte as is and it actually starts up. But it cannot find its icon, or its data. That is odd...

It is, as expected unusable. There are also problems with the icon, I am looking into the problem, and confrontimg my QMake files with those generated by QtCreator when creating a new qml application.

I am a bit confused about which template to use as a reference... There is an Harmattan QML application and a QML application that can be compiled for Harmattan/Fremantle/Symbian.

Ideally, I would like to have Quando Parte running on the three platforms, and maybe also as some kind of Plasma widget (Plasmoid). So the QML Application template is closer to what I'd like to use...

External links

Personal tools