summaryrefslogtreecommitdiffstats
path: root/src/platformsupport
Commit message (Collapse)AuthorAgeFilesLines
...
| * Speed up font database loading with fontconfigLars Knoll2013-07-061-89/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Trust fontconfig if it claims that the font supports a language and don't use the expensive check for a symbol font in this case. Speeds up app startup if the system has many latin only fonts installed by a big amount. Also remove some compat handling for fontconfig versions from 2003 and earlier... :) Change-Id: I5de0812685ae76090b2c0ef5b6c2dcf430249bb8 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Add API to let applications integrate with the system fontsAleix Pol2013-07-051-11/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does 2 things mainly: - Adds a QPlatformTheme font type for fixed fonts. It's important because some OS provide specific monospaced fonts and we want to let our applications to use the preferred fonts by default. - Adds a new method and enum to QFontDatabase that expose the font types that applications might need, so that they can make the applications use the specific fonts that the system recommends. This data was already available within Qt through the QPlatformTheme, but it was not possible to use this data by Qt users. This new method exposes such data. Change-Id: Ic194c1e4bc07a70640672afd82ba756b87606985 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-272-5/+5
|\| | | | | | | | | | | | | | | Conflicts: configure mkspecs/features/create_cmake.prf Change-Id: I94aea83b83833395d5db399209e0e51b92ef23b5
| * Further followup to Q_OS_MACX changes.Jake Petroules2013-06-242-5/+5
| | | | | | | | | | | | | | | | Flip !Q_OS_IOS conditions to Q_OS_MACX where it seems appropriate, remove a redundant condition in qtextcodec_p.h. Change-Id: I21c8c0c490f1eb4a9337a7f2f3e907c125489438 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-201-0/+42
|\| | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp tools/configure/configureapp.cpp Change-Id: I3092bd3276af14304b7ab3ae1e1cc05d11cdede0
| * QKdeTheme: generate sensible disabled colors for the system paletteJ-P Nurmi2013-06-161-0/+36
| | | | | | | | | | | | | | Task-number: QTBUG-31670 Change-Id: Icbd2f35d9c2f5c1ef05c9dfeae4922be01ff2751 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
| * Read SingleClickActivation from KDE settings fileDominik Holland2013-06-161-0/+6
| | | | | | | | | | | | Change-Id: Ia2ccea89cefb85a7641628d32f925b32ecd6bdc6 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* | Correct implementation of nested runloop to match UIApplicationMain()Ian Dean2013-06-131-6/+40
| | | | | | | | | | | | | | | | | | | | | | | | The previous implementation of the nested runloop was derived from the Mac Cocoa implementation(?), and did not correctly deal with UI animations and other UIKit functions which are run in a different mode to the default mode. This version corrects that (in most cases) and switches the implementation to use CoreFoundation instead of NextStep APIs. Change-Id: I45802d22044465749a1e5b6207d745268f6ae8a1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Move iOS event dispatcher from platform plugin to platform support.Ian Dean2013-06-133-0/+462
| | | | | | | | | | | | | | | | Move iOS event dispatcher from platform plugin to platform support, so that it can be used by multiple iOS platform plugins. Change-Id: I9041b2de5e00e5fe8f30af2dfd922b4f5c594802 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-121-5/+29
|\| | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoamenubar.mm Change-Id: I4a699fc8a7f30b2af9de8e496c3d5f027b7495bb
| * Added rotation parameter to qevdevtouchMikko Harju2013-06-061-2/+23
| | | | | | | | | | | | | | | | | | | | In some cases the event coordinates reported by evdev are in different orientation compared to the primary orientation of the platform window. This commit adds plugin parameter rotate=[90, 180, 270] to rotate the normalized coordinate system before reporting the touch event. Change-Id: Ic830a2d259f9d3c5fb63b80afb795d8b400c2ece Reviewed-by: Andy Nichols <andy.nichols@digia.com>
| * Prevent touch coordinates outside target geometryMikko Harju2013-06-051-3/+4
| | | | | | | | | | | | | | | | | | | | Previously, normalized positions with either of coordinates equal to 1.0 would be reported outside the screen / window geometry, which would cause hit test to fail. Change-Id: Ia5e083bd52254c7e05143eedf930be3bcba7a412 Initial-patch-by: Aaron Kennedy <aaron.kennedy@jolla.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
| * Fixed raw coordinate reporting for touch eventsMikko Harju2013-06-051-0/+2
| | | | | | | | | | | | | | The raw coordinates were not reported by the evdevtouch plugin. Change-Id: Ia06129edd771b12cc9f6a97dc678b545d226af70 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-046-676/+0
|\| | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/plugins/platforms/cocoa/qnsview.mm Change-Id: I6fe345df5c417cb7a55a3f91285d9b47a22c04fa
| * Move QBasicDrag and QSimpleDrag to QtGui.Samuel Rødal2013-05-306-676/+0
| | | | | | | | | | | | | | | | | | | | | | | | These are useful as default implementations of QPlatformIntegration::drag(), instead of having it return 0 which will lead to crashes in Qt Quick 2 and widgets applications that use drag and drop. Task-number: QTBUG-31288 Change-Id: I70efa139306ced5d879def0f74e3a72d3bcd64f7 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-05-2318-23/+39
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qdatastream.cpp src/corelib/io/qdatastream.h src/corelib/json/qjsonwriter.cpp src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbkeyboard.cpp Change-Id: I46fef1455f5a9f2ce1ec394a3c65881093c51b62
| * Android: Fix crash when using QBackingStorePaul Olav Tvete2013-05-223-1/+21
| | | | | | | | | | | | | | | | | | | | When making a QBackingStore for a QWindow that was not created yet, Qt would try to dereference the (null) platform window pointer. Task-number: QTBUG-31022 Change-Id: I866c71cce9d401ebb598ea4cc91f7cf9bbb30982 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * mark private dependencies as suchOswald Buddenhagen2013-05-2010-11/+11
| | | | | | | | | | | | Change-Id: Ic93c8dc5aaad3973e4d4fc6bb3b70ad7c0a632b0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * remove redundant QT statementsOswald Buddenhagen2013-05-202-3/+0
| | | | | | | | | | | | | | the top-level file already adds core-private and gui-private Change-Id: Ic3e3a9c5683cc43f5e7a1075efbd7ce7c2f41e1a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * make sure that dependencies added by the pri files become visibleOswald Buddenhagen2013-05-201-2/+2
| | | | | | | | | | | | Change-Id: I0ec56a0a7bd13cd09451cfc27afde1f75cd37cba Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * QCFSocketNotifier: initialize member variable to avoid crashRichard Moe Gustavsen2013-05-131-0/+1
| | | | | | | | | | | | | | | | | | | | The function pointer "maybeCancelWaitForMoreEvents" was never initialized to any value. This caused qt_mac_socket_callback to call that "function" when it had a non-zero value, which caused a crash under some circumstances. Change-Id: I1d31be7b5b7c103fdc0204ffa6e9a5ecbb28d062 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * Restore cursor before sending QDropEventGatis Paeglis2013-05-132-6/+4
| | | | | | | | | | | | | | | | | | When users created a modal window in a dropEvent(QDropEvent* event), the cursor was not restored to its original shape until after the modal window had been dismissed. Change-Id: Id4723e3cb66b36a3ca18ff097a3993563816d9e1 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge branch 'stable' into devSergio Ahumada2013-05-071-2/+2
|\| | | | | | | Change-Id: Ica003a10ede86914bbbb062a2dc277a2ce39a259
| * Fix QFontConfigDatabase crashRafael Roquetto2013-05-011-2/+2
| | | | | | | | | | | | | | | | Take into account the possibility that the target platform plugin does not support platform services. Change-Id: I48e7fac2e1230a9a7d450414044d23ed26b334be Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-04-293-0/+27
|\| | | | | | | Change-Id: I2a54058b64ac69c78b4120fdaf09b96e025a4c6c
| * Added grabbing option for qevdevkeyboard and mouse.Libor Tomsik2013-04-232-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | Added option grab=1/0 which allows user to choose using environment variable if the application will exclusively grab the input device or let the OS read it in paralel(default). Task-number: QTBUG-30004 Change-Id: If3caa8419584be46f320931ddb152a41893d8693 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
| * Read correct font hinting config on Gnome/UnityEskil Abrahamsen Blomfeldt2013-04-221-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes regression against Qt 4. This tries to recreate the logic from 5c46d9a4c85abbcc0b5db2bbbafded3efd784cd9 in Qt 4, where we on Gnome would override the default hint style specified in FontConfig with Xft.hintstyle settings. This is the configuration used for changing the hint style in the Gnome Tweak Tool. Task-number: QTBUG-29582 Change-Id: I6b9fe2c8ff55ff080d034e5a53fc8cbb49f7651f Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-04-268-138/+200
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-04-228-138/+200
| |\| | | | | | | | | | Change-Id: I059725e3b7d7ffd5a16a0931e6c17200917172b5
| | * Let platform plugin decide if accessibility is activeFrederik Gladhorn2013-04-194-35/+27
| | | | | | | | | | | | | | | Change-Id: I881a8ff3fedf3db73ee37046a4363c70960a92a6 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
| | * Make password mask characters themeable.Mitch Curtis2013-04-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-29871 Change-Id: I3cf739a321d7917f8f8431992e29bba0871b1934 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * Move Fusion styles palette into QtGuiJørgen Lind2013-04-172-101/+153
| | | | | | | | | | | | | | | | | | | | | | | | So that it can be used as the standard palette for QtGui applications instead of the absolutely useless black palette. Change-Id: Ie001439fcd8840a66275009c9f42cbf8bab4864a Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * QFontConfigDatabase: Fix performance regressionKonstantin Ritt2013-04-161-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | ..introduced by 244cc5da55b92bf08f32da01d7557decbd9ba66c Symbol fonts usually don't have code ranges support except Latin. Don't load FT face for font that doesn't look like a symbol font. Change-Id: Iec46aa84e27227e0bda5d50f96a2b2f75f58e950 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| | * QFontEngine: Fix cache_cost might be not initializedKonstantin Ritt2013-04-141-0/+2
| | | | | | | | | | | | | | | | | | Change-Id: I4cf4de5797e6623a71593e8f382496188e3abac8 Reviewed-by: jian liang <jianliang79@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Improve desktop environment detection.David Faure2013-04-242-10/+22
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | UNKNOWN now means generic unix theme, rather than Gtk: there are other KDE/Qt-based desktops, and there's also the case of no desktop at all (e.g. bare Xvfb, as used by automated builds). To make this correct for GTK-based desktops, this commits improves the detection of the current desktop environment. Change-Id: Ib696624de39d5024527880df7adc26c65b838d15 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-04-122-3/+8
|\| | | | | | | Change-Id: Iee73c93067c5822d8dd51a8692e6da9df4ba49f5
| * QFreetypeFace: Fix getFace() uses UTF-8 paths on non UTF-8 localesKonstantin Ritt2013-04-112-3/+3
| | | | | | | | | | | | | | | | | | | | QFontEngine::FaceId::filename is intended to be local8Bit-encoded but QFreetypeFace::getFace() always treats it like UTF-8-encoded. Also replace explicit (to|from)Local8Bit and toLatin FaceId::filename conversions with QFile::(en|de)codeName, where appropriate. Change-Id: Ic7beabf0a160f2f02f1667bcb8e6067adaba1c16 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * Fix QFontconfigDatabase unable to fallback to a localized familyKonstantin Ritt2013-04-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When populating the font database, FcPatternGetString(FC_FAMILY) gets a localized font family name; but, in fallbacksForFamily, it gets a non-localized font family name, so it unable to find the proper font to fallback. Simply register all family name variants as aliases to localized name and make sure they are checked when getting fallback families. Task-number: QTBUG-28806 Task-number: QTBUG-30415 Change-Id: I71c03ae9b51a28736c2576f3442f1bbdb3497c09 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: jian liang <jianliang79@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Merge branch 'stable' into devSergio Ahumada2013-04-102-8/+8
|\| | | | | | | Change-Id: Icff019d74ae04c628a80f66aa478e4db40fae464
| * Make QTextCursor accessibility boundary finder availableFrederik Gladhorn2013-04-082-8/+8
| | | | | | | | | | | | | | | | | | This allows re-using the function in QtQuick. In addition TextBoundaryType is moved to QAccessible and QAccessible2 as namespace ceases to exist. Change-Id: I184bc2c181a22ca51ac4db4e5a080dc26d4acfe0 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-04-033-177/+115
|\| | | | | | | Change-Id: Id96d4076610366a7cc66c8d8382ca25c33eaa71d
| * Cache QAccessibleInterfaces.Frederik Gladhorn2013-04-022-173/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since there already is a one-to-one relationship between QObject and QAccessibleInterface it makes little sense to create and destroy the interfaces on each call to queryAccessibleInterface. Add a cache and keep created interfaces around for the lifetime of the corresponding QObject. This changes the memory management rules: accessible interfaces must no longer be deleted. If you get an QAccessibleIntrface pointer that pointer will stay valid as long as the corresponding QObject is not deleted. This also re-enables accessibility for Mac. We limit the range of the IDs so that they are useable for Windows directly. That means we can get rid of the event cache there. This is based on: Iebf2f374916fc70a9dd29e95f45a6444b85f6cee Change-Id: I9fe6531812c0dbc5b41101ac05830a6dd75e13a3 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * QFontConfigDatabase: fix fallbacksForFamily() for CJK languagesKonstantin Ritt2013-04-011-4/+4
| | | | | | | | | | | | | | | | | | | | For Han Unicode script, the language couldn't be determined algorithmically, the only way is guessing based on the user's locale. The is a regression introduced in 9b0fab6b62df98519ebfab117f14b9d3465d8c68 Change-Id: I84645885a825fdfb6c268edaf10185bf5e447eb5 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Add qPopulationCount() function, extracted from QBitArrayMarc Mutz2013-04-031-14/+3
|/ | | | | | | | | | | | | This functionality is used in multiple places in Qt itself, so it makes sense to have a global function for this. This also allows to map this onto specialized assembler instructions, should an architecture provide them, later on. Also added comprehensive tests, using a 4-bit lookup-table implementation as a reference. Change-Id: I8c4ea72cce54506ebb9fbe61141dbb5f1b7a660f Reviewed-by: Stephen Kelly <stephen.kelly@kdab.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>
* Accessibility: Fix crash when updating in dtorFrederik Gladhorn2013-03-231-2/+6
| | | | | | | | | | | | | | 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>
* Remove unused private membersThiago Macieira2013-03-232-2/+1
| | | | | | | | | | | | | 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>
* Merge branch 'dev' into stableOswald Buddenhagen2013-03-2057-444/+4608
|\ | | | | | | | | | | | | | | | | | | | | | | This starts Qt 5.1 release cycle Conflicts: src/gui/text/qfontdatabase.cpp src/gui/text/qharfbuzz_copy_p.h src/widgets/kernel/qapplication.cpp src/widgets/kernel/qcoreapplication.cpp Change-Id: I72fbf83ab3c2206aeea1b089428b0fc2a89bd62b
| * Make sure that we #include qconfig.h before testing for features.Thiago Macieira2013-03-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | This is mandatory in public headers (qiodevice.h, qopengl*, etc.), but it's a good idea even in private headers, in case someone includes that header first somewhere. In particular, all platformsupport API is private. Change-Id: If287baa5d9ed14e93c1666efa0e6332c4c1cd9a4 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * Make qaccessible2.h internal.Frederik Gladhorn2013-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | This should have been done right from the start, instead we only made the documentation internal. Also remove the classes from the BIC data. Change-Id: I238a7a7cc5d26980b23931c78e7e5a4477d46920 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>