summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Support high-dpi images.Morten Johan Sørvig2013-03-261-3/+6
| | | | | | | | | | | | When Qt::AA_UseHighDPIImages is set images and pixmaps may be of the high-dpi type. Account for this when calculating layout sizes by clamping the size or dividing by devicePixelRatio() to go from device pixels to device-independent pixels. Change-Id: I7b7f4c36ebd83d72ecdf6fbe0ae20e20ed6540bb Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Cocoa: Make retina desktop components work.Morten Johan Sørvig2013-03-261-4/+8
| | | | | | | Scale non-widget paint devices as well. Change-Id: Ic68fb166058e9b162f8baeab81196ee254f30b2e Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Allow tslib to be specified at configure time.Michael Brasser2013-03-261-0/+4
| | | | | Change-Id: I0ebf0eeea7e6a0b8136fb805f34f04082bc58c5e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Make the inline CPU detection functions also staticThiago Macieira2013-03-261-2/+2
| | | | | | | | | | | | Since qCpuHasFeature() checks the static qCompilerCpuFeatures variable and that variable's value might change depending on the compiler flags, it's best to ensure that the function is not subject to link-time merging. That would be bad if it happened when qCpuHasFeature() was used from a file with higher CPU compiler settings than the default, as it would incorrectly conclude that certain features are always available. Change-Id: I8bacde056fb89869ec1d306a163742e72522315e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Cocoa: Make touch events work again.Morten Johan Sørvig2013-03-265-0/+59
| | | | | | | | | | | | | | Bring back the ref-counted enable on enter/leave workaround we had in Qt 4: If any widget in a window sets WA_AcceptTouchEvents then that window will start processing touch events. Enabling touch events has implications for delivery of other events, for example by causing scrolling event lag. Change-Id: I307488937f417612eff624bf9892b82a7f69c1b7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Cocoa: Correct enter/leave event handling.Morten Johan Sørvig2013-03-263-4/+57
| | | | | | | | | | | | | | | | | | Make top-level windows generate enter/leave events for sub-windows. Keep track of the current "under mouse" window in mouseMoved and send EnterLeave events when it changes. mouseEntered/mouseExited handles enters and leaves from the top-level window. Add tests/manual/cocoa/nativewidgets. Task-number: QTBUG-27550 Task-number: QTBUG-29751 Change-Id: If4b9f9e0f39d9fb05fdab45a100ffdcf107965ad Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix font stretching issueKonstantin Ritt2013-03-261-2/+2
| | | | | | | | We're treating fontDef.pixelSize as a box height everywhere but in harfbuzzFont initialization code the logic was opposite. Change-Id: I4eecf7861a6084c7f2dbe1df85a71f2e251da845 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Fix a bug in QSystemLocale on BB10El Mehdi Fekari2013-03-262-18/+20
| | | | | | | | | Call qt_safe_open in the constructor to avoid opening the pps files several times. Change-Id: I1bf79284850353a47ee1fc17797cd667536e17b1 Reviewed-by: Peter Hartmann <phartmann@blackberry.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* QNX: Code cleanup: normalize 'if' macro usageRafael Roquetto2013-03-2627-41/+41
| | | | | | | | | Always use "if defined" instead of "ifdef". The same is valid for "ifndef" macros Change-Id: I8e8f65e36dc636c10b3d656ce9a89ab3a664a80b Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* QLocaleBlackberry - fix include statementsRafael Roquetto2013-03-261-3/+3
| | | | | Change-Id: Ifb5678094806e4aab19015d3a600217b4cf9ac5f Reviewed-by: David Faure <david.faure@kdab.com>
* Fix documentation of QFileSystemModel::resolveSymlinks().Sérgio Martins2013-03-261-2/+2
| | | | | | | It's Windows only, and it defaults to true. Change-Id: I82badbcae0fdba589b57a7dfe627b99ec6cc92c5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* FontConfig: Correctly report Symbol writing system supportEskil Abrahamsen Blomfeldt2013-03-261-0/+23
| | | | | | | | | | | When all the Q_WS_X11 were removed, we also removed the special case for symbol fonts in QFontDatabase for FontConfig. This was checkSymbolFont() in Qt 4, and this patch copies the code and adapts it to Qt 5. Task-number: QTBUG-30044 Change-Id: I346f208052013eae9de3c33c210bf5db1d2aef87 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Fix handling of 0x00AD code with symbol fonts (Win/QPA/QPF/fallback)Konstantin Ritt2013-03-261-0/+1
| | | | | | | | | ...by updating HB_Face::isSymbolFont value to make HB know that the font is a symbol font. U+00AD is a Unicode soft hyphen character, which shouldn't be threated like a default ignorable (invisible) when 0x00AD occurred in a symbol font. Change-Id: Idd4760aded644f7f11a1a8d3c03c348abc69a3e4 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Revert "Don't duplicate the 'top-level' include dir in all modules."Stephen Kelly2013-03-262-14/+2
| | | | | | | | | | | | | This will likely fix some odd cmake related tests in the CI. This reverts commit 316d8ececa3314ec16baf46ec4f1c5440cd951ef. Conflicts: mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in src/corelib/Qt5CoreConfigExtras.cmake.in Change-Id: Ib7714746f96bf12061d92242a42296d200c56c00 Reviewed-by: David Faure (KDE) <faure@kde.org>
* Document undefined behavior regarding Qt::ItemNeverHasChildren.Stephen Kelly2013-03-262-0/+6
| | | | | | Change-Id: I4c044b206ad6dd57f11d791d8a6a6f3f931acf4f Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* qdoc: Show signals inherited from abstract base typesMartin Smith2013-03-262-3/+4
| | | | | | | | | | | | | | | qdoc was not including QML signals in the documentation for a QML type, when the signals were inherited from a QML type that had been marked abstract. This is now fixed. Additionally, the QML type qualifier is not shown in the header for the documentation for a member of a QML type. The type qualifier was redundant information, and it was incorrect for members inherited from abstract base types. Task-number: QTBUG-30111 Change-Id: I73aef40f69a15bca6948bf36596b83800d248b1f Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Fixed shortcuts for some (e.g. Russian) layoutsCyril Oblikov2013-03-261-4/+8
| | | | | | | | | | | | If CMD modificator is active [nsevent characters] is used now to get keyCode. In this case for example English "X" is returned instead of Russian "Ч" even if Russian input source is selected. Task-number: QTBUG-30306 Change-Id: I93cd292633e68327df0c580ed74fe8ad1c9ed27d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Make QGraphicsScene::touchEventhandler ignore unhandled touch eventsMorten Johan Sørvig2013-03-261-1/+1
| | | | | | | | | This was not done in Qt 4 to play well with the QGesture implementation, and may need to be revisited if/when we bring back QGesture for Qt 5. Change-Id: I4f5f6c8a67387039e838d1ef42ecc70c455ed8a3 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Set screen position when generating synthetic mouse events from touchMorten Johan Sørvig2013-03-261-1/+1
| | | | | | | | QGraphicsView uses QMouseEvent::globalPos(), so we need to set it when synthesizing mouse events in QApplication. Change-Id: I8341e09fdd41400c5c5e1d0ee17c7323efdafaeb Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Silence warning by Apple Clang 4.2 about adding an integer to a stringThiago Macieira2013-03-261-1/+1
| | | | | | | | | | | | | | | | It gives a good suggestion on what to do and even shows us how to do it. doc.cpp:2681:34: error: adding 'int' to a string does not append to the string [-Werror,-Wstring-plus-int] result += " " + (column % tabSize); ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ doc.cpp:2681:34: note: use array indexing to silence this warning result += " " + (column % tabSize); ^ & [ ] Change-Id: Idd2157ab04cd2a3e37a1336bb5e8926ddc14823a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* QNonContiguousByteDevice: roll back complete internal state in reset()Peter Hartmann2013-03-251-0/+7
| | | | | | | | ... otherwise we would not start reading from the beginning when the device was reset. Change-Id: Ida196eb40790fba56ff2eed782fd93a3015222f9 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Clean up touch window registration.Friedemann Kleint2013-03-252-7/+16
| | | | | | | | | Stop processing for Qt::Desktop windows (which caused RegisterTouchWindow() to fail with access denied) and set a flag to cleanly unregister. Change-Id: I3d10c93ec92536d3ab1c0503f088c40b0c08a01f Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* QMdi: Don't emit subWindowActivated during StyleChange handling.David Faure2013-03-251-1/+7
| | | | | | | | | | | | | | The handling of StyleChange de-maximizes the child window temporarily, which was emitting subWindowActivated. This would crash lokalize, because deactivating a window means deleting the widgets associated with it, and style-change handling is done in QApplication by looping over QApplication::allWidgets, which would then contain dangling pointers. Full valgrind log at https://bugs.kde.org/show_bug.cgi?id=271494#c7 Change-Id: Ifb24032cde2cd470dcae7cd553ec5ab45a919dd6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* OSX: WindowTransparentForInput QNSView pass events to next responderShawn Rutledge2013-03-242-3/+39
| | | | | | | | | | | | | | | | | | | The default implementation (in the super class) passes the event to the next responder. This seems to be one valid way to handle the Qt::WindowTransparentForInput flag. So if a non-alien widget for which a native NSView is created has the flag WA_TransparentForMouseEvents, that means the window will have Qt::WindowTransparentForInput, and the NSView which is created on its behalf will pass on each event so that other NSViews have a chance to handle it. (It will also try to reject becoming first responder, but that doesn't seem to be enough for the following events to be passed on.) This is a followup to I979be9f72f7d225d7b960fc5db4c3956d2749982 which purported to obey the WindowTransparentForInput flag, but actually doesn't. Change-Id: Ia72a3573c2e3cbfa7ede70bee41ac36df6924598 Task-number: QTBUG-28816 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QHttpMultipart: reset read pointer when device is resetPeter Hartmann2013-03-241-0/+1
| | | | | | | | | | | ... otherwise we would not read from the beginning when trying to read again. The device is reset when we try to resend a request (e.g. remote host closed etc.). Change-Id: I21d3647dd0e00ae8bc2507f08166234f21f88861 Reviewed-by: Markus Goetz <markus@woboq.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* QNonContiguousByteDevice: reset() instead of seek() if possiblePeter Hartmann2013-03-241-2/+2
| | | | | | | | | ... because e.g. QHttpMultiPartIODevice does not implement seek at all (QTBUG-30295), which would make resetting such a device fail. Change-Id: I0a9c0f21047baa72146690bfdf638cdffab0e25f Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Guard usage of [NSApp setDockMenu].Morten Johan Sørvig2013-03-241-1/+4
| | | | | | | | | | | | setDockMenu is not documented an may disappear. Closest documented replacement seems to be [NSApplicationDelegate applicationDockMenu:]. It can't be used as a direct replacement since it's a "virtual" getter that the application delegate implements. Change-Id: Id161196018057b75cbe7d6f6d2610c0932345c5f Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Use [NSSavePanel directoryUrl].Morten Johan Sørvig2013-03-241-1/+1
| | | | | | | [NSSavePanel directory] is deprecated. Change-Id: I3515b565a25028dc5b7c966481707e001e44a077 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Call [m_qtView hasMask]Morten Johan Sørvig2013-03-241-1/+1
| | | | | | | | hasMask is a function on QNSView, m_contentView can be any NSView subclass. Change-Id: I88b5acbb8aad9aa4664e0f71f37add9dfa64f1b7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Remove unused variables in the Cocoa pluginMorten Johan Sørvig2013-03-242-2/+0
| | | | | Change-Id: I7cdd369e2fbab02954da6ba3c05b31d93f1e7995 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* match #ifdefs relating to arm compilationOswald Buddenhagen2013-03-241-1/+1
| | | | | | | | use the same conditional around the #include as the actual code below uses, otherwise we risk mismatches. Change-Id: I8ca32c0178b1970928626a927948b06d4c6d31b9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix access to interface in QAccessibleEventFrederik Gladhorn2013-03-231-1/+1
| | | | | | | | | Sometimes we get an invalid interface. In that case the event should just return 0. This avoids some potential crashes. Change-Id: I9f166b5d5547dbe7f22c4756502aee811b0b80a6 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* qWaitForWindow* default timeouts are 5 secondsShawn Rutledge2013-03-231-2/+2
| | | | | | | | | A widget window can be expected to show up faster, but on a busy CI machine, OpenGL windows can take longer than 1 second. Change-Id: I572cc86bf4d8beebcc565db8d6f2ff78e55c2ac0 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
* Fusion Style: draw toolbar lines for non-widget apps.Frederik Gladhorn2013-03-231-1/+1
| | | | | Change-Id: If9415cfc05f80ba4e67d9ba6a8ebb1caaa738b84 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Accessibility: Fix crash when updating in dtorFrederik Gladhorn2013-03-236-3/+25
| | | | | | | | | | | | | | This happens for example when running several tests. Widgets in destructor should be treated as invalid since their window pointer and other properties are no longer valid. When deleting a window containing only a table view there would be a table model reset update comming from the window being destroyed. Change-Id: Ia387c814333ce373fe132b189fc180787e36cdd5 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Ensure QTemporaryFile can create files when an identical dir exists.Mitch Curtis2013-03-231-1/+8
| | | | | | | | | | | | | | | | | | When QTemporaryFile attempts to create a new file in createFileFromTemplate, it fails if the filename exists and is a directory. Windows returns error code 5 (ERROR_ACCESS_DENIED) in this case - rather than ERROR_FILE_EXISTS - which is not handled. This patch handles ERROR_ACCESS_DENIED in addition to the already handled ERROR_FILE_EXISTS, meaning that QTemporaryFile will continue to look for unique names when a directory with the same name exists. Task-number: QTBUG-30058 Change-Id: I42339887d7f5483e3dc6a03a9da15111c350da8f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Accessibility: Fix crash in windowHelperFrederik Gladhorn2013-03-233-6/+9
| | | | | | | | | | | | | | | When accessing the parent, we cannot be sure that the parent interfaces are all valid. Invalid parents can happen during destruction. Another cause is unusual hierarchies, the QAbstractItemView::columnDelegate test triggers a situation where this used to crash. In addition to the actual problem, add checks for every parent() call. Change-Id: I70b2bf7bc3c02b0f33e22b81023fd24519adeba9 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Do not update accessibility for invalid interfacesFrederik Gladhorn2013-03-232-1/+6
| | | | | Change-Id: I8dc29ea51393406e529c76f25bf2f8cf426e26cf Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Make QIcon generate high-dpi pixmaps.Morten Johan Sørvig2013-03-233-7/+117
| | | | | | | | | | | | | | | | | | | | | | QIcon::pixmap() can now return pixmaps that are larger than the requested size, This is a behavior change that may require updating existing application code, and is enabled by setting Qt::AA_UseHighDPIIamges. Add new pixmap() and actualSize() overloads that take a window pointer. For 100% correctness you want to target pixmap generation to a specific window, in case the system has a mix of normal and high-dpi displays. (The non-window versions uses QGuiApplication:: devicePixelRatio(), which returns the ratio for the "best" display on the system.) actualSize now returns the size in device-independent pixels - not the pixmap pixel size. This matches its intended use case which is layout calculations. Change-Id: I2eefc4ed4aa48b036a7019446694e56213070efa Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix race condition in QThread::setPriorityDavid Faure2013-03-234-41/+42
| | | | | | | | | | | | | The value of priority was read without the mutex locked, from within the thread. Had to extract a QThreadPrivate::setPriority method so that it can be called with the mutex already locked. So if the main thread calls setPriority while the thread is starting, it will be either be before or after the "re-set priority" code at thread startup, but at least not in the middle of it. Change-Id: I7a054f68623f61482c749274da66f3b2dcd8bcee Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove unused private membersThiago Macieira2013-03-234-6/+2
| | | | | | | | | | | | | These members are in private classe, so we can safely remove them. qpathclipper.cpp:762:9: error: private field 'm_point' is not used [-Werror,-Wunused-private-field] qsimpledrag_p.h:100:20: error: private field 'm_cursor_drop_action' is not used etc. Change-Id: I35ed486eb959c49bb971700500a66411308ee7bc Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Remove unused private fields in a class used for anti-flicker workaroundThiago Macieira2013-03-231-4/+6
| | | | | | | | | | | | | qwizard.cpp:510:14: error: private field 'wizard' is not used [-Werror,-Wunused-private-field] qwizard.cpp:511:21: error: private field 'wizardPrivate' is not used [-Werror,-Wunused-private-field] Field "wizard" was really unused, in all platforms, so simply remove it. The field "wizardPrivate" is used when the Windows Vista style is enabled. Change-Id: I1ce254f484b613655bff7f6c3ee8e04479960d7c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Mark Q_UNUSED the private members that aren't usedThiago Macieira2013-03-234-0/+4
| | | | | | | | | | | | | | Apple Clang 4.2 has a new warning, letting you know when a private member isn't used by any member function (and, I guess, if the class has no friends): private field 'd' is not used [-Werror,-Wunused-private-field] Qt has a few of those for future expansion. It's not an error for us. Change-Id: Id2edb1159589572f97a07f93181c9c96c5dd983c Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: David Faure <david.faure@kdab.com>
* Inform android input method when cursor is movedPaul Olav Tvete2013-03-222-0/+11
| | | | | | | | | | Google Japanese Input Beta keeps track of the cursor position, and bails out if the cursor is not where it thinks it should be. We have to tell the IM every time we move the cursor, not only when we are composing. Change-Id: I9cdb28f81c76e76d3b0125d08bf0595616ca443f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* SSL code: store SSL parameters for debugging, guarded by definePeter Hartmann2013-03-221-0/+35
| | | | | | | | | | | ... so SSL traffic can be decrypted with e.g. tcpdump / Wireshark. For this to work, the define needs to be uncommented and QtNetwork recompiled. This will create a file in /tmp/qt-ssl-keys which can be fed into Wireshark. A recent version of Wireshark is needed for this to work. Change-Id: I4e41fd2e6122260cd96d443b1360edc71b08b5fd Reviewed-by: Richard J. Moore <rich@kde.org>
* Remove QtWidgets dependency from Android platform pluginEskil Abrahamsen Blomfeldt2013-03-222-25/+4
| | | | | | | | | | | The setFullScreen() function was never called from anywhere, so it was just removed. The update() loop for top level widgets has been replaced by a loop sending expose events to top level windows. Task-number: QTBUG-29313 Change-Id: Ic31a05ad3a0693f1d3f61457cee9d78f6b334b4d Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Use qtproject instead of necessitas for default package namePaul Olav Tvete2013-03-221-1/+1
| | | | | | Task-number: QTCREATORBUG-8779 Change-Id: Idf62e5efa4b8bc4b90d99b3883ae127a0cc7e92c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Fix missing parts of Ie511522d35b5658c20be43dd112eae18c205277f in mergeMitch Curtis2013-03-221-2/+4
| | | | | | | | | | | The merge of dev->stable branch somehow lost these bits of: Make QCoreApplication::startingUp() return false when appropriate. Which was Change-Id: Ie511522d35b5658c20be43dd112eae18c205277f Change-Id: I2991b10e2774bf5a59fa37734d4a9fd39d51b472 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* Only instantiate QAccessibleWidget after trying inherited classesFrederik Gladhorn2013-03-222-10/+9
| | | | | | | | | | | | The plugin should try each class name from the meta object in succession instead of giving up right away and just using QWidget. This improves the handling of the itemviews and makes many sub-classes of QWidget outside of Qt work. Change-Id: Id81017c648fe229c3eb85d6d9ae6696d5f16a1ef Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* QThread: fix race when setting the eventDispatcherDavid Faure2013-03-2216-64/+68
| | | | | | | Use QAtomicPointer to make this thread-safe. Change-Id: If71f204699fcefabdb59bd26342d777d1cc9e2a7 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>