Why application icon is not viewing on N950-developer-edition device's main menu.
-
I have created an application on Qtcreator and installed .deb file on N950 developer edition device
My application exist on => setting/Application/ManageApplication but its not appearing on main menu of N950 developer edition device. -
The application does not exist / is not shown or is shown with a green empty icon and not the icon you have assigned to it?
-
The appication exist with empty icon (red color rectangle icon) ,
when i searched my apps through search icon present on the main menu it exist ,but my application not available on the main menu screen. -
you should check in *.desktop file if there are these lines:
@Icon=/usr/share/icons/hicolor/64x64/apps/[applicationName].png
X-HildonDesk-ShowInToolbar=true@and maybe double check in terminal if the png really exist.
Another thing is that default icon size in Harmattan is 80x80 while Qt Creator default is 64x64 -
It is strange, but not so strange :) it seems that any device has a autonomous behavior. What version of the development kit / sdk are you using? I see that the new update of Qt 4.7.4 including the Qt creator 2.3 is different from the previous. I have not investigated on release changes but I am sure that something is changed.
-
Thanks, deimos,
I think this maybe useful. Check so this wiki page I have written few time ago about this problem: http://developer.qt.nokia.com/wiki/Single_Instance_Harmattan_Applications This solves definitely for sure the problems of icons and single-instance for Harmattan applications. The method was tested on Qt creator 2.2.x and Qt 4.7.3 (the first version released to develop Harmattan applications). Due to a bug in Qt Creator I am not sure if all is already valid in the new updates. It should be checked. I will do it in next days then I update the wiki page asap.
-
I tried now with latest SDK (1.1.3). Making a new project for Harmattan it make (I think) the right .desktop file with these 2 lines:
@Exec=/usr/bin/single-instance /opt/[applicationName]/bin/[applicationName]
Icon=/usr/share/icons/hicolor/80x80/apps/[applicationName]80.png@I don't know if it is the same calling the executable with instead this (I used this):
@Exec=invoker --single-instance --type=d /opt/[applicationName]/bin/[applicationName]@
but I think it will.
Another thing a developer should take care, reading your wiki, is the .aegis file (but maybe could be another wiki :). If the application uses QtMultimediaKit for video, it should be granted for accessing it even if, running it with Qt Creator it works, but when it will be started without, it will raise a permission error. The . aegis file (0 bytes lenght) is in debian_harmattan folder and should named [applicationName].aegis with this content:
@<aegis>
<request>
<credential name="GRP::video" />
<credential name="GRP::pulse-access" />
<for path="/opt/[applicationName]/bin/[applicationName]" />
</request>
</aegis>@ -
Thank you for your check and the addidion of info :)
As I see I should recheck all the question and see what's happen. At this point I don't know exactly what is the right or wrong solution or partially wrong solution.
-
This bug is resolved in Qt 4.7.4 .I have installed new version of Qt 4.7.4 and icon is appearing and also it makes default icon size 80*80.
-
@DanSiddiqui: True, I have done check also with new projects and the icon is requested of the correct size while the .desktop file is created correctly.
There is an issue that I have not solved in any way with the new Qt 4.7.4: after upgrade it seems that the fast way to see a project running with all the thing needed is to recreate a project from scratch and add the components in it again. Then after the build all is working fine.
I will open a new thread about this question.
-
Thanks, that helped really :)
[quote author="deimos" date="1315658815"]I tried now with latest SDK (1.1.3). Making a new project for Harmattan it make (I think) the right .desktop file with these 2 lines:@Exec=/usr/bin/single-instance /opt/[applicationName]/bin/[applicationName]
Icon=/usr/share/icons/hicolor/80x80/apps/[applicationName]80.png@I don't know if it is the same calling the executable with instead this (I used this):
@Exec=invoker --single-instance --type=d /opt/[applicationName]/bin/[applicationName]@
but I think it will.
Another thing a developer should take care, reading your wiki, is the .aegis file (but maybe could be another wiki :). If the application uses QtMultimediaKit for video, it should be granted for accessing it even if, running it with Qt Creator it works, but when it will be started without, it will raise a permission error. The . aegis file (0 bytes lenght) is in debian_harmattan folder and should named [applicationName].aegis with this content:
@<aegis>
<request>
<credential name="GRP::video" />
<credential name="GRP::pulse-access" />
<for path="/opt/[applicationName]/bin/[applicationName]" />
</request>
</aegis>@
[/quote] -
@q8phantom: AFAIK the two examples you cite about the invoker seems the same or at least equivalent. The difference is that in previous Qt Creator version there was some troubles so it was not working.
I think that the use of the invoker (remember that we are always working with beta firmware versions) in the way you are using may work untile they decide that it should not be supported as long. So my advice is to adopt the most recent solution just for urther compatibility. The firmware in Harmattan includes the Linux operating system Busybox, commands and all the file system.The advice of the aegis management is very useful. Do you know if this cases are reported in the aegis manual? If not I think you can write a wiki page to illustrate this kind of exectpions, no so rare I think.