Symbian-Developers

The Official Developers Section => Symbian Software Development Discussions => The Developers Section => Qt Application Development => Topic started by: yeatse on October 24, 2013, 01:38:19 am

Title: Qt Quick Components for S60V5
Post by: yeatse on October 24, 2013, 01:38:19 am
Now almost all the Nokia Belle apps can be easily port to S60V5.

All you need to do is to change all the "import QtQuick 1.1" in your code to "import QtQuick 1.0", and "import com.nokia.symbian 1.1" to "import com.nokia.symbian 1.0", and some other small fixes, then select "S60V5" target and build.

On S60V5 devices, you need to install Qt4.7.3 and QtMobility1.13 first, then install the three plugins attached here.

For example, I changed little code on Dickson's tweetian and now it is runnable on S60V5. I tested it on RDA since I don't have a S60V5 device myself..


[attachment deleted by admin]
Title: Re: Qt Quick Components for S60V5
Post by: matthew on October 24, 2013, 12:31:09 pm
Very nice share, mate! ;)
Title: Re: Qt Quick Components for S60V5
Post by: schumi1331 on October 24, 2013, 05:53:46 pm
Is there any chance to bring this into one app that can be submitted to Nokia Store and might pass the QA?
Title: Re: Qt Quick Components for S60V5
Post by: Allstar12345 on October 24, 2013, 08:32:03 pm
Is there any chance to bring this into one app that can be submitted to Nokia Store and might pass the QA?

Of course, as long as smart installer is with it.

@yeatse
Nice work bro ;)
Title: Re: Qt Quick Components for S60V5
Post by: schumi1331 on October 24, 2013, 09:31:13 pm
Of course, as long as smart installer is with it.

Grrr. Sometimes I don't understand that people don't understand when I'm or anybody else is asking IF it is possible and the answer is YES, it is possible, the question also includes HOW it is possible...  :P

