summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Specify generic QPA plugins via env variablesDonald Carr2012-04-041-0/+4
| | | | | | | | | | | Introduce a mechanism to load comma separated generic QPA plugins via exported environment variables. (Drastically simplifies QPA usage in custom environments where a variety of plugins could be used and heuristics are consequently a poor fit) Change-Id: I292f3fbfc8b8ad2b4f416984ef0a10b9b59de531 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Removed Qt 5 todo comments from qpalette.hSamuel Rødal2012-04-041-3/+3
| | | | | | | | | The removal won't happen in Qt 5, and there's no great value in making NoRole have the value 0 at the potential risk of breaking existing code. Task-number: QTBUG-25068 Change-Id: I57238f55a23e77a783ebac47b96b4a5e62480add Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Fix warnings about unused variables.Friedemann Kleint2012-04-032-6/+3
| | | | | | | | Fix MSVC warnings about unused q, d where only static functions are used. Change-Id: I239d6fc3c851b0a62434cb09fc0e1967f2e6d031 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QWindow: add windowModality as a Q_PROPERTY()Bradley T. Hughes2012-04-032-8/+23
| | | | | | | | This also adds the QWindow::windowModalityChanged() signal. Change-Id: I6e3bc3155d72811d173857c39d36dcb264928334 Reviewed-by: Alan Alpert <alan.alpert@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make API in QPlatformSharedGraphicsCache a little more genericEskil Abrahamsen Blomfeldt2012-04-031-3/+4
| | | | | | | | Use EGL extensions for some things to allow serialization instead of the somewhat specialized serializeBuffer() function. Change-Id: I8d15e85bfb80d12fa953ba094564ddfca1aa6d6a Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Fix release mode warnings about unused variables.Friedemann Kleint2012-04-031-0/+1
| | | | | | | Variables that are only used in asserts. Change-Id: I0984b676ad9b67f5ae72266b8540e8054163918f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Added some convenience API for platform input contextsPekka Vuorela2012-04-019-12/+153
| | | | | | | | | | | | | QPlatformInputContext now gets notified on changed focus and has inputMethodAccepted() telling whether current focus object accepts input method events. Also adapted IBus plugin to use this. Key event filtering for focused objects without input method support got fixed by the change. Change-Id: I6910aa6af2459d752a5763f0ae88fa8c34e5b165 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Change documentation to refer to up to date property name in QtQuickPekka Vuorela2012-03-291-1/+1
| | | | | Change-Id: I78550862a2b1eb14f89c5ad01cc3718cf83606d2 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Determine font smoothing gamma in initialization.Friedemann Kleint2012-03-291-2/+5
| | | | | | | | Avoid calls to QStyleHint and QPlatformIntegration from threads. Change-Id: I851ef029ea348f182e0b42536d0a994960aa9187 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* irrelevant qDebugs from QGuiApplication removed.Simjees Abraham2012-03-281-2/+0
| | | | | | | | removed the qDebugs that are not relevant for the user and were printed when the app was started from QtCreator. Change-Id: Iae49d6c780a4d3cfd55b3e149555294e150f3f52 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add QPA notes to QCursor pos() and setPos()Laszlo Agocs2012-03-271-0/+17
| | | | | Change-Id: I7173816e0d792d6d26497b4fd59a57a50e512afd Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Introduce FontSmoothingGamma as a platform style hint.Friedemann Kleint2012-03-276-1/+29
| | | | | | | | | | - Allocate gamma tables on the heap in a thread-safe way, use font smoothing returned by the style hints of the platform to calculate them. - Improve font rendering on Windows. Change-Id: I8cd39b51cf03cbd642474c02b9076814baecd597 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Password editor mask delay stylable by platform pluginPekka Vuorela2012-03-264-1/+11
| | | | | | | | | Replaced hard coding as QT_GUI_PASSWORD_ECHO_DELAY with a style hint. Change-Id: I0b78ebad723dbe19d9b9496583203e31545874e2 Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix QGuiApplication::keyboardModifiers()Bradley T. Hughes2012-03-262-0/+8
| | | | | | | | | Make sure that the keybaord modifiers are maintained properly when handling window system events. Change-Id: Ie75cbe5eb509c29e3d2291694f2de509fbf3098a Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Make sure windows send accessibility activated updates.Frederik Gladhorn2012-03-241-4/+17
| | | | | | | | Both QWindow and QWidgetWindow should update with the active state signal. Change-Id: I0219f803aa0fb109765f0faa0aedb120c2a439f0 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Fix deprecation warning about QPlatformWindow::visibleThiago Macieira2012-03-241-1/+1
| | | | | | | The proper getter name of a boolean property is prefixed with is-. Change-Id: Id1fae9ccd11db3e92903c51012bbe75d52726a5a Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix warnings in qtbase.Friedemann Kleint2012-03-241-3/+0
| | | | | Change-Id: I981e08872440e35eb9bfad32b20543cfce8439c9 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Deprecate QInputMethodEvent::setTentativeCommitString()Pekka Vuorela2012-03-232-2/+4
| | | | | | | | Free form tentative commit proved to require too much fiddling on rendered text vs. logical content. Needs simpler mechanism. Change-Id: Ia4e341abf342d25675fd1129efb11094dde410b2 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Fixed QInputMethod API to use isVisible() instead of visible().Samuel Rødal2012-03-222-3/+7
| | | | | | | | Deprecate the old API for now as not to break existing usages. Change-Id: I7abbbbe8a34951282537a9d74cded03743f44df7 Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* FocusAboutToChange event to be send before focus changesPekka Vuorela2012-03-221-2/+9
| | | | | | | | | | | | | | Focus change happen as: FocusAboutToChange event -> focus change -> FocusOut event -> FocusIn event. Input method need to have focus when calling commit(). Notification on focus about to be lost allows QWindow implementations to commit in time. Also changes QWidget documentation to match code reality. Change-Id: I17a8a374a33dd700909f79e370b42348869261a6 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Remove redundant \since 5.0Debao Zhang2012-03-223-14/+0
| | | | | | | | | | \since 5.0 has been add to the class section, so member functions and properties donot need this any more. see SHA: 5728c8a8e7c994b931d340315c241350d646f62a Change-Id: I4e67461373dda99ee1fbfdeb6477fde1dcfec116 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* EGLFS: Integrate building into configure.Donald Carr2012-03-211-0/+2
| | | | | | | | | | With the move to the QPA architecture EGL is now only required by individual platform plugins and the configure script has been adjusted to reflect this. Change-Id: Ieadacef0b970f29752d9e3e36a007e5cbb005b0d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Set the default QPA plugin for QNX builds to "qnx"Sean Harmer2012-03-201-0/+2
| | | | | | Change-Id: I630c3631d480929c1e3a618d0f0b084fd2cc6ad0 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix KDE palette.Olivier Goffart2012-03-201-0/+1
| | | | | | | | | | | | | | | | | | | | In QKdeTheme We want to load every color. Else, only the first color is loaded, and the rest of the palette is just black making the applications basicaly not usable. But KDE only put in its config files the colors that are different from the default colors. This is the reason why we need to resolve against the style's default palette. We need to make sure the resolve_mask is 0 for an empty palette, even before the application palette is set. This was not required in Qt4 because the system palette was initialized differently. I realize this will only work with QApplication (and not with a single QGuiApplication) but it was not working before either. Change-Id: Ifb3c2c1358ef6d83a1ca5aa8fac3d2d4ea712b94 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix the compat handleWheelEvent function.Morten Johan Sorvig2012-03-191-1/+1
| | | | | | | | | Only set the angleDelta QPoint when the platform sends a delta/orientation pair. Change-Id: I0440dca8b290bce10830c04ba42c5c955cd8e001 Reviewed-by: Luis Gabriel Lima <luis.gabriel@openbossa.org> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Add QWindowSystemInterface::tryHandleSynchronousShortcutEvent()Bradley T. Hughes2012-03-172-0/+46
| | | | | | | | | | | | | | This function sends a shortcut override through the shortcut system and returns the result of the event. This will be used in platform plugins (such as the Cocoa plugin) to make sure that shortcuts work when the user presses a dead-key combination that normally would go through an input method to produce text. An extended overload taking native scan code, virtual key, and modifiers has also been added. Change-Id: Ia3836229ab0c66d2fb6f310e72b6f4d6dfa9ead9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Add a note to QTouchEvent docs about empty touchpoint listsLaszlo Agocs2012-03-151-3/+4
| | | | | Change-Id: I65e9e3ed2069d9194f5e70fb9731d605e0979e6d Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Added missing \since 5.0 and tweaked some docs in QtGui.Samuel Rødal2012-03-158-4/+19
| | | | | Change-Id: I91564f7a61962f97b9fb78c96d94d5695a3924db Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Make QWindow::isActive return false when the application loses the focusAnselmo L. S. Melo2012-03-151-0/+5
| | | | | | | | | | | | | In QTBUG-24807 there is a test case that shows a case when a segmentation fault happens inside isAncestorOf. When the whole application loses the focus, e.g. when it is minimized or other application receives the focus, QGuiApplication::focusWindow() returns a null pointer, so we need to do a check before proceed inside of isActive. Task-number: QTBUG-24807 Change-Id: I732c92bb9f236804ede5e89592f6e6609a4711b9 Reviewed-by: Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix compiling with --no-accessibilityJerome Leclanche2012-03-152-0/+6
| | | | | | | | Adds missing QT_NO_ACCESSIBILITY checks where required to build without accessibility support. Change-Id: Id98ecdcb9b351289b21dc2d382100d0b63857db9 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* implement virtual destructor in QPlatformSurfaceGunnar Sletta2012-03-152-0/+6
| | | | | Change-Id: Iaadd9c3cd7c2e2022066ca859cbe1e912050c561 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add a way to query for global handles in QPlatformNativeInterfaceJørgen Lind2012-03-152-0/+6
| | | | | Change-Id: I4f29f40a3d6d4237f7da092bb34b8e596321b47d Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Refactor theme plugin loading.Friedemann Kleint2012-03-153-6/+24
| | | | | | | | | | | | | | | | | | | | In the old implementation, the QPlatformIntegration was asked for the theme first, so there was no way of overriding that by a custom plugin. Also, there was a memory leak in case the platform theme was actually created by a plugin. QGuiApplication now asks the QPlatformIntegration for a list of potential theme names first, tries to load them using the plugin loader and finally invokes a factory method of QPlatformIntegration in case that fails. The theme is now owned by QGuiApplication. In the XCB plugin, the environment variable DESKTOP_SESSION is queried and appended to the list of themes, making it possible to load plugins for other session types. Change-Id: I1a4b4e061815bca16c65b23e591bb7563a3e44e2 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add QGuiApplication::platformName.Friedemann Kleint2012-03-143-2/+22
| | | | | | | Store the name of the QPA plugin as platformName. Change-Id: Id87cab2a189743c0dd727c86080f7d4595a852bb Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Delete QPlatformDragPrivate object in QPlatformDrag's destructorjian liang2012-03-122-0/+3
| | | | | Change-Id: Ib722df14123b24ca044f6e0846aa1435c7e0e201 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Migrate QWindowSystemInterface to use QElapsedTimerLaszlo Agocs2012-03-123-6/+5
| | | | | Change-Id: I7dfb0590dce79678d49f5d6ef8f60758719bcf72 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix some duplication between QGuiApplication and QApplication,David Faure2012-03-094-2/+52
| | | | | | | | | | | for the mouseButtons and keyboardModifiers vars and methods. Implement queryKeyboardModifiers with a new virtual in QPlatformIntegration. Task-number: QTBUG-11243 Change-Id: I9e95841542ac61c73ff72d7682ad962ea8aada42 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Start eventTime timer so that the .elapsed method will work.Jon Trulson2012-03-091-0/+4
| | | | | | | | | | | | QWindowSystemInterfacePrivate::eventTime.start() is never called, resulting in all calls to QWindowSystemInterfacePrivate::eventTime.elapsed() within qwindowsysteminterface_qpa.cpp to return 0. This could cause events to be lost, such as mouse button press events from the evdevmouse input plugin. Change-Id: Iba9d23b51af80e8532d24ccf382e9077c06bb4be Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Enablers for shared graphics cache in raster paint engineJiang Jiang2012-03-082-0/+10
| | | | | | | | | | | | Required changes for using shared graphics cache for distance field raster glyph rendering. Most of the logic is in platform plugins. Platform plugins should implement QPlatformIntegration::createImagePaintEngine() to create a subclass of QRasterEngine. Change-Id: Icf0a396e722e43b4caa2c1849aae38753cde38f1 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Fix typo: remember not remembetFrederik Gladhorn2012-03-081-1/+1
| | | | | Change-Id: I6e3bc6a233e7ec8ba94ecaeeafc730b18dd32f02 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* QCursor: Associate cursor with screen.Friedemann Kleint2012-03-078-47/+103
| | | | | | | | | | | | | | | | | | | | | | - Introduce cursor() accessor to QPlatformScreen. - Remove screen member of QPlatformCursor (a cursor can be shared by multiple screens of a virtual desktop). - Add QCursor::pos()/ QCursor::setPos() taking a QScreen-parameter, use primaryScreen() for old overloads. QCursor::pos() can then query the platform cursor for the position and return the position even if the mouse position is outside the windows owned by the Qt application. - Fix tests Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Task-number: QTBUG-22457 Task-number: QTBUG-22565 Task-number: QTBUG-20753 Change-Id: Ia69f37343f95772e934eab1cd806bd54cbdbbe51 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Add fonts to QPlatformTheme.Friedemann Kleint2012-03-073-0/+39
| | | | | | | | | | | | | | | | - Remove QPlatformFontDatabase::defaultFonts() returning a hash containing widget name ->font and the Windows implementation. - Add enumeration and font accessor to QPlatformTheme. The value returned for the enumeration value overwrites the default font of the font database. - Implement for Windows, Mac and KDE. - Add more Windows palettes. Task-number: QTBUG-23686 Change-Id: I8a2abdfd216df23daa7c9630c54264cdf61295db Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Fix double click handling.Laszlo Agocs2012-03-071-23/+19
| | | | | | | | | | | | | | | | Until now double clicking in Qt 5 resulted in the following sequence of mouse events: pressed, released, double clicked, released. This is wrong, the press belonging to the second button down is missing. In Qt 4 that pressed event is present. The problem is not apparent in desktop environments because the double click is functioning properly even when the second pressed is missing. However when using a platform plug-in like wayland, where the clients receive only press, move and release events, double click was broken because the second click was effectively ignored (due to receiving nothing but a button release). Change-Id: Ief6af12c666b23e544da4a68cb835cd577265469 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Cocoa: Implement widget palettes.Morten Johan Sorvig2012-03-061-0/+13
| | | | | | | | | | | | Add roles to QPLatformTheme::Palette, map QWidget subclasses to those. Port Qt4 widget palette creation code to use the QPLatformTheme::Palette roles. Palette entries are disabled in this commit, this will be fixed later. Change-Id: I07babe3d7c76d306efc4ea4813c7161fdf36227f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Update QTouchEvent docs with regards to raw positionsLaszlo Agocs2012-03-051-1/+6
| | | | | Change-Id: I2c955e42605c442793095d5ca27c34d7d87e08fb Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Merge remote-tracking branch 'origin/api_changes'Lars Knoll2012-03-044-29/+27
|\ | | | | | | | | | | | | | | | | | | Conflicts: dist/changes-5.0.0 mkspecs/features/qt_module_config.prf qmake/project.cpp qmake/property.cpp Change-Id: I6e4af40743a9aeff8ed18533a48036e332acc296
| * QInputMethodEvent::Attribute: mark as Q_MOVABLE_TYPEMarc Mutz2012-03-011-0/+1
| | | | | | | | | | Change-Id: Ifb41afdcf17fa8192f37b4900c59e81d4e0bf60f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QEvent (and subclasses): make ctors explicitMarc Mutz2012-03-011-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | Do this regardless of whether the event subclass is public API or only used in examples. Examples are examples, used by others as templates or even copied verbatim, so they should also follow sound engineering rules. Anyway, there's only one in examples/... Change-Id: I586ff16407a956c9e89288fdd4377eed73f45c0f Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * Make qobject_p.h not need qvariant.h.Stephen Kelly2012-02-291-2/+0
| | | | | | | | | | | | | | | | | | | | Move definition of ExtraData to the implementation file. As a side effect, we need to include qhash.h in some other places. Change-Id: I8bb4ec0940ae51c7d6961c9a51adb80fd444e1e3 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| * Merge master -> api_changesRohan McGovern2012-02-2919-361/+1559
| |\ | | | | | | | | | | | | | | | Includes fixes for tst_qfiledialog2, tst_qtextedit autotests on mac. Change-Id: I49cac26894d31291a8339ccc1eb80b6a940f0827