Notices


Reply
Thread Tools
Posts: 1,548 | Thanked: 7,510 times | Joined on Apr 2010 @ Czech Republic
#931
A short progress update:
I'm finished with adding modular GUI support and the current GTK interface now runs from its own GUI module. I have also transplanted a Qt GUI module from Mieru but it still needs some work to actually do anything. I added support for proper CLI arguments handling - currently only for specifying the which GUI and device modules to load.
Theroadmap has been updated to show what items are done.
__________________
modRana: a flexible GPS navigation system
Mieru: a flexible manga and comic book reader
Universal Components - a solution for native looking yet component set independent QML appliactions (QtQuick Controls 2 & Silica supported as backends)
 

The Following 7 Users Say Thank You to MartinK For This Useful Post:
Posts: 958 | Thanked: 483 times | Joined on May 2010
#932
thank you for the hard work!!
 

The Following 2 Users Say Thank You to droll For This Useful Post:
ejasmudar's Avatar
Posts: 800 | Thanked: 957 times | Joined on Sep 2010 @ India
#933
Man, I am so looking forward to the harmattan version. Nokia maps suck POI wise here in India and cloudGPS is too gimmickky and buggy
__________________
My Device History:Nokia 3510 > SE T230 > Nokia 6600 > HP2210 > SE p910i > SE p990i > N95 > I-mate 9502 > itouch > Nokia N900 > ? N9
My apps for N900:
Conversation Modder

My apps for N9:
LockScreenQuotes
USbS


If you feel I have helped you, don't forget to press Thanks!
 

The Following User Says Thank You to ejasmudar For This Useful Post:
Posts: 451 | Thanked: 334 times | Joined on Sep 2009
#934
Originally Posted by 白い熊 View Post
The cursor position, and the blue box with directions would disappear for 10-20 seconds at a time, while the underlying map, with the traced route is visible... Anyhow the cursor and blue box would flicker on for a split second, only during this time, if you'd touch the screen, I could access the menu.

Tried to display the tile load times in terminal, that's when I noticed some python cairo errors coming up in the terminal.

I'll capture the full errors in the morning and post.
Hmm, it seems "in the morning" translates to in a "month and a half"... :O(

Anyhow, I did capture it finally, and it definitely seems to be pango/cairo based, though no idea what it's about. Am posting the full log of a short run just in case, though the error seems to be one and the same...

Edit: had to cut out some of the error log, as the resultant text is too long to post...
Code:
~ $ modrana
Xlib:  extension "RANDR" missing on display ":1.0".
 == modRana Starting == 
 device string (first parameter): android_chroot 
size allocate gtk.gdk.Rectangle(0, 0, 480, 640)
error in screen invalidating function
exception: 'NoneType' object has no attribute 'invalidate_rect'
importing modules:
 * messages: Handles messages (10.00 ms)
 * markers: A module handling markers on the map. (10.00 ms)
 * icons: Draw icons (0.00 ms)
 * updateTiles: Update stored map tiles. (0.00 ms)
 * cron: A timing and sheduling module for modRana. (20.00 ms)
 * route: Routes (30.00 ms)
 * mapData: Handle downloading of map data (130.00 ms)
 * display: A platform independent display device control module (0.00 ms)
 * positionMarker: A sample pyroute module (0.00 ms)
 * example: A sample pyroute module (0.00 ms)
 * showPOI: Show POI on the map and in the menu. (0.00 ms)
 * notification: This module provides notification support. (0.00 ms)
 * showGPX: draws a GPX track on the map (10.00 ms)
 * projection: Projection code (lat/long to screen conversions) (0.00 ms)
 * tracklogManager: Module for managing tracklogs (0.00 ms)
 * clickHandler: handle mouse clicks (0.00 ms)
 * askMenu: A sample pyroute module (0.00 ms)
 * log: A modRana logging module (0.00 ms)
 * mapTiles: Display map images (60.00 ms)
 * sketch: Sketching functionality (0.00 ms)
 * stats: Handles messages (0.00 ms)
 * mapView: Controls the view being displayed on the map (0.00 ms)
 * search: Search for POI (0.00 ms)
 * showOSD: Draw OSD (On Screen Display). (70.00 ms)
 * animatedMapView: A sample pyroute module (0.00 ms)
 * keys: A keyboard input handling module (10.00 ms)
 * textEntry: A module for hadnling text entry. (0.00 ms)
 * units: A module handling unit conversions and dispplaying correct units acording
to current settings. (0.00 ms)
 * info: A modRana information handling module (10.00 ms)
 * voice: Handle text to speach. (0.00 ms)
 * onlineServices: Module for communication with various online services. (20.00 ms)
 * tracklog: Record tracklogs (0.00 ms)
 * menu: Handle menus (10.00 ms)
 * routeProfile: Creates a route profile (an elevation chart) (0.00 ms)
 * interfaceFeedback: A sample pyroute module (0.00 ms)
 * loadTracklogs: A sample pyroute module (0.00 ms)
 * options: Handle options (0.00 ms)
 * storePOI: Store POI data. (20.00 ms)
 * location: Supplies position info from GPSD (0.00 ms)
 * input: Handle input from keyboard, buttons, etc. (0.00 ms)
 * config: Handle configuration, options, and setup (0.00 ms)
 * storeTiles: Single-file-fs tile storage (20.00 ms)
 * turnByTurn: A turn by turn navigation module. (0.00 ms)
 * device: A Neo FreeRunner modRana device-specific module (0.00 ms)
Loaded all modules in 430.00 ms, initialising
icons: switched theme to: default
storePOI: connection to POI db in /home/shiroikuma/.modrana/poi/modrana_poi.db
estabilshed
location: enabling location
location: gpsd debugging output turned OFF
GPSDConsumer: starting
mapTiles: map folder path: /home/shiroikuma/.modrana/maps
**log: opening stdout log file
**log: redirectiong stdout to log file:\
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)

