summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
...
| | | | | * | Optimize getting bearings of a glyph on Windows for true type fontsEskil Abrahamsen Blomfeldt2010-03-176-11/+59
| | | | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Usually, the bearing of a glyph is calculated based on the bounding box of the glyph. However, retrieving these bounds is a costly operation on Windows. For true type fonts, we can retrieve the bearings directly by getting the ABC widths, so as an optimization we implement a new virtual function in QFontEngine which retrieves the bearings of the glyph. The default implementation uses boundingBox, but on Windows we try to take the shortcut. Reviewed-by: Simon Hausmann
| | | | | * Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.6Eskil Abrahamsen Blomfeldt2010-03-171-2/+2
| | | | | |\
| | | | | * | Optimize speed of QTextLayout and QPainter::drawTextEskil Abrahamsen Blomfeldt2010-03-171-40/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QFontEngine::boundingBox() is potentially an expensive function, because the font engines have to consult the underlying font system for the values and usually do not cache the results. To account for negative right bearing in the case of text layouts, we would call the boundingBox() function at every potential break point in the text, causing a great performance hit on text drawing. To minimize the impact of this, we only calculate the right bearing when we have to: 1. If subtracting the minimum right bearing from the width would cause the line to expand beyond its maximum line width, then we have to get the actual metrics of the last glyph to check if we need to break. 2. The line's final textWidth should include the negative right bearing, so unless it has already been calculated, we calculate it when the correct line width has been found. This gives us a potentially huge speed-up, since boundingBox() will in the common case only be called once for the last glyph in each text line. Task-number: QTBUG-9074 Reviewed-by: Simon Hausmann
* | | | | | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-03-194-7/+22
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Enable s60main.rsc infixing. Virtual Keyboard and double tap for Symbian support Whitespace
| * | | | | | Enable s60main.rsc infixing.Miikka Heikkinen2010-03-193-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now s60main.rsc file is also infixed, making infixed and vanilla builds indepenendent of each other. Task-number: QTBUG-9065 Reviewed-by: Shane Kearns
| * | | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into 4.6Sami Merila2010-03-192-4/+4
| |\ \ \ \ \ \ | | |/ / / / /
| * | | | | | Virtual Keyboard and double tap for Symbian supportSami Merila2010-03-191-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Sym^3 devices, we need to launch virtual keyboard with single tap of editing widget. This can be handled in the style by setting SH_RequestSoftwareInputPanel to RSIP_OnMouseClick with Sym^3 devices. For earlier devices, the stylehint remains as RSIP_OnMouseClickAndAlreadyFocused. Task-number: QT-3137 Reviewed-by: Janne Koskinen
* | | | | | | Improved qt_x11_wait_for_window_managerDenis Dzyubenko2010-03-191-28/+10
| |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We shouldn't really care about ReparentNotify when waiting for a window to be "managed" by the window manager. We only need to wait until the window is Mapped and Exposed for the first time, then we (most likely) can safely assume that the window manager has finished managing the window. Task-number: QTBUG-9097 Reviewed-by: Bradley T. Hughes (cherry picked from commit fb6cfbe48bc4f2148062d50d4df95616e06f9324)
* | | | | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-03-182-4/+4
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Don't assert in QScriptValue::call() Always redraw the complete control when an input event comes in.
| * | | | | Always redraw the complete control when an input event comes in.Robert Griebl2010-03-182-4/+4
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem here is that a pre-edit string won't be detected by updateDisplayText(), so the control thinks nothing has changed when a new pre-edit string is set. Reviewed-By: Simon Hausmann (cherry picked from commit 16f30906f6eea3e00351478555f153697a6e186d)
* | | | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-03-181-6/+8
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Initialize the graphics system before creating the style. Added support for video surfaces to Phonon MMF backend
| * | | | Initialize the graphics system before creating the style.Jason Barron2010-03-181-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously if the style was creating any pixmaps they were going to the createDefaultPixmapData() function which creates a default platform pixmap without considering the graphics system. If these pixmaps are used they may end up going through a suboptimal code path because they are not the same type of pixmap that is expected by the graphics system. The fix here is to intialize the graphics system before the style is created. Reviewed-by: Trond
* | | | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-03-181-1/+10
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: QToolTip may be placed incorrectly when using FullScreen mode - Mac OS X
| * | | | QToolTip may be placed incorrectly when using FullScreen mode - Mac OS XCarlos Manuel Duclos Vergara2010-03-181-1/+10
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When in full screen mode, there is no Dock nor Menu so we can use the whole screen for displaying the tooltip. However when not in full screen mode we need to save space for the dock, so we use availableGeometry instead. Task-number: QTBUG-8402 Reviewed-by: Prasanth
* | | | Fixed a bug where a proxy widget received FocusIn over and over.axis2010-03-183-1/+7
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also fixed the issue where an input panel would not be requested by the widget, because it thought it was being focused over and over, instead of focused, and then clicked (focus followed by click is default input panel popup behavior on Symbian). AutoTest: Included and passed RevBy: yoann RevBy: Jan-Arve
* | | Set PM_MenuScrollerHeight to zeroSami Merila2010-03-171-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously QS60Style didn't define a pixel metrics value for PM_MenuScrollerHeight at all and value was fetched from qcommonstyle. However, QS60Style didn't draw the CE_MenuScroller area at all, so menuscrollers were layoutted and drawn. Thus, long menus were left with a 'hole' in them. With this fix, PM_MenuScrollerHeight is zero. This is related to QT-2274. Task-number: QT-2274 Reviewed-by: Alessandro Portale
* | | Change QS60Style to use combobox popup menuSami Merila2010-03-174-4/+82
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using traditional dropdown menus, use popup menu, like native side does. Related to https://qtrequirements.europe.nokia.com/browse/QT-2274 Popup is positioned according to S60 popup position rules: - in portrait at the bottom, with square popup (dimension is screen width minus border) - in landscape, centered on Y-axis, on X-axis to the right border (with LeftToRight UI direction) Background behind popup is dimmed. Popup has automatic scrollbar if content does not fit into the popup. Popup background graphic is S60 dialog graphic. Task-number: QT-2274 Reviewed-by: Alessandro Portale
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-03-151-2/+2
|\ \ | |/ |/| | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Implement symbian^3 e32atomics API Fix runonphone target due to changed name of sis files Fix fromSymbian*() image conversion functions.
| * Fix fromSymbian*() image conversion functions.Jason Barron2010-03-151-2/+2
| | | | | | | | | | | | | | | | | | | | Do not explicitly create instances of QS60PixmapData in this function because it is possible that we are using another graphics system. The fromNativeType() function is virtual so the graphics system will create the right version of the pixmap data for us and ensure that we get into the right implementation. Reviewed-by: Aleksandar Sasha Babic
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-03-151-3/+3
|\ \ | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fixed cleartype text rendering on translucent surfaces.
| * | Fixed cleartype text rendering on translucent surfaces.Trond Kjernaasen2010-03-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | We were using gamma corrected 11 bit values instead of the 8 bit non- corrected values, which caused some strange rendering effects. Task-number: QTBUG-9036 Reviewed-by: Samuel
* | | Make QColorDialog usable on small screensHarald Fernengel2010-03-151-23/+46
| |/ |/| | | | | | | | | | | | | | | | | | | QColorDialog was always assuming that it got its minimal size requirements. On a lot of screens, this was not the case, so choosing a color in the QColorPicker was totally off. This patch handles the resize event correctly, so the QColorPicker will be usable on all possible screen sizes. This fixes Maemo's bug https://bugs.maemo.org/show_bug.cgi?id=9526 Reviewed-by: Robert Griebl
* | Fixed filename cases to support building Qt for Symbian in LinuxMiikka Heikkinen2010-03-1212-31/+31
| | | | | | | | | | | | | | Part of QtP delta reduction effort. Task-number: QT-3055 Reviewed-by: Janne Koskinen
* | Moved softkey "Options" action handling from QMainWindow to QMenuBar.Janne Anttila2010-03-124-34/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is done to enable QMenuBar usage and related "Options" softkey also on other than QMainWindow objects. For example with this change it is possible to create menubar and set it to QLayout by using setMenuBar, and it will then be usable via "Options" softkey. This functionality makes it easy to use different menus for different views in QStackedWidget. Task-number: QT-2275 (Not yet finished, but related) Reviewed-by: Sami Merila Reviewed-by: Alessandro Portale
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-03-122-2/+20
|\ \ | |/ |/| | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: HotFix for fluidlauncher default size caused by 6d44dadd. Removed compiler warning from qdesktopwidget_s60.cpp.
| * HotFix for fluidlauncher default size caused by 6d44dadd.Janne Anttila2010-03-121-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | It seems that in Symbian we cannot restore Qt::WA_Moved and Qt::WA_Resized attributes in setWindowState method to the same ones what the attributes were when method was called. Thus we currently make sure that Qt::WA_Moved and Qt::WA_Resized attributes are not touched when normal window state is applied. There is a new task QTBUG-8977 to sort out when those attributes should be set and when not. Reviewed-By: Sami Merila
| * Removed compiler warning from qdesktopwidget_s60.cpp.Janne Anttila2010-03-121-0/+1
| | | | | | | | Reviewed-By: TrustMe
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-03-111-3/+4
|\ \ | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fixed bug in QTransform::type() after using operator/ or operator*.
| * | Fixed bug in QTransform::type() after using operator/ or operator*.Samuel Rødal2010-03-111-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | The m_dirty variable is not a bit flag any more. This caused the switch in QTransform::type() to not match any of the transformation types, and m_type was left at TxNone. Task-number: QTBUG-8557 Reviewed-by: Gunnar Sletta
* | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-03-111-2/+4
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( 266a6c4f1938dd9edf4a8125faf91c62495e3ce2 ) Doc: Removed lie that access to QBuffer is unbuffered. Minisplitter doesn't paint to the bottom/right Avoid unnecessary memory allocation in the jpeg handler's image detection
| * | Minisplitter doesn't paint to the bottom/rightCarlos Manuel Duclos Vergara2010-03-111-2/+4
| |/ | | | | | | | | | | | | | | | | | | | | | | The problem is not related to the Splitter handle but related to an optimization in the paintengine. We were comparing if the size of the widget had changed before setting the new mask, which might not be correct. We could have changed the mask without changing the widget size. Task-number: QTCREATORBUG-753 Reviewed-by: Morten Reviewed-by: Samuel
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-03-104-5/+17
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fixed dialog resize not to move the dialog for Symbian. Fix SDP files are not supported. Fix build break caused by undefined symbol SetDialogPreference Renamed test benchmark targets. Added check for null pointer in qt_vg_unregister_pixmap. Add '.' dir as the first include directory in Symbian Enabled some examples by default in Symbian builds Added forwarding headers for qplatformdefs.h in Symbian mkspecs QUnixPrintWidget should not be declared in Symbian Fix sqlite3_v9.2.zip to export sqlite3.iby to correct location. Export qtdemoapps.iby to proper location Added some missing IBY export paths to platform_path.prf
| * Fixed dialog resize not to move the dialog for Symbian.Janne Anttila2010-03-103-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDialog::resize() also moved the dialog in Symbian. This occured since adjustPosition was called as an result of resize and that method did not check if dialog position was explicitly set. In addition it was found that in Symbian WA_Resized and WA_Moved attributes were basically set for almost all top-level widgets by system. This was also fixed and a new auto test was introduced to verify these attributes in all platforms. Windows platform also suffers from bug in this area, and a separate task QTBUG-5897 for it was created Task-number: QTBUG-5897 Reviewed-by: Sami Merila
| * QUnixPrintWidget should not be declared in SymbianMiikka Heikkinen2010-03-101-1/+1
| | | | | | | | | | | | | | | | | | Having QUnixPrintWidget declaration causes build breaks in some environments, so defined it out in Symbian. Part of QtP delta reduction effort. Reviewed-by: Janne Anttila
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-03-102-7/+19
|\ \ | |/ |/| | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: compile fix for plugins\sqldrivers\sqlite on WinCE 6 fix menu handling on Windows CE
| * fix menu handling on Windows CEJoerg Bornemann2010-03-102-7/+19
| | | | | | | | | | | | | | | | | | | | Don't recreate the menu handles on every rebuild. Now, we clear the menu before rebuilding. Also, we have to clear the menu before destroying the menu bar handle. Otherwise, DestroyWindow kills our menu handles. Task-number: QTBUG-8754 Reviewed-by: thartman
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-03-101-17/+8
|\ \ | |/ |/| | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fixed paint crash in Symbian for trasnclucent dialogs. Implemented QLibraryInfo::TranslationsPath for Symbian.
| * Fixed paint crash in Symbian for trasnclucent dialogs.Janne Anttila2010-03-101-17/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Symbian Qt::WA_TrasnclucentBackground is set for QDialogs. In QTBUG-8706 there is setVisible(false) call for widget before orientation is switched from portrait to landscape with SW APIs. This setVisible call invalidates/marks the widget area, basically whole portrait screen (0,0, 360, 640 in 5800XM) dirty. The orientation switch changes backingstore/windowsurface size to 640, 360, and invalidates that area. As an consequnce the widget dirty area after these two operations is 0, 0, 640, 640. Now when the widget is made visible again, the dirty region is larger than a screen and causes a crash when trying to access windowsurface bitmap data outside its bounds. Fixed the issue by using QPainter instead of own implementation. QPainter handles intersecting with image automatically. Another benefit of QPainter is that it uses platform specific drawHelpers if available to speed-up drawing. Task-number: QTBUG-8706 Reviewed-by: Jani Hautakangas
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-03-092-2/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Memory leak! Cursor would remain in a non-focused QLineEdit after clearing its selection
| * | Memory leak!Gabriel de Dietrich2010-03-091-1/+2
| | | | | | | | | | | | | | | | | | | | | Multiple insertions of the same (key, value) pair in a QMultiHash. Reviewed-by: Olivier Task-number: QTBUG-8862
| * | Cursor would remain in a non-focused QLineEdit after clearing its selectionGabriel de Dietrich2010-03-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | QLineEditPrivate::_q_selectionChanged() did not take into account whether the widget had focus. Reviewed-by: Olivier Task-number: QTBUG-8634
* | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-03-091-1/+37
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Get the printDialog to check for default paperSize via CUPS
| * | Get the printDialog to check for default paperSize via CUPSPierre Rossi2010-03-091-1/+37
| | | | | | | | | | | | | | | Task-number: QTBUG-6471 Reviewed-by: Trond
* | | QGraphicsSceneEvent: add Q_DISABLE_COPYOlivier Goffart2010-03-091-0/+10
|/ / | | | | | | | | | | | | | | | | | | | | Add Q_DISABLE_COPY to QGraphicsSceneEvent and all the sublasses The code would anyway not compile before as the QScopedPointer does not know QGraphicsSceneEventPrivate in use code. But now we have better error reporting. Reviewed-by: Thierry Task-number: QTBUG-8803 (related)
* | remove unneeded function pointer in qmenu_wince.cppJoerg Bornemann2010-03-081-1/+0
| | | | | | | | Reviewed-by: mauricek
* | Updated the QCursor docs regarding XOR'ed cursors.Trond Kjernåsen2010-03-081-1/+2
| | | | | | | | | | | | | | | | XOR'ed cursors under X11 or Mac OS X have never been supported by Qt, and the doc updates done some time ago where not correct. Task-number: related to QTBUG-1838 Reviewed-by: Gunnar
* | Fix undocked widgets not being restored correctly as part of the layoutThierry Bastian2010-03-081-7/+10
| | | | | | | | | | Task-number: QTBUG-7921 Reviewed-by: ogoffart
* | Prevent QRegion from crashing on large coordinates.Samuel Rødal2010-03-081-2/+2
| | | | | | | | | | | | | | | | Since we don't clip the x-coordinates that end up in the edge table of the QRegion rasterizer, we need to extend the coordinate range. Task-number: QTBUG-7699 Reviewed-by: Gunnar Sletta
* | QTableView: fix navigating with keyboard with spans not scrollingOlivier Goffart2010-03-081-1/+1
| | | | | | | | | | | | | | | | We cannot use isIndexHidden in ScrollTo because that would return true if the index is in a span. Task-number: QTBUG-8777 Reviewed-by: Markus Goetz
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-03-053-6/+19
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Fix build with Mesa 7.8's EGL implementatioon Reset the byte order in the iconv codec after using it. fix "using namespace" recursion crash Fixed key mappings on X11 QDom: prevent infinite loop when cloning a DTD QPrintPreviewDialog number of pages is partially blocked from view in OSX Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( f3110d2f94c825477afac054ed448e45d47f5670 )