summaryrefslogtreecommitdiffstats
path: root/src/gui/styles/qs60style_s60.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Removed some new warnigs.Alessandro Portale2010-11-291-3/+2
|
* QS60Style: Color calculation should be optimizedSami Merila2010-11-091-4/+4
| | | | | | | Addendum to the previous fix. Remove trailing white space as well. Task-number: QTBUG-14860 Reviewed-by: Jani Hautakangas
* QS60Style: Color calculation should be optimizedSami Merila2010-11-091-0/+75
| | | | | | | | | | | | | | | | | | | | | | | | | Currently, QS60Style calculates some palette colors (tooltip base and button). Since native side does not have a color for these, but a nine-part theme graphic, the style tries to estimate the color of the bitmap by taking a small sample of the QPixmap and calculate the RGB colors of 32*32 pixels. This is rather slow, it takes around 110 msecs for each QApplication, when the application is started. Note that color is cached to member variable of style, but it is very rarely asked again (as the color is polished to all widgets/apps) and the cache is not shared across processes. As a fix, style now calculates the button color (tooltip color is no longer calculated, as no other QStyle does that, and tooltips do not anyway work in the Qt/Symbian) and stores the calculated value to Global QSettings together with active theme ID. Now, when a second Qt application is launched, the stored theme ID value is matched with currently active theme. If it matches, then the stored Button color is used. Otherwise, color is again calculated and stored. If theme is unchanged, the application launch is ~95msecs faster. Task-number: QTBUG-14860 Reviewed-by: Jani Hautakangas
* Support tactile feeedback from QS60Style for QWidgetsSami Merila2010-10-291-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently tactile feedback is not given for QWidgets running on Symbian even if the native side supports this (Sym^3 and 5th Edition devices). This task adds support for QWidgets having QS60Style. The tactile feedback has been implemented as a plugin that the style loads when instantiating itself for touch devices. NOTE that the feedback is NOT supported by the emulated style, nor is the plugin interface public, so it cannot be used outside of style. The implementation is simplistic, since we only want to provide stop-gap solution until 4.8 when real Qt feedback implementation is ready. The implementation will only give feedback for touch-down events for visible, interactive and enabled widgets. Sliders and scrollbars will use sensitive feedback (slightly less aggressive) and all others will use basic feedback. Note that Sym^3 adds tens of different feedback categories, which this plugin ignores as we want to share the same implementation for Sym^3 and 5th ed. In distributed Qt package there is no tactile feedback for 5th edition, due to package creation limitations. Support can be added manually by re-compiling Qt on top of 5th Edition SDK. Task-number: QT-4037 Reviewed-by: Jani Hautakangas Reviewed-by: Janne Koskinen
* Plug memory leak from QS60StyleSami Merila2010-09-031-0/+6
| | | | | | | | | Currently style leaks an animation object (QS60StyleAnimation) when style is destroyed. To avoid this, animation object array is deleted in the style's destructor. Task-number: QTBUG-13145 Reviewed-by: mread
* Fixed additional case differences between Gnupoc and Symbian^3.axis2010-07-301-3/+3
| | | | RevBy: Trust me
* Change the files to camelcase as avkon now does thatThomas Zander2010-06-251-7/+7
| | | | | | | In older avkon solutions all headers were lowercase in newer they are CamelCase... Reviewed-by: Axis
* Stylus menu for Share (QT app) is different from native S60 appsSami Merila2010-06-111-2/+8
| | | | | | | | | | | | | First part of corrections to make menu items more native like. This fixes: - In Sym^3 "separator items" are drawn automatically between items, using a simple line graphic with theme color and alpha values - highlight for menu item is positioned better - menu items themselves are better positioned - the corners of highlight are now more rounded for Sym^3 devices Task-number: QT-3295 Reviewed-by: Alessandro Portale
* Incorrectly named keys in QS60StyleEnums::SkinPartsSami Merila2010-06-111-30/+30
| | | | | | | | | | | Some of the internal part names of QS60Style do not match the real theme item names, making automated tool use to make "theme blob" for QCreator simulator manual work. Renamed the parts to match native side names. Task-number: QTBUG-11053 Reviewed-by: Alessandro Portale
* Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Olivier Goffart2010-05-171-2/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: demos/demos.pro mkspecs/features/resources.prf mkspecs/features/uic.prf src/corelib/io/qurl.cpp src/corelib/tools/qlocale_symbian.cpp src/gui/graphicsview/qgraphicsscene.cpp src/gui/graphicsview/qgraphicswidget_p.cpp src/gui/graphicsview/qgraphicswidget_p.h src/gui/util/qsystemtrayicon_win.cpp src/multimedia/audio/qaudioinput.cpp tests/auto/qhostinfo/qhostinfo.pro
| * QS60Style: QTreeView branch indicators are drawn incorrectly in RtoLSami Merila2010-05-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | QS60Style tries to rotate branch graphics around the x-axis, when it is running in RtoL UI direction. This makes the "L-shaped" branch indicators to point to too high at the item view item. Branch indicators should be mirrored across the x-axis to make them look fine. Task-number: QTBUG-9844 Reviewed-by: Alessandro Portale
| * QS60Style: Housekeeping taskSami Merila2010-05-071-2/+3
| | | | | | | | | | | | | | Fix whitespace, remove unneeded code, break very long lines to two rows. Reviewed-by: Alessandro Portale
* | Use lowercase includes so it compiles in Linux tooThomas Zander2010-05-031-7/+7
| |
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-04-211-2/+6
|\ \ | |/ | | | | | | | | | | Conflicts: src/openvg/qpaintengine_vg.cpp src/script/bridge/qscriptqobject_p.h tests/auto/bic/tst_bic.cpp
| * Context menu for application is differs from native S60 appsSami Merila2010-04-201-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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
| * 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
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-04-141-0/+21
|\ \ | |/ | | | | | | Conflicts: src/script/api/qscriptengine.cpp
| * QS60Style: Single Click UI support for SD 9.2 time-boxSami Merila2010-04-131-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | Final commit for this task. For widgets that use the highlighted list/table graphic, style now supports pressed state for the highlight. Style filters mouse press and release events and sets the highlight graphics to be correct based on mouse events (i.e. touch) it gets. Task-number: QT-2298 Reviewed-by: Alessandro Portale
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-03-291-13/+15
|\ \ | |/ | | | | | | | | | | Conflicts: mkspecs/common/symbian/symbian.conf qmake/generators/symbian/symmake.cpp src/3rdparty/webkit/WebCore/WebCore.pro
| * QS60Style cannot draw transparency to UI element border areasSami Merila2010-03-261-2/+0
| | | | | | | | | | | | | | | | | | | | Due to incorrect initialization of CFbsBitmap, graphic frames (9-part, or 3-part ones) are drawn with white non-transparent rect below them. Initialization corrected. Task-number: QT-3185 Reviewed-by: Janne Anttila
| * QMessageBox is smaller than native MessageBoxSami Merila2010-03-251-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Messageboxes are smaller than native ones. This is due to that native ones have a lot of empty space. To fix this, we define a new custom pixel metrics that is the minimum height of one text line messagebox (aka AknPopUp) on the native side. Then we ensure that the QMessageBox is at least of this height. Additionally we do some minor styling for QMessageBox: - the corners graphics are now as rounded as on native side - the font is set to match the native side - the top margin space is doubled for dialogs, which is rather good approximation of native side Task-number: QTBUG-4875 Reviewed-by: Janne Anttila
| * Compile fixAlessandro Portale2010-03-231-2/+2
| | | | | | | | | | | | | | Commit 47902b7587d66c0941bacf08b31b8caae264f09a was missing one enum rename in qs60style_s60.cpp Reviewed-by: TrustMe
| * QS60Style: HousekeepingSami Merila2010-03-221-2/+2
| | | | | | | | | | | | | | Remove unnecessary #include, remove unnecessary integer, correct spelling issues in comments and replace tabs with spaces. Reviewed-by: Alessandro Portale
| * Adding custom pixel metrics requires cleaning and rebuilding of QtGuiSami Merila2010-03-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This is due that the size of the pixel metrics table is stored in some object file and the file is not updated, even if we increase the table size integer. Removing direct calls from internal methods to member variable data[] removes the need to do whole rebuild when adding values. Relates to task #9247. Task-number: QTBUG-9247 Reviewed-by: Alessandro Portale
* | Merge branch 'linux-symbian-sbsv2-support' into 4.7-s60axis2010-03-231-1/+1
|\ \
| * | Corrected wrong header casing.axis2010-03-151-1/+1
| | |
* | | Merge branch '4.6-s60' into 4.7-s60axis2010-03-221-1/+1
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.exe mkspecs/common/symbian/symbian.conf src/gui/graphicsview/qgraphicswidget.h src/gui/kernel/qapplication.cpp src/gui/text/qtextlayout.cpp src/openvg/qpixmapdata_vg.cpp src/s60installs/s60installs.pro tools/runonphone/main.cpp tools/runonphone/serenum_unix.cpp qtextlayout.cpp fixed up together with Eskil. Kept the configure.exe from 4.7 without recompile.
| * | QS60Style assert fails to detect an index failureSami Merila2010-03-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QS60Style asserts that a given index is correct when setting theme colors. Unfortunately it uses less-and-equal-to operator ('<='), which is incorrect. It should use less-than ('<')operator, otherwise the assert fails when index is equal to number of items in the color table. Task-number: QT-3078 Reviewed-by: Alessandro Portale
* | | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-03-151-7/+7
|\ \ \ | |/ / | | / | |/ |/| Conflicts: src/gui/styles/qs60style_s60.cpp
| * Fixed filename cases to support building Qt for Symbian in LinuxMiikka Heikkinen2010-03-121-7/+7
| | | | | | | | | | | | | | Part of QtP delta reduction effort. Task-number: QT-3055 Reviewed-by: Janne Koskinen
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into master-s60axis2010-02-161-0/+2
|\ \ | |/ | | | | | | | | | | Conflicts: qmake/generators/symbian/symmake.cpp tests/auto/qlineedit/tst_qlineedit.cpp tests/benchmarks/benchmarks.pro
| * Build break fix for QS60Style.Sami Merila2010-02-151-1/+2
| | | | | | | | | | | | | | | | | | | | Very recent change for QS60Style breaks compilation of the style for 3.1. This is due to that style refers to a skin item ID that is not existing on 3.1 environment. Fixed by referring to the skin ID with its internal values. Task-number: QTBUG-8193 Reviewed-by: TrustMe
| * QS60Style draws drop area as a black rectSami Merila2010-02-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | When Drag-n-Dropping elements in itemviews QS60Style draws drop area as a black rect. Change this so that native graphics are used instead. This change only affects touch-devices as non-touch 3.x devices do not have the native graphics defined. In 3.x non-touch devices, style still uses QCommonStyle to draw the DropArea. Task-number: QTBUG-8193 Reviewed-by: Alessandro Portale
* | Merge remote branch 'qt/4.6' into qt-master-from-4.6Qt Continuous Integration System2010-02-011-2/+240
|\ \ | |/ | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qeventdispatcher_mac.mm src/gui/kernel/qt_cocoa_helpers_mac.mm src/gui/widgets/qmenu_mac.mm tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp tools/assistant/tools/assistant/centralwidget.cpp tools/linguist/lupdate/main.cpp
| * Polishing QS60Style by removing compiler warningSami Merila2010-01-271-1/+1
| | | | | | | | | | | | | | | | | | Removes one compiler warning caused by animation support additions (member variables are initialized in incorrect order in default constructor). Also, removing unnecessary struct variable and one unnecessary scope definition. Reviewed-by: Alessandro Portale
| * QListWidget itemActivated does not follow S60 conventionsSami Merila2010-01-251-0/+5
| | | | | | | | | | | | | | | | Set StyleHint SH_ItemView_ActivateItemOnSingleClick inactive for 3.x and 5th edition S60. Task-number: QTBUG-6182 Reviewed-by: Alessandro Portale
| * S60Style: Add support for animations to styleSami Merila2010-01-221-2/+235
| | | | | | | | | | | | | | | | | | | | Add support of theme animations to AVKON-based QS60Style. Currently only QProgressBar's have animations, but adding others with same kind of S60 theming (mainly note animations) would be really easy to do. Task-number: QTBUG-4050 Reviewed-by: Alessandro Portale
* | Merge commit 'oslo1/master' into oslo1-masterRohan McGovern2010-02-011-2/+2
|\ \ | |/ |/| | | | | | | | | | | Conflicts: doc/src/getting-started/installation.qdoc src/gui/dialogs/qfiledialog_win.cpp tools/assistant/tools/assistant/centralwidget.cpp tools/assistant/tools/assistant/helpviewer.cpp
| * Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Pulse Build System2010-01-221-2/+2
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of git@scm.dev.nokia.troll.no:qt/qt-s60-public: Fixed the host detection in qmake profiles. Improving parts of commit 2d8d855d. qmake: add Linux host support to Symbian generator Fixed indentation. Add Linux host support to Symbian mkspecs. Linux support for platform specific commands in .pro files. Add createpackage.bat equivalent for Unix systems. Make all Symbian #includes lower case. mkspecs: fix warning when calling qmake Fix portability problems in bin/createpackage.pl.
| | * Merge branch 'merge-request-1601' into master-s60axis2010-01-051-2/+2
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: bin/createpackage.pl mkspecs/features/symbian/application_icon.prf qmake/generators/symbian/symmake_abld.cpp src/gui/text/qfontdatabase_s60.cpp src/s60main/s60main.pro
| | | * Make all Symbian #includes lower case.Anderson Lizardo2009-10-231-2/+2
| | | | | | | | | | | | | | | | Signed-off-by: axis <qt-info@nokia.com>
* | | | Fix for symbian dialog background transparency.Jani Hautakangas2010-01-221-1/+0
|/ / / | | | | | | | | | | | | | | | | | | If Avkon components support transparency then dialog background is transparent enabling rounded corners. Reviewed-by: Sami Merila
* | | Merge remote branch 'mainline/4.6' into 4.6Oswald Buddenhagen2010-01-131-1/+1
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: tests/auto/linguist/lupdate/testlupdate.cpp
| * | | Update copyright year to 2010Jason McDonald2010-01-061-1/+1
| |/ / | | | | | | | | | Reviewed-by: Trust Me
* | | Do not set the font size unnecessarily in the simulated s60 style.Christian Kamm2010-01-111-1/+4
|/ / | | | | | | Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
* | Device flickers badly when orientation change occursSami Merila2009-12-231-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently what happens when orientation changes is: 1. Application gets notification that status pane size has changed. 2. Qt resizes S60Data to new size, and sends resize event. 3. Application redraws itself. But style is still using incorrect screen size internally, so background brush is incorrect. Redrawing thus might showup white rect on-screen. 4. Style gets notification that orientation is changed and style then deletes existing background brush. 5. Style creates a new background brush and sends events to all toplevel widgets that style has changed 6. Widgets might draw themselves with new style background brush. What this fix changes is: 1. When application first tries to redraw itself, style notices that the background brush size does not match to active screen size. 2. Style immediately re-creates background brush 3. Since cachekey for pixmaps won't match, new background is not drawn until after background brush has been updated to application palette. 4. Due to #1 style needs to remove deletion of background brush from clearCaches to avoid deleting (and re-creating) background twice. Task-number: QTBUG-6428 Reviewed-by: Janne Koskinen
* | QS60Style: Remove layouts with mirrored informationSami Merila2009-12-151-17/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently QS60Style stores pixel metrics values (96 of them for each layout) in a static lookup table. There is one "line" for each screensize, orientation and layout direction (ten in total). This fix removes the layout direction specific "lines" as there are only two pixel metrics values that differ depending on direction. We can handle those two inside QS60Style::pixelMetrics() and thus remove half of the rows, and thus gain 16*96*5 ~ 8kB of RAM. Task-number: QTBUG-6803 Reviewed-by: Alessandro Portale
* | QS60Style: Theme graphics for QSlider in 3.1Sami Merila2009-12-111-2/+6
| | | | | | | | | | | | These were missed from previous fix. Reviewed-by: Alessandro Portale
* | QS60Style: Groove changes caused build break of S60 3.1Sami Merila2009-12-111-7/+12
| | | | | | | | | | | | | | | | 3.1 does not have theme graphics IDs that we use in style, so it cannot be compiled in 3.1. As a fallback, 3.1 will use the previous method of drawing a slider. Reviewed-by: Alessandro Portale
* | QS60Style: Style does not support pressed state for slidersSami Merila2009-12-111-25/+29
| | | | | | | | | | | | | | | | Currently there is no visual clue that slider is "sunken" (pressed state). There is S60 theme graphic for it, so lets use it. Task-number: QTBUG-6722 Reviewed-by: Janne Koskinen