Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Qt Academy Launch in California!

    Symbian defines

    Mobile and Embedded
    6
    12
    6755
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      riussi last edited by

      Hi,

      I was just wondering which one would be the correct define to use for Symbian-devices when developing cross-platform apps: Q_OS_SYMBIAN or Q_WS_S60 ?

      Juha Ristolainen (@Riussi)

      1 Reply Last reply Reply Quote 0
      • T
        tobias.hunger last edited by

        Both of course:-)

        Q_OS_ macros are used to show which operating system Qt was build for, while Q_WS_ macros show which windowing system Qt was build for. Depending on what you want to do one or the other might be a better choice: I would use Q_OS_ to wrap code that uses operation system specific code (networking, process management, etc.) and Q_WS_ for window specific code (like getting events not exposed through Qt, etc.).

        So, e.g. on MacOS you would use Q_OS_MAC for hardcore networking tasks and Q_WS_MAC for accessing display pdf. If you ever had to port your application to X11 on mac then the X11 windowing code would get wrapped in Q_WS_X11 ifdefs and your hardcore networking magic would still work.

        1 Reply Last reply Reply Quote 0
        • D
          DenisKormalev last edited by

          Also I think Q_WS_S60 will not work for n8, but Q_OS_SYMBIAN will work.

          1 Reply Last reply Reply Quote 0
          • R
            riussi last edited by

            Ok. Thanks guys.

            I sort of new that but asked anyway.

            Tobias, don't you have better things to do on a Saturday night ;)

            Juha Ristolainen (@Riussi)

            1 Reply Last reply Reply Quote 0
            • T
              tobias.hunger last edited by

              riussi: Would you prefer getting your responses during regular business hours only? And you do not seem to have anything better to do on a saturday night either;-)

              1 Reply Last reply Reply Quote 0
              • J
                jbarron last edited by

                Hi,

                It somewhat depends. As Tobias said, if your code uses pure Symbian (no S60) then you should use Q_OS_SYMBIAN for maximum compatible. Q_WS_S60 will most likely not be defined on Symbian^4 where Avkon has been removed. However if you are using Avkon to, for example, lock the application's orientation, then Q_WS_S60 is the right choice.

                Q_WS_S60 is still defined on Symbian^3 because Avkon is still present.

                1 Reply Last reply Reply Quote 0
                • D
                  DenisKormalev last edited by

                  jbarron, thanks for this small note about Symbian3 and Q_WS_S60. Assistant is a bit unclear about it (there is mention about Avkon, but no mention about Symbian3 and Avkon), maybe will be useful to add a note there.

                  1 Reply Last reply Reply Quote 0
                  • R
                    riussi last edited by

                    Heh, Tobias. Just teasing you. Of course I appreciate your 24/7 attitude. Good for guys like me hacking away on Saturday nights :)

                    It was nice to see you again at the Dev Days.

                    Juha Ristolainen (@Riussi)

                    1 Reply Last reply Reply Quote 0
                    • R
                      riussi last edited by

                      Another question popped into my mind.

                      If I have a block like this in my .pro-file:

                      @symbian {

                      Custom kinetic scroller for Symbian since kinetic scrolling is not working there yet

                      HEADERS += qscrollareakineticscroller.h \
                                 qkineticscroller.h \
                                 qkineticscroller_p.h
                      
                      SOURCES += qscrollareakineticscroller.cpp \
                                 qkineticscroller.cpp
                      

                      }@

                      Is there any way to compile those only for >=5th edition and not for 3rd edition at all? I know I can use QSysInfo at runtime but then is there something to separate different versions of Symbian platform at compilation or .pro-file evaluation time?

                      Juha Ristolainen (@Riussi)

                      1 Reply Last reply Reply Quote 0
                      • C
                        chriadam last edited by

                        If you have a look at the Qt Mobility configure tests which run on Symbian, you'll see a few which are related to the contacts and organizer domains. The results of those tests are used to determine which version of Symbian the project is being compiled on.

                        In particular, take a look at plugins/organizer/symbian/symbian.pro and plugins/contacts/symbian/symbian.pro -- use the technique at your own risk, I'm certain there has to be a better way to do it. Indeed, someone more familiar with Symbian development might know of some file which only exists on S60 3rd edition, and so a qmake "exists(filename)" check might suffice.

                        Hope this helps.

                        Cheers,
                        Chris.

                        1 Reply Last reply Reply Quote 0
                        • M
                          michael.goddard last edited by

                          I would love to see config variables for different S60/Symbian versions defined appropriately by qmake or one of its many prf/pri tentacles.

                          1 Reply Last reply Reply Quote 0
                          • R
                            riussi last edited by

                            Yeah, me too.

                            Juha Ristolainen (@Riussi)

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post