summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Introduce qmake feature use_gold_linkerAllan Sandfeld Jensen2014-07-235-0/+42
| | | | | | | | | | | | | | This patch adds the feature use_gold_linker to use the gold linker that has been part of of GNU binutils since 2008. Gold links C++ libraries much faster and use less memory. The feature is autodetected when building Qt on Linux, but can be disabled in configure. On MingW builds it is default off but can be enabled for cross builds. Change-Id: Icdd6ba2e706b2c791bcf44b6e718c2b7a5eb2218 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Support setting a default severity level for QLoggingCategoryKai Koehne2014-07-236-37/+133
| | | | | | | | | | | | | | | | | | | | | | | | | Allow to alter the default configuration for categories by passing a message type: All message types with lower severity are disabled in this category. This is useful for libraries, which shouldn't mess with the category registry itself: Setting rules, a category filter ... might cause conflicts and ordering problems, so this API should be reserved to the specific application. For the Qt categories, we have code in the default category filter that disables the 'debug' category. However, this is hardcoded, and there's no way so far for other libraries to get the same behavior. With this patch one can get the same behavior: Q_LOGGING_CATEGORY(DRIVER_USB_EVENTS, "driver.usb.events", QtWarningMsg); [ChangeLog][QtCore][Logging] Added QtMsgType argument to QLoggingCategory constructor and Q_LOGGING_CATEGORY macro that controls the default category configuration. Change-Id: Ib2902f755f9f7285d79888ec30e8f3cef95ae628 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* QInputDialog: use a switch instead of a string pointer tableMarc Mutz2014-07-231-10/+25
| | | | | | | | | | | Effects on Linux AMD64 GCC 4.9-trunk -O2 stripped release: text: -72B data: -64B relocs: -4 Change-Id: Ie312e12ba42f58fa5dd61da1e64b9c22bf4738b2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* iOS: Gracefully fail main()-renaming when link-time optimizations are enabledTor Arne Vestbø2014-07-231-2/+19
| | | | | | | | | | We don't have a way to rename main() inside a LLVM bit-code file yet, so we error out if we detect that LTO is enabled (which causes object files to be written as LLVM bit-code), and inform the user about a workaround. Task-number: QTBUG-40184 Change-Id: I89c927a3a7f075c65e54442c4f7e6bb25175b6f7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Xcode: Fix QMAKE_PRE_LINK dependency handlingTor Arne Vestbø2014-07-231-3/+3
| | | | | | | | | | | Depending on *.o in the Xcode output dir did not actually result in a proper dependency. In Xcode5 this didn't matter much, as the effect was that the build phase was run every time, but in Xcode6 the phase was skipped. We now depend on the object directory itself, which will get its modification time updated to match any rebuilt object files. Change-Id: I8fa6f06c9008c4ce8f7fde7706057ce101bb5727 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* QDebugStateSaver: Fix trailing space issuesKai Koehne2014-07-232-1/+31
| | | | | | | | | | | | | | ~QDebug() removes any trailing space if autoInsertSpaces() is true. However, if one uses QDebugStateSaver the global autoInsertSpaces might be false, but a space was added by a custom operator<<. Explicitly check for this in QDebugStateSaverPrivate::restoreState. Remove any trailing space if the local state asks for adding trailing spaces, but the original one doesn't. Add a trailing space if the local state doesn't ask for one, but the global state does. Change-Id: I243b5c76d5ed2c1ec4820da35ab6e254da1551d9 Reviewed-by: David Faure <david.faure@kdab.com>
* iOS: Let QScreen manage UIWindow and root view-controllerTor Arne Vestbø2014-07-237-54/+64
| | | | | | | | | | Instead of having the application delegate set up a UIWindow and root view-controller, we move the responsibility to QScreen, since in a multi screen scenario we will need one UIWindow per screen, as well as one root viewcontroller per window. Change-Id: If5b0d44b8f8a697d830b33b4fe420bff56a7629b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* QLockFile/Windows: Determine host name from environment variable COMPUTERNAME.Friedemann Kleint2014-07-231-9/+16
| | | | | | | | Useful when using shared directories. Task-number: QTBUG-39967 Change-Id: I2c082e33133b00306378b6ff58478e94119e6a0e Reviewed-by: David Faure <david.faure@kdab.com>
* Keep global state of debug stream (QImage, QPixmap, and QIcon)Kai Koehne2014-07-233-24/+30
| | | | | | | Make sure that the stream's formatting settings are preserved. Change-Id: Ib13b5e0b36b2ef801da2d2d5c240d28dc1b04653 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QDoc: Fixed section title offset in QML basic type pages.Jerome Pasion2014-07-231-0/+1
| | | | | | | | | | -QML basic type page layout is now separate from the other doc page layouts, but the section offset was incorrect. -the offset is the same as the QML type pages. Change-Id: I422e97eebe58a87c11607f2c8c5aedb10abbda7e Task-number: QTBUG-40335 Reviewed-by: Martin Smith <martin.smith@digia.com>
* QDoc: Restored QML basic type pages' table of contents.Jerome Pasion2014-07-231-0/+2
| | | | | | | | | -QDoc in 5.4 processed QML basic types as separate pages but the ToC wasn't added. Change-Id: I5a887158bacef923e765accac7ee5ca7c2c7a12b Task-number: QTBUG-40335 Reviewed-by: Martin Smith <martin.smith@digia.com>
* Add link-time optimization support for Clang, GCC and ICCThiago Macieira2014-07-237-6/+71
| | | | | | | | | | | | | | | GCC currently requires fat object files for static libraries, since the linker would otherwise not load the .o file from the archive at all and the linking would fail with a lot of undefined references. Clang on Linux also needs this, but it has no equivalent flag, so enabling LTCG for Clang on static libraries will result in linker error. This commit does not add support for enabling it in configure. It can be enabled on a per-project basis by doing CONFIG += ltcg or by passing -config ltcg to qmake's command-line. Change-Id: I52cf99f1ed9f1701e23a3b457ba3502fd28126ce Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Be more specific in "Loading logging rules" debug outputKai Koehne2014-07-231-1/+1
| | | | | Change-Id: I8a6f1797cbcfabc6df76ce17115a678f729ac711 Reviewed-by: hjk <hjk121@nokiamail.com>
* Introduce Q_DECL_UNUSED_MEMBER for clangKai Koehne2014-07-233-7/+15
| | | | | | | | | | | | | | | | Since version 3.2, clang warns about unused member variables (-Wunused-private-field). Marking such members with Q_DECL_UNUSED_MEMBER will silence this warning. This is a cleaner way than using Q_UNUSED() somewhere in the class methods (like we did previously in qloggingcategory.cpp). It mirrors Q_DECL_UNUSED for unused variables, which however can't be used unconditionally for member variables because e.g. gcc will complain. Change-Id: I2afff683a7c3bae3bdcd684e5085a643887bb2a0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* rcc: String literal conversion cleanupKai Koehne2014-07-232-8/+8
| | | | | | | | Replace QString::fromUtf8 with QString::fromLatin1 for ascii strings. Also optimize use of QT_VERSION_STR. Change-Id: I13c683499c56cb4ac4d2bbd9b6b53c337917e347 Reviewed-by: hjk <hjk121@nokiamail.com>
* Make QRingBuffer::append() not leave empty arrays in buffer listAlex Trotsenko2014-07-232-3/+22
| | | | | Change-Id: I4c5af33488a70996299289ec2b953b7bf3b2c428 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Add QFileDevice::MemoryMapFlags::MapPrivateOption flag.Simon Sasburg2014-07-235-14/+51
| | | | | | | | | | Passing this flag to QFileDevice::map() will allow writes to the mapped memory without modifying the file that was mapped. These writes will be lost when the memory is unmapped. Change-Id: I7d46b044fc370585de8c06fdb4059f1f1be12d7d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix warnings about integer conversion in qloggingregistry.cpp.Friedemann Kleint2014-07-221-3/+3
| | | | | | | | | io\qloggingregistry.cpp(134) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data io\qloggingregistry.cpp(138) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data io\qloggingregistry.cpp(142) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data Change-Id: Ic9787aa8acb5cb4440c62bbb143f7c2b7fdad385 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* QDebug: Add a doc section about formatting optionsKai Koehne2014-07-221-0/+12
| | | | | Change-Id: I43cb965f9f45e8a50c767c7e9035811c90e6aab3 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Windows: Default to MS Shell Dlg 2Eskil Abrahamsen Blomfeldt2014-07-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt 4, the default font for unrecognized font families would be MS Shell Dlg 2, which is an alias for the default UI font on the system. However, QFont::defaultFamily() had not been updated to match this and would return MS Sans Serif instead, which was the default UI font on Windows 9x. This is a raster font and not really suitable for modern UIs. In Qt 5, the problem with defaultFamily() was fixed, but Arial would be returned as the default instead. Enter change afd6313755399b24fb97e56f730f9898a0fa8f5a which tried to revert the change to defaultFamily() and return MS Sans Serif again. However, since it changed the actual default family and not just the one returned by the function, this broke several tests which depended on having a scalable default font. This change sets the default family to MS Shell Dlg 2 like in Qt 4. The fact that defaultFamily() now reports the actual default is regarded as a bug fix, so we will not change this. Fixes some XFAILs in qtdeclarative. [ChangeLog][Windows] Set default fallback font to MS Shell Dlg 2 instead of Arial. Task-number: QTBUG-39961 Change-Id: Ib08dfc7f2c00475d54d565bb933d1d2f8a3a3d90 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* Improve debug output of QImage, QPixmap and QIcon.Friedemann Kleint2014-07-213-3/+33
| | | | | | Task-number: QTBUG-38858 Change-Id: Ie45d595478f971c7ed973d911c65484d947d2a60 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* Improve debugging output for QLoggingCategoryKai Koehne2014-07-211-6/+6
| | | | | | | | | Make sure that the source the rules are loaded from is printed before any syntax errors. Change-Id: Id7ced1a346dd0d8501eab93ac00e1f432ca6b703 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* Add example qtlogging.conf file to QLoggingCategory documentationKai Koehne2014-07-211-1/+7
| | | | | | Change-Id: I0ceeb8afa711cc7bc1378287b0d550871e5bfd9d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* Android: Add uninstall option.BogDan Vatra2014-07-211-0/+8
| | | | | | | | Uninstall option will uninstall the test afer has been executed. It is useful when you are using your own phone to execute the tests. Change-Id: I2a3f6c3a93099d70c98f9ce059da22c409b55843 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Android: Use androiddeployqt from qt path.BogDan Vatra2014-07-211-2/+3
| | | | | Change-Id: I085f2b20d1f53e3f5caf0b208f64a75c26a89219 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* resoureces.prf: use small resources (though cpp file) for xcodeFawzi Mohamed2014-07-211-1/+1
| | | | | | | | | | | currently there isn't a clean solution yet to support object files or architecture specific files during the preprocess step when using the xcode generator. This fixes ios resources (but will break with large resources). Task-number: QTBUG-39835 Change-Id: If620ab0c3b5c1f92db8f7b4740061c807730db57 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: Detect external screen connections and expose as additional QScreenTor Arne Vestbø2014-07-214-24/+87
| | | | | | | | The additional QScreen can not be used for anything yet, since we don't set up a window and root view controller for it. Change-Id: I335b796bdd89fc58a27ec4e20c5ed355be0cab66 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Add helper for getting the iOS platform integration instanceTor Arne Vestbø2014-07-216-4/+16
| | | | | Change-Id: I550d345ab0f8bcba1225c425464e198d43d9fda8 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Fix compilation with Xcode6/iOS8 SDKTor Arne Vestbø2014-07-211-0/+1
| | | | | | | We were implicitly including OpenGLES/ES2/glext.h prior to iOS8. Change-Id: I353badb5c209b9ebc57c1718223c164590705064 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Refactor qioswindow.mm into quiview.mm and quiview_accessibility.mmTor Arne Vestbø2014-07-216-380/+493
| | | | | Change-Id: Ib6297e37d67b2c0ea251ae054b8ff877af2673a5 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Fusion style: Use QStyleHelper::dpiScaled() where applicable.Friedemann Kleint2014-07-211-57/+83
| | | | | | | | | | | | | | | | | When running unscaled on a high resolution display, some items are too small. This patch converts most values returned by QFusionStyle::pixelMetric() via QStyleHelper::dpiScaled(). Some adjustments have been done to RadioButton, CheckBox, Slider and SpinBox. On systems with 96dpi, FusionStyle should still look exactly as before this patch. Task-number: QTBUG-40277 Task-number: QTBUG-38858 Change-Id: I2683a8a4db615d01c08f4d6f559417b995c0eb1a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Add support for CONFIG += c++14Thiago Macieira2014-07-201-0/+17
| | | | | | | | | | | | | | | Most compilers out in the wild still don't support the flag, so we need to compare the version number anyway. This also makes it ready for whenever compilers start supporting -std=c++14, something we should fix for C++11 too. It overrides the CXX11 variable for two reasons: 1) we reuse the mechanics in c++11.prf 2) we avoid c++11.prf overriding the flag if qmake decides to process it later (CONFIG += c++14 is additive) Change-Id: I79b6523fd9017483f2474634d1c09f2fd5ea039d Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* "Beautify" the two-pass RCC executionThiago Macieira2014-07-201-0/+1
| | | | | | | Use newlines in the Makefile for multiple commands. Change-Id: If03617343ccf7e525ffdc27ad9df55718c63d77f Reviewed-by: hjk <hjk121@nokiamail.com>
* Update bundled HarfBuzz-NG copy to 0.9.32Konstantin Ritt2014-07-2067-3397/+4290
| | | | | | | | | | - Unicode 7.0 support - New shapers - Multiple improvements in Arabic, Indic, and Hebrew shapers - Build fixes, optimizations, etc. Change-Id: I0ba14b619c3e6fb35cddd9d65e694af41197d6ae Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* QRingBuffer: purge unused part of the apiAlex Trotsenko2014-07-181-33/+0
| | | | | | | Remove unused and untested class functions. Change-Id: I8eb963db0ae4be9b5cdde91f6747c4a1db4ea649 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix up existing high DPI manual test.Friedemann Kleint2014-07-182-53/+125
| | | | | | | | | Compile on Windows, add command line options to activate the various tests. Task-number: QTBUG-38858 Change-Id: I38c6a9a6711831b2bd8b6ea051dd19615cc911a1 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* Implement QApplication::topLevelAt() using QGuiApplication::topLevelAt().Friedemann Kleint2014-07-181-10/+3
| | | | | | | | Reducing code duplication, preparing for High-DPI support. Task-number: QTBUG-38858 Change-Id: Id0ed12db4b5cadd0eef79afd0ac62f58a7b01901 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* qdoc: Validate index file pathsTopi Reinio2014-07-181-1/+10
| | | | | | | | | | | Check for existence of the paths added by 'indexes' documentation configuration command, and generate warnings accordingly. Also, ensure that the strings added with 'depends' command contain no duplicates. Change-Id: I66a3d1b25907567bb5bfc72b78a8009d7bd8e067 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: Support use of \value command outside \enum topic.Topi Reinio2014-07-184-15/+31
| | | | | | | | | | | | | | | | | | | Even though qdoc accepts the \value command(s) anywhere in the documentation and generates tables for them, the produced output was invalid for documentation topics other than \enum. This change fixes the issue by not trying to resolve the enumeration values and removing the 'Value' column for generated tables when the \value command is used outside c++ enum documentation topic. This enables, for example, the use of the \value command for documenting acceptable values for QML enumeration properties, without having to use custom lists or tables. Task-number: QTBUG-35019 Change-Id: I597b2f9d7d03d4ab72f276752ddf53e1c405313c Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* QItemSelectionModel: Sort persistent model indexes taking parent into account.Friedemann Kleint2014-07-171-3/+21
| | | | | | | | | | | When sorting a tree model with large sub-trees and and a large selection, the existing sort function would mix indexes of different parents, causing a fragmented selection, which slows down painting. Task-number: QTBUG-33954 Change-Id: Ia585fc1e5de9a1a3f6124a58c9c7c40fcbdbfb6a Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QDoc: Allow the listing of uppercase- and lowercase-named items in list.Jerome Pasion2014-07-171-1/+1
| | | | | | | | | | -QML basic types are lowercase-named while object types are uppercased. -reference page for QML types should list both. -caveat: simple implementation means the uppercase items are listed first. Change-Id: I9092ad0cd9e79c4d3f8b794ac5d68879ce6338a5 Reviewed-by: Martin Smith <martin.smith@digia.com>
* RCC: Use macros not defined in qglobal.hhjk2014-07-162-26/+26
| | | | | | | | | This prevents conflicts in case of link time optimizations or precompiled headers are used since we don't include qglobal.h in the generated code. Change-Id: I4266c8ae38e6eafefd28b3bde5cb725a24d67ea0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* rcc: Prevent CRLF conversion on Windows for -binaryKai Koehne2014-07-161-0/+9
| | | | | | | | | | | | | | | | | | | | Fix an issue on Windows where rcc -binary project.qrc >project.rcc resulted in a corrupted file (\n was automatically replaced with \r\n). This is caused by Qt using fwrite internally, which will automatically replace linefeed with carriage-return for streams opened in text mode. The fix forces stdout to binary mode in this case. Task-number: QTBUG-39422 Change-Id: Ib5b5e82db922dc389d160b0115dbafe8641c95fd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Robert Loehning <robert.loehning@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* Canonicalize inputs when filtering default system pathsMichael Palimaka2014-07-151-0/+1
| | | | | | | | | | Contrary to expectations, various <foo>-config tools sometimes spit out denormalized paths, which breaks the text-based filtering, as it relies on exact matches with normalized paths. Change-Id: I0613ed24953a3bde19939d28d09572c88b43a361 Task-number: QTBUG-39216 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* QDoc: Allow QDoc to collect all QML basic types in a map.Jerome Pasion2014-07-153-1/+22
| | | | | | | | | | | -needed if a list of just QML basic types is needed. -adding QML basic types to map of QML types. -generating the list of "qmlbasictypes" also now supported. -part of the fix for QTBUG-32871 Change-Id: Id291982a5684645b2b5e75256be673c1701e60b1 Task-number: QTBUG-32871 Reviewed-by: Martin Smith <martin.smith@digia.com>
* windows: Fix ANGLE function resolution in static buildsAndrew Knight2014-07-152-165/+188
| | | | | | | | | The EGL/GLES functions are now resolved statically when needed. Task-number: QTBUG-40199 Change-Id: I58c675b1c410708237475e1e5d6609ca7d6713f1 Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QDebug: Add resetFormat()Kai Koehne2014-07-153-3/+37
| | | | | | | | | | Similar to QTextStream::reset(), this resets the stream format to the defaults. Its primary use is inside custom operator<< implementations, where you'd want to have a fixed format regardless of the current stream state. Change-Id: I421d76c61f164579bb90cf4195cc5376e2dcf0f3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* QGroupBox: Exclude top level widgets from child event handling.Friedemann Kleint2014-07-152-0/+21
| | | | | | | | | Prevent the QGroupBox from changing the enabled state of dialogs parented on it. Task-number: QTBUG-40132 Change-Id: I91cc6ccf5ade0b3a491020ed947d4aceca62d7b6 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Remove outdated commentFrederik Gladhorn2014-07-151-1/+0
| | | | | Change-Id: I4d662318acf072ce9cbfd9c024f5316a0617f2e6 Reviewed-by: David Faure <david.faure@kdab.com>
* Fix current directory setting in manual dialog test.Friedemann Kleint2014-07-152-6/+12
| | | | | | | | | It was always constructing a QUrl from the string causing the warning "Non-native QFileDialog supports only local files" with the new QUrl-based implementations of getOpenFileUrl(), etc. Change-Id: Idd9bb432a48865df137f8f39f53014dda150ffe9 Reviewed-by: David Faure <david.faure@kdab.com>