summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Use maximum ascent/descent/leading from fallback fonts in shapingJiang Jiang2011-04-276-8/+20
| | | | | | | | | | | | | | | When shaping a QScriptItem with a multi font engine, currently we only take the ascent/descent/leading from the primary (first) font engine in that multi font engine, however, subsequent engines used during shaping may have larger ascent/descent/leading, disregarding them may cause clipping issues in some cases. It's fixed by checking each font engine used in the shaping process and take the maximum value instead of the first one. On ATSUI we merely make it compile. Task-number: QTBUG-16719 Reviewed-by: Eskil
* Another ugly hack to make bidi cursor work with Core TextJiang Jiang2011-04-271-3/+24
| | | | | | | | | | | If the text is wrapped with LRE/LRO/RLE/RLO override/embed marks, Core Text in Mac OS X 10.5 doesn't produce an empty glyph at the beginning of the glyphs (while it does in Mac OS X 10.6), thus we need to prepend an empty glyph here, otherwise cursor position calculation will consider the first two characters as a ligature of the same glyph. Reviewed-by: Eskil
* Make sure layoutData exist before checking for string directionJiang Jiang2011-04-271-0/+2
| | | | | | Otherwise accessing that through QTextEngine::alignLine may cause crash. Reviewed-by: Samuel Rødal
* Removed warning from QPixmap::handle().Samuel Rødal2011-04-261-6/+2
| | | | | | | With the new fromX11Pixmap function there are valid use-cases where checking the handle() is useful also with the raster graphicssystem. Reviewed-by: Thiago Macieira
* Take leading space width into account for painting and selectionJiang Jiang2011-04-262-1/+4
| | | | | | | | | When painting horizontally centered RTL text and selection with trailing spaces, we need to take that space width into account because line.textAdvance doesn't include it. Task-number: QTBUG-18612 Reviewed-by: Eskil
* doc: Simplify language in QGlyphs docsEskil Abrahamsen Blomfeldt2011-04-221-2/+2
| | | | | | Mainly to trigger CI. Reviewed-by: TrustMe
* doc: Minor cleanup in QGlyphs docsEskil Abrahamsen Blomfeldt2011-04-211-1/+1
| | | | | | | Just a minor clean-up in the QGlyphs docs. Mainly to try to trigger CI. Reviewed-by: TrustMe
* Remove extra comma at the end of enum listJiang Jiang2011-04-201-1/+1
| | | | | | It fails compilerwarnings test. Reviewed-by: TrustMe
* Don't transform glyph positions for Core Graphics paint engineJiang Jiang2011-04-191-2/+3
| | | | | | | Since it already transformed text positions based on transform matrix on QPainter. Reviewed-by: Eskil
* Turn on HarfBuzz support for Mac/CocoaJiang Jiang2011-04-192-1/+36
| | | | | | | | | | | | | | | | | | | | It's possible to enable HarfBuzz text layout on Mac by either: - Set QT_ENABLE_HARFBUZZ environment variable when running a Qt app. - configure with -harfbuzz to build Qt, then HarfBuzz support will be turned on by default. HarfBuzz will only be used when the font explicitly requested is supported by HarfBuzz (aka. TrueType/OpenType font), other fonts (AAT fonts) will still be handled by Core Text. Using HarfBuzz for text layout will hopefully solve most tricky complex text shaping bugs on Mac. Task-number: QTBUG-17728 Reviewed-by: Eskil
* Support visual cursor movement for BIDI textJiang Jiang2011-04-1914-272/+627
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bidi input can in some contexts be more intuitive if the cursor works in visual way: pressing left arrow key always make cursor move one character to the left regardless the language of text, pressing right arrow key always make cursor move to the right. It is also the behavior of Mac OS X. Based on the above reason and requests from Symbian we implemented this support for visual movement in BIDI text. 3 public properties are added to QTextDocument, QTextLayout and QLineEdit respectively: - QTextDocument::defaultCursorMoveStyle can be used to control the cursor behavior in all widgets based on QTextDocument, like QTextEdit, QPlainTextEdit, etc. When set to QTextCursor:: Visual, it will enable visual movement for all the cursors in the corresponding text edit. Default is QTextCursor::Logical. - QTextLayout::cursorMoveStyle is used for low-level cursor manipulation. When set to Visual, it will enable visual movement behavior for all the cursor related methods, including cursorToX, xToCursor and drawCursor. Default is Logical. - QLineEdit::cursorMoveStyle is used to control cursor movement behavior in QLineEdit. Default is Logical.: Task-number: QTBUG-13859 Reviewed-by: Eskil
* Revert "Switch the default graphics system to raster on Mac."Fabien Freling2011-04-181-1/+1
| | | | | | | This reverts commit a5d40fd3814ab7c8e865912c03a918bfd5994998. We have to fix the regressions due to the raster engine before putting it by default.
* Long live QRawFont!Eskil Abrahamsen Blomfeldt2011-04-1535-382/+2666
| | | | | | | | | | | | | | The QGlyphs API was initially attempted with a bastardization of QFont which was meant to encapsulate a single, physical font instance (a QFontEngine) where a set of glyph indexes would make sense. This is not how QFont was intended to be used, and it caused several issues. At the same time, the requirement for loading a font from ttf/otf data and be able to access it and use it without polluting the rest of the process with the font arose. To support these two APIs we introduce QRawFont, which is an abstraction on top of a single physical font. Done-with: Jiang Jiang
* Another attempt at fixing the MSVC2005 build.Samuel Rødal2011-04-151-1/+6
| | | | | | | Apparently direct casting is illegal there too, even though they don't have the cast operators. Reviewed-by: Kim
* Compile fix in qdrawhelper_sse2.cpp for MSVC 2005.Samuel Rødal2011-04-141-0/+5
|
* Compile fix in qdrawhelper_sse2.cpp.Samuel Rødal2011-04-141-1/+1
|
* Added support for six-parameter radial gradients.Samuel Rødal2011-04-1311-73/+343
| | | | | | | | The extended radial gradients conform to the radial gradient specification in HTML 5 canvas. Task-number: QTBUG-14075 Reviewed-by: Andreas Kling
* Improved gradient table generation performance for two-stop gradients.Samuel Rødal2011-04-135-72/+222
| | | | | | | | Two stops is a fairly common case so we gain quite a bit by special casing it. Improves performance by 10 % in parcycle benchmark, and by 90 % in a synthetic benchmark. Reviewed-by: Andreas Kling
* Optimized radial gradient fetch using SSE 2.Samuel Rødal2011-04-133-0/+98
| | | | | | | On an i7 this improves performance by 22 % in parcycle, 107 % in default svgviewer example, and 283 % in a synthetic radial gradient benchmark. Reviewed-by: Andreas Kling
* Improved qt_gradient_clamp for reflect spreads.Samuel Rødal2011-04-131-5/+2
| | | | | | | Using GRADIENT_STOPTABLE_SIZE * 2 as the modulo gives more correct behaviour, and also improves performance slightly. Reviewed-by: Benjamin Poulain
* Prepared for SIMD implementation of radial gradients.Samuel Rødal2011-04-132-177/+174
| | | | | | | Made the radial gradient fetch func into a template to be able to optimize the inner loop using SIMD instructions. Reviewed-by: Benjamin Poulain
* Fix a race condition when the main window is being destructed.Fabien Freling2011-04-122-1/+3
| | | | | | | | During the destructor of QWidget, we delete the layout. If the layout is not set to 0 afterwards, a check on the layout might turn true, but any access will end with a segfault. Reviewed-by: João Abecasis
* Switch the default graphics system to raster on Mac.Fabien Freling2011-04-111-1/+1
| | | | Reviewed-by: Lars Knoll
* Merge branch 'qt-master-from-4.7' of ↵Qt Continuous Integration System2011-04-092-12/+26
|\ | | | | | | | | | | | | | | | | | | | | scm.dev.nokia.troll.no:qt/qt-integration into master-integration * 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration: [QTBUG-15278] QWidget::windowState gets out of sync (Aero Snap) HTTP cacheing: do not store the date header with the resource Let's not write to the source buffer when blending argb32 on rgb16. make -markuntranslated work without -idbased fix conditional on shell type
| * Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2011-04-092-12/+26
| |\
| | * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-04-091-9/+25
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: [QTBUG-15278] QWidget::windowState gets out of sync (Aero Snap) HTTP cacheing: do not store the date header with the resource
| | | * [QTBUG-15278] QWidget::windowState gets out of sync (Aero Snap)Arnold Konrad2011-04-081-9/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows 7 sends WM_SIZE messages without preceding WM_SYSCOMMAND when a window is maximized or restored via Aero Snap. These messages are now handled correctly. Merge-request: 1105 Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
| | * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2011-04-081-3/+1
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Let's not write to the source buffer when blending argb32 on rgb16.
| | | * | Let's not write to the source buffer when blending argb32 on rgb16.Samuel Rødal2011-04-081-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though we're writing the same values back, we might get a segfault when the source is in read-only memory. Reviewed-by: Kim
* | | | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-qa-staging into ↵Qt Continuous Integration System2011-04-092-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-qa-staging: Fix typos in QSharedPointer documentation. Remove test for compiler correctness Refactor qpointer dereference tests Prefer QCOMPARE to QVERIFY for comparisons. Improve coverage of qpointer autotest Add comments, eliminate duplication in qpointer autotest. Remove redundant includes and functions from qpointer autotest. Fix tst_XmlPatterns::xquerySupport() autotest Update copyright year to 2011. BM2: Little fix to make the `make check-trusted' to work on Linux and Windows.
| * \ \ \ \ Merge remote branch 'qa-review/master' into qa-staging-masterRohan McGovern2011-04-072-2/+2
| |\ \ \ \ \
| | * \ \ \ \ Merge qt/qt.git master into qa-team-masterRohan McGovern2011-03-24239-2800/+9572
| | |\ \ \ \ \
| | * | | | | | Update copyright year to 2011.Jason McDonald2011-01-101203-1204/+1204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: Trust Me
* | | | | | | | Merge branch 'qt-master-from-4.7' of ↵Qt Continuous Integration System2011-04-082-15/+34
|\ \ \ \ \ \ \ \ | | |_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scm.dev.nokia.troll.no:qt/qt-integration into master-integration * 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration: Cocoa: p1 bug fix: fix auto test regressions Ensure shared network session deleted from correct thread Revert "Remove SIGBUS emission from QNetworkSession destruction." Image w/ PreserveAspectFit has its width changed once more than needed. Cocoa: p1 bug fix: revert use of subWindowStacking
| * | | | | | | Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2011-04-082-15/+34
| |\ \ \ \ \ \ \ | | |/ / / / / / | |/| | | / / / | | | |_|/ / / | | |/| | | |
| | * | | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-water-staging into ↵Qt Continuous Integration System2011-04-082-15/+34
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-water-staging: Cocoa: p1 bug fix: fix auto test regressions Cocoa: p1 bug fix: revert use of subWindowStacking
| | | * | | | | Cocoa: p1 bug fix: fix auto test regressionsRichard Moe Gustavsen2011-04-071-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ref: 32228c4f2b3419a35d1623377050ef72edf73c92 It seems that the change above broke some auto tests, which revealed a true problem. When it comes to modal dialog, children still needs to be stacked on top of modal parents, as they the user cannot use the mouse to raise it. So rather than removing subWindowStacking fully, we narrow it even further down to only be used for children of modal dialogs. All in all, this is close to removing it, but still us it for certain corner cases. Task-number: QTBUG-11481 Reviewed-by: msorvig
| | | * | | | | Cocoa: p1 bug fix: revert use of subWindowStackingRichard Moe Gustavsen2011-04-062-15/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3c2373d7ea9bc91bb537c0725984d19ad0fbab01. After finding yet another bug related to cocoa child windows (QTBUG-17738), we have no other option than to admit it was a wrong move to use the API in the first place. Had we only known how many side-effects and hidden bugs it would introduce. The original problem we tried to solve were the cases where a stays-on-top parent window executed a modal child dialog. This child should always stay on top of its parent, but Cocoa would insist on pushing the window down to the modal window level upon activating/deactivating the application. Some window systems will always stack a window child on top of the parent, while others (X11) seems to be more selective on this issue. On Mac, we already stack windows a bit differently, thinking first and foremost on tool windows. Since this change is going into a patch release (which is debatable, since this changes behaviour, but p1 is a p1), we choose to add in a backdoor for those users who by chance depend on this behaviour. Setting the env var QT_MAC_USE_CHILDWINDOWS=1 will give you the old code path, but we plan to remove this for Qt-4.8. Also, this patch does fix the original bug described above by overriding the setLevel method in NSWindow, and refuse Cocoa to level down stays-on-top modal windows.
* | | | | | | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging into ↵Qt Continuous Integration System2011-04-075-135/+128
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging: Avoid compilation warnings on Symbian Get rid of double conversions and arithmetic when qreal is float.
| * | | | | | | Get rid of double conversions and arithmetic when qreal is float.Samuel Rødal2011-04-065-135/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QT-4624 Reviewed-by: Kim
* | | | | | | | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-04-0715-105/+125
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/text/qfontengine_mac.mm tests/auto/qdiriterator/tst_qdiriterator.cpp
| * | | | | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-doc-staging into ↵Qt Continuous Integration System2011-04-062-5/+2
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-doc-staging: Fixed the declarative headers and includes within qdoc. Removed invalid public slots section. Minor feature fix led to refactoring for i18n's sake. Fixed string-int concatenation issue. qdoc: Allowed multiple values for certain metadata tags. qdoc: modified \include to take a 2nd arg, snippet id. Doc: Minor fix to title. Doc: Fixed markup. Doc: Added a missing command. Doc: Removed duplicate documentation. Removed some links and prettified others. Doc: Squashed commit of Roland Wolf's threading tutorial.
| | * \ \ \ \ \ \ Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-doc-team into 4.7David Boddie2011-04-0514-99/+197
| | |\ \ \ \ \ \ \
| | | * | | | | | | qdoc: Allowed multiple values for certain metadata tags.Martin Smith2011-04-051-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also output mainters for classes in the HTML output, if there are maintainers listed.
| | * | | | | | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-doc-team into 4.7David Boddie2011-03-296-13/+52
| | |\ \ \ \ \ \ \ \
| | * | | | | | | | | Doc: Added a missing command.David Boddie2011-03-251-1/+1
| | | | | | | | | | |
| * | | | | | | | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-04-061-0/+2
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Not possible to enter negative values to widgets with numeric fields
| | * | | | | | | | | | Not possible to enter negative values to widgets with numeric fieldsSami Merila2011-04-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently it is not possible to enter negative number to QSpinBox (or to any other QWidget which is handling numeric input only) in touch devices. This is due to that AVKON virtual keyboards have negative sign (-) in special character table(s) and it is not accessible by default from QWidgets, unless you define widget's input hints as ImhFormattedNumbersOnly AND ImhDialableCharactersOnly (or non-numeric). With this fix, default special character table is added for widgets with numeric input mode AND either ImhFormattedNumbersOnly or ImhDialableCharactersOnly. By default user is still unable to enter nagative values to QSpinBox, but developer can set inputMethodHint to work around the issue: widget->setInputMethodHints(Qt::ImhFormattedNumbersOnly); Task-number: QTBUG-17461 Reviewed-by: Miikka Heikkinen
| * | | | | | | | | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-water-staging into ↵Qt Continuous Integration System2011-04-051-3/+3
| |\ \ \ \ \ \ \ \ \ \ \ | | | |_|_|_|_|/ / / / / | | |/| | | | | | | | / | | |_|_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-water-staging: Mac: p2 combobox regression fix
| | * | | | | | | | | Mac: p2 combobox regression fixRichard Moe Gustavsen2011-04-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The combobox popup on mac fails to re-highlight the last item in the list when then mouse leaves the popup, and re-enter. We tried to fix this in 780b4d84, but is turned out to break the cleanlooks style. For this second try, we allow the code to set the index under mouse when the mouse hovers an item in the list, even if the index is current. It seems to cause low overhead, and should be safe. Task-number: QTBUG-17738 Reviewed-by: jbache