...

Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 148, in drawScreenOverlay
    self.drawButton(cr, x1, y1, dx, dy, '', minusIcon, "mapView:zoomOut")
  File "modules/mod_menu.py", line 309, in drawButton
    self.icons.draw(cr,icon,x1,y1,w,h)
  File "modules/mod_icons.py", line 346, in draw
    self.drawIcon(cr, self.images[cacheName], x, y, w, h)
  File "modules/mod_icons.py", line 466, in drawIcon
    cr.save()
cairo.Error: invalid matrix (not invertible)

shutdown imminent, commiting all uncommited tiles
storeTiles: sqlite committ OK

all tiles commited, breaking, goodbye :)

mapTiles: automatic tile download management thread shutting down
GPSDConsumer: breaking
GPSDConsumer: stopped
Shuttdown complete
~ $
 

The Following User Says Thank You to 白い熊 For This Useful Post:
Posts: 440 | Thanked: 160 times | Joined on Aug 2010 @ Las Vegas, NV
#935
Thanks a lot for such a wonderful navigation app. Its the best I havd tried in N900. And now you are moving to Qml, I would expect sexier UI! Can anyone tell me what this app doesn't (yet) do as compared to Sygic Mobile Maps except offline routing (which is very nice feature and modrana should be getting it soon). Thanks a lot for continuing the development of this great app, thanks from the heart.
 

The Following 2 Users Say Thank You to Joseph9560 For This Useful Post:
Posts: 1,548 | Thanked: 7,510 times | Joined on Apr 2010 @ Czech Republic
#936
Originally Posted by 白い熊 View Post
Code:
Traceback (most recent call last):
  File "modrana.py", line 1015, in do_expose_event
    return self._expose_cairo(event, cr)
  File "modrana.py", line 1011, in _expose_cairo
    self.draw(cr,event)
  File "modrana.py", line 676, in draw
    self.currentDrawMethod(cr,event)
  File "modrana.py", line 754, in fullDrawMethod
    m.drawScreenOverlay(cr)
  File "modules/mod_menu.py", line 104, in drawScreenOverlay
    self.drawText(cr, text, x1, y1, w/3, h, 0) # draw a reminder
  File "modules/mod_menu.py", line 272, in drawText
    pg = pangocairo.CairoContext(cr)
cairo.Error: invalid matrix (not invertible)
Hmm, this is not an Android specific issue - I remember getting the same (cairo.Error: invalid matrix (not invertible)) error during development. I thing it was while I was working on automatic map rotation and it somehow stopped showing up. Still, there might be something Android/chroot specific triggering it.

A few questions:
How does this look like on the screen (IMHO at leas some text and graphics should be missing)?
Does this happen with or without map rotation ?
Do you use map layer overlay ?
Also an unrelated question - can you check what Qt version is available in your Chroot and if QML and PySyide/PyQt are available ? So that I know if the new QML/Qt Components based GUI is also relevant for the Andoroid Chroot or just for native environments. BTW, thanks to THP, there is now both PySide and Qt available for Android so modRana with the new Qt GUI should be also able to run natively on Android in the near future.


Also a progress update:
The GUI logic is now completely separated from the main modRana class and there are now two functional GUI modules - GTK and QML. I spent the last few days making sure that both GUIs work as expected and that there are hopefully no regressions in the GTK GUI.

The QML GUI currently only shows a white window it finally starts & shuts down cleanly so I can start porting views from AGTL (map view, Augmented Reality view, compass) and writing my own (menu, listable menu, tracklog info, poi detail, search, routing, download manager, etc.).

Also, due to outdated Qt & PySide on non-CSSU Fremantle modRana might be CSSU-only, at least for the start. CSSU also basically has the same PySide, Qt, QML and Qt Components versions as Harmattan, making maintenance easier due to single code base.
__________________
modRana: a flexible GPS navigation system
Mieru: a flexible manga and comic book reader
Universal Components - a solution for native looking yet component set independent QML appliactions (QtQuick Controls 2 & Silica supported as backends)

Last edited by MartinK; 2012-02-05 at 17:14.
 

The Following 5 Users Say Thank You to MartinK For This Useful Post:
Posts: 451 | Thanked: 334 times | Joined on Sep 2009
#937
Originally Posted by MartinK View Post
How does this look like on the screen (IMHO at leas some text and graphics should be missing)?
When stationary, everything is displayed. Once you start moving, the position cursor disappears, and everything freezes, the display doesn't move, you cannot access the menu. The errors start popping up when you start moving.
Does this happen with or without map rotation ?
Both. With map rotation it's unuseable, i.e. it freezes almost completely, guess more errors...
Do you use map layer overlay ?
No, I've turned it off.
Also an unrelated question - can you check what Qt version is available in your Chroot and if QML and PySyide/PyQt are available ?
I use arme debian unstable, so libqt4 4.7.4-2, qt4-qmlviewer same version, python-pyside 1.1.0-1 and pyqt-tools 3.18.1-5
BTW, thanks to THP, there is now both PySide and Qt available for Android so modRana with the new Qt GUI should be also able to run natively on Android in the near future.
This is good news, so perhaps even sound output from modrana, as it seems to me there's no way to produce sound from within the chroot...
 

The Following User Says Thank You to 白い熊 For This Useful Post:
Posts: 35 | Thanked: 9 times | Joined on Feb 2010 @ Perth, WA, Australia
#938
Hey thanks for this great program. It's my primary GPS program nowdays.

One thing i've noticed lately: If you try and use open cycle maps, the tiles all fail to download - i get the 'due to network error' tiles instead. Have OCM changed their address or something? It shouldn't be my end as this is both on wifi and 3g, and all the other maps work. Has anyone had this problem?

Anyway, thanks! Can't wait to try out the AR mode in the new version.
 

The Following User Says Thank You to Thalass For This Useful Post:
Posts: 440 | Thanked: 160 times | Joined on Aug 2010 @ Las Vegas, NV
#939
I saved a POI with name name "Tuscany Suites & Casino". Funny part is neither the name of the POI is listed under the POI (or say an item with blank name is listed), nor the description is shown in the POI detail. I can see that its because of "&". Please fix it.

Also while saving a route as a tracklog it is not saving the correct date. Its currently 10:51 3/7/2012 (GMT-8) but the last modified date is something like 6:48:34 8.3.2012, surely some time zone calculation error as far as I can see.

Also searching for something like "Tuscany Suites Hotel & Casino, 255 E. Flamingo Road, Las Vegas, Nevada 89169 " doesn't seems to return proper address. Am I right to say that search of address is performed via Google irrespective of tile provider being used? Google earth provides proper result (or results with proper one) in pc.

Thanks!
 

The Following User Says Thank You to Joseph9560 For This Useful Post:
Posts: 1,548 | Thanked: 7,510 times | Joined on Apr 2010 @ Czech Republic
#940
Qt GUI progress update
This time with pictures.


Map view in landscape

Map view in portrait

The map view is mostly based on the PinchMap from AGTL, with some added buttons - for the menu and a fullscreen button (probably not needed on Harmattan).


Main menu in landscape


Main menu in portrait - the menu is scrollable


Options menu


Options menu, demonstrating button-press feedback

When a button is pressed, it sinks a bit and changes color to a lighter tone (all of this is smoothly animated) and the caption text becomes bold.

I choose to to use the icon-grid menu because it works quite nicely both portrait and in landscape. Still, I would like to trim the number of "levels" one has to go through to get something done.

Other GUI elements would be more "modern": lists with kinetic scrolling & search, full screen selection dialogs, proper text entry fields, sliders, etc. This is thanks to the huge array of modern GUI elements available in QML, in contrast to having to write everything from the ground up when using (the quite slow) combination of Cairo and GTK.

Concerning icons, a general face-lift and design unification might not be a bad idea - any theme artists out there ?

PS.: I've seen your questions and will answer in a follow-on post.
__________________
modRana: a flexible GPS navigation system
Mieru: a flexible manga and comic book reader
Universal Components - a solution for native looking yet component set independent QML appliactions (QtQuick Controls 2 & Silica supported as backends)

Last edited by MartinK; 2012-03-11 at 19:21.
 

The Following 10 Users Say Thank You to MartinK For This Useful Post:
Reply

Tags
bada rox, martin_rocks, modrana, navigation, openstreetmap, the best, wehasgps


 
Forum Jump


All times are GMT. The time now is 06:59.