| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implemented features:
Softkey Merging:
Widget can set only one softkey and set flag that rest of the softkeys
shall be taken from parent.
Priority Handling:
If multiple sokftkeys with same role are set, the highest priority
action gets displayed.
Custom Softkey Menu:
By setting QMenu to QAction and assigning a softkey role for that
action, the native menubar will be displayed when sofkey is clicked.
Softkey Image:
Initial code for implementing sofkey image support, the final
implementation is still pending legal acceptance to use
eiksoftkeyimage.h header file which is under EPL license.
Task-number: QTBUG-7315
Review-By: Sami Merila
Review-By: Jason Barron
|
|
|
|
| |
Reviewed-by: Sami Merila
|
|
|
|
|
|
|
| |
If Avkon components support transparency then dialog background is transparent
enabling rounded corners.
Reviewed-by: Sami Merila
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old implementation had been hacked on for a while and needed
cleanup. The new code is heavily based on looking at the behavior of
other platforms. It also reuses more of the cross platform code,
which improves the handling of Enter and Leave events.
We also switched to letting Symbian grab the pointer automatically
when pressing down the mouse button, which improves things
considerably compared to doing it ourselves.
Popups should also work a lot better after this fix, since they were
not really handled at all in the old code.
The old code had calls to set the Symbian cursor sprite. This code
has been removed since that code is now being called from within
dispatchEnterLeaveEvents().
In addition, there was code to check whether the up key event had
been left out by the platform. This was solved a bit differently now,
instead putting the code in the section that handles virtual mouse,
since that is where the problem occurs.
Task: QTBUG-4990
RevBy: Shane Kearns
AutoTest: N/A, Platform specific code that an autotest cannot catch.
Lots of manual testing was done on normal examples as well
drag'n'drop examples and it seemed to work fine.
|
|
|
|
|
|
|
|
|
|
|
| |
The context menu is launched by a separate event, not by the right mouse
button.
Generating the fake right mouse button caused side effects.
We now treat the touch screen as a one button mouse, long taps still open
the context menu using QContextMenuEvent.
Task-number: QTBUG-5180
Reviewed-by: axis
|
|\ |
|
| |
| |
| |
| |
| |
| | |
The word 'module' was missing.
Reviewed-By: TrustMe
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When Symbian pops up a menu or dialog, Qt should produce FocusOut
events using PopupFocusReason rather than deactivating the whole
window. This keeps input widgets from losing focus when FEP wants to
pop up dialogs.
AutoTest: QWidget passed
RevBy: Jason Barron
|
| |
| |
| |
| | |
RevBy: Trust me
|
|/
|
|
| |
RevBy: Trust me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Switched to use S60 API instead of Symbian one, the rationale is given
below as an copy/paste from S60 docs:
"Cross-application fading support
Symbian OS provides some support for fading, but this only covers
fading within an application. The S60 UI can have more than one
application on the screen at once (in fact, since the system parts
of the Status pane are inside EikServer, it always has more than one
application on the screen). The S60 UI introduced the fading and
drawing system to manage the fading state for the whole system.
Application and UI control code for S60 should not attempt to set fade
for a popup window directly. Instead, the popup window should implement
the MAknFadedComponent interface, and should use the TAknPopupFader
support class to set the fade.
The application UI base classes interact with the fading and drawing
system by informing it when the foreground status of the application
changes. They also use it to implement system wide fading."
There is also task QTBUG-5393 to implement fading support in future
without S60 dependency.
Task-number: QTBUG-5181
Reviewed-by: Sami Merila
|
|
|
|
|
|
|
|
|
| |
This was achieved by putting back the old trap handler after the S60
framework construction has finished.
Task: QTBUG-4960
AutoTest: Included and passed
RevBy: Shane Kearns
|
|
|
|
|
|
|
|
|
| |
Gives better performance in the raster paint engine.
For Symbian 9.3 onwards, this can also be used as the native pixmap
format. For 9.2, conversion is required.
Reviewed-by: Sami Merila
Reviewed-by: Jani Hautakangas
|
|\
| |
| |
| |
| |
| | |
Conflicts:
src/gui/kernel/qwidget_p.h
src/gui/kernel/qwidget_s60.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are really two bugs that are fixed in this commit:
- SetFocus() in Symbian does not automatically clear focus on the
previously focused control, so we have to remember that control and
clear it ourselves.
- Symbian assumes that it is always the control at the top of the
control stack that should have focus, and if this isn't the case,
focus may or may not work depending on whether Symbian has had a
chance to reset the focus or not. Therefore, whenever we change
focus on a control, we have to also readd that control to the top
of the stack, to ensure that it stays focused.
RevBy: Janne Anttila
|
|/
|
|
| |
This reverts commit 9345d47c3945b61a27724508e8b3d0aaf7b57bcf.
|
|
|
|
|
|
|
|
|
| |
The advanced pointer events are only available on Symbian^3 and higher
so we need to make sure these are protected by an #ifdef. We might have
to re-factor this later into a plugin in order to get this running on
older versions.
Reviewed-by: axis
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With this patch, the application developer can use his own
CEikApplication, CEikDocument and CEikAppUi classes with Qt, by
deriving from QS60MainApplication, QSMainDocument and QS60MainAppUi,
respectively. He can then register a factory function in the
QApplication constructor to have his own objects created during the
framework initialization.
This patch also fixes some Qt code style issues.
RevBy: Jason Barron
RevBy: mread
RevBy: Sami Merila
RevBy: Shane Kearns
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Since we only get one pointer event at a time, we need to keep a list of
all known touch points in QApplicationPrivate (otherwise the QTouchEvent
won't contain enough points). The QApplication machinery can handle
having inactive touch-points in the list, so at the moment we don't
clear the list.
We treat PointerNumber zero as the primary touch point, and only send
regular mouse events for that pointer, never for the others.
Reviewed-by: Jason Barron
|
|
|
|
| |
RevBy: Shane Kearns
|
|
|
|
|
|
|
|
|
| |
This is done to reduce heap consumption and to give
a possibility to share bitmaps across process. QPixmap
maps to Symbian CFbsBitmap which is stored in Symbian
font and bitmap server.
Reviewed-by: Jason Barron
|
|
|
|
|
|
|
| |
Added some missing #ifdef QT_NO_CURSOR, so the symbian port still
compiles if this feature is configured out.
Reviewed-by: Jason Barron
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewed-By: Jason Barron
Reviewed-By: Alessandro Portale
Summary:
QT_NO_CURSOR is now not defined for symbian builds
Existing QCursor APIs are all supported
New public API, QApplication::setNavigationMode, to allow the navigation
mode to be set. I.E. on an S60 3.2 phone, some applications will want a
virtual mouse cursor (web browser), while others are designed for keypad
navigation.
Symbian HAL is used for detecting input capabilities.
Fix DND, code cleanup & comment
QCursor visibility now uses a refcount, and is called from DND and the
setNavigationMode so they are both simpler and don't interfere with each
other.
QApplication::setNavigationMode
New public API for configuring cursor/keypad navi style.
This links in with ongoing work on the 4-way keypad navi branch, but
2-way and 4-way modes both act as 2-way mode until that is integrated
Some of the demos/examples have cursor switched on (those that were not
usable with keypad)
Virtual mouse support for non touch, non mouse phones (tested on N78)
add *.d and .metadata (carbide debug file / workspace dir) to .gitignore
System pointers are unavailable when using sprite workaround, so the
system cursor shapes are compiled into qtgui as resources.
MAC port does this also for shapes that aren't standard on the MAC.
Refactor Drag'n'Drop to use QCursor
Add test case to check all system cursor shapes
Simply a mainwindow containing a label widget for each cursor shape,
with the cursor property set appropriately
QCursor(QBitmap,QBitmap) supported
Fixed problem with the image & mask being inverted when using the
QCursor constructor that takes two mono bitmaps.
add .make.cache files to .gitignore
Correct implementation of QApplication::setOverrideCursor
QApplication::restoreOverrideCursor and QApplication::setOverrideCursor
are now working correctly on Symbian platform.
Performance will be slower compared with other platforms, because the
Symbian window server has a cursor associated with each native window.
Add test case for custom cursors
Create a pixmap cursor and associate it with a widget.
No changes to production code, since test passed 1st time ;)
Add manual test for QCursor
Make cursor independent of construction order
Updated to work around window server issue where contruction order
affects what cursor is displayed in child windows.
Also changed to effectiveWinId following review comments
Also fixed a problem which would make qcursor not link if configured
with QT_NO_CURSOR
Moved some multiply declared extern functions from cpp to _p.h files
Implemented Symbian versions of the cursor functions.
Merged in work I'd done based on tower.
Fill in bits of stub functions based on windows port
Removed QT_NO_CURSOR from list of config options forced on symbian
Recompiled configure.exe
Added stub functions for the missing functions in s60 port
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
| |
Reviewed-by: Trust Me
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This way we avoid having a lot of code in a static (and
unmaintainable) library. The s60main static library now currently has
only one task: to call main().
To move the initialization into QtGui also meant a change in how the
S60 framework is created, because we can no longer use the trick
where we create and start the the S60 event loop and then have the
framework call us back to start main(). The initialization now
follows the creation and destruction of QApplication, which is a lot
more in line with how other platforms do it.
Since S60 doesn't support creating the environment, and *then*
starting it (both are executed by the same call), we had to open up
the S60 framework construction classes and just mirror what they do.
This means that after QApplication construction is done, the S60
framework is initialized, but nothing will run yet and control will
return to main(), where the user can start the event loop himself.
One of the quirks of this approach is that the construction of the
S60 framework makes a new cleanup stack. This means that any active
traps will not be active anymore, and leaving without setting a new
trap will most likely panic. This shouldn't be a problem for us,
since Qt is never supposed to leave, but it means that if anyone uses
the cleanup stack without setting a new trap, they will receive a
panic.
It was considered to add a trap mark in QApplication construction and
then removing it on destruction, but it was dropped because leaving
from main() is still undefined (even if the old cleanup stack would
be restored in the destructor, we wouldn't be able to stop the
exception from unwinding the stack, and the cleanup stack would then
be unbalanced).
RevBy: Jason Barron
RevBy: Janne Anttila
AutoTest: QWidget passed with same failure count
|
|/
|
|
| |
Reviewed-by: Trust Me
|
|\ |
|
| |
| |
| |
| | |
RevBy: Trust me
|
|/
|
|
|
|
| |
In Symbian the context menu event is triggered after long press event is
detected. This is equivalent to right mouse click on desktop
environments.
|
|\
| |
| |
| |
| | |
Conflicts fixed:
src/corelib/io/qdiriterator.cpp
|
| |
| |
| |
| | |
RevBy: Trust me
|
| |
| |
| |
| | |
RevBy: Trust me
|
|/ |
|
| |
|
|
|
|
|
| |
Contains some smaller fixes and renaming of macros. Looks big,
but isn't scary at all ;)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is more a cleanup of the usage of Q_WS_S60 vs. Q_OS_SYMBIAN than
anything else. One of the side effects of this work was that it was
relatively little work to get QtGui compiling when Q_WS_S60 is not
defined.
Based on this we introduce two new configure options that control S60
integration. Currently the -no-s60 option will not work entirely
because the 's60main' module has not yet been refactored and still has
a dependancy on the S60 libraries.
Reviewed-by: axis <qt-info@nokia.com>
|
|
|
|
|
|
|
|
| |
Squashed commit of the branch haralds-haralds-qt-s60-topics/topic/exceptions,
which also contains the full history.
Rev-By: Harald Fernengel
Rev-By: Ralf Engels
|
|
|
|
|
|
|
|
| |
Few things here:
- Add support for EGray2 and EGray256
- Change the define to disable EColor16MAP for old SDKs
- Make the default case return Invalid instead of a fatal error
- Fix indentation, tabs -> spaces
|
| |
|
| |
|
|
|
|
|
|
| |
backing store with the ARGB32 format (which is slower to draw on), but
we actually want this in some cases so let's do this properly and move
the hacks somewhere else.
|
|
|