So, how do I pack this files into my app file that they will be installed as well?
Title: Re: Qt Quick Components for S60V5
Post by: matthew on October 24, 2013, 09:57:14 pm
i want to preface this with an apology if i am being helplessly noooooooob, but isn't SISContents able to pack it as a proper installer?
i thought the smart installer was Nokia's addition to an app once it passed QA.
Again, sorry if this is utter rubbish that i am speaking, but i want to learn about the process, too. :-[
Title: Re: Qt Quick Components for S60V5
Post by: Allstar12345 on October 24, 2013, 10:02:50 pm
i want to preface this with an apology if i am being helplessly noooooooob, but isn't SISContents able to pack it as a proper installer?
i thought the smart installer was Nokia's addition to an app once it passed QA.
Again, sorry if this is utter rubbish that i am speaking, but i want to learn about the process, too. :-[

Smart installer is added when we use the Publish to Store function, but I think schumi could extract the files from the installers and use the AddFile function to include them in his project
Title: Re: Qt Quick Components for S60V5
Post by: matthew on October 24, 2013, 10:09:59 pm
SISContents has a batch installer option. You add the installers as individual packages in order of installation priority.
File > New package > Add entry > Embed package
You just have to make sure the package script has them in the correct order, if applicable, for contingency purposes.

Again, though, i apologize if this is not what you are talking about.
i have to ask to learn, even if i look really dumb when doing it.
Title: Re: Qt Quick Components for S60V5
Post by: Allstar12345 on October 25, 2013, 03:57:40 am
I actually meant AddFile in his project file, it would automatically add them everytime he builds
Title: Re: Qt Quick Components for S60V5
Post by: matthew on October 25, 2013, 04:23:05 am
Learn something new: X
Look dumb: X  :P
Title: Re: Qt Quick Components for S60V5
Post by: schumi1331 on October 25, 2013, 02:22:32 pm
SISContents has a batch installer option. You add the installers as individual packages in order of installation priority.
File > New package > Add entry > Embed package
You just have to make sure the package script has them in the correct order, if applicable, for contingency purposes.
Perfect, seems to work.

Is it possible to port Qt Quick Components 1.1 as well? Cause all my apps are based on PageStackWindow...
Title: Re: Qt Quick Components for S60V5
Post by: matthew on October 25, 2013, 02:53:11 pm
Is it possible to port Qt Quick Components 1.1 as well? Cause all my apps are based on PageStackWindow...
Mate, for questions like this i will step aside and allow the devs to answer, as they know loads more about it than i do. My S60v5 experience is slim.
Title: Re: Qt Quick Components for S60V5
Post by: schumi1331 on October 25, 2013, 06:23:54 pm
Okay, I had some further tries now and this is working in an acceptable way. Some hints:

#1: If you are using PageStackWindow, create a new qml-file called PageStackWindow.qml and copy this into it: https://qt.gitorious.org/qt-components/qt-components/source/9c312a7887f8aea815aa5ccea734df8c942931da:src/symbian/PageStackWindow.qml

Change imports to: "import QtQuick 1.0" and "import com.nokia.symbian 1.0" and out-comment all lines with "platformInverted: ...", as this requires Qt Quick Components 1.1.

#2: Further I had a problem with onButtonClicked: in CommonDialog element and fixed this by creating a new qml-file "BasicDialog.qml" with content from here: https://code.google.com/p/qt-quick-components-s60v5-demo/source/browse/src/3rdparty/qt-components/symbian/CommonDialog.qml with modified imports as above and changed "CommonDialog {" to "BasicDialog {" whereever I used it.

#3: Out-comment every "platformInverted: ..." in the project

#4: Use Qt Assistant to see if the specific element is part of Qt Quick Components 1.0 or 1.1.

#5: "import Qt.labs.components 1.1" needs to be replaced with "import Qt.labs.components 1.0" as well.

Need to fix some small things then I'll try to publish a first app with those packages and smart installer in the Store, let's see what QA will say ;)
Title: Re: Qt Quick Components for S60V5
Post by: yeatse on October 26, 2013, 05:28:39 am
Okay, I had some further tries now and this is working in an acceptable way. Some hints:

#1: If you are using PageStackWindow, create a new qml-file called PageStackWindow.qml and copy this into it: https://qt.gitorious.org/qt-components/qt-components/source/9c312a7887f8aea815aa5ccea734df8c942931da:src/symbian/PageStackWindow.qml

Change imports to: "import QtQuick 1.0" and "import com.nokia.symbian 1.0" and out-comment all lines with "platformInverted: ...", as this requires Qt Quick Components 1.1.

#2: Further I had a problem with onButtonClicked: in CommonDialog element and fixed this by creating a new qml-file "BasicDialog.qml" with content from here: https://code.google.com/p/qt-quick-components-s60v5-demo/source/browse/src/3rdparty/qt-components/symbian/CommonDialog.qml with modified imports as above and changed "CommonDialog {" to "BasicDialog {" whereever I used it.

#3: Out-comment every "platformInverted: ..." in the project

#4: Use Qt Assistant to see if the specific element is part of Qt Quick Components 1.0 or 1.1.

#5: "import Qt.labs.components 1.1" needs to be replaced with "import Qt.labs.components 1.0" as well.

Need to fix some small things then I'll try to publish a first app with those packages and smart installer in the Store, let's see what QA will say ;)

#6: "cache" property in Image element needs to be commented out.

#7: When you use Component::createObject(parent, properties) , note that the second parameter(properties) doesn't work in QtQuick 1.0. So use it like this:

var prop = { name: "xxx", value: "xxx" };
var diag = xxxx.createObject(xxxxx);
for (var k in prop){ diag[k] = prop[k] };

#8: implicitWidth and implicitHeight cannot be used in QtQuick 1.0. If you must use these properties, import com.nokia.symbian 1.0 and use ImplicitSizeItem.

#9: Javascript file in WorkerScript doesn't support Qt.include() function in QtQuick 1.0.
Title: Re: Qt Quick Components for S60V5
Post by: symster on October 26, 2013, 05:59:08 pm
Even if we could port the belle app to s60v5 there is no way we could publish it to nokia store as nokia will not sign the plugin as they will sign the main app only.Embedded sis need to be sign first.Also the plugin use restricted capabilities which can only be sign at symbiansigned.Most of all even if we "somehow" manage to get through all those hurdle,with only 2 months left can we make it.
Title: Re: Qt Quick Components for S60V5
Post by: schumi1331 on October 26, 2013, 10:37:09 pm
Hmpf, didn't thought about this :(

So no way without a hacked phone/install server?
Title: Re: Qt Quick Components for S60V5
Post by: matthew on October 27, 2013, 04:47:34 am
So, it is true then that pretty much everyone on a Symbian phone will eventually have to either hack and use CODeRUS' installserver or modify their swipolicy.ini to install any apps in the very near future?
Title: Re: Qt Quick Components for S60V5
Post by: symster on October 27, 2013, 10:20:21 am
Hmpf, didn't thought about this :(

So no way without a hacked phone/install server?
There is a way if you got a will.That is in two months you need to get all the three plugin certified signed at symbiansigned especially the qtcomponentplugin which use manufacturer capabilities.Not to mention also open a company since symbiansigned don't accept individual request for manufacturer capabilities usage.Then after you get all the plugin signed,the rest step and publish to nokia store should be piece of cake.So anyone up to the task.  ;)
Title: Re: Qt Quick Components for S60V5
Post by: schumi1331 on October 27, 2013, 07:22:50 pm
That is in two months you need to get all the three plugin certified signed at symbiansigned especially the qtcomponentplugin which use manufacturer capabilities.Not to mention also open a company since symbiansigned don't accept individual request for manufacturer capabilities usage.
Wohooow :D A company and three plugins to pass symbiansigned... If it's not more :P Especially if I think that every certified signed costs around 230 euros...
Title: Re: Qt Quick Components for S60V5
Post by: symster on October 27, 2013, 08:40:50 pm
Especially if I think that every certified signed costs around 230 euros...
:D :D That is the part i miss because i am not sure about the fee and is it using euro or dollar
Title: Re: Qt Quick Components for S60V5
Post by: schumi1331 on October 27, 2013, 08:46:18 pm
So, it is true then that pretty much everyone on a Symbian phone will eventually have to either hack and use CODeRUS' installserver or modify their swipolicy.ini to install any apps in the very near future?
Sadly I think yes. If you want to install an app that needs more capabilities than self-signed and the developer doesn't has a (paid) certificate for it. Maybe a Developer Certificate might be the solution but not sure.

@symster: http://developer.nokia.com/Community/Wiki/User_guide:_Symbian_Signed Number 6, Certified Signing...
Title: Re: Qt Quick Components for S60V5
Post by: symster on October 27, 2013, 09:07:25 pm
Maybe a Developer Certificate might be the solution but not sure.
Even average developer cert won't work if the app use manufacturer capabilities.The cert only allow up to restricted capabilities.You need to request a special developer cert that allow manufacturer usage from symbiansigned.Its weird does it,why symbian foundation make it very difficult to sign app in first place.This
Title: Re: Qt Quick Components for S60V5
Post by: matthew on October 28, 2013, 08:11:58 am
Sadly I think yes. If you want to install an app that needs more capabilities than self-signed and the developer doesn't has a (paid) certificate for it.
@Allstar:
Is it possible to send out an SOS to all Symbian forums/blogs/et cetera to coordinate a mass bulletin entreating all Symbian users to not pitch their perfectly good devices and jump ship, but to hack them and start bailing the boat we are all in? i think that "Now is the time for all good men to come to the aid of their party" (Charles Weller) so to speak. This is really a defining moment in a strange way and the only way to keep these devices of ours relevant is for the community to truly band together.
It would be nice, but how to get the word out to the general Symbian public who are not active in these communities of ours is the major obstacle.
We know Nokia has only tried to force WP down our throats, so "how can the most of the Symbian user base be reached?" is a big issue.
Title: Re: Qt Quick Components for S60V5
Post by: Allstar12345 on October 29, 2013, 02:40:09 am
Well, it's a matter of who would help, I don't think many actually would work together these days (All are fighting for traffic (Advertising money) )

Also since Symbian has such a wide range of people, many would see the work hack or hacking and think of some little Chinese weirdo hacking their phone or something.
Title: Re: Qt Quick Components for S60V5
Post by: matthew on October 29, 2013, 04:17:42 am
You're right. i also got to thinking about how silly this was to have put out there, anyhow, as the people who are going to bail already have and those who have no intention of leaving have probably already hacked and buckled themselves in for the unsigned future.