summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Fix warning caused by warning fixThiago Macieira2013-07-012-7/+1
| | | | | | | | | | qevent.h:865:36: error: unknown warning group '-Wunused-private-field', ignored [-Werror,-Wunknown-pragmas] Instead, just use Q_UNUSED() like I've done for the other unused members. Change-Id: I3adeb06937cee8b8ac24a1d5081be03931ac98b7 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-06-282-20/+15
|\ | | | | | | Change-Id: I53112e20a65b7d706755b4a22622979f3b91a2c2
| * Add Q_REVISION(1) to QWindow::alert().Friedemann Kleint2013-06-281-1/+1
| | | | | | | | | | | | | | | | Task-number: QTBUG-32069 Task-number: QTBUG-30416 Change-Id: Idabf9962def24ecd709be7d981302c91c42ccac4 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * QWindow min/max width/height, contentOrientation are not new in 5.1Shawn Rutledge2013-06-282-19/+14
| | | | | | | | | | | | | | | | | | so that part of Id03ae17270832a7b5915e4324a508e591c0b6d98 which added the Q_REVISION(1)'s and \since docs was a mistake. Change-Id: I159b68491bd7dc55657d8c978bff527094ef4547 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | Touch up QSurfaceFormat documentation.Mitch Curtis2013-06-281-2/+2
| | | | | | | | | | Change-Id: I439ffa7632dbfe6d9e2c4e40447bfabfeac76f7b Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | Windows: Display a message box if platform plugin cannot be found.Friedemann Kleint2013-06-261-2/+11
| | | | | | | | | | | | | | | | Task-number: QTBUG-31765 Task-number: QTBUG-31760 Change-Id: Iadfabccf7be755564e313a8f0c128f533b9bd024 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | If a QWidget is ignored for auto-quit, ignore its corresponding QWindow.Stephen Kelly2013-06-192-0/+10
| | | | | | | | | | | | | | | | Unit test by Friedemann Kleint <Friedemann.Kleint@digia.com> Task-number: QTBUG-31569 Change-Id: I526d33d4f88a41f6ac349098476bc45af6c841b0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Add note to remove unused private field.Stephen Kelly2013-06-191-1/+8
| | | | | | | | | | Change-Id: I33c831de1eb6b687a9c033f83bc266bd33a3540e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Fix format in platform plugin loading error reporting.Friedemann Kleint2013-06-141-1/+1
| | | | | | | | | | | | | | | | | | | | qguiapplication.cpp:792:133: warning: format not a string literal and no format arguments [-Wformat-security]. Introduced by 0d7d53fd46e8ab512bed88d0dab114cfada227ce . Change-Id: I70268a8b597be33226efb9bb4d7d9f672f0d7440 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | Improve error output when platform plugin cannot be loadedKai Koehne2013-06-111-6/+8
| | | | | | | | | | | | | | | | | | | | Forgetting to deploy the platform plugin, or deploying it to the wrong folder, is a common mistake. The old error message didn't made it however explicit what was happening. Make the log more verbose, and explicitly state that the missing plugin is the reason for termination. Change-Id: I810a0ef8da5f8e898e7e0c6f853972514a05c75d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2013-06-101-2/+2
|\| | | | | | | refs/staging/stable
| * Use QWindow::geometry() for size when sending resize before expose.Friedemann Kleint2013-06-071-2/+2
| | | | | | | | | | | | | | Task-number: QTBUG-30996 Change-Id: I9c3589ea67b563f6e588568ee54cc8bbd084f87c Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Q_DISABLE_COPY doesn't need a ; at the endAlbert Astals Cid2013-06-102-2/+2
|/ | | | | | | | | Fixes warnings when -Wpedantic is enabled Change-Id: I8fcfbfa9bb3a5ab61c85f8cb74660f6f7e459fc0 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Alejandro Exojo Piqueras <suy@badopi.org> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Move QBasicDrag and QSimpleDrag to QtGui.Samuel Rødal2013-05-306-1/+679
| | | | | | | | | | | | These are useful as default implementations of QPlatformIntegration::drag(), instead of having it return 0 which will lead to crashes in Qt Quick 2 and widgets applications that use drag and drop. Task-number: QTBUG-31288 Change-Id: I70efa139306ced5d879def0f74e3a72d3bcd64f7 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Fix QPlatformWindow::initialGeometry() to not touch large windows.Friedemann Kleint2013-05-281-9/+15
| | | | | | | | | | | | | Do not touch windows whose geometry (including the unknown frame size) is likely to be larger than the screen. Remove fix-up in the Windows plugin. Task-number: QTBUG-30142 Task-number: QTBUG-31071 Change-Id: I13a8ffb9fb9d8c71d35de75094275388fa427f2c Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* 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>