summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Clear QWindowPrivate::positionAutomatic in setFramePosition().Friedemann Kleint2013-05-231-0/+1
| | | | | | | Task-number: QTBUG-31166 Change-Id: Ic0fa26e93db5a035539850ece819b1df2c58e95a Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Make QWindow update its screen when moved to a different oneGabriel de Dietrich2013-05-237-15/+56
| | | | | | | | Also implements the Cocoa backend for that. Change-Id: I32977e12a04e1cf48b12333442482746c69ce133 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* QFusionStyle: fix highlight colorsJ-P Nurmi2013-05-231-1/+1
| | | | | | | | | Respect the current color group of the palette, and fix the inactive highlight color. Task-number: QTBUG-30034 Change-Id: Iddfc15a2dd98d4588c6c587b7aaf64d88538fa28 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Fusion palette: add missing disabled rolesJ-P Nurmi2013-05-221-0/+2
| | | | | | Task-number: QTBUG-30034 Change-Id: I98358cfe43963ef27a8aa527d6100095be753305 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Rename Numpad to Num, ensure Numpad is translated in all cases on Mac.Mitch Curtis2013-05-101-5/+5
| | | | | | | | Numpad is unnecessarily long. Change-Id: I19a6ce129e26a4f6f8344f514317214c48abde6e Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
* Utilize the new Q_OS_MACX define.Jake Petroules2013-05-091-11/+11
| | | | | | | | | | All occurrences of `#if defined(Q_OS_MAC) && !defined(Q_OS_IOS)` have been replaced with `#if defined(Q_OS_MACX)`. Change-Id: I5055d9bd1845136beb8ed1c79a8f0f2c0897751a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Suppress warning about unsupported frame strut events.Friedemann Kleint2013-05-081-2/+1
| | | | | | | | | | | The warning causes a test failure since it occurs with XCB. Introduced by enabling frame strut events for all widgets by f2fcf75381b08f9bac247fde66604fed685dabb1 . Task-number: QTBUG-30530 Task-number: QTBUG-29012 Change-Id: I025b55f5198a270072b33cae033221709db256aa Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Don't destroy the window if the QCloseEvent wasn't acceptedShawn Rutledge2013-05-072-3/+6
| | | | | | | | | | It's possible to override event() to receive the QCloseEvent and do event->ignore() to prevent the window from closing. Task-number: QTBUG-31019 Change-Id: I9abed47fca02a002b78727f98d678a824854adfc Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Clarify documentation for QKeyEvent::textFrederik Gladhorn2013-04-301-5/+8
| | | | | | Change-Id: I4b455a512b2e678b6127ea488b456c68eb80cdbc Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Fix QKeySequence matchingGatis Paeglis2013-04-291-3/+5
| | | | | | | | | | | QKeySequence failed to find a match in the shortcut table when QKeyEvent contained Qt::GroupSwitchModifier modifier. It's not a part of the shortcut, it simply shifts character group in a keyboard mapping table. Task-number: QTBUG-26302 Change-Id: Id91cd4999777f7085068e9dba5cb22b40653e23d Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix ignoring close events on OSXJosh Faust2013-04-264-5/+10
| | | | | | | | | | | | | QNSWindowDelegate was not handling windowShouldClose, which is how you can tell Cocoa that your window should not close if the close button is pressed. This change moves the close handling from windowWillClose to windowShouldClose, and adds an optional "accepted" pointer to QWindowSystemInterface::handleCloseEvent so that QNSWindowDelegate can return a true/false value for whether the window should actually close Task-number: QTBUG-28965 Change-Id: I67c6296ad42cbeeb71413e05411467d4e558adb4 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Fixed QGLWidget not being able to be made current with a context.Samuel Rødal2013-04-231-1/+1
| | | | | | | | | | | If the QGLWidget's creation is triggered by a sibling or similar being created it would end up without the surface type OpenGLSurface. We need to make sure the QWindow has the correct surface type to prevent QOpenGLContext::makeCurrent() from failing. Task-number: QTBUG-30811 Change-Id: Ifc85f9120d89bd0bed4a3911233799830cb3a0f3 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* QWindow: expose active as propertyLiang Qi2013-04-233-0/+14
| | | | | | | And add activeChanged signal for it. Change-Id: I9ebe9263e99863267c3a81b9286eaa5b29222085 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Make requestActivate() as a slot in QWindowLiang Qi2013-04-231-2/+2
| | | | | | | | Then it could be used in QML world. Task-number: QTBUG-28667 Change-Id: Ib65ad3b271a07ba50d3ca50d61f486f829f69119 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Fix QKeySequence::toString() returning gibberish for Qt::KeypadModifierMitch Curtis2013-04-231-4/+9
| | | | | | | | | | | | | This is the patch from the bug report with a few alterations to get it to compile, and also with the GroupSwitchModifier code removed, as this patch just focuses on Qt::KeypadModifier. The problem was determined to be in QKeySequencePrivate::encodeString, which doesn't handle the Qt::KeypadModifier flag. Task-number: QTBUG-4022 Change-Id: Ic981eb8b5cd88c7b36892d3019b8175db4b7b6f2 Reviewed-by: David Faure (KDE) <faure@kde.org>
* Implement alertion state for windows.Friedemann Kleint2013-04-196-0/+68
| | | | | | | | | | | | | | Add QWindow::alert() and QPlatformWindow::setAlertState(). Add logic to clear alertion state when the window becomes active. The platform plugins then only need to implement a setter and a cheap getter and need not handle activation. Prototypically implement X11 and Windows. Task-number: QTBUG-30416 Change-Id: Ia70c4722d812462a21f4034b7d52735c9f2bc49c Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Make password mask characters themeable.Mitch Curtis2013-04-196-2/+18
| | | | | | | | Task-number: QTBUG-29871 Change-Id: I3cf739a321d7917f8f8431992e29bba0871b1934 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Android: Don't crash when displaying multiple top-levelsEskil Abrahamsen Blomfeldt2013-04-182-3/+8
| | | | | | | | | | | | | | | | | | | | | | While the raster platform plugin supports multiple top level windows, this is not supported on the GL plugin, so if you use GL or QtQuick2 in your app and use several top levels, the app would crash with an error message. A problem is that the top-level SurfaceView is a special overlay View and does not support being stacked in a layout. So instead, we let all windows share the same GL surface and draw on top of each other. This works fine for simple use cases. We implement a new platform capability to make sure no top level windows (even combobox popups and dialogs) get non-fullscreen geometries. That has never worked properly with the eglfs plugin. Task-number: QTBUG-30473 Change-Id: Ia1438019638fc739cc93ffe79b46b81631254df2 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Move Fusion styles palette into QtGuiJørgen Lind2013-04-176-2/+156
| | | | | | | | So that it can be used as the standard palette for QtGui applications instead of the absolutely useless black palette. Change-Id: Ie001439fcd8840a66275009c9f42cbf8bab4864a Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Add default value for qHash's 'seed' argument for QOpenGLVersionProfile/StatusTor Arne Vestbø2013-04-151-1/+1
| | | | | | | | | | | | | | | | Although template<typename T> inline uint qHash(const T &t, uint seed) from qhash.h is never instantiated because we have the two-argument version of qHash() for both QOpenGLVersionProfile and QOpenGLVersionStatus, we need the default argument, as the template in qhash.h uses noexcept, which is evaluated regardless of instantiation, and uses qHash(t) without a seed. This behavior seems to not be the case with Apple clang 4.2, but has been observed with Apple clang 4.1, Clang 3.2, and GCC 4.8. Change-Id: If70e93f64eb9675a7c3ef7897ced2c6aebbec2d6 Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix the check if mouse events should be synthesized from touch eventsFabian Bumberger2013-04-112-1/+9
| | | | | | | | | | | | | | | | In QGuiApplication only Qt::AA_SynthesizeMouseForUnhandledTouchEvents is taken into account when synthesizing mouse from touch events, in QApplication only the PlatformIntegration syle hint QPlatformIntegration::SynthesizeMouseFromTouchEvents. With this patch both attributes are checked. Furthermore the check was moved out of translateTouchToMouse in QApplication in order not to influence the result which is returned to the user, when mouse events are not be synthesized. Change-Id: I87ac7299f0a9fbf0a083eff9c547f0dbfab75dfb Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* ApplicationState: Add new event class: ApplicationStateChangeEventRichard Moe Gustavsen2013-04-033-0/+34
| | | | | | | | | | | This patch will follow up on e27ca37 (add more state to QT::ApplicationState), and add a new event class QApplicationStateChangeEvent with type Qt::ApplicationStateChange. Change-Id: Idee724f181f1fbb2321ddad7e0df00c88b3488b1 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Doc: Fix the documentation for QWindow::focusObjectChanged()Topi Reinio2013-04-031-3/+3
| | | | | | | | Fix the documented function signature to match the declared one. Task-number: QTBUG-30398 Change-Id: I0d4894e2597f70e29a3edd4ceda91a4dddb9941e Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Add qDebug() output for QTouchEvent.Friedemann Kleint2013-03-271-0/+37
| | | | | | | | Task-number: QTBUG-29946 Task-number: QTBUG-29254 Change-Id: I9371954caf4166041239684e90c09b12038065d3 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* QThread: fix race when setting the eventDispatcherDavid Faure2013-03-221-1/+1
| | | | | | | Use QAtomicPointer to make this thread-safe. Change-Id: If71f204699fcefabdb59bd26342d777d1cc9e2a7 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Introducing QComposeInputContextGatis Paeglis2013-03-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When switching from Xlib to xcb platform plugin it was agreed that XIM is deprecated. Users should be using QT_IM_MODULE to load input context plugin for a more advance input method framework support. The proposed solution is to parse the compose file directly from Qt. This approach removes the overhead of communication protocols used in Xlib and/or IBUS. TableGenerator class follows [1]. The compose file is searched for in the following order: 1) If the environment variable $XCOMPOSEFILE is set, its value is used as the name of the Compose file. 2) If the user’s home directory has a file named .XCompose, it is used as the Compose file. 3) The system provided compose file is used by mapping the locale to a compose file from the list in /usr/share/X11/locale/compose.dir. Regarding step 3 - TableGenerator searches in hard-coded locations for system-provided compose files. Here I have introcuded a new environment variable QTCOMPOSE which can be used to prepend an extra location to be searched. [1] http://www.x.org/archive/X11R7.7/doc/man/man5/Compose.5.xhtml Task-number: QTBUG-28183 Change-Id: I76dcfd454f3acc23db98192a3673c1ab2af4425f Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Merge branch 'dev' into stableOswald Buddenhagen2013-03-2072-391/+1649
|\ | | | | | | | | | | | | | | | | | | | | | | This starts Qt 5.1 release cycle Conflicts: src/gui/text/qfontdatabase.cpp src/gui/text/qharfbuzz_copy_p.h src/widgets/kernel/qapplication.cpp src/widgets/kernel/qcoreapplication.cpp Change-Id: I72fbf83ab3c2206aeea1b089428b0fc2a89bd62b
| * Make sure that we #include qconfig.h before testing for features.Thiago Macieira2013-03-192-1/+4
| | | | | | | | | | | | | | | | | | | | | | This is mandatory in public headers (qiodevice.h, qopengl*, etc.), but it's a good idea even in private headers, in case someone includes that header first somewhere. In particular, all platformsupport API is private. Change-Id: If287baa5d9ed14e93c1666efa0e6332c4c1cd9a4 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * Add the Deselect StandardKeyAlbert Astals Cid2013-03-182-1/+5
| | | | | | | | | | | | | | | | | | | | | | Ctrl + Shift + A as inverse of Ctrl + A Works in both KDE and GNOME widgets so put as KB_X11 Change-Id: I3d1781933fcf7db03685453deef8612052cc879a Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| * Whitespace cleanup: remove trailing whitespaceAxel Waggershauser2013-03-163-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove all trailing whitespace from the following list of files: *.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README excluding 3rdparty, test-data and auto generated code. Note A): the only non 3rdparty c++-files that still have trailing whitespace after this change are: * src/corelib/codecs/cp949codetbl_p.h * src/corelib/codecs/qjpunicode.cpp * src/corelib/codecs/qbig5codec.cpp * src/corelib/xml/qxmlstream_p.h * src/tools/qdoc/qmlparser/qqmljsgrammar.cpp * src/tools/uic/ui4.cpp * tests/auto/other/qtokenautomaton/tokenizers/* * tests/benchmarks/corelib/tools/qstring/data.cpp * util/lexgen/tokenizer.cpp Note B): in about 30 files some overlapping 'leading tab' and 'TAB character in non-leading whitespace' issues have been fixed to make the sanity bot happy. Plus some general ws-fixes here and there as asked for during review. Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * Window deactivation should set focus reason.Frederik Gladhorn2013-03-131-1/+1
| | | | | | | | | | | | Change-Id: Iccc46880278bc5f7fe2b706efcdf9b4e6483c3e6 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Caroline Chao <caroline.chao@digia.com>
| * Do not list desktop widgets and desktop screen widgets as top-levels.Friedemann Kleint2013-03-121-1/+1
| | | | | | | | | | | | Change-Id: Iea4905d802213848594d2ad0266696e5edb884f8 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
| * Fix warning about unhandled enumeration value.Friedemann Kleint2013-03-121-0/+2
| | | | | | | | | | Change-Id: Ic22a9bddfa04c286f359bc29e1d5d1ec8ef98ecc Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
| * Documentation and versioning for new Window propertiesShawn Rutledge2013-03-122-18/+28
| | | | | | | | | | | | | | Task-number: QTBUG-29807 Change-Id: Id03ae17270832a7b5915e4324a508e591c0b6d98 Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Laszlo Papp <lpapp@kde.org>
| * Add methods to convert lists of QKeySequence to/from stringsKevin Ottens2013-03-062-0/+44
| | | | | | | | | | | | | | | | | | | | | | QKeySequence provides conversion to and from strings. But a similar convenience was missing for QList<QKeySequence>. It would come in handy when you want for instance to save/restore the shortcuts of a QAction. Change-Id: I9e4f2001c58a595392a5019a57c564992c39bf88 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
| * Implement XEmbed protocolAlberto Mardegan2013-03-068-8/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a static QWindow::fromWinId(WId id) constructor which can be used to create a QWindow object representing windows created by other processes. Then, QWindow::setParent() can be used to embed a window into a foreign window socket and QWindow::setTransientParent() to stick the current window on top of a foreign window. The changes in the QtWidgets module ensure that the focus chain (TAB navigation) correctly works when a QtWidgets-based window is embedded into another application. As far as the platform implementation is concerned, this commit only implements the embedding functionality in the XCB plugin. So, this is roughly equivalent to the Qt4 QX11EmbedWidget functionality. Change-Id: Iff8f7b9ee974d33fb30f36056f7838b433a413c7 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-03-055-2/+61
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure qmake/generators/mac/pbuilder_pbx.cpp src/corelib/kernel/qtimerinfo_unix.cpp src/plugins/platforms/cocoa/qcocoabackingstore.mm src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/windows/qwindowswindow.cpp src/plugins/platforms/xcb/qglxintegration.cpp Change-Id: I8d125fe498f5304874e6976b53f588d3e98a66ac
| * | Fix crash in flushWindowSystemEvents() in QGuiApplication-cleanup.Friedemann Kleint2013-03-052-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | Check for existence of QGuiApplication, discard events if it is 0. Change-Id: I04b27679033fb13ef2fa38e39757d89465cba94b Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * | Introducing the Qt Android portPaul Olav Tvete2013-03-051-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on the Necessitas project by Bogdan Vatra. Contributors to the Qt5 project: BogDan Vatra <bogdan@kde.org> Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> hjk <hjk121@nokiamail.com> Oswald Buddenhagen <oswald.buddenhagen@digia.com> Paul Olav Tvete <paul.tvete@digia.com> Robin Burchell <robin+qt@viroteck.net> Samuel Rødal <samuel.rodal@digia.com> Yoann Lopes <yoann.lopes@digia.com> The full history of the Qt5 port can be found in refs/old-heads/android, SHA-1 249ca9ca2c7d876b91b31df9434dde47f9065d0d Change-Id: Iff1a7b2dbb707c986f2639e65e39ed8f22430120 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * | Allow flushing window system events from other threadEskil Abrahamsen Blomfeldt2013-02-284-2/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For platform plugins such as the Android plugin, we need to make sure an event is delivered and handled before continuing execution (e.g. when doing an expose event to report that the EGL surface has been destroyed when the app goes into the background.) Change-Id: Ibd381baafa93f111dbc887d4cf9d9ca37429b186 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | Enablers for input methods on AndroidPaul Olav Tvete2013-02-273-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding QInputMethod::inputItemRectangle()/setInputItemRectangle(). Known bugs: inputItemRectangle() not implemented for graphics view items; inputItemTransform() implementation was already missing. Change-Id: I72b1d43350e93858a2b374de3f2199500a96dc79 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * | Introduced QWindow::setMask() to expose existing platform functionality.Samuel Rødal2013-02-273-0/+37
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-28555 Change-Id: I2c649b6d9e9dc69be246cb7658b3edbe9682b1bf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | OpenGL: Add a set of version and context specific OpenGL classesSean Harmer2013-02-263-0/+341
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds part of the output of utils/glgen and some simple modifications to QOpenGLContext to allow easy access to classes containing functions specific to a given OpenGL context and version. This allows compile-time detection of mis-use of OpenGL features. For example, trying to use glBegin(GL_TRIANGLES) with an OpenGL 3.2 Core Profile context will be detected by the compiler rather than at runtime. These capabilities make it much easier to add functionality to Qt and applications that relies upon core features of OpenGL from specific versions e.g. geometry shaders. Change-Id: Ieb584a489792595f831bc77dee84935c03bb5a64 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * | Fix typo.Frederik Gladhorn2013-02-261-1/+1
| | | | | | | | | | | | | | | Change-Id: Ia3fd460e77d8da5dca634872e3f786d5ad30289d Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * | QPA: fix memory leak in qwindowsysteminterface.hRichard Moe Gustavsen2013-02-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Just removing the event from QList will not delete it... Change-Id: I3c4bb69a2afaada7ad4d5695eba0b3f29e9463ec Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| * | QPA: Add interface for setting the application state explicitlyRichard Moe Gustavsen2013-02-217-4/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The motivation for this patch is twofold: 1: we need a way (for iOS/Android) to tell the current window to remove focus from the focus object when the user hides the input panel. Otherwise, if the focus object is e.g a line edit, the cursor will continue to blink inside it, which is wrong. As it stands, telling the active window to deactivate (by calling QWindowSystemInterface::handleWindowActivated(0)), will cause the whole application to deactivate if no windows are active, which is not what we want. 2: Qt currently understands just two application states, Activated and Deactivated. On mobile platforms we can have other states as well, like "suspended" on iOS. So controlling the application state should not depend on window activation, but instead be controlled through a separate API by the platform plugin. This patch will add the following function: QWindowSystemInterface::handleApplicationStateChanged(Qt::ApplicationState newState) that lets us control the application state from the plugin. This also means that we factor out application state handling from window activation, which also gives us a way to remove focus from a window while keeping the application active. To not break existing desktop platforms that relies on application activation being tied to window activation, we need to make this API opt-in by using a platform integration capability hint. This is not optimal, but found necessary after investigating several other solutions. Which states (other that active/inactive) it makes sense to add to Qt::ApplicationState will be a topic for later patches. Change-Id: Ic6fdd3b66867abb67da43eba04ec86f06d82ff94 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * | Let QPlatformTheme decide which engine QIcon::fromTheme usesKevin Ottens2013-02-192-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default we still use QIconLoaderEngine but now platform theme plugins have the opportunity to override that. It is in particular planned to be used in a WIP platform theme plugin for KDE sessions. Change-Id: I07a82dc91daea44709b3a790f3f6e2a7a090d108 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
| * | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-02-181-0/+2
| |\ \ | | | | | | | | | | | | refs/staging/dev
| | * \ Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-181-0/+2
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/styles/qmacstyle_mac.mm Change-Id: If8326db9e7da3cbf45dbf7475fdff9915c7723b1
| * | | | Added QDebug support for QWindowSystemInterface::TouchPointShawn Rutledge2013-02-182-0/+11
| |/ / / | | | | | | | | | | | | | | | | Change-Id: Icfc606a49a7fd24fcd35b9c818642a03e044ed6c Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>