summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Define own palette for web-based widgets in QS60StyleSami Merilä2009-11-161-1/+9
| | | | | | | | | | | | | It makes no sense to use the S60-theme based palette in web based widgets. Web pages do not generally show theme background, but their own (or by default white) which clashes badly with WindowText and Text that are set to work with theme background. Therefore, QWebView and QGraphicsWebView need to be set their own palette for texts in theme palette hash. This improves visibility of text in webkit when QS60Style is active. Task-number: QTBUG-4885 Reviewed-by: Janne Koskinen
* Remove fake right mouse button events from long tapShane Kearns2009-11-132-20/+1
| | | | | | | | | | | 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
* Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into ↵axis2009-11-133-9/+11
|\ | | | | | | 4.6-staging2
| * Fixed maximized dialogs losing maximized status on orientation switchMiikka Heikkinen2009-11-131-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | If maximized dialog had minimum size that didn't fully fit to the screen, it lost its maximized status when orientation was switched, because of the logic that assumed that if a window is resized, it must no longer be maximized. Skipped this assumption for cases where resize occurs because enforcement of the minimum size of the window. Task-number: QTBUG-4671 Reviewed-by: Janne Anttila Reviewed-by: Sami Merila
| * Highlighted text colour correction for s60styleJanne Koskinen2009-11-131-1/+1
| | | | | | | | | | | | | | | | Changed s60style HighlightedText to pickup the correct colour from S60 themes. Task-number: QTBUG-5709 Reviewed-by: Sami Merila
| * Fix MWC warningShane Kearns2009-11-121-1/+1
| | | | | | | | Reviewed-by: Trust Me
* | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.6Gunnar Sletta2009-11-1348-225/+415
|\ \
| * | Speed up QTextFormatCollection::indexForFormatJos van den Oever2009-11-132-21/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTextFormatCollection currently has two problems: - looking for the index of a QTextFormat is linear, this can take 25% cpu when loading large documents in kword - the hash function for QTextFormat is inadequate. Not all values are treated specially. E.g. each QBrush instance has the same hash value at the moment. These patches speed up loading of a large text document in KWord from 9 to 7 seconds. This fixes this by using QMultiHash to group the QTextFormat instances by hash and only loop through that list when looking up values. It also improves the hash function for QTextFormat. Merge-request: 1623 Reviewed-by: Olivier Goffart <ogoffart@trolltech.com>
| * | Merge commit upstream/4.6 into oslo-staging-2/4.6Olivier Goffart2009-11-1333-31/+58
| |\ \
| | * \ Merge oslo-staging-2/4.6 into upstream/4.6Olivier Goffart2009-11-1326-99/+131
| | |\ \
| * | | | Fixed: QCalendarWidget::showNextMonth() followed by a click on the ↵Olivier Goffart2009-11-131-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | navigation button causes it to go to the first possible month QCalendarWidget::setCurrentPage did not set the current index on the model. This is required in order to get QCalendarWidgetPrivate::getCurrentDate working. (and this is used by the calendar widget to navigate) This intentionaly do not check if the date is inside the minimumDate or maximumDate range. This was possible before, and the autotests tests that behaviour. Task-number: QTBUG-4058 Reviewed-by: Prasanth Ullattil
| * | | | Fixes QGraphicsWidget: paint() being called before polish().Bjørn Erik Nilsen2009-11-131-0/+8
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem is that we request an update() before we schedules a polish event in QGraphicsScene::addItems, which means paint() is being called before polishEvent(). We could try to swap the order in addItems, but that doesn't give us any guarantee that polish is delivered before update (since we have no control over what's happening from outside graphics view). A better solution is to always make sure we don't have unpolished items before we draw. Auto-test included. Task-number: QTBUG-4979 Reviewed-by: Andreas
| * | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into ↵axis2009-11-122-17/+21
| |\ \ \ | | | | | | | | | | | | | | | 4.6-staging2
| | * | | Made the select button commit the T9 word rather than exit widget.axis2009-11-121-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | Task: QTBUG-5661 RevBy: Janne Koskinen
| | * | | Removed unused variable.axis2009-11-122-9/+1
| | | | | | | | | | | | | | | | | | | | RevBy: Trust me
| * | | | QTreeWidget visualRect now returns the rect for all columnsThierry Bastian2009-11-121-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The autotest will follow Task-number: QTBUG-2844 Reviewed-by: ogoffart
| * | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into ↵axis2009-11-1214-70/+148
| |\ \ \ \ | | |/ / / | | | | | | | | | | 4.6-staging2
| | * | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into 4.6Sami Merilä2009-11-122-3/+28
| | |\ \ \
| | | * \ \ Merge branch 'focusOutBug' into 4.6axis2009-11-122-3/+28
| | | |\ \ \
| | | | * | | Fixed a focusing bug on Symbian.axis2009-11-122-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | | * | | Fixed some initializers and saved some memory.axis2009-11-112-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | RevBy: Trust me
| | * | | | | Tab shapes have the wrong size and distance between them on SymbianSami Merilä2009-11-121-1/+4
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With certain themes it is really apparent that the tabshape rect and position deduction in QS60Style has some issues. See for example 5800Xm's default theme. TabShapes have huge spaces between them. Problem is that the initializer in style for tab shape assumes that the side parts of the frame are squares and will use 1:1 ratio (width:height) when upscaling the theme graphic draw area. This leads to that tabshape graphics will not fill in the whole area reserved for them. When initial area has ratio of 1:2 (for horizontal tab shape), upscaling pruduces correct rect and graphic is drawn correctly. Task-number: QTBUG-5659 Reviewed-by: Alessandro Portale
| | * | | | Fix to symbian transparent window backing store format.Jani Hautakangas2009-11-112-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Symbian semi-transparent window surface needs backing store pixmap in argb32 format. Normally QPixmap contains only rgb32 or argb32_pre pixels. This fix locks semi-transparent window backing store pixmap to argb32 format. Reviewed-by: Shane Kearns
| | * | | | Fix for assertion failure in in QWidget::grabMouse for Symbian.Janne Anttila2009-11-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Docs say: "Note that only visible widgets can grab mouse input. If isVisible() returns false for a widget, that widget cannot call grabMouse()." qwidget_x11.cpp uses the similar condition in grabMouse as symbian after this commit. Task-number: QTBUG-5658 Reviewed-by: Jason Barron
| | * | | | Revert "Using qreal more consistently in code (prevent misuse of double)"Aleksandar Sasha Babic2009-11-1144-580/+538
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 676780d515cedca85829ae962e4f501c5e5b6581. Conflicts: src/gui/painting/qblendfunctions.cpp
| | * | | | Revert "Check that we're not using double where qreal should be used"Aleksandar Sasha Babic2009-11-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d9a275b3cc4a248da1f392fb5649b9fe7a93b12c.
| | * | | | Fix for qmessagebox default softkey visibility + some tab/space fixes.Janne Anttila2009-11-111-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Default actions get added after the QDialogButtonBox::event receives show event. That's why 'ok' softkey action will not get added to the widget. Changed implementation so that softkey actions are added to widget when they are created. This implementation is also more safe in a sence that if actions are changed when message box is visible, the softkeys will be updated. Task-number: QTBUG-5644 Task-number: QT-2211 Reviewed-by: Sami Merila
| | * | | | Fix for qmessagebox softkey dimming in Symbian.Janne Anttila2009-11-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMessageBox softkeys gets dimmed by TAknPopupFader since we currently have one global softkey instance. Task-number: QTBUG-5691 Reviewed-by: Jason Barron
| | * | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6-s60axis2009-11-112-1/+35
| | |\ \ \ \
| | * | | | | Add edit menu support for phones with a 'pencil' key.Jason Barron2009-11-113-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The native FEP handles the 'pencil' key on some platforms by opening an edit menu on the screen that contains things like 'Insert Symbol' and 'Writing Language' for text input widgets. This was previously not working in the Qt input method implementation because in order for the FEP system to open the menu, it must be able to access the menu bar (CBA). This is done my using the object provider mechanism (MOP) and an implementation of the MopNext() function was missing. Adding this and also setting the AppUi as the MOP parent for top level widgets allowed the FEP framework to find it's way to the menubar and thus open a menu. Task-number: QTBUG-5606 Reviewed-by: axis <qt-info@nokia.com> Reviewed-by: mread <qt-info@nokia.com>
| | * | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Shane Kearns2009-11-1010-177/+256
| | |\ \ \ \ \
| | * | | | | | Qt covers BC break in SymbianAlessandro Portale2009-11-101-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Workaround: fntstore.h has an inlined function 'COpenFont* CBitmapFont::OpenFont()' that returns a private data member. The header will change between minor SDK versions, thus break BC. But Qt has to build on any SDK version and run on other versions of Symbian OS. Also Qt does not want to deliver that BC to Qt based apps. This hack performs the needed pointer arithmetic to get the right COpenFont* pointer, no matter if the 'Flexible Memory Model' is already supported or not. The author is not proud of this commit. Task-number: QT-2250 Reviewed-by: Iain Reviewed-by: Shane Kearns modified: src/gui/text/qfontdatabase_s60.cpp
| | * | | | | | Merge branch 'cask-merge-request' into 4.6axis2009-11-103-3/+16
| | |\ \ \ \ \ \
| | | * | | | | | Fixed indentation.axis2009-11-101-6/+6
| | | | | | | | |
| | | * | | | | | Long-press shortcuts for symbols on QWERTY keyboard don't workJouni Hiltunen2009-11-103-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt key event was not handled properly in the case of long key press. With long key press, QCoeFepInputContext::commitCurrentString gets called 3 times("q", "", "1"). (Normal key press is causing one call). This is how aknfep works, so commitCurrentString was modified to replace first character if long key press event detected. E.g. "q" is replaced with "1". qlinecontrol modified to keep cursor position correct. Signed-off-by: axis <qt-info@nokia.com>
| | * | | | | | | QS60Style palette is not updated after orientation switchSami Merilä2009-11-101-1/+1
| | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to bad first fix for QT-1478, palette is still not updated correctly. Changed palette needs to be set back to QApplication. Task-number: QT-1478 Reviewed-by: Alessandro Portale
| | * | | | | | Removed unused public Api from QS60StyleAlessandro Portale2009-11-105-83/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QS60Style::setStyleProperty() and QS60Style::styleProperty() were intended as generic property setter/getters, but are not needed anymore. Reviewed-by: Sami Merila modified: src/gui/styles/qs60style.cpp modified: src/gui/styles/qs60style.h modified: src/gui/styles/qs60style_p.h modified: src/gui/styles/qs60style_s60.cpp modified: src/gui/styles/qs60style_simulated.cpp modified: src/s60installs/eabi/QtGuiu.def
| | * | | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Shane Kearns2009-11-1060-166/+398
| | |\ \ \ \ \ \ | | | |_|_|/ / / | | |/| | | | |
| | * | | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into 4.6Sami Merilä2009-11-092-2/+10
| | |\ \ \ \ \ \
| | | * | | | | | Prevented compiler warning.axis2009-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RevBy: Trust me
| | | * | | | | | Made it possible to bring up the FEP symbols menu using star key.axis2009-11-091-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task: QT-1141 RevBy: mread
| | * | | | | | | Focus changes cause softkey area to flickerSami Merilä2009-11-091-4/+8
| | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current implementation of softkeys causes flicker, since it re-draws the softkeys for each event handled. First re-draw initializes the softkeys to empty ones, and second one draws the new updated softkeys onscreen. Due to initialization to empty softkey command set, AVKON cannot deduce if the needed redraw is necessary (AVKON does not redraw softkeys if the softkey commands and/or texts won't change). The fixed behaviour is that softkeys are set to -1 for each command when initializing, but no call to SetCommandSetL is done. Now, AVKON won't even try to draw the softkeys until we set the real command set later. Task-number: QTBUG-5436 Reviewed-by: Janne Anttila
| | * | | | | | Check that we're not using double where qreal should be usedSami Merilä2009-11-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added two missing qreal conversion from QS60Style. Task-number: QTBUG-4894 Reviewed-by: Aleksandar Babic
| | * | | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6-s60axis2009-11-0977-837/+2097
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/qblendfunctions.cpp
| | * | | | | | | Simplify NavigationModeKeypad casesAlessandro Portale2009-11-061-33/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Basically, QFileDialog on Desktop performs heavy event handling tweaks on the lineedit and listview to make them ultra keyboard friendly. We added many "anti"-hacks for Keypadnavigation to restore the native behavior of the widgets. The result is pure unmaintainability. (I admit that most of these "anti"-hacks were my fault, since I participated in some and reviewed all of them) This commit has results in the same native behavior for Keypad navigation but without having the #ifdefs inside the event handling switches. Only one of these switch-#ifdefs was there before and still is. embeddedlinux and wince should still be fine and without unintended behavioural changes compared to Qt 4.5, since the Qt::NavigationModeKeypadTabOrder case stays unchanged. Reviewed-by: axis Reviewed-by: Sami Merila modified: src/gui/dialogs/qfiledialog.cpp
| | * | | | | | | Using qreal more consistently in code (prevent misuse of double)Aleksandar Sasha Babic2009-11-0644-534/+584
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to force use of qreal where possible. This can lead to better performance on platforms where qreal -> float (i.e. ARM). To achieve this we: 1. changed from 'double' to 'qreal', where justified 2. using qreal() to intialize constants, where justified 3. adding helper functions that are overloaded for qreal like qAtan2(), qAcos(), qFabs() ... 4. defining QT_USE_MATH_H_FLOATS for Symbian platform In addtion we used opportunity to improve code with some small things 5. converting divisions to multiplications (i.e. '/ 2.0' -> '* qreal(0.5)') 6. defining new constants (i.e. 'Q_PI / 180.0' -> 'Q_PI180') 7. declaring variables as 'const', where justified Reviewed-by: Andreas Aardal Hanssen Reviewed-by: Gunnar Sletta Reviewed-by: Jan-Arve Reviewed-by: Kim Motoyoshi Kalland Reviewed-by: Alessandro Portale Reviewed-by: Janne Koskinen
| | * | | | | | | Binary compatibility of Symbian ARMv5 and ARMv6 buildsShane Kearns2009-11-061-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use ARMv6 atomics where available Use OS atomics otherwise Integrate ARMV6 atomics to Symbian builds Use compiler defined macros to detect if ARMv6 instructions are available This defines the QT_HAVE_ARMV6 macro, replacing the way it was defined by the Symbian build system previously in qpainting.pri. qatomic_symbian now uses qatomic_arm or qatomic_armv6 automatically Port armv6 atomics to implement generic atomics interface The inline atomics are not inlined when we build for thumb using RVCT. So there is no performance improvement of using the "inline" versions vs a shared version called through a function call. The generic atomics interface is good for binary compatibility, as the same symbols are exported in all versions now. Changed the fallback generic atomics implementation from the unix one to a symbian specific one using RFastLock (identical code to the windows generic atomics, except for RFastLock replaces Win32 CRITICAL_SECTION) Note: GCCE atomics still need porting Tell git to ignore .lst listing files (produced by sbs/abld listing) ARMv6 support for GCCE compiler and fallback implementation using OS When building corelib with GCCE and -march=armv6, QT_HAVE_ARMV6 will be defined. This patch adds copies of the asm functions in GCC syntax. When building for the Symbian emulator, or ARMv5, then Symbian OS atomic functions are used as a fallback - these are more efficient than the unix atomics, and don't require data import (which the ARMv5 atomics use, but the OS loader doesn't support fully) Symbian OS functions are always used for QBasicAtomicInt::ref / deref, because these are faster than the generic function in all cases. They are machine coded for ARMv6, and are used internally by RFastLock. Reviewed-By: axis Reviewed-By: Brad
| * | | | | | | | QLabel: Fixed text underlined when te label has a control and the text ↵Olivier Goffart2009-11-122-17/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | contains & We need to search for '&' in the text each time the QTextControl's document is updated. Also make sure not to match && Task-number: QTBUG-4154 Reviewed-by: Thierry
| * | | | | | | | Fixa regression that could make a dockwidget disappear if unfloatableThierry Bastian2009-11-121-0/+3
| | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-5740 Reviewed-by: ogoffart
| * | | | | | | Merge commit 'widget/4.6' into oslo-staging-2/4.6Olivier Goffart2009-11-1126-99/+131
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/qbrush.cpp