summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-05-051-0/+8
|\ | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: QS60Style: QCalendarWidget draws only one-digit dates Add spectrum analyzer demo app
| * Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into 4.6Sami Merila2010-05-051-1/+4
| |\
| * | QS60Style: QCalendarWidget draws only one-digit datesSami Merila2010-05-051-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to largish pixel metrics values for text margins, content does not fit into QCalendarWidget date-cells. To fix this, the failing pixel metric values are halved for QTableViews and its derivatives. This matches native margins almost perfectly (depending on native layout 1-2 pixel offset). Task-number: QTBUG-10417 Reviewed-by: Alessandro Portale
* | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-05-051-52/+82
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: WinCE: QMenuBar::triggered(QAction*) was emitted too often coding style changes in qmenu_wince.cpp
| * | WinCE: QMenuBar::triggered(QAction*) was emitted too oftenJoerg Bornemann2010-05-051-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling QMenuPrivate::activateAction instead of QAction::activate makes use of the internal recursion guard and fixes this problem. Also emitting QMenuBar::triggered in the command-in-menu-bar case will QAction::activate do for us. Task-number: QTBUG-10358 Reviewed-by: thartman
| * | coding style changes in qmenu_wince.cppJoerg Bornemann2010-05-051-48/+79
| |/
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-05-041-1/+4
|\ \ | |/ |/| | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Fix combobox backgroundrole not respected in some styles Allow QtDBus to be compiled as a static library on Windows.
| * Fix combobox backgroundrole not respected in some stylesJens Bache-Wiig2010-05-041-1/+4
| | | | | | | | | | | | | | | | | | The issue was a regression in 4.5 since we introduced styling. We now set the background role as the menuoption palette when available. Reviewed-by: ogoffart Task-number: QTBUG-10403
* | QS60Style: QTabWidget icon size property doesn't workSami Merila2010-05-041-2/+3
|/ | | | | | | | | | | QS60Style did check if the tab icon size was larger than pixel metric for default tab icon size. If it was, then it reset the icon size to match pixel metric. It was impossible to set large icon to tab widget. As a fix, this check was removed from style. Task-number: QTBUG-3102 Reviewed-by: Jason Barron
* QS60Style: QComboBoxPrivateScroller draws holes into menu canvasSami Merila2010-05-031-0/+2
| | | | | | | | | | | | | | QComboBoxPrivateScroller calls eraserects for menu scroller areas, expecting the style to fill the gaps. Unfortunately, the QS60Style does not draw menu scrollers at all (but they are functional when interacted with). Therefore, these areas are now drawn as holes. As a fix, the eraseRect call from provate class QComboBoxPrivateScroller is removed when "s60 flag" is defined. Task-number: QTBUG-10371 Reviewed-by: Janne Koskinen
* QS60Style: QTabWidget Usability issue with capacitive screensSami Merila2010-05-032-11/+94
| | | | | | | | | | | | | | | | | | Normally Qt uses scrollbuttons together at right (for LeftToRight UI) side of the horizontal QTabBar; for vertical tab bar, scrollbuttons are displayed below/above the widget. Using QTabBar's scroll buttons with touch device that has capacitive screen, is somewhat hard as the touch area for either of the scroll buttons is somewhat smallish. So user is experiencing frequent wrong taps. Making the touch area larger, would make the tabbar tab shape area smaller, so it isn't a very good solution. Therefore, when QS60Style is in use, QTabWidget draws the scrollbuttons on either side of the QTabBar. Task-number: QT-3104 Reviewed-by: Alessandro Portale
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-05-011-17/+40
|\ | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fix bold text rendering of Thai and Vietnamese on Symbian
| * Fix bold text rendering of Thai and Vietnamese on SymbianAlessandro Portale2010-04-301-17/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Symbian Qt font database made the wrong assumption that a font face name maps one to one to a font. That led to a mismaptch between actual font face variants (bold) versus the retrieved font tables. S60, usually comes with two 'Series 60 Sans' font files where one is semi bold. The rasterizer plugin merges both fonts to one and returns the semi bold font if a bold font is requested, otherwise it returns the normal font. Both font files have slight differences in the cmap. Qt's font implementation always retrieved the font tables for the normal font even if it drew the bold font. That led to wrong glyphs in some languages (Thai, Vietnamese), thanks to the cmap differences. This fix makes sure that when retrieving the font tables, bold and italic are considered. It avoids innecessary double allocations of MOpenFontTrueTypeExtension instances. Also the ChunkHeap size of m_heap does now depend on the number of loaded font files. Task-number: QTBUG-6812 Reviewed-by: Aleksandar Sasha Babic
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-04-302-9/+6
|\ \ | |/ |/| | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fixed a leak in QTextDocument::print(). Ensured that WA_InputMethodEnabled was set before FocusInEvent was sent.
| * Fixed a leak in QTextDocument::print().Trond Kjernåsen2010-04-291-6/+3
| | | | | | | | | | | | | | Also fixed a typo in the QScopedPointer docs. Task-number: QTBUG-10301 Reviewed-by: Kim
| * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-04-291-3/+3
| |\ | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Ensured that WA_InputMethodEnabled was set before FocusInEvent was sent.
| | * Ensured that WA_InputMethodEnabled was set before FocusInEvent was sent.Jan-Arve Sæther2010-04-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When focusInEvent is called we need to ensure that WA_InputMethodEnabled is set, since FocusInEvent might lead to that QInputContext::setFocusWidget is called (with the QGraphicsView as the widget parameter). However, if the widget still does not have WA_InputMethodEnabled set yet it will assert in QInputContext::setFocusWidget (it requires that the widget has the flag set). This was a problem for the morbit bridge, where Dui requires the attribute to be set (while Orbit actually does not require) Task-number: QTBUG-10276 Reviewed-by: jasplin Reviewed-by: Alexis Menard
* | | Removing unused code.Alessandro Portale2010-04-302-27/+2
| | | | | | | | | | | | | | | | | | | | | MOpenFontShapingExtension was not used. Cleaning up and reducing delta between branches Reviewed-by: Aleksandar Sasha Babic
* | | Support 'Text' mode in Symbian specific input methodsSami Merila2010-04-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default values for QCoeFepInputContext are set so that lower ('ab') and upper cases ('AB') are supported. Without any input method hints, input mode widgets cannot get into text mode ('Ab') at all. Changed the implementation so that default value is 'Text' like in native S60 devices. Task-number: QTBUG-10006 Reviewed-by: Janne Koskinen
* | | Map Symbian touch points to the screen's coordinate system.Jason Barron2010-04-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The 'iPosition' that we receive from the TAdvancedPointerEvent is relative to the origin of the window that received the event, not the screen so it needs to mapped to be correct. Reviewed-by: Bradley T. Hughes
* | | Fix long menu item texts causing crashMiikka Heikkinen2010-04-291-2/+6
|/ / | | | | | | | | | | | | | | | | Symbian uses buffer of CEikMenuPaneItem::SData::ENominalTextLength characters for menu item texts, so truncate any text that is longer than that. Task-number: QTBUG-10207 Reviewed-by: Janne Anttila
* | Renaming a few unexported, private symbolsAlessandro Portale2010-04-284-46/+46
| | | | | | | | | | | | | | | | That reduces the delta between 4.6/4.7 and a patch that I am pre- paring for Symbian^4. The renaming will help me a lot when main- taining font issues on 4.6 and 4.7 and different Symbian versions. Reviewed-by: trustme
* | Removed fullscreen responsiveness of softkeysMiikka Heikkinen2010-04-282-18/+0
|/ | | | | | | | | | | | | The CEikCba class casting is not binary compatible between at least S60 3.2 and 5.0 platforms, even though it is source compatible. The removed code was causing stack corruption on emulator when binaries were built on S60 3.2 SDK and run on S60 5.0 SDK. Another solution for this feature needs to be found. Task-number: QTBUG-10199 Reviewed-by: Shane Kearns Reviewed-by: Janne Anttila
* Fixed a QFontEngine leak for QFont objects used in threads.Trond Kjernåsen2010-04-271-3/+2
| | | | | | | | | Only the QFontCache object for the main thread was cleared when the the application exited, or a thread was destroyed. This caused font engine references to hang around and never get deleted. Task-number: QTBUG-3976 Reviewed-by: Brad
* QS60Style: Menu separators are not drawn, yet they take up screen spaceSami Merila2010-04-261-0/+6
| | | | | | | | | | | | Currently, QS60Style does not draw menu separators at all, yet they are calculated to take screen estate. Remove the screen reservation from them. See also QTBUG-10054 for details to add menu separator support to style. Task-number: QTBUG-10191 Reviewed-by: Alessandro Portale
* Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into 4.6Sami Merila2010-04-269-35/+467
|\
| * Fix for EGL for symbian on 3.1/3.2/5.0, define QT_NO_EGL.Liang Qi2010-04-234-2/+25
| | | | | | | | Reviewed-by: Jason Barron
| * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-04-235-20/+420
| |\ | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: stub implementations for EGL for symbian
| | * stub implementations for EGL for symbianShane Kearns2010-04-235-20/+420
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is done to keep binary compatibility between Qt built with openvg vs Qt built without openvg support. The problem is that Symbian uses .def files to map between exported symbol names and ordinals in the DLL export table. The alternative of manually maintaining two versions of the QtGui def files proved to be too error prone and time consuming. Note that the EGL exports are defined in a private header, for use by the openvg and opengl graphics system plugins. These plugins should always be compiled against Qt configured with support for the graphics system, as the headers contain default parameters which are inlined into the plugin binary. Task-number: QTBUG-7870 Reviewed-by: Tom Cooksey
| * | Fixed two problems with generated EPS files.Trond Kjernåsen2010-04-231-11/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. The Adobe EPSF 3.0 spec requires that the PS version of EPS files is PS-Adobe-3.0. 2. The %%BoundingBox operator is documented to use integers, we used to output floating point numbers when generating an EPS file. Task-number: QTBUG-10121, QTBUG-10140 Reviewed-by: Kim
| * | Fix regression: auto completion text cursor problem in Q3FileDialogOlivier Goffart2010-04-221-2/+8
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | This was another regression in QLineEdit introduced with the move to QLineControl setCursorPosition clear the selection, and setSelection move the cursor position. So the case where we want the position at the beginning of the selection need to be handled separately (by doing the selection reverse) This does not cover the case where the position is in the middle, or outside the selection, but it is not possible to do. Task-number: QTBUG-10019 Reviewed-by: jbache
* | QS60Style: QMenu behaves badly with a lot of menu itemsSami Merila2010-04-261-9/+16
|/ | | | | | | | | | | | | | | | | Due to recent change in QS60Style where combobox menu was changed to popup menu, instead of dropdown menu, long QMenus now work sloppily. This is due to that pixel metric PE_MenuScrollerHeight was set to zero to avoid "non-drawn" areas in combobox popups. Of course, QMenu scrolling really needs the scrolling area if it is to make any scrolling. As a solution, scroller height is now zero for combobox popup and in QMenu it is the height of itemview item (for "standard" content), but no any scroller indication is drawn. The menu scrolls automatically when bottom/top part of menu list is highlighted. Task-number: QTBUG-10073 Reviewed-by: Janne Koskinen
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-04-212-1/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: tst_QSystemSemaphore::processes fixed for WinCE tst_qsystemsemaphore: fix deployment of lackey.exe for WinCE tst_qsharedmemory: create multiple instances of lackey.exe on WinCE tst_qsharedmemory: fix deployment of lackey.exe for WinCE fix compilation of tst_sharedmemory on Windows CE examples/widgets/stylesheet fix mainwindow.ui QStyleSheetStyle: fix memory leak on base style change
| * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-04-212-1/+9
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: tst_QSystemSemaphore::processes fixed for WinCE tst_qsystemsemaphore: fix deployment of lackey.exe for WinCE tst_qsharedmemory: create multiple instances of lackey.exe on WinCE tst_qsharedmemory: fix deployment of lackey.exe for WinCE fix compilation of tst_sharedmemory on Windows CE examples/widgets/stylesheet fix mainwindow.ui QStyleSheetStyle: fix memory leak on base style change
| | * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-04-212-1/+9
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: tst_QSystemSemaphore::processes fixed for WinCE tst_qsystemsemaphore: fix deployment of lackey.exe for WinCE tst_qsharedmemory: create multiple instances of lackey.exe on WinCE tst_qsharedmemory: fix deployment of lackey.exe for WinCE fix compilation of tst_sharedmemory on Windows CE examples/widgets/stylesheet fix mainwindow.ui QStyleSheetStyle: fix memory leak on base style change
| | | * QStyleSheetStyle: fix memory leak on base style changeJoerg Bornemann2010-04-212-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On every change of the base style it is inserted into styleSheetCache. If the base style gets destroyed, it must be removed from the cache. Task-number: QTBUG-4074 Reviewed-by: ogoffart
* | | | Removed inneccessary QGlyphLayout::offsets initialization.Alessandro Portale2010-04-211-2/+2
| | | | | | | | | | | | | | | | Reviewed-by: lars
* | | | Fix mirrored characters for RTL text in SymbianAlessandro Portale2010-04-211-1/+3
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For RTL text rendering (Arabic, Hebrew), we need certain characters to be mirrored, such as brackets. This patch fixes QFontEngineS60::stringToCMap to use QChar::mirroredChar for RTL text. Task-number: QT-3299 Reviewed-by: lars
* | | Fix window transparency on Symbian.Jason Barron2010-04-211-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the create_sys() function where native handles are created, we were only looking at the "isOpaque" flag to determine if a window should be translucent or not. This is not the correct thing to do because transparency should only be granted if the application explicitly sets the Qt::WA_TranslucentBackground flag. The fix is to defer the transparency decision to s60UpdateIsOpaque() which does the right thing. Reviewed-by: Jani Hautakangas
* | | Tweak the 'normalGeometry' of the widget before setting it.Jason Barron2010-04-211-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a widget is initially shown as maximized or fullscreen then the normal geometry is calculated before the status pane has been created. When returning to the "Normal" window state the geometry needs to be tweaked to compensate the fact that there is a status present now. This should only happen if the application has not been given an explicit position. Reviewed-by: Janne Anttila
* | | Use QDesktopWidget as a status pane observer on Symbian.Jason Barron2010-04-213-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that the S60 screen furniture construction is delayed, we need to manually set the status pane observer to get notifications about changes in the size of the status pane. Using the AppUi would have been the obvious choice here, but sadly CAknAppUi (base class for QS60MainAppUi) uses private inheritance when implementing the MEikStatusPaneObserver interface. To work around this problem we make QSymbianControl implement the interface and use the instance of this class that is associated with QDesktopWidget to recevive the notifications and then call the function in the AppUi to maintain the same behavior. Reviewed-by: Janne Anttila Reviewed-by: mread
* | | Delay creation of S60 screen furniture.Jason Barron2010-04-214-9/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the S60 screen furniture (Status Pane and CBA) was being constructed when QApplication was constructed. This meant that if you never created a widget, you would still get those app panes which is not what we want. This patch avoids constructing these panes in QApplication, and manually creates them later when the first window is shown in a state where they would be needed. Reviewed-by: Janne Anttila Reviewed-by: mread
* | | Don't use setGeometry() in setWindowState() on Symbian.Jason Barron2010-04-211-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | setGeometry() has the side effect that it internally sets both the WA_Moved and WA_Resized attributes and these attributes should only be used when the application has explicitly set a size or position. When a widget is resized due to being maximized or fullscreened then we should resize the native window handle instead of calling setGeometry. Reviewed-by: Janne Anttila
* | | Modify setWindowState() on Symbian to create the native window earlier.Jason Barron2010-04-211-2/+3
|/ / | | | | | | | | | | | | | | The native window is used quite early in this function so as soon as we determine that this does in fact require a native window, we should create it immediately. Reviewed-by: Janne Anttila
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-04-202-2/+18
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: QS60Style: Style draws a focus frame to context menus and popups Context menu for application is differs from native S60 apps Fix RTL text rendering in the QVGPaintEngine QS60Style: Qt does not draw transparency correctly Small doc changes to Symbian capabilites part
| * QS60Style: Style draws a focus frame to context menus and popupsSami Merila2010-04-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently QS60Style draws a ficus frame around context menus and combobox popups. This should be removed, as these widgets have keypad navigable item highlight rect inside them AND the widgets cannot be navigated in/out from other widgets. Also, currently there is no room to draw the focus frame to left and right border, so the focus frame looks somewhat strange theme colored think line above and below popup/menu. Task-number: QTBUG-10064 Reviewed-by: Alessandro Portale
| * Context menu for application is differs from native S60 appsSami Merila2010-04-202-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | QMenu and QComboBoxListView differ somewhat from their native equivalents. First, the font is not correct. It uses a default font, when style should polish the widgets to use "AVKON primary" font. Second, the background graphic is not the same as on native side. Finally, and most importantly, menu items should be lot taller when using touch enabled S60 UI. Task-number: QT-3295 Reviewed-by: Janne Anttila
| * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-04-191-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fix RTL text rendering in the QVGPaintEngine QS60Style: Qt does not draw transparency correctly Small doc changes to Symbian capabilites part
| | * Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into 4.6Sami Merila2010-04-1625-32/+70
| | |\
| | * | QS60Style: Qt does not draw transparency correctlySami Merila2010-04-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is due to default mask depth in QS60Style. It is currently set as default EGray2 and then inquiried from S60SkinServer. For 3.1 devices, skinserver does not explicitly set the mask depth (even though default is 8bit mask), so no value is returned and default value is used. This leads to a situation where style uses 2bit masks for 9 or 3 part frame graphics. Corrected by changing the default value to 8bit mask (EGray256). Task-number: QTBUG-9927 Reviewed-by: Janne Anttila