summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Return if header is 0.Frederik Gladhorn2012-10-041-0/+2
| | | | | | | QT-BUG: 184868 Change-Id: Iff041c66fdfb2267e0349bdd47fec0fe63b1799d Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Show widget cursor after restoring last override cursorMiikka Heikkinen2012-10-042-9/+17
| | | | | | | | | | | | | | | | qwidget_qpa.cpp was setting cursor directly to platform window, so QWindow didn't actually know what cursor was supposed to be shown. Since QWindow now supports setting cursor and has override cursor handling there, set cursor via QWindow instead of platform window. Also changed QGuiApplication override cursor handling so that it will query the cursor from QWindow if there is no override cursor. With these changes, widget's custom cursor will be properly shown when final override cursor is restored. Task-number: QTBUG-24674 Change-Id: I2d2bb1027779256f9d6de560b6533f45e205ffe9 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Accessibility: For app claim support for app iface.Frederik Gladhorn2012-10-031-0/+2
| | | | | Change-Id: Idb7f5971d61885f18d827f6bff3994df7a3860e5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Implement action de-marshalling.Frederik Gladhorn2012-10-031-2/+5
| | | | | Change-Id: Ie9ae85298fad6217f9f50a018fbba50f028deba2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Check for valid model and view in isValid for TableCells.Frederik Gladhorn2012-10-031-2/+3
| | | | | Change-Id: Iadca5503ed2a1d6411d46ed6fe9d5b9a56461a3a Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Make accessibility debug output optional.Frederik Gladhorn2012-10-034-57/+64
| | | | | | | | | On linux with the new plugin debug output was a bit too generous. Instead use environment var: If QT_DEBUG_ACCESSIBILITY is set, give the full a11y output. Change-Id: I1c9e2078e38799f91468cfc2d9ddcaa36ba4fa03 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Mac: QComboBox wouldn't receive mouse events when shown within a modal dialogGabriel de Dietrich2012-10-031-0/+4
| | | | | | | | | | The mouse events were being stolen by the modal dialog, preventing the combo box to update itself. Key events were being properly forwarded, but this was probably due to the different way key events are being delivered. Change-Id: I5bfc4800fad9fd4122a212e6fdec13811a7e647b Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix for integer overflow in QString::replaceChristian Strømme2012-10-031-1/+5
| | | | | | | Task-number: QTBUG-22967 Change-Id: I604e6a725d46eab4c4369ebb54e8c9ea1350f492 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* OpenGL: Don't request a context version higher than is supportedSean Harmer2012-10-0310-68/+300
| | | | | | | | | | | | | | | The function wglCreateContextAttribsARB will fail if we request a context version higher than is supported. We therefore upper-bound the requested version by the version of the static context. This results in context creation succeeding and having the closest possible match to the requested format. The xcb qpa plugin is modified to operate similarly to the windows plugin in that it now creates a "static" context which is used to limit the versions of contexts requested by the user. Change-Id: I277ad7cc82edfdf7b9d8502ad921c8175feb1a4a Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix issue with mispositioned family name i QFontComboBoxEskil Abrahamsen Blomfeldt2012-10-031-1/+12
| | | | | | | | | | | | | | | | | | | | | | | Mac OS X 10.7 comes with the family of Stix fonts, some of which exposed an ugly layout bug in the QFontComboBox because the ascent/descent ratio is very large due to a very high ascent, so centering the text vertically might cause most of the text to be clipped away. The solution is to detect when the ascent is larger than the height of the destination rectangle (hence a large part of the characters will be clipped) and use the actual bounding rect for centralizing instead. Since this only happens for a very few of the fonts, the overhead of getting the bounding rect should be tolerable. This is a port of 4679c6901fc7c388fdf6c022d3499708222ef1f1 from Qt 4.8. Task-number: QTBUG-26691 Change-Id: Ia2014775e5baf0568df3290f2dc4ad64fb5a74bd Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Fix QTextBoundaryFinder assignment operatorKonstantin Ritt2012-10-031-6/+15
| | | | | | | for the case when the boundary finder is assigned to an invalid one. Change-Id: I5b60984ff3fd99972fcae21895684bd83b012780 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Introducing the PlatformPanel event type.Sergio Martins2012-10-038-4/+48
| | | | | | | | | | | | | | | | | This event can be used by any platform plugin to implement special application panels/overlayed menus. Currently used by QNX only. This replaces sending fake Qt::Key_Menu presses in the QNX plugin. Qt::Key_Menu is already used when invoking context menus with the keyboard. Change-Id: I9c8f1743fd147a07c11883323800017376915ae1 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Change Q_ASSERT to warnings and returns for the menu classesAndy Shaw2012-10-033-10/+42
| | | | | | | | | | | On Mac usually release frameworks are used during development so asserts don't tend to get fired. Since the menu code did not crash in Qt 4.8, it was decided that we should ensure that the same code does not crash now so instead we warn instead of asserting for those cases. Change-Id: I923e5591202cb2ad801074ce3ad2a11d7190cee8 Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Overhaul a little the QUrl error reporting.Thiago Macieira2012-10-021-95/+173
| | | | | | | | | | | | | | | | | | | | | | Keep the original QString that triggered the parsing error, instead of just one QChar. This provides more powerful error messages, like: Invalid IPv6 address; source was "http://[:::]"; scheme = "http", host = "" (QUrl cannot keep invalid hostnames) Invalid port or port number out of range; source was "http://example.com:abc"; scheme = "http", host = "example.com" (QUrl cannot keep a non-numeric port number) Invalid path (character '%' not permitted); source was "foo:/path%?"; scheme = "foo", path = "/path%25%1F" (the tolerant parser runs first, so the faulty component is fixed) This stores the error state in a special structure which is not allocated under normal conditions, keeping the memory consumption down. On 32-bit systems, QUrlPrivate does not increase in size; on 64-bit systems, it grows by 8 bytes. Change-Id: I93d798d43401dfeb9fca7b6eed7ea758da10136b Reviewed-by: David Faure <faure@kde.org>
* Update some error messages in QUrl::errorString()Thiago Macieira2012-10-021-2/+3
| | | | | | | | | Make both invalid hostname messages start with "Invalid hostname". And split the empty port error from the invalid port one. Change-Id: I870d1ed6fb07ec494f553871a37ed167141ffc06 Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Add Q_UNREACHABLE / Q_ASSERT to two conditions that can't happenThiago Macieira2012-10-021-1/+7
| | | | | | | | Just so the code generation is a little better. Change-Id: I2a43a4df0ae67900c465a6c2b4f2b8ba284dbbaa Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: David Faure <faure@kde.org>
* Move QUrlPrivate to qurl.cpp and mark all methods as inlineThiago Macieira2012-10-022-126/+125
| | | | | | | | | | They're never accessed outside of qurl.cpp anyway, so let the compiler know that it doesn't need to generate a full out-of-line copy for them in case it does inlining. Change-Id: I2be069b3fd2658eff9ad3023c21c8ae653c389ab Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: David Faure <faure@kde.org>
* Change QUrlPrivate::setAuthority to return voidThiago Macieira2012-10-022-4/+4
| | | | | | | | | | | | | It used to return bool because setHost returns bool and, therefore, setAuthority could fail. However, the return value is never checked, in either parse() or QUrl::setAuthority(), because there's no error recovery. This is a small optimisation. Change-Id: I25660d66cfad64ca5b9706cc38afa0e97ba3ee0b Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: David Faure <faure@kde.org>
* Remove the annoying qWarning when QUrl::setPort is out of rangeThiago Macieira2012-10-021-1/+0
| | | | | | | | | | That's what we have QUrl::errorString() for. This will become evident especially now that QUrl::toString() / toEncoded() return empty if there are errors. Change-Id: I64a84e9c6ee57c0fc38cc0c58f5286ddc1248d1f Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: David Faure <faure@kde.org>
* Update QUrlPrivate::setScheme: EmptySchemeError never happensThiago Macieira2012-10-022-8/+5
| | | | | | | | | | | | | | | As the comment says, an empty scheme is not permitted. However, if that error were to happen, QUrl falls back to parsing the URI as an "URI reference", starting with the path. E.g., ":/foo" is a path of ":/foo", which will in turn trigger the compound "colon before slash" error. Also, we don't percent-decode in the scheme. Change-Id: I438a61e17323c7722ddcc64792577a9ecb869c4b Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: David Faure <faure@kde.org>
* Make QUrl::errorString() usable for QtTest output in invalid URLsThiago Macieira2012-10-022-21/+56
| | | | | | | | | If an URL is invalid, let's indicate that in the test output. To be helpful, let's make QUrl::errorString() include the component form of the URL. Change-Id: Iaafe16973ded79c7ea688fbb23808d91253e8c14 Reviewed-by: David Faure <faure@kde.org>
* Make QUrl::toString() / toEncoded() return empty for invalid URLsThiago Macieira2012-10-021-5/+4
| | | | | Change-Id: I6ebb4ad2901a9bacb09fb81082202f37ebbc2e97 Reviewed-by: David Faure <faure@kde.org>
* Add two compound URL invalidity cases for isValid()Thiago Macieira2012-10-022-13/+59
| | | | | | | | | | | | | | These two errors can only happen if one calls setPath() explicitly. They cannot happen for parsed URLs, which is why they are only caught with isValid(). It's not possible to set the error condition in setPath() either because they depend on the presence / absence of the authority and scheme. Also update all the unit tests that set a path not starting with a slash and were just "freeloaders" on the previous behaviour. Change-Id: Ice58cd4589a850452d7573a5b19667bbab2fb43e Reviewed-by: David Faure <faure@kde.org>
* Fix DIB image reading.Friedemann Kleint2012-10-021-1/+4
| | | | | | | | | Position the QIODevice correctly for DIB (==BMP without file header). Task-number: QTBUG-26690 Change-Id: I7922b4e830a92dcc19f1b52e305ca9ff3fd5d9f5 Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
* fix #includesMark Brand2012-10-021-1/+2
| | | | | | Change-Id: Ia33d7ef08e43bad95d57823e37757a09e53493b9 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Remove Cleanlooks as a dependency of QGtkStyleJens Bache-Wiig2012-10-025-96/+694
| | | | | | | | | | | | | Since we no longer do the sanity checking against gtk-qt-theme at startup, there is no longer any need to inherit from cleanlooks. Cleanlooks should no longer be needed as it has been completely replaced by Gtk style and this dependency is not required at this point. Change-Id: I05b59278cd3ff915df49a7ad2d04494258db0d42 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Set CWD when launched from Finder.Morten Johan Sorvig2012-10-022-1/+17
| | | | | | | | | | | Like Qt 4. Use the presence of the "-psn_" command- line argument to detect Finder launches. Link QtGui against the Cocoa framework due to CFBundle usage. Change-Id: I947ae53462072fbdb23afcc0a13ce6b26d02c191 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Cocoa: add missing auto release poolsRichard Moe Gustavsen2012-10-021-0/+4
| | | | | | | | Got complaints while running file dialog example. Adding in the release pools will fix the problem. Change-Id: Ib33fddd5aedfc3e4aaa6fdd8995bbc8c8098267c Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Cocoa: bugfix staysOnTopFlag in combination with transient parentRichard Moe Gustavsen2012-10-021-15/+8
| | | | | | | | | | | | | | | A staysOnTop window with a parent would never stay on top. The reason was that we placed the window on the same level as the parent, which would undermine the staysOnTop flag. The fix for this is to always level the window to _at least_ as the same level as the parent, but never lower. A code path for this already existed in the windowLevel function for popups. so we factor that out and use it for all cases. Task-number: QTBUG-27410 Change-Id: I0c30194be33703f54b6c2fe7f3088a9febcd1e2c Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix a crash with xcb on 64bit systems when hitting any key.Jocelyn Turcotte2012-10-024-38/+138
| | | | | | | | | | | | | | | | xcb uses 32bits for xcb_keysym_t, but Xlib uses 64bit longs on 64bits systems for KeySym and all other XIDs on the client side. Passing an xcb_keysym_t* to XLookupString, expecting a KeySym*, would overwrite the next 32bits in memory and possibly cause a crash. This patch makes sure that a KeySym* is passed to XLookupString, and use the signature declared in Xutil.h to make sure the types are right. Encapsulate it in qxlibconvenience.cpp since including Xutil.h inside qxcbkeyboard.cpp causes macro expansion problems. Change-Id: I68451a24cb44a43dfa4382b5dce1ea7845f14e26 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Laszlo Papp <lpapp@kde.org>
* Stop delivering messages when drop has occurred.Gatis Paeglis2012-10-022-1/+7
| | | | | | | Task-number: QTBUG-27406 Change-Id: If14c108060ad6de70991658f0e0249eb544b87a0 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Retrieve drop data with a proper timestampGatis Paeglis2012-10-024-4/+8
| | | | | | | | | | | Occasionally drag-and-drop was returning empty mimedata due to using wrong value for timestamp. Accoring to the xdnd specification we must use timestamp from XdndPosition or XdndDroptime for retrieving the data. Task-number: QTBUG-27367 Change-Id: Iadb6b6989cfc4e8ab241e2fd0ded59355108f22f Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Ensure that QDrag is set correctly at all times.Gatis Paeglis2012-10-021-5/+7
| | | | | | | | | | | | | This patch fixes broken code in handleSelectionRequest(). There are 2 cases when this function is called: 1) When XdndDrop has arrived (on mouse release) 2) When drop has not occurred yet (while mouse are still pressed down) Second case was not working due to this bug. Task-number: QTBUG-27405 Change-Id: I913cfd332128a28861e2fcc027b406eb821d2597 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fixed xdnd protocol-version detection codeGatis Paeglis2012-10-021-3/+3
| | | | | | | | | | | Bug introduced when porting from Xlib to xcb. Xcb returns actual number of bytes read while Xlib returns number of 8-bit, 16-bit, or 32-bit items stored in the returned data. Task-number: QTBUG-27403 Change-Id: Ia64da1953ec7be8d32cc591565cd1b41ce8d7dbb Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Don't let mimeData return 0.Gatis Paeglis2012-10-021-12/+25
| | | | | | | | | Fixes bug introduced in SHA e247e2810 (QTBUG-26709). Change-Id: I9aa80239675b2d564d08a019ca267a9aa814074e Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix filter regular expression for native Windows file dialog.Friedemann Kleint2012-10-021-1/+1
| | | | | | | Task-number: QTBUG-26986 Change-Id: Idbbaca4ea4fc298c50a30671c48b597ac38d3308 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* OpenGL: Propagate version and profile from QSurfaceFormat to QGLFormatSean Harmer2012-10-021-0/+2
| | | | | Change-Id: I386ec75c429f58309527532bb160679ea51e6ccc Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Forward the layout change hint through QSortFilterProxyModel.Stephen Kelly2012-10-022-20/+20
| | | | | Change-Id: Ic9ae7f011f63c4a53fec4d9425ac6cd6776153ee Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Fixed text drawing in OpenGL 2 paint engine.Samuel Rødal2012-10-022-4/+4
| | | | | | | | | Regressions introduced in 8d762c9caea4f8b9ff589b6c23564f4e37242745 and f4c1c2f939e1cd6e08197284edb84b202cd6749e. Task-number: QTBUG-24453 Change-Id: Ib1cb05693cde2d6066476a350eb95eaa503ee53c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Rename createLocalFile to createNativeFile & deprecate createLocalFileAndy Shaw2012-10-022-10/+41
| | | | | | | | | | | | | | | | | | As it was confusing to use the term local file when referring to a file that was accessible using native APIs and not just a file that was on a hard disk somewhere already the function name has been changed. By renaming it to createNativeFile we keep it consistant with QFileInfo which has an isNativeFile() function too. Test also added. Task-number: QTBUG-3169 Change-Id: I410e7ed28133d68fd312c6c0faf3f7191460d7ce Reviewed-by: João Abecasis <joao@abecasis.name> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix QWidget::setWindowFilePath on Mac OSJoerg Bornemann2012-10-025-3/+25
| | | | | | | | Task-number: QTBUG-27299 Change-Id: I4dddbb9690aac327ad33477d8cea9afa84d10eb3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QWindow::setWindowFilePath addedJoerg Bornemann2012-10-025-0/+32
| | | | | | | | | | | | QWindow::setWindowFilePath sets the file path of the document that is currently represented by the window. The window system might display it in the window's title bar along with an icon matching the file type. Task-number: QTBUG-27299 Change-Id: I8f620d1262fc0b4cd16884198b16853b73ce3b1f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QWindowsPipeReader: use CancelIoEx on Windows >= VistaJoerg Bornemann2012-10-021-1/+16
| | | | | | | | This cancels only the I/O operation of the reader and not all operations on the handle. Change-Id: Ie442199534cf45e58bb2e053da9fecee961a460e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QWinOverlappedIoNotifier: multiple I/O operations on the same handleJoerg Bornemann2012-10-024-34/+64
| | | | | | | | | | | | | When doing multiple I/O operations on the same handle, we get notified for every operations. These must be distinguished by comparing the pointer to the OVERLAPPED struct. We now pass the OVERLAPPED pointer via the notified signal and let the receiver decide if it wants to handle this notification. Change-Id: I4efe70f39c6ae5282b949f2f4b21f6e7dd3df785 Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QNX: Also support input method hints from QtQuick elementsThomas McGuire2012-10-011-1/+1
| | | | | | | | | Turns out some QtQuick elements have the "inputMethodHints" property as well, so don't only accept input hints for widgets. Change-Id: I81a14be20cdca7d993dc88e8e252ecdfde8eb4ea Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Document QPA implementation aspects.Friedemann Kleint2012-10-011-0/+31
| | | | | Change-Id: I4fef8a534b145efa9655a9070f790bf9aba030d9 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fixed Qt GUI landing page.Samuel Rødal2012-10-011-11/+26
| | | | | Change-Id: I9af2ed12e27c00060a6bcc6262064ee95295a8a8 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QXcbWindow: Don't recreate window when reparenting.Yoann Lopes2012-10-011-3/+0
| | | | | | | | | | | | For consistency, this behavior has been kept across Qt versions... Just get rid of it. Also fixes native child widgets not being notified of the change of window handle (winId) when being reparented. Updated auto-test. Change-Id: I3616dc0f1c32a519d78a4846297d6d4a6e926fbf Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix moc stumbling over gcc __attribute__ extensionsSimon Hausmann2012-10-011-0/+8
| | | | | | | | | | | | | | | | | Reported by David Faure. In KDE a DEPRECATED macro gets defined in a header file created by cmake. The define is not guarded with #if Q_CC_GNU or similar because at cmake time the compiler is determined. Therefore moc suddenly sees this gcc specific token and stumbles over it. This patch simply defines an empty __attribute__ macro that will expand to nothing and thus become invisible to moc's "C++ parser" after the pre-processing. Change-Id: I4448b9ac3f72b6334e32b27484401fb0fca23a0c Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fixed qglxconvenience.cpp compile for GLX 1.3.Samuel Rødal2012-10-011-1/+3
| | | | | | | | These defines are new in GLX 1.4, earlier they were ARB extensions. Task-number: QTBUG-27370 Change-Id: I83828067d106e93a3909de46a4051d492e277ba9 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>