summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* DirectFB: Use correct pixel format for Texture Glyph CacheAndy Nichols2015-10-121-2/+2
| | | | | | | | QImage::Format_Indexed8 -> QImage::Format_Alpha8 Change-Id: I7faa7c9d2cb20306f63a2522e7fa78736b9ee583 Task-number: QTBUG-47490 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* xcb: Fix DnD for separate X screensAlexander Volkov2015-10-094-16/+21
| | | | | | | | Recreate QShapedPixmapWindow when the cursor goes to another X screen. Change-Id: Ifd4c4281971b23abc45a9f6c0509832a45c31521 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Insert leading after each line, not beforeUlf Hermann2015-10-091-2/+1
| | | | | | | Task-number: QTBUG-45791 Change-Id: I763d9d1ba00989d0c6b1e0b955173dadbef26b10 Reviewed-by: Stephen Chu <stephen@ju-ju.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Move shortcut handling back into QPA and simplify deliveryTor Arne Vestbø2015-10-076-180/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 7f5b94b47 moved shortcut handling into QGuiApplication (for all platforms except OS X), due to crashes on Android where the events are delivered from another thread. Now that we have synchronous event delivery (also across threads) from QPA, this is no longer needed, and we can move the code back to QPA, where the platform has more control over when and how shortcut events are delivered in relation to normal key events. Handling shortcuts is as before a two step process. We first send a QKeyEvent::ShortcutOverride event to the active window, which allows clients (widgets e.g.) to signal that they want to handle the shortcut themselves. If the override event is accepted, we treat it as the shortcut not being handled as a regular shortcut, and send the event as a key press instead, allowing the widget to handle the shortcut. If nothing accepted the shortcut override event we pass it along to the global shortcut map, which will treat the event as handled if an exact or partial match is found. The QShortcutMap::tryShortcutEvent() and nextState() implementation has been simplified to not use the events accepted state for its internal operation, which removes the need for saving the state of the incoming event. The QKeyEvent::ShortcutOverride event was also always sent with the accepted state set to false, by calling ignore() on it before sending it. This is now explicit by having shortcut override events being ignored by default in their constructor, and the documentation has been updated accordingly. Change-Id: I9afa29dbc00bef09fd22ee6bf09661b06340d715 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6Liang Qi2015-10-0211-17/+37
|\
| * Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-0211-17/+37
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/doc/src/qmake-manual.qdoc src/corelib/tools/qstring.h src/gui/image/qimagereader.cpp src/network/access/qnetworkaccessmanager.cpp src/tools/qdoc/doc/examples/examples.qdoc src/widgets/accessible/qaccessiblewidgetfactory_p.h src/widgets/doc/qtwidgets.qdocconf Change-Id: I8fae62283aebefe24e5ca4b4abd97386560c0fcb
| | * Support non-latin1 platform plugin pathsMorten Johan Sørvig2015-09-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace two instances of QLatin1String() conversion with QString::fromLocal8Bit() Change-Id: I04336c47b0c030c69e38db9aa4dcd208d7200b63 Task-number: QTBUG-48399 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Set positionAutomatic when using setX setYDavid Edmundson2015-09-221-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWindow keeps track of whether a position has been explicitly set by use of a flag positionAutomatic which gets set in setGeometry. This is used to determine if position is passed to the window manager. However calls to setX, setY via properties did not update this flag if the caller is setting it to the default position 0,0. This patch fixes that by making sure the flag is always updated. Change-Id: I2c0c002fe57efa101b3ca79e6e8b3f36cc465761 Reviewed-by: Kai Uwe Broulik <kde@privat.broulik.de> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * Fixed pageLayout, pageSize, pageOrientation, pageMargins for QPdfWriterOliver Wolff2015-09-221-1/+2
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-46887 Change-Id: I8f1497a8b7ff13213879de01fcdfcabfdd471874 Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| | * Blacklist PowerVR Rogue G6200 (v1.3) from supporting BGRA.Christian Strømme2015-09-181-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The drivers for PowerVR Rogue G6200 reports BGRA support, but reading from the FBO does not produce the correct result. Initially reported here: http://launchpad.net/bugs/1436074 Change-Id: Ia173817d557446818d08609d943eb3573b900cc3 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| | * Fix default hotspot of a hidpi QCursorKari Pihkala2015-09-062-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hotspot is defined in device independent coordinates, so the default coordinates need to be divided by device pixel ratio. Also, modify the scaling of cursor's pixmap to use SmoothTransformation to generate cleaner looking lodpi cursors from hidpi cursors. Change-Id: Ia938fd1e476e19e796f30712e23b06a5efed9964 Task-number: QTBUG-34116 Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
| | * Doc: Corrected link issues in qtbaseNico Vertriest2015-09-044-5/+4
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-43810 Change-Id: I0a019becc53b222cb6a7df1fafdccd57aca5b598 Reviewed-by: Martin Smith <martin.smith@digia.com>
| | * PPM image format: avoid useless processing on truncated filesEirik Aavitsland2015-09-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For ascii formatted files, the handler would not stop processing on a premature EOF, but instead continue to fill the whole image memory area byte by byte. This could lead to unexpected CPU exhaustion in the case of a small image file declaring huge image dimensions, but having no content. Instead, check for EOF for each scanline and quit processing if found. Change-Id: I8dbcd7eb34553873e49706d61b5752f22e04eb6a Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| | * Another fix of cosmetic QPainter::drawPolyline()Eirik Aavitsland2015-09-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the edge of the view, a line segment could end up as not producing any pixels even if not clipped by the floating-point clip routine. Make sure the starting point for the next line is still updated correctly for any significant segment lengths. Change-Id: I381a4efb81ce6006f3da4c67abf279aea79e4663 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
| | * Fix global modifiers state after triggering shortcutsFrederik Gladhorn2015-08-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using for example alt-tab in Qt Creator, the list of recent documents is kept open as long as alt is pressed. The new tryHandleShortcutOverrideEvent(QWindow *w, QKeyEvent *ev) function failed to record the modifier state (contrary to the other overloads). Change-Id: Ia0fc5d1ff486aa5aac7e25b41acb972dcb6dbf7d Task-number: QTBUG-47122 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* | | Doc: Update obsolete URLs to external documentationTopi Reinio2015-10-021-1/+1
|/ / | | | | | | | | | | | | Change-Id: I199de83971701c14e903e712fcdcd29aaff95c6d Task-number: QTBUG-48420 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* | Fix missing "We mean it" in qtbase private headersThiago Macieira2015-10-012-0/+22
| | | | | | | | | | Change-Id: I42e7ef1a481840699a8dffff1408dfd4fd9c8e32 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Clean up cancel operation handling on OS XTor Arne Vestbø2015-09-273-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic for handling cancel operations was spread out through the code base and sometimes hard-coded to only include the Escape key shortcut, missing the Command+. shortcut. We now intercept both attempts at cancel operations from the system through cancelOperation, which we forward as normal key events. A new QKeySequence::StandardKey has been added for the Cancel sequence, which maps to Escape on all platforms, and Command+. in addition for OS X. The hard-coded logic in QWidget and subclasses for dealing with closing the dialogs has been replaced with this key sequence, which allows clients to override the behavior. Note that the widget code is not wrapped in checks for QT_NO_SHORTCUT, as we don't care about keeping widgets building and working under that define. The logic in QCocoaWindow to bypass windowShouldClose when delivering IM events has been removed as we now handle that specific case by also forwarding Escape as a cancel operation. Task-number: QTBUG-47557 Task-number: QTBUG-45771 Task-number: QTBUG-44076 Change-Id: Ibe0b3a4819f8659d246a2142dd7d9cd3a826ef78 Reviewed-by: Tim Blechmann <tim@klingt.org> Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Work around GCC thinking that a variable could be clobbered by longjmpThiago Macieira2015-09-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | It can't be. The block in which the variable "s" exists makes no call to any function that takes the setjmp buffer. This is not a false positive warning: it's an incorrect warning. qjpeghandler.cpp:878:6: error: variable ‘s’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered] Change-Id: I42e7ef1a481840699a8dffff140681a3d7e34493 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Doc: fixed links to qmake documentationNico Vertriest2015-09-252-2/+3
| | | | | | | | | | | | | | Task-number: QTBUG-43810 Change-Id: I56676d6f6f95ed79bd1719404b4e48c26490eea6 Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* | Use a power of two division factorAllan Sandfeld Jensen2015-09-241-1/+1
| | | | | | | | | | | | | | | | | | Using a power of 2 instead of power of 10 means the result of the division can be accurately represented as a floating point instead of being an approximation that could lead to rounding errors. Change-Id: I8910c06113ec6b69c60ff95d59894bfb56133186 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* | Print one warning for the new high DPI variables, not fourThiago Macieira2015-09-241-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For people with non-empty QT_MESSAGE_PATTERNS, the multiple lines would be unreadable. This is what it showed for me when starting Qt Creator: [1442136.587] qtcreator(82762 82762)(?libQt5Gui.so.5?|QGuiApplicationPrivate::createPlatformIntegration|QGuiApplicationPrivate::createEventDispatcher|QCoreApplication::init|QCoreApplication::QCoreApplication|QGuiApplication::QGuiApplication|QApplication::QApplication|?qtcreator?|?qtcreator?|__libc_start_main): Warning: QT_DEVICE_PIXEL_RATIO is deprecated. Instead use: [1442136.592] qtcreator(82762 82762)(?libQt5Gui.so.5?|QGuiApplicationPrivate::createPlatformIntegration|QGuiApplicationPrivate::createEventDispatcher|QCoreApplication::init|QCoreApplication::QCoreApplication|QGuiApplication::QGuiApplication|QApplication::QApplication|?qtcreator?|?qtcreator?|__libc_start_main): QT_AUTO_SCREEN_SCALE_FACTOR to enable platform plugin controlled per-screen factors. [1442136.592] qtcreator(82762 82762)(?libQt5Gui.so.5?|QGuiApplicationPrivate::createPlatformIntegration|QGuiApplicationPrivate::createEventDispatcher|QCoreApplication::init|QCoreApplication::QCoreApplication|QGuiApplication::QGuiApplication|QApplication::QApplication|?qtcreator?|?qtcreator?|__libc_start_main): QT_SCREEN_SCALE_FACTORS to set per-screen factors. [1442136.593] qtcreator(82762 82762)(?libQt5Gui.so.5?|QGuiApplicationPrivate::createPlatformIntegration|QGuiApplicationPrivate::createEventDispatcher|QCoreApplication::init|QCoreApplication::QCoreApplication|QGuiApplication::QGuiApplication|QApplication::QApplication|?qtcreator?|?qtcreator?|__libc_start_main): QT_SCALE_FACTOR to set the application global scale factor. (and imagine it line-broken in a terminal 140 columns wide) Change-Id: I42e7ef1a481840699a8dffff1406f73dc4d44a41 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Fix up QOpenGLWidget transparency supportLaszlo Agocs2015-09-241-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The glColorMask call was troublesome. In addition, the Qt::WA_TranslucentBackground was misinterpreted and recommended misleadingly in the documentation. The hellogl2 example's --transparent argument was disfunctional in practice. Replace glColorMask with glBlendFuncSeparate. The hellogl2 example and the docs are now corrected wrt enabling semi-transparency in a QOpenGLWidget that is not a top-level (which is the most common case). Task-number: QTBUG-47276 Change-Id: I6f40e732d455f5efcf158649ac9a52ff9f240e85 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Guard against empty keys in QPlatformInputContextFactory::create().Friedemann Kleint2015-09-241-7/+9
| | | | | | | | | | | | | | | | | | | | | | The code relied on QStringList::split() returning a list consisting of one empty string when passing an enpty string. Add a check to prevent the plugin loader from trying to load in this case. Change-Id: Iadb418d32fdea1d472d6c00726ad039b4afbf409 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Deliver mouse press and release events on X11 also when draggingUlf Hermann2015-09-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We generally assume that for every mouse press we also get a mouse release eventually. The event filter installed by QBasicDrag broke this assumption as it didn't take care of filtering mouse press and mouse release events symmetrically. We cannot immediately pass on the release event as that would mean a release event is generated from a press event (via the blocking drag call), which breaks assumptions in other places. Change-Id: If7e48c7dc0ef5265bed4f9a9366a7606ec875d93 Task-number: QTBUG-46361 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
* | Synchronize QInputDeviceManager touch device count with QTouchDeviceRomain Pokrzywka2015-09-234-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | This ensures that the values and signals reported by QInputDeviceManager for touch devices always have corresponding entries in the list returned by QTouchDevice::devices(). It also adds proper QTouchDevice unregistration when the underlying input device gets removed by the evdevtouch QPA plugin. Change-Id: I7bdf2f7435c775d15bddce8ba1e731afdc1d948a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Implement sessionId/key generation on WindowsSamuel Gaist2015-09-221-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sessionId and sessionKey generation on Windows was lost in the transition of Qt 4 to Qt 5. During the reimplementation of the QSessionManagement feature, that part has been missed. This patch fixes that. Based on Qt 4 [ChangeLog][QtGui][Windows] Fixed a regression where both sessionId/sessionKey were empty Task-number: QTBUG-47690 Change-Id: I17b5fbee9d0979d292d30b94b3a2cc3107fc54fd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | QFontEngine: Read minimum left and right glyph bearings from 'hhea' tableTor Arne Vestbø2015-09-221-19/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This table has values precomputed based on every single glyph in the font, not just the subset we use as a fallback, which should improve both performance and correctness. The fallback codepath of computing the minimum values based on a subset of the characters in the font is left in, as we still need that for bitmap fonts, and some font tables that have invalid values. Change-Id: I71aac1e09c9f9de80446b023ba15a9e2afe7d226 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Null out QOpenGLContext::screen upon screen disconnectLaszlo Agocs2015-09-223-2/+18
| | | | | | | | | | | | | | | | | | Returning a dangling pointer is no good. Do what QOffscreenSurface does: just null it out. Task-number: QTBUG-42803 Change-Id: I01a6db9ae8974a1c78157ebc67097c8dac3a6b6e Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Reorganize the bits for the CPU feature detectionThiago Macieira2015-09-221-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of trying to detect one bit and set another, let's just use the bits from the x86 CPUID instruction on x86. This makes use of the full 64-bit space now. Since MSVC doesn't like enums bigger than 32-bit, we have to store the bit number instead of the actual bit value in the constant. For that reason, I also renamed the constants, to catch anyone who was using them directly, instead of through qCpuHasFeature. Change-Id: Ib306f8f647014b399b87ffff13f1d587692d827a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Ensure the accepted state of mouse events is passed to QWindowSystemInterface.Friedemann Kleint2015-09-221-0/+1
| | | | | | | | | | | | | | | | | | | | On Windows, Qt needs to return false in case it does not handle the "extra" buttons (like WM_XBUTTONDOWN) which causes Windows to send the corresponding WM_APPCOMMAND message (like APPCOMMAND_BROWSER_FORWARD). Task-number: QTBUG-48117 Change-Id: I093cd2d8205a39c3a042dd8a0d19c7229003761f Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
* | Set the source for a detached mouse button eventAlexander Volkov2015-09-211-1/+1
| | | | | | | | | | | | | | | | | | | | If a mouse event from the window system changes both position and buttons at the same time, then it's split by QGuiApplication into a mouse move event followed by a mouse button event. Propagate the source of the original mouse event to the mouse button event. Change-Id: I075fb4ad9e4338bf8ec170630ce270b38d8682d9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | QPlatformWindow: Extract static method for closestAcceptableGeometry().Friedemann Kleint2015-09-212-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Windows, some messages occur before a QPlatformWindow is actually created, for example WM_WINDOWPOSCHANGING, which is handled in QWindowsWindow::handleGeometryChangingMessage(). Extract a static function QPlatformWindow::closestAcceptableGeometry() from QPlatformWindow::windowClosestAcceptableGeometry() and use that in QWindowsWindow::handleGeometryChangingMessage(). This fixes a regression crash occurring in Qt 5.6 when running the example from QTBUG-48201. Task-number: QTBUG-36220 Task-number: QTBUG-48201 Task-number: QTBUG-46615 Change-Id: I86b8f923447c8e447382427cf5795628ef1c9717 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Fix build error with ICC 16 on WindowsThiago Macieira2015-09-212-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | This is a repeat of acf80b9a2b913e898ed4c4ed14d4ea79401484fe, but this time it appears ICC 15 works and ICC 16 doesn't. ICC doesn't like polymorphic, exported classes with inline constructors. qsvgiconengine.obj : error LNK2001: unresolved external symbol "const QIconEngine::`vftable'" (??_7QIconEngine@@6B@) Task-number: QTBUG-48062 Change-Id: I82493c0f52084e0588352cd0c26e1293b0727242 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Serialize the capitalization value of QFontAndy Shaw2015-09-151-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By serializing the capitalization value of QFont, it ensures that it is correctly preserved when QPicture streams it and later plays it back. Subsequently the QDataStream version has been bumped up to account for the change of the data format for serializing QFont. [ChangeLog][QtGui][QFont] QFont now serializes the capitalization setting. [ChangeLog][Important Behavior Changes] QDataStream version bumped up to 17 to account for changes in the serialization of QFont. Task-number: QTBUG-15214 Change-Id: I042680760e5a69d18d41e786b7500a3eebbe562f Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* | Document QGuiApplication::primaryScreen propertyAleix Pol2015-09-151-18/+13
| | | | | | | | | | | | | | | | | | It was just documented as a method and signal so far, even though it already was a property. This patch merges both documentations into one. Change-Id: I3fb4090b773ba8762ad9e830303812887b75add3 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | QImage: Inline constScanLine call in pixel()Ulf Hermann2015-09-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Calling constScanLine() is an extra function call, just for doing "data + y * width". Also, we are checking d again, even though we already know it's there. The constScanLine() call is responsible for up to 15% of the total CPU time spent in pixel(). Change-Id: Ia7a8e0a6d62fb257d1b22d91f062b66e9cfd349a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | QImage: Use d->height directly for checking dimensions on pixel()Ulf Hermann2015-09-111-1/+1
| | | | | | | | | | | | | | | | | | Calling height() causes an additional function call and check for d which sums up to more than 25% of the total CPU cost of pixel() if the format is simple. Change-Id: I449a3a17dc031e607e40dc1577a5553e7490de76 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Fix qdoc warnings of QRgba64.Friedemann Kleint2015-09-111-1/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | qtbase/src/gui/painting/qrgba64.h:107: warning: No documentation for 'QRgba64::isOpaque()' qtbase/src/gui/painting/qrgba64.h:112: warning: No documentation for 'QRgba64::isTransparent()' qtbase/src/gui/painting/qrgba64.h:121: warning: No documentation for 'QRgba64::setAlpha()' qtbase/src/gui/painting/qrgba64.h:119: warning: No documentation for 'QRgba64::setBlue()' qtbase/src/gui/painting/qrgba64.h:118: warning: No documentation for 'QRgba64::setGreen()' qtbase/src/gui/painting/qrgba64.h:117: warning: No documentation for 'QRgba64::setRed()' qtbase/src/gui/painting/qrgba64.h:163: warning: No documentation for 'QRgba64::operator=()' Change-Id: Ic6f6a8415b8ad33917e460737824fc8856776de1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Fix some doc warnings.Friedemann Kleint2015-09-111-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qtbase/src/gui/text/qzip.cpp:797:warn:Cannot find 'FileInfo::d' specified with '\variable' in any header file qtbase/src/opengl/doc/src/qtopengl-index.qdoc:28:warn:Can't link to 'Qt Gui' qtbase/src/opengl/doc/src/qtopengl-module.qdoc:28:warn:Can't link to 'Qt Gui' qtbase/src/widgets/widgets/qcombobox.cpp:3033:warn:Cannot find base function for '\reimp' in showPopupFromMouseEvent() qtbase/src/corelib/plugin/quuid.cpp:849: warning: Can't link to 'variant()' qtbase/src/corelib/plugin/quuid.cpp:863: warning: Can't link to 'variant()' qtbase/src/widgets/dialogs/qsidebar.cpp:72: warning: Cannot find base function for '\reimp' in mimeTypes() qtbase/src/widgets/dialogs/qsidebar.cpp:80: warning: Cannot find base function for '\reimp' in flags() qtbase/src/widgets/dialogs/qsidebar.cpp:98: warning: Cannot find base function for '\reimp' in mimeData() qtbase/src/widgets/dialogs/qsidebar.cpp:134: warning: Cannot find base function for '\reimp' in dropMimeData() qtbase/src/widgets/dialogs/qsidebar.cpp:151: warning: Cannot find base function for '\reimp' in setData() Change-Id: I39d6494eb8179f0f7532f99458736fa5e30cdc25 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
* | Update QPA handleExtendedKeyEvent to return the accepted state of the eventTor Arne Vestbø2015-09-102-6/+6
| | | | | | | | | | | | Change-Id: Ie85a4e987eb069d4dd0dbd39860f299a7204b585 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Deduplicate some code in QWindowSystemInterfaceTor Arne Vestbø2015-09-091-41/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | 66050f2a changed a few exported functions used by testlib so that they sent events synchronously, by calling QGuiApp processWindowSystemEvent directly. The same effect can be achieved by setting setSynchronousWindowSystemEvents to true before calling the normal QPA functions. Change-Id: Id4c67f7d315a5607885c738ca54516434125b24e Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Notify when the primary screen changesAleix Pol2015-09-085-2/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | Makes it possible to notify that the QGuiApplication::primaryScreen has changed. XCB backend adopts the new API, as it was accessing QGuiApplication private API directly. Change-Id: Icde05c44138265f865fa42d2cd6974c552fdc5e2 Task-number: QTBUG-38404 Task-number: QTBUG-40659 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* | Fix some qdoc warnings.Friedemann Kleint2015-09-072-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qtbase/src/corelib/io/qdebug.cpp:698: warning: Class QDebugStateSaver has no \inmodule command; using project name by default: QtCore qtbase/src/gui/opengl/qopenglframebufferobject.cpp:1138: warning: Can't link to 'takeTextures()' qtbase/src/gui/opengl/qopenglframebufferobject.cpp:1159: warning: Can't link to 'takeTextures()' qtbase/src/gui/opengl/qopenglframebufferobject.cpp:953: warning: No such parameter 'height' in QOpenGLFramebufferObject::addColorAttachment() qtbase/src/gui/opengl/qopenglframebufferobject.cpp:953: warning: No such parameter 'width' in QOpenGLFramebufferObject::addColorAttachment() qtbase/src/gui/opengl/qopenglframebufferobject.cpp:953: warning: Undocumented parameter 'size' in QOpenGLFramebufferObject::addColorAttachment() qtbase/src/gui/painting/qpaintdevice.qdoc:80: warning: Undocumented enum item 'PdmDevicePixelRatioScaled' in QPaintDevice::PaintDeviceMetric qtbase/src/testlib/qbenchmarkmetric.cpp:154: warning: Invalid use of '\relates' (already a member of 'QTest') qtbase/src/testlib/qbenchmarkmetric.cpp:81: warning: Invalid use of '\relates' (already a member of 'QTest') qtbase/src/widgets/dialogs/qdialog.cpp:152: warning: Can't link to 'QCloseEvent::ignore()' qtbase/src/widgets/dialogs/qdialog.cpp:557: warning: Can't link to 'QApplication::quit()' qtbase/src/widgets/kernel/qwidget.cpp:8326: warning: Can't link to 'QCloseEvent::accept()' qtbase/src/widgets/kernel/qwidget.cpp:8326: warning: Can't link to 'QCloseEvent::ignore()' qtbase/src/widgets/kernel/qwidget.cpp:9300: warning: Can't link to 'QWheelEvent::accept()' qtbase/src/widgets/kernel/qwidget.cpp:9300: warning: Can't link to 'QWheelEvent::ignore()' qtbase/src/widgets/kernel/qwidget.cpp:9321: warning: Can't link to 'QTabletEvent::accept()' qtbase/src/widgets/kernel/qwidget.cpp:9321: warning: Can't link to 'QTabletEvent::ignore()' qtbase/src/widgets/kernel/qwidget.cpp:9373: warning: Can't link to 'QKeyEvent::ignore()' Change-Id: I97ae85398181645c1054c303e5c8a87deb619409 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Move min left/right bearing calculations to QFontEngine baseclassTor Arne Vestbø2015-09-026-64/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic used in the FreeType font engine can be generalized and move to the QFontEngine baseclass. This allows the CoreText font engine to correctly report the minimum left/right bearings, which decreases the chance that an optimization in QTextLayout's line breaking algorithm will produce wrong results. The calculation of left and right bearing has been moved to the glyph_metrics_t type to reduce code duplication. This allows us to use the with and height of the bounding box to determine if the glyph has any contours. Change-Id: I864697d3f31ed56f22f04666199b6c5023c5e585 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Declare StandardButton & ButtonRole types for cross-thread use.Samuel Nevala2015-08-312-0/+7
| | | | | | | | | | | | | | | | | | | | On windows phone native dialog interaction is handled from XMAL thread. Declare and register dialog helpers StandardButton and ButtonRole for cross-thread usage. Change-Id: Ic1842a5af8a1122fdffb766b4f723d272bdbcac2 Task-Id: QTBUG-47941 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* | Document handleWindowSystemEvent()Morten Johan Sørvig2015-08-271-0/+13
| | | | | | | | | | | | | | Document asynchronous and synchronous mode behavior. Change-Id: I2dc1256af5b3a8014025c89c65d41480f18f0701 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | Implement threaded synchronous WS eventsMorten Johan Sørvig2015-08-272-8/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Make handleWindowSystemEvent() support being called from secondary threads in synchronousWindowSystemEvent mode. This is implemented by posting the event to the Gui event queue (which will wake the Qt Gui thread), and then calling flushWindowSystemEvents which will block the calling thread until the event has been processed. Change-Id: I7e8e68c1e0290c17105563268e316b0f8205b3ce Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | Make flushWindowSystemEvents return ev. acceptedMorten Johan Sørvig2015-08-273-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | flushWindowSystemEvents() now returns whether the most recent event added to the queue was accepted by Qt or not. Use QAtomicInt to store the accepted state in order to avoid a data race on it between the Gui thread and the event poster thread. Change-Id: I6c111fdaecda5c514307ca0749a54075fe8e872f Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6Simon Hausmann2015-08-2712-120/+267
|\ \