summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* OSX: add several menuitem roles to support menu shortcuts in dialogsShawn Rutledge2014-04-078-3/+111
| | | | | | | | | | | | | | | | | | | | | Now menu items and key shortcuts for Cut, Copy, Paste and Select All work in the standard ways in dialogs such as the file dialog, provided that the corresponding QActions have been created and added to the menu. This depends on new roles to identify each menu item which is so broadly applicable that it should work even when a native widget has focus; but the role will be auto-detected, just as we were already doing for application menu items such as Quit, About and Preferences. When the QFileDialog is opened, it will call redirectKnownMenuItemsToFirstResponder() which will make only those "special" menu items have the standard actions and nil targets. When the dialog is dismissed, those NSMenuItems must be reverted by calling resetKnownMenuItemsToQt(), because to invoke a QAction, the NSMenuItem's action should be itemFired and the target should be the QCocoaMenuDelegate. Task-number: QTBUG-17291 Change-Id: I501375ca6fa13fac75d4b4fdcede993ec2329cc7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Mac Accessibility: Make more widgets name/description workFrederik Gladhorn2014-04-051-1/+4
| | | | | Change-Id: I0abe17a59f95818939d6b82500d2463c3f135989 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Accessibility text updates for QTextEditFrederik Gladhorn2014-04-054-0/+72
| | | | | | | | | For Mac this makes QTextEdit work nicely with VoiceOver. Task-number: QTBUG-37204 Change-Id: I1326d24ca6a932ad667ee395f62881b6ec64e892 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* QPrintDialog - Add Direct print to manual testJohn Layt2014-04-053-0/+16
| | | | | | | Enable printing without dialog. Change-Id: I1058361febc7ddd8a5e0471e4365969e2f8becfe Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QPagedPaintDevice - Move QPageLayout methodsJohn Layt2014-04-057-126/+374
| | | | | | | | | | | | | | | | The new QPageLayout methods weren't originally added to QPagePaintDevice as no new virtuals can be added, instead static polymorphism was used to add the methods directly in the derived classes QPdfWriter and QPrinter. This however means that classes like QTextDocument with print() methods that take a QPagedPaintDevice are unable to access the QPageLayout methods. To fix this, instead make the QPagedPaintDevicePrivate a virtual class and have QPdfWriter and QPrinter implement derived private classes that are called by the non-virtual QPagedPaintDevice base methods. Change-Id: Ieb6e513b1fa05f5ae76ea1f9156b0b1a053089eb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Use the new 3-operand testAndSet functions in QMutexThiago Macieira2014-04-052-6/+12
| | | | | | | | | This allows us to get the current value of the QMutex / QBasicMutex after the testAndSet operation failed. It saves an extra load from memory. Change-Id: I4922a8b3df15e342b177b13f56cf4f1184314520 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Use category names when logging to the journalAlejandro Exojo2014-04-052-8/+16
| | | | | | | | | | | | Use the custom field QT_CATEGORY to store the name of the QLoggingCategory used when writing to systemd's journal. To pass custom fields sd_journal_send() is needed, and is used in combination with #define SD_JOURNAL_SUPPRESS_LOCATION to store the metadata that is already in the QMessageLogContext. Change-Id: I6a120701f7012aaa46451dd3d91586a419c5f803 Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Improve QWidget::metric for PdmDevicePixelRatio.Morten Johan Sørvig2014-04-051-6/+9
| | | | | | | | | | | | | | Use QWindow::devicePixelRatio() which is the most accurate devicePixelRatio accessor since it can ask the platform native window directly Fall back to qApp->devicePixelRatio() if the window pointer is not valid. Task-number: QTBUG-37606 Task-number: QTBUG-38078 Change-Id: Ief1468a0c6ced07439f55329ab056883016241cc Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* OS X: Improve QLibraryInfo app bundle testing.Morten Johan Sørvig2014-04-051-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | QLibraryInfo::location() paths are relative to "myapp.app/Contents/" when the application has a bundle and relative to the executable when not. However CFBundleGetMainBundle() can and will return a valid CFBundleRef even if the application is built as a standalone executable. Add a test that verifies that the path constructed with "/Contents" exists on disk. Fall back to the non-bundle code path if it doesn't. This bug was hit in cases where a qt.conf file was present side-by-side with the app binary, for example in qtbase/bin. Task-number: QTBUG-38039 Change-Id: Id993599208fe94fff283c725778f8ad47b610ba7 Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Cocoa: Don't beep on maximize.Morten Johan Sørvig2014-04-051-1/+1
| | | | | | | | | Use zoom instead of performZoom: Does not beep if there is no Zoom button, and is what Qt 4 did. Task-number: QTBUG-37716 Change-Id: Iaa85d55a449744c38b260cf79745a433e0e3272f Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Cocoa: Make backing store flush accurate.Morten Johan Sørvig2014-04-051-2/+3
| | | | | | | | | | | | | | | | | Flush the individual rects that make up the region instead of the bounding rect. This is required for correctness since then areas not included in the region might not have valid backing store content. The bondingRect() usage here had its roots in an optimization in Qt 4, where it was observed that flushing the bounding rect was more efficient than flushing (many) individual rects. Task-number: QTBUG-37918 Change-Id: Ib805f6713523f9895be24c48466870efaaf89c02 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Cocoa: Make QScreen::topLevelAt() work correctlyMorten Johan Sørvig2014-04-053-0/+37
| | | | | | | | | | | | | | | | | The QPlatformScreen::topLevelAt() default implementation is flawed in that it does not check z-ordering but simply returns the first window in the window list that contains the test point. Add QCocoaScreen::topLevelAt(). Use [NSApp orderedWindows] to iterate through the window list in z order. Add a NSWindow->QCococaWindow mapping hash to QCocoaIntegration for getting the corresponding QWindow once a NSWindow is found. Task-number: QTBUG-37597 Change-Id: I7af70163a32528cb56f8d6caa037b98f580ee191 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Compile: isChildOfQMdiSubWindow may be unused.Morten Johan Sørvig2014-04-051-0/+2
| | | | | | | [-Werror,-Wunused-function] Change-Id: Icf1e60ce3c5dadb96272453583d1cd03379eb73b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Cocoa: Support pasting rich text to Qt appsMorten Johan Sørvig2014-04-052-0/+72
| | | | | | | | | | | | | | | | Native Mac OS X apps uses Rtf as the rich text format while Qt uses html. Add QMacPasteboardMimeRtfText which supports converting from public.rtf to text/html (but not the other way around, since we want to keep posting our html as html). The QMacInternalPasteboardMime API does not support the concept of a one-way handler. Skip the Rtf handler in QMacPasteboard::setMimeData(). Task-number: QTBUG-37188 Change-Id: Ibe29997a038bbb64da24b961e84a5f60133074e0 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix capacity reservation for shared QByteArrayThiago Macieira2014-04-055-1/+54
| | | | | | | | | | | | We can squeeze, but not by discarding elements. Make sure the size of the object stays intact after changing the reserved capacity. I've also added unit tests for other containers, just to be sure. Task-number: QTBUG-37750 Change-Id: I5135b095943b7589423c51cebcb52af792468e61 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Use Q_STATIC_ASSERT to check that the array has the right sizeThiago Macieira2014-04-051-12/+1
| | | | | | | | | | | | No need to sprinkle the code with Q_ASSERT. We don't want this to fail to the user anyway. By using a Q_STATIC_ASSERT, a failure will be immediately reported to the developer. This also solves a warning found by Clang 3.4: error: unused variable 'pageSizesCount' [-Werror,-Wunused-const-variable] Change-Id: I79cf72c64242ad395276ce4360c59ad81112d9eb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Consistently hide the parts that require xcb-xkbThiago Macieira2014-04-052-2/+4
| | | | | | | | It was inconsistent. This also solves a warning from Clang 3.4: error: private field 'vmod_masks' is not used [-Werror,-Wunused-private-field] Change-Id: I6be9f7ef56dffe6df2be3beb984c2d82d3808403 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
* QNX: Surpress manual window activation during showFullScreenFabian Bumberger2014-04-052-0/+6
| | | | | | | | | | When a window is shown, libscreen will give it keyboard focus. Requesting the activation right after the window is created (and before libscreen activated the window) causes problems on some devices e.g. Q10. Change-Id: I29f7a38990ea4259a8b0c6624f70e31d7291af00 Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
* Fix neon image scaling function declarationsSamuli Piippo2014-04-041-2/+2
| | | | | | | | | | Change on the image scaling functions did not update the neon function declarations. Task-number: QTBUG-35927 Change-Id: Ia1e7428953aa140cad36e1cf26a18bfefc2267e7 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Doc: Fix documentation warning in qstylehints.cppSergio Ahumada2014-04-041-1/+1
| | | | | | | | | | | warning: Command '\snippet (//! [6])' failed at end of file 'code/src_gui_kernel_qguiapplication.cpp' This change amends 56cd9cc2b085c1a2152831d47bb8fd9607d7500e Change-Id: I63a2f086fc582d3a9c8b60f1ef94ccb537b0d3a5 Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* de-duplicate codeOswald Buddenhagen2014-04-041-3/+3
| | | | | Change-Id: Ic056acf739659215241c1cab6a462b1ab591dc78 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* purge vestiges of opengl es 1 supportOswald Buddenhagen2014-04-0441-770/+45
| | | | | | | | amends 0d5170256c1. Change-Id: Ifa178d38f602bb7c66ef13334673ff47e332af5b Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Don't fileFixify PRECOMPILED_HEADER twiceThiago Macieira2014-04-041-1/+1
| | | | | | | | | | fileFixify must not be called twice on the same file path, since it will convert an absolute path from the shadow build to an absolute path in the source dir. The first fileFixify occurs in MakefileGenerator::init, along with the fixifying of INCLUDEPATH. Change-Id: I607870573a80eaf834ea5f540bbe1451ec983114 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Don't read before the beginning of the stringThiago Macieira2014-04-042-5/+59
| | | | | | | | | | The code did discard the the data, so it wasn't affecting the comparison result (tests added anyway), but it could cause crashes if the pointer to the beginning of the data in the first 8 bytes of a page. Change-Id: I618e68de329b65de34ef8c934934c3e631cc6c9f Reported-By: Erik Verbruggen Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* Remove QtWidgets dependency from tst_QComplexTextKonstantin Ritt2014-04-042-2/+1
| | | | | | | It doesn't depends on windget for quite a long time already. Change-Id: I251e2e0d52028d17a61c892308d099f344728e79 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Remove spurious #ifdef from tst_QComplexTextKonstantin Ritt2014-04-041-8/+0
| | | | | | | That #ifdef is placed before any include, so it has no effect. Change-Id: I4bbf967bda720d287b363847669c5c7a22807bc4 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* QTextLayout: Fix cursor movement from invalid positionKonstantin Ritt2014-04-043-7/+46
| | | | | | | | Actually guarantee cursor doesn't move in this case for both logical and visual modes (just what the documentation says we already do ;) Change-Id: Iabdca7aa1d205672386a0095e3487e585611cdb5 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Optimize QTextEngine::insertionPointsForLine() a bitKonstantin Ritt2014-04-041-0/+3
| | | | | | | Reserve the insertionPoints vector capacity prior to multiple append()-s. Change-Id: I97ab5b2a1add9f2e87c04ad0707bf516c13ff4d7 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QTextLayout: Fix visual cursor movement in some casesKonstantin Ritt2014-04-043-22/+24
| | | | | | | | | | | | | | | | To guarantee proper positioning at the end of the last line in a bidirectional text we have to insert the eol position into the insertion points vector, accordingly to the visual ordering. Detection of the last *logical* item in a *visual* line is unrelaed to the text direction, it is simply `iterator.item == iterator.lastItem`. [ChangeLog][QtGui][QTextLayout] Fixed visual cursor movement in bidirectional text. Task-number: QTBUG-18060 (partially related) Change-Id: I53b6ab889ef580ab0560b620b808b1e09efc0fbd Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Ahmed Saidi <justroftest@gmail.com>
* QTextEngine: Fix visual position movement for tab and object casesKonstantin Ritt2014-04-041-8/+7
| | | | | | | | | QTextLineItemIterator::next() was never updating itemStart and itemEnd for QScriptAnalysis::TabOrObject, thus producing incorrect insertion points for the line that contains tabs and/or objects. Change-Id: Ia964c663cc0636ba6be4500702656f989b252fba Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* [HB] Ensure we always working with non-multi font engineKonstantin Ritt2014-04-042-4/+9
| | | | | Change-Id: If88385d4cecdc527b7952d34e48f7ba889173c6c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* BlackBerry: Fix QListView autotestFabian Bumberger2014-04-041-9/+22
| | | | | Change-Id: Id4967911d82cff86214665cc9ca3dbbefa69da11 Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
* Fix QTreeWidget autotestFabian Bumberger2014-04-041-2/+6
| | | | | Change-Id: I94b4d9d2f0ef013691faedc4cd12050aa49e98f2 Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
* Make it possible to render QtWebEngine in QOpenGLWidgetJocelyn Turcotte2014-04-041-0/+2
| | | | | | | Setup the GL context as shared with the Qt global share context. Change-Id: I199cfc7d290466d0ad99294bcffcd738b615862b Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Improve handling of temporary directories in SQL tests.Friedemann Kleint2014-04-049-25/+50
| | | | | | | | | | | | | | Initialize directory delayed in shared code and add checks to verify that it is valid. Close attached / cloned databases to prevent locks on files and leaking temporary directories caused by SQLite: QTemporaryDir: Unable to remove "...\Temp\tst_qsqldatabase-P1XkOA" most likely due to the presence of read-only files. QTemporaryDir: Unable to remove "...\Temp\tst_qsqltablemodel-P1XkOA" most likely due to the presence of read-only files. QWARN : tst_QSql::concurrentAccess() QTemporaryDir: Unable to remove "...\Temp\tst_qsql-l0VAKJ" most likely due to the presence of read-only files. Change-Id: If85bbaed04bb1a32e427d642be332996d967f796 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Increase tolerance for warning about QTest::qSleep() for Windows.Friedemann Kleint2014-04-041-1/+6
| | | | | | | 50% is too strict, it clutters the logs. Change-Id: Ib391064f32e39a1192e77d872cd99b7f95a5065a Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
* Fix: Initialize all needed member varsMartin Koller2014-04-041-1/+1
| | | | | Change-Id: I74b71d93e25e4b3b0c1a5766f2fbc4f71aebecbb Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Fix lance opengl painting testaavit2014-04-041-5/+6
| | | | | | | | | Change b94493e revealed that in the lance script rendering, at the surface_end command, cleaning up the fbo stuff and enabling the ordinary painting again was done in the wrong order. Change-Id: I358dafeffe95b25303fc2a8dc1d61384b2ca64fb Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Rename QNX arm mkspecs to be aligned with SDP structureWolfgang Bremer2014-04-045-75/+122
| | | | | | | | | | | | | | | | | The current SDP uses CPUVARDIR variable to define whether x86 or armle-v7 is used. Therefore, the whole structure uses these two definitions to separate simulator and device builds. Renaming qnx-armv7le-qcc to qnx-armle-v7-qcc allows to directly use CPUVARDIR during Qt5 builds. For compatibility reasons the old folder is kept and includes the new qmake.conf. This change is similar to fe61f2d6b29cca87b46dc37c7968b2f765f670ef where we already aligned the BB10 mkspecs to the NDK structure. Change-Id: I7e1c0c2d137dc4049549233940e7f9d1c9f671f0 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Add isCreated to QOpenGLTextureBlitterJorgen Lind2014-04-042-0/+7
| | | | | Change-Id: Icb1a0354ac1caee38e3cb0cba6d7daec99d66c54 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Don't assume qt_tablet_target widget exists from one event to the nextShawn Rutledge2014-04-041-10/+2
| | | | | | | | | | | | | | | | In this scenario there is a widget with a button inside, and you click the button with the tablet. The target of the event is the button, but when you click it, the parent (or ancestor) is destroyed. Commit 2bac49265efcf8faabc3756d1a3e405a3d336f68 took care of the case when the parent is a window, but it is not always a window which is being destroyed. So the approach of using a QPointer is better because it should take care of all the cases when the qt_tablet_target is destroyed during the course of a tablet event sequence. Task-number: QTBUG-36848 Task-number: QTBUG-38040 Change-Id: Ia0e861f2cb2fbc30234aa596f3a36ddd0835a9af Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Fix QTextEdit autotestFabian Bumberger2014-04-041-1/+2
| | | | | Change-Id: I2178f1bb09f334ac518ede8f08c5b9268ea0c505 Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
* QNX: Fix QAbstractItemView autotestFabian Bumberger2014-04-041-4/+10
| | | | | | | | | One problem was that tests expect the top-level window to have a certain size, which is not possible on BlackBerry. Another problem was that certain elements have a dpi dependent size which the task250754_fontChange test did not consider. Change-Id: I465ebe234a74d6150cdcbb7fc7e458a62155e0d0 Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
* BlackBerry: Fix tst_qdialog::show{Maximized,Minimized} testsSergio Ahumada2014-04-041-2/+2
| | | | | | | | | | Using show() might result in showFullScreen() on some platforms, so let's use setVisible(true) which has the same effect and seems to be a more crossplatform solution. Change-Id: I712584ace2adbe73b99e620a1ae5e88ff328fffb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Fixup QGuiApplication::sync to flush the QWSI queueJorgen Lind2014-04-041-0/+1
| | | | | Change-Id: If4cedeb886e912f622a66b2b3374d6260cffc32a Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Doc: fix link to changed topic title in Qt Creator ManualLeena Miettinen2014-04-041-2/+2
| | | | | | | | | | | The "Creating an Android Application" tutorial was adapted to also apply to iOS and renamed as "Creating a Mobile Application". The page name (HTML) was changed as well. Change-Id: I445a258e21242b3c19b8fd83b35d24514ffc94cc Reviewed-by: Sergio Ahumada <sahumada@blackberry.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* update bundled sqlite to 3.8.4.3Mark Brand2014-04-042-6/+6
| | | | | | | | The "Fixed CE build of sqlite3" patch is preserved in this change. (ea70ec8711af45128d63634a01dfc4c1a51ac331) Change-Id: I163a4bcc92f47838c8203d8f5d78bbdcb0c1fd84 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Add a benchmark test for QCryptographicHashThiago Macieira2014-04-043-0/+192
| | | | | | | | | | | | | | | | | | | | | Some quick benchmarks against GNU coreutils 8.21 and OpenSSL 1.0.1e (time in µs; time for coreutils and OpenSSL include the loading of the executable): Qt Coreutils OpenSSL n SHA-1 SHA-224 SHA-512 SHA-1 SHA-224 SHA-512 SHA-1 SHA-224 SHA-512 0 0 0 0 717 716 700 2532 2553 2522 64k 120 484 381 927 1074 966 2618 2782 2694 Diff 120 484 381 210 358 266 86 229 172 The numbers for Qt are pretty stable and vary very little; the numbers for the other two vary quite a bit, since they involve launching and executing separate processes. We can take the lesson that we're in the same ballpark for SHA-1 and we should investigate whether our SHA2 implementation is sufficiently optimized. Change-Id: Ib081d002ed57c4f43741eca45ff5cd13b97b6276 Reviewed-by: Richard J. Moore <rich@kde.org>
* Compile: remove "register" keyword in MD5TransformMorten Johan Sørvig2014-04-041-1/+1
| | | | | | | | | | "register" is usually ignored by the compiler and is deprecated in C++11 [-Werror,-Wdeprecated-register] Change-Id: I3a10f2128e4a4574b2cd3861bddbbd4ba6a3683f Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* do not define QT_NO_STYLE_S60 on WindowsJoerg Bornemann2014-04-031-4/+0
| | | | | | | This isn't needed anymore since quite a while. Change-Id: I80a99f988a917af5b8c64865ec7e73e519978740 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>