I knew the answer now.
QWSSharedMemSurface::permanentState() manipulated its image data address, image's width and image's height to a byte array, then requestRegion send this bytearray to QWSServer, the server create a QWSWindow surface, then call the surface's setPermanentState(), in this function, it create an image with the data address from the parameter.
so the QWSWindow surface and QWidgetBackingStore surface actually shared the same image data.
So, would this be considered the correct implementation?
To summarize, you would generate a standard mouse event for each received point (or perhaps just the first point in the list of points), but you would also manage the TouchEvent data in the mouse handler as well?
It seems like you would want to have a separate TouchEvent plugin rather than hack the QMouseHandler, but I guess that's not possible at this time?
Also, if we we're actually making this plugin, we would need one that supports both type A and type B devices...or more probably two separate plugins for each, right?
There is, AFAIK, no Qt API to do that. You would have to rely on platform specific APIs, if it is possible at all.
I would recommend you try asking this quesion on forum Nokia instead: http://www.developer.nokia.com/Community/Discussion/
Unless your applicationDirPath() doesn't change, yes.
Keep in mind that you possibliy have no permission to write to the application directory. This is why you should prefer a user scope directory (like %APPDATA%) over the application directory.
It is written here at "Global tokens" sub-chapter:
go <a href="http://www.nokioteca.net/home/forum/index.php/forum/219-certificati-symbian-s60-devcert/">to this page</href> and register youself. Go to <a href="http://www.nokioteca.net/home/forum/index.php?app=core&module=usercp&tab=members">this page</href> and modify the camp "Cellulare" and the camp "IMEI cellulare". to obtain your IMEI write on phone * *#06# *. it will be visible only by the staff and you. click on Salva. Now go <a href="http://www.nokioteca.net/home/forum/index.php/forum/219-certificati-symbian-s60-devcert/">this page</href> and post a new fast reply (bottom part of the page) where is written "Request here your DevCert". wait a 2 days, then go to that last page and the last post will have a new reply with an attachment. this is you devcert.
I got error msg
@Unable to dlopen(/data/local/qt/lib/libQtWebKit.so):
Cannot load library: link_image: failed to link libQtWebKit.so
But, when I check with Terminal, library is located @ there. What's wrong with that?
[quote author="Volker" date="1313665046"]In Qt 3 there used to be a switch to turn off threading support in Qt. This has gone in Qt 4.
bootstrap is a different beast, it is used to build Qt libs (i.e. to make a static (in the sense of no dynamic linking to Qt libs) version of qmake etc.).
I'm sorry, but I'm pretty sure that Qt 4 cannot be built without thread support. It is used all throughout QCoreApplication for example.[/quote]
Okay. Thanks for your help.
as I suspected, I initially chose the wrong way. Database qslite is within Qt. "Here":http://www.developer.nokia.com/Community/Wiki/CS001504_-_Creating_an_SQLite_database_in_Qt is well documented how to create and use databases sqlite.
Native partial keyboard (aka non-fullscreen editing mode, aka splitview) for Qt/Symbian is supported starting from Qt 4.7.4. See https://bugreports.qt.nokia.com/browse/QTBUG-16572 for details.
The traditional symbian editing mode (fullscreen "middle state") should work just by focusing a text editable widget.
alexQt, the QLineEdit should open the fullscreen keyboard automatically. If it doesn't, could you try and send a QEvent::RequestSoftwareInputPanel event to it.
[quote author="jbarron" date="1306821724"]You're on the right track. The shared memory surface (QWSSharedMemSurface) is only used when you have multiple clients. In QWS, the first application that starts up is the window server so this one doesn't need shared memory, it just uses the local mem surface which just stores the pixel data in a "new uchar[size]" which then gets passed to a QImage. This QImage is what gets painted on when widgets paint themselves to the screen. QWSSharedMemorySurface behaves the same way except instead of a uchar array allocated in process, it uses a shared memory segment to hold the data behind the QImage.
The window surfaces push their content to the screen in the QWSWindowSurface::flush() function. Here the clients will tell the QWSDisplay that new content is ready for a given region of a given window. In multi-process mode, this will send a command over a UNIX domain socket to the server to compose the new region. In single process mode, it will simply do the composition to the framebuffer in process.[/quote]
I know this is reviving a really old thread, but thanks for your answer. It was really helpful
Welcome to this forum.
As far as I understand you have all pieces already together. When you have mastered to compile some of the example and transfer them to your arm9 and you are able to run them.
The examples are compiled with your cross compiler. With your custom compiled qt version you have generated a special qmake, you need to use this for compiling any of your programs.
In qt creator you can set also the tool chain to use the cross compiler. "Here is a post with a similar problem":http://developer.qt.nokia.com/forums/viewthread/690
 Another good start is the documentation for "qt creator":http://developer.qt.nokia.com/wiki/QtCreatorWhitepaper#bcc07e6bb3f606fb4167a6fa7886bb14
[quote author="alfah" date="1313576475"]i have implemented the first two. But it was not according to the key press event. How can i find out how long the key has been pressed?[/quote]
[quote] about overriding, could you jus gimme links of examples or jus elaborate on it?
See the QWidget::keyPressEvent / keyReleaseEvent methods, and the related discussion on event handling in Qt.
EDIT: I am sorry if I made you think that, my bad, but QGLWIdget is only for GL content, it does not help to subclass the widgets you are trying to use.
I am probably not the best code optimizer, but I know some sources to recommend to you:
I found this "link":http://www.slideshare.net/qtbynokia/optimizing-performance-in-qtbased-applications about some Qt optimizations.
There is also some "videos":http://developer.qt.nokia.com/videos in the elearning main qtdev page.
I saw somethings that might handy:"
"Optimizing Performance in Qt-Based Applications (Qt 4.6)":http://developer.qt.nokia.com/videos/watch/optimizing_performance_in_qt_based_applications
"Performance: Do Graphics the Right Way":http://developer.qt.nokia.com/videos/watch/performance_do_graphics_the_right_way
"Qt Tips and Tricks":http://developer.qt.nokia.com/videos/watch/qt_tips_and_tricks
"Accelerating Performance of Qt on TI’s Embedded Processors":http://developer.qt.nokia.com/videos/watch/accelerating_performance_of_qt_on_tis_embedded_processors
Please let me know if you find something useful.
Very best regards,
thanks a lot for this first introduction. So Mobility is what I'll take a look at first. I guess I will have further questions not too far in the future though. :-)
Thanks anyway for now!
Yes, i installed it on my phone.
the error is, if i run it on device:
Executable file: 8122 2011-08-13T11:53:01 C:\QtSDK\Symbian\SDKs\Symbian1Qt473\epoc32\release\gcce\urel\prova.exe
Could not start application: General OS-related error
After read the code for src/plugin/platform/directfb and xlib.
There are some example for how to send mouse/keyboard event to QtCore/QtGui.
In class QWindowSystemInterface, there defined several static function for sending event to QtCore. For example, QWindowSystemInterface::handleMouseEvent(...).
So, what we need to do is that reading mouse/keyboard event and call QWindowSystemInterface api to send it to QtCore.
We are glad you solved it. thanks for letting us know and showing the solution so others can benefit from it.
Could you please edit your title and ad [solved] in front of it? This is a workaround.
A better solution is in the making for marking a topic as solved.
bq. technically, set expanding should expand the tabs right, so wont it cover up the space on the right????
Yes, we could expect that, but the Trolls decided to do it otherwise. I can imagine people like it like that to give a hint to the user he can add tabs using the program...
You could make a suggestion on the "bugtracker":https://bugreports.qt.nokia.com.