summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
Commit message (Collapse)AuthorAgeFilesLines
...
* | Revert "Cocoa: Send obscure events on OcclusionStateHidden"Morten Johan Sørvig2014-10-221-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This caused instability in the CI and testing system: Tests that expected expose and paint events no longer got them due to window placement/visibility, including: tst_QGraphicsProxyWidget::paintEvent tst_QMdiArea::tileSubWindows tst_QSizeGrip::hideAndShowOnWindowStateChange This reverts commit f5cf06f4afc48198780e3c3d0d1a52afce425507. Change-Id: I017fbf24f3ad99cce6602eddafc3a67f8edc494d Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | Windows: Initialize the mouse cursor resourcesAlessandro Portale2014-10-222-1/+13
| | | | | | | | | | | | | | | | Initializing resources is required for static Qt builds on Windows. Task-number: QTBUG-42075 Change-Id: I3074fd8ab57ac48762f589eb3776ed5cc7e2e31d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | OS X: drag and drop and auto-scrollingTimur Pocheptsov2014-10-221-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | Cocoa sens periodic drag updated events even if there is no actuall mouse movement (or any other updates). This breaks animations in different views/widgets supporting our own auto-scroll (done with timers). This patch kindly asks Cocoa _not_ to send us these events. Task-number: QTBUG-32761 Change-Id: I5dad4ceb0a490e2f3cb34a806a5bdb1045b4dac3 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | Windows: Implement Qt::WA_ShowWithoutActivating.Friedemann Kleint2014-10-221-1/+8
| | | | | | | | | | | | | | | | | | | | Set dynamic property for all platforms and query it in QWindowsWindow::show_sys(). Task-number: QTBUG-19194 Task-number: QTBUG-34504 Change-Id: I4199a2ed835d3de928405d470a81c54da93cc768 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | OS X - unified toolbar and AA_NativeWindowsTimur Pocheptsov2014-10-211-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some cases QToolBar creates a child window (a child borderless NSWindow) placed on top of the toolbar's main window. As a result it's not possible to drag this main window using its toolbar - the window "jumps" on the screen. The reason is quite subtle - QNSView -handleMouseEvent: uses [NSEvent mouseLocation] and this location is invalid: - we have an NSWindow (parent) - we have a child NSWindow ([parent addChildWindow:child ....] - we handle drag event in a child window - we move a parent window as a result of drag event - Cocoa also moves a child window for us - when handling the next drag event, location [NSEvent mouseLocation] differs from the real event's location. Task-number: QTBUG-40106 Change-Id: Ic68cb92ab4233a1e0746b478820c1e33fd37a462 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | OS X - maximize app's window from the Dock or using cmd-tabTimur Pocheptsov2014-10-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On OS X it's possible to maximize app's window by clicking on an app's icon in the Dock. Another trick is to use cmd-tab to select an app +, while still holding the 'cmd' key, press the 'option' key - this should also maximize a window. None of these works at the moment, and to enable these features app delegate should return YES from the -applicationShouldHandleRepopen:hasVisibleWindows:. method. Task-number: QTBUG-40084 Change-Id: I33ba9e74d55d41d23deb429612519b746d461d9e Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | iOS: Don't auto-activate popup windows unless they are standaloneTor Arne Vestbø2014-10-203-11/+28
| | | | | | | | | | | | | | | | | | | | | | | | We try to emulate a traditional window manager by activating windows on touch press (before delivering the event), and on showing/hiding windows, but this logic should not apply to popup windows (including tooltips and tool windows), as they are in most cases already active through their parent or transient parent, and should not steal keyboard focus and bring the virtual keyboard down. Change-Id: If10082bd48cdf1a9e1c41d8809066e86dafd7ffc Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | iOS: Remove unused and duplicated functions from QIOSWindowTor Arne Vestbø2014-10-202-4/+1
| | | | | | | | | | | | Change-Id: I29a2345bddc9ec9577bdc398e4df9914406e5367 QIOSWindow::windowType() is the same as window()->type() Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | iOS: Fade out statusbar when scrolling view due to VKBTor Arne Vestbø2014-10-203-41/+52
| | | | | | | | | | Change-Id: I86923a2b2aa2d17d79ba3a11cabf37e615eaf4cc Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | iOS: Move UIView helpers to once placeTor Arne Vestbø2014-10-202-6/+3
| | | | | | | | | | Change-Id: I9e20d23ad813503ea5c6bef3303ebc0f6b9e99cd Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | Android: deadlock avoidancePaul Olav Tvete2014-10-206-1/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | This change adds deadlock protection to all places where we lock one thread while waiting for the other to do something. If we detect that the other thread is going to block, we abort the operation. This could cause unexpected problems, such as painting errors, text input errors, or even crashes, but the alternative is a guaranteed deadlock. Task-number: QTBUG-41369 Change-Id: I2627a955cfafc4bce54eb9d0d38e19b768b06956 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Delay showing keyboard until application is activePaul Olav Tvete2014-10-202-0/+15
| | | | | | | | | | | | | | | | | | | | Android starts asking lots of questions when the software keyboard pops up, so let's wait until the application is initialized. This works around a deadlock on startup. Task-number: QTBUG-41369 Change-Id: I1c79e32d08c7cc11748ec55efbff3bc25e40f4b2 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | iOS: ensure we have a valid focusObject before sending it IM eventsRichard Moe Gustavsen2014-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | Should not really happen, but since we don't store the focus object given to us, we should do a check. A crash was seen from this when running the "Application" example for widgets. Change-Id: I9c4121766d7028a4eceede7d7b15c8c53d34e16e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | iOS: ignore sender of actions for edit menuRichard Moe Gustavsen2014-10-191-1/+2
| | | | | | | | | | | | | | | | | | The reason is that the sender is sometimes 'NULL', so we cannot rely on it. But the current test with our prefix should suffice. Change-Id: Ie58bf062cbade08feda622bda753d63e1d811a8d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | iOS: ensure edit menu works on iOS6Richard Moe Gustavsen2014-10-191-3/+8
| | | | | | | | | | | | | | | | | | Method "- (id)targetForAction:(SEL)action withSender:(id)sender" is only available from iOS7. So change implementation to use whats available on iOS 6. Change-Id: I4e21495073364e83ef396dfab47a7ea2a23bbead Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | OS X: Emit QClipboard::dataChanged when activating applicationDyami Caliri2014-10-182-3/+21
| | | | | | | | | | | | | | | | | | | | The QClipboard documentation states that on OS X it will emit dataChanged() when activating the application, if the system clipboard had changed. It wasn't doing this in Qt5. Task-number: QTBUG-34941 Change-Id: I7f34e757876757691f0a6c94dd2ae76a60146291 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Gabriel de Dietrich2014-10-181-0/+4
|\ \
| * | Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-10-141-0/+4
| |\| | | | | | | | | | Change-Id: Ic01820f2390e419a5b286643e7351e85ae032473
| | * XCB: silence warnings about possibly undefined shiftsGiuseppe D'Angelo2014-10-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code shifts "1" by a uint32 number. If that number is >= 32, we're triggering undefined behavior, and Coverity rightfully complains about that. Add some asserts to silence those warnings. Change-Id: Ib91085a279b0a2b7ad37afad05ec1d764c0496b1 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | | XCB: Always set X window attributes in QXcbWindow::setWindowFlags().Friedemann Kleint2014-10-171-20/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDockWidget and QToolBar set the Qt::BypassWindowManagerHint window flag when unplugging and clear it in the endDrag() methods. This does not have any effect since the attribute is not taken into account in QXcbWindow::setWindowFlags(). Change the method to always set the attributes, which should also make it possible to set/clear Qt::WindowTransparentForInput. Task-number: QTBUG-41189 Task-number: QTBUG-38964 Change-Id: Id9eddc642489d18f44c7597f8fc1a1df71971306 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
* | | xcb: Fix a type of variables for xkb modifiers masksAlexander Volkov2014-10-161-2/+2
| | | | | | | | | | | | | | | | | | Change-Id: I05c7c6a649a55fc0648b1cb84e1c402160c9d998 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
* | | xcb: Don't return 0 as a possible key for a shortcutAlexander Volkov2014-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QXcbKeyboard::keysymToQtKey() may return a value of 0 for keysyms that are not supported by Qt (e.g. for XK_ISO_Next_Group). It is then translated to an empty QKeySequence which in turn is detected as a partial match for any shortcut. The behavior of QShortcutMap::nextState() becomes broken because it sets current state to QKeySequence::PartialMatch while there is no match at all. Task-number: QTCREATORBUG-9589 Change-Id: I1e2a4511a876dfa418db9906d10382255a2e4d62 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
* | | QWindowsGuiEventDispatcher: Register timers in constructor.Friedemann Kleint2014-10-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Port change 3716a76704273fdbe5ad4ec978438daeda606c26 (Qt 4) to Qt 5. Enforce the creation of the internal window and registering of timers in the event dispatcher constructor for GUI applications instead of delaying it to processEvents() is called. Move the call to virtual wakeUp() out of createInternalHwnd(). Task-number: QTBUG-40881 Change-Id: I82a4748897da140a39feff882c75ad5ac6155148 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | Consolidate how contentDescription is calculated.Jan Arve Saether2014-10-151-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the behavior was different depending on if the contentDescription was calculated as a result of an event, or if it was calculated as a result of hierarchy traversal. Refactor the functionality into one single function that will be used in both scenarios. 'contentDescription' will now receive its value from one of the following sources, listed in prioritised order (QAI == QAccessibleInterface): 1. QAI::text(QAccessible::Name) 2. QAI::text(QAccessible::Description) 3. QAI::text(QAccessible::Value) 4. QAI::valueInterface()->currentValue() Change-Id: I2e4958a1e95b5f20d01da37c23ecbc09842360bc Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* | | Cocoa: Send obscure events on OcclusionStateHiddenMorten Johan Sørvig2014-10-141-4/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | This disables animations for windows that are completely obscured by other windows. On examples/quick/animation, obscured CPU usage goes from 10% to 1%. Change-Id: I9945431e6387e406e2064c08d5aa01d5d96ef602 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* | qiosclipboard: take ownership over mime dataRichard Moe Gustavsen2014-10-102-1/+14
| | | | | | | | | | | | | | | | | | | | QClipboard is documented to take ownership over the mime data set with "setMimeData" and the value returned by "mimeData". So we need to implement this to avoid memory leaks. Change-Id: Ieb3a17368ed3a698c29a7f92c8ee87a0cca86b46 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | OS X: rename special menu items instead of duplicatingTimur Pocheptsov2014-10-102-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two-part fix: QCocoaMenu::syncMenuItem, when selecting the "old" menu, if an item was merged, 'applicationMenu' was always selected, but this is wrong for any item with a role >= CutRole (such an item still can be "merged", but it's not in the application menu). QCocoaMenuItem::sync - item can be merged with itself: after item's role detected, the search for an item to merge with can find exactly the same item we've just detected the role for (since a data-member is modified) - try to avoid this. Task-number: QTBUG-39934 Change-Id: Ibe1df9e92973380652101143067e14922afdfb9e Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Android: Make memory handling in QClipboard consistent with iOSEskil Abrahamsen Blomfeldt2014-10-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On iOS we do deleteLater() on the mime data instead of deleting it directly, in case the application should happen to use the pointer again directly after setting it on the clipboard. Technically it would be a bug in the application, but using deleteLater() is safer and it's better to be consistent with iOS so that a buggy application crashes in the same places in both. Change-Id: I2996d6c7816a2f83615a43609f5be207aaa72c86 Task-number: QTBUG-41853 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* | Android: Return empty mime data instead of 0 from empty clipboardEskil Abrahamsen Blomfeldt2014-10-101-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is consistent with other platforms such as iOS and XCB, which return a QMimeData with an empty text when the clipboard is empty. [ChangeLog][Android] QClipboard::mimeData() now returns an empty object instead of null pointer from QClipboard when clipboard is empty for consistency with other platforms. Change-Id: I17068f0afcb63690cf11048ffa60e19dc9b08691 Task-number: QTBUG-41817 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Android: Fix memory leak in QClipboard::setMimeData()Eskil Abrahamsen Blomfeldt2014-10-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The ownership of the object passed into QClipboard::setMimeData() is documented to be transferred to the clipboard, but we never deleted it, thus all these objects would leak. [ChangeLog][Android] Fixed memory leak in QClipboard::setMimeData() Change-Id: I43e6bad1071be5f56c219cb9341584edba54d2bd Task-number: QTBUG-41852 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* | Android: Support QClipboard::clear()Eskil Abrahamsen Blomfeldt2014-10-101-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | QClipboard::clear() is implemented by calling QPlatformClipboard::setMimeData() with a null pointer. Since we would do nothing in this case on Android, then the clear() function would have no effect. [ChangeLog][Android] Added support for QClipboard::clear() Task-number: QTBUG-41854 Change-Id: Id569b102f2e561e46967b52f89d9b54031d92456 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | Android: Thread fix/optimizationPaul Olav Tvete2014-10-101-3/+3
| | | | | | | | | | | | | | | | | | Do the cheap test before sending an expensive query that might use a mutex. Task-number: QTBUG-41369 Change-Id: I78f03c84e5bbf0492f1b7ea18d1baa752a1beff2 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Don't use QStringLiteral in startsWith/endsWidthMarc Mutz2014-10-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For QLatin1String, startsWith/endsWith is overloaded, so comparing to a latin-1 (C) string literal is efficient, since strlen() is comparatively fast. OTOH, QStringLiteral, when not using RVO, litters the code with QString dtor calls, which are not inline. Worse, absent lambdas, it even allocates memory. So, just use QLatin1String instead. Change-Id: I7eaf464c67b55116f970fe7f58a85f19ce4d254e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Don't use QStringLiteral in comparisonsMarc Mutz2014-10-0911-33/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For QLatin1String, operator== is overloaded, so comparing to a latin-1 (C) string literal is efficient, since strlen() is comparatively fast. OTOH, QStringLiteral, when not using RVO, litters the code with QString dtor calls, which are not inline. Worse, absent lambdas, it even allocates memory. So, just compare using QLatin1String instead. Change-Id: I7af3bf3a67c55dae33ffaf9922d004fa168a3f9c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Don't use QByteArrayLiteral in comparisonsMarc Mutz2014-10-093-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For const char*s, operator== is overloaded, so comparing to a (C) string literal is efficient, since qstrcmp doesn't require the length of the strings to compare. OTOH, QByteArrayLiteral, when not using RVO, litters the code with QByteArray dtor calls, which are not inline. Worse, absent lambdas, it even allocates memory. So, just compare with a (C) string literal instead. Change-Id: Id3bfdc89558ba51911f6317a7a73c287f96e6f24 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | iOS: add system paletteRichard Moe Gustavsen2014-10-082-0/+13
| | | | | | | | | | | | | | | | Return a system palette that sets the correct highligh (text selection) colors. Change-Id: Ic0a18f931913f28bdc73d9ec4ae347fe38839f17 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Utilize Q_FORWARD_DECLARE_OBJC_CLASS in QCocoaFileDialogHelper.Jake Petroules2014-10-082-34/+25
| | | | | | | | | | | | Change-Id: I94ae91ac8fb625de4a328c6628ce0ab45919708f Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Correct devicePixelRatio for software OpenGLMorten Johan Sørvig2014-10-071-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [NSView setWantsBestResulutionOpenGLSurface] is a hint and the driver may ignore it, for example when using software OpenGL on a virtual machine. In these cases devicePixelRatio() must return a value corresponding to the actual OpenGL surface size. Use [NSView convertSizeToBacking] which is one of the recommended methods. Task-number: QTBUG-41767 Change-Id: Ia79242219908a2454a83b44b6eb7463372764162 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Oswald Buddenhagen2014-10-075-4/+37
|\ \
| * | Merge remote-tracking branch 'origin/5.3' into 5.4Oswald Buddenhagen2014-10-065-4/+37
| |\| | | | | | | | | | Change-Id: I132bb6cce68e9f8413200f7ee75586bd1cada38c
| | * Accessibility: Fix crash with invalid QAccessibleInterfaceDyami Caliri2014-09-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows accessibility can crash if it handles an event with an invalid QAccessibleInterface pointer (one whose object has been deleted). Task-number: QTBUG-41597 Change-Id: Iba099f7cb732fd00f18f04bd951c6cdd94785871 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
| | * QCocoaMenu: Keep a reference to the containing menu itemGabriel de Dietrich2014-09-294-3/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the menu to tell its containing item the menu got deleted. This removes the need to reset the COCOA_MENU_ANCESTOR property value, which would crash since QCocoaMenuItem::m_menu would be a dangling pointer. Task-number: QTBUG-41587 Change-Id: Ia3408ef85cf823bfddbc2c41d6534e43bf14ed29 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | | Windows DirectWrite: Fix off-by-one in font descentEskil Abrahamsen Blomfeldt2014-10-061-2/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | In cb8445f0323b0eefbb04f1d8adad81a00b53abd8 we removed the historical +1 in font heights and the corresponding -1 in the descent measurement for all font engines. But the change to the direct write font engine was lost at some point during the transition to QPA, where we seem to have integrated an older version of the source file. [ChangeLog][Windows][Fonts] Fix off-by-one in font descent when using the DirectWrite font engine. Task-number: QTBUG-41783 Change-Id: Iffa24b5f2b4f6cc3a1f0034fdff63a1ee62ea9f7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | iOS: Properly scope window deactivation on resignFirstResponderTor Arne Vestbø2014-10-031-1/+2
| | | | | | | | | | | | | | | | We were missing brackets, but luckily the only result was that we unconditionally flushed events through flushWindowSystemEvents. Change-Id: If10bcc6a07501b9fb0db891e01b8ecc9d794ab30 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | Android: Hide vkb when IM disabled for focus objectEskil Abrahamsen Blomfeldt2014-10-031-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the focus object changes to an object that does not have IM enabled, we should hide the keyboard instead of resetting it. This happens, for instance, if you change to a different tab in an application while a text input in the previous tab had focus. Previously the input panel would stay open and overlap part of the new tab. [ChangeLog][Android] Hide input panel when focus changes to an object that does not accept input. Change-Id: I4009d203559582fa02c15fdc1a3f009396af2531 Task-number: QTBUG-32399 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | iOS: Move statusbar visibility handling to QIOSViewControllerTor Arne Vestbø2014-10-027-59/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | It doesn't belong in QIOScreen, and simplifies the flow when changing the focus window or the window state of the focus window. Both will result in calling updateProperties on the view-controller, which will re-configure the statusbar visibility and hide/show it as appropriate, before triggering a re-layout of its own view, which will in turn trigger an update of the screen properties based on the new statusbar state, before re-layouting of QWindow based on the new screen state. Change-Id: I89077a3fb5f843949ce833e4e727d2c753ea2eb6 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | Windows: Transform regions of window masks correctly.Friedemann Kleint2014-10-021-1/+1
| | | | | | | | | | | | | | | | | | | | Add missing transformation for first rectangle of a region consisting of multiple rectangles. Task-number: QTBUG-41300 Change-Id: I1a25c422c93ceade79de79d5c49891e0a7211943 Reviewed-by: MihailNaydenov <garfieldhq@yahoo.com> Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* | Warn when loading opengl32sw.dll failsKai Koehne2014-10-021-1/+3
| | | | | | | | | | | | | | | | | | Print a warning when the developer/user has explicitly requested the software backend, but loading openglsw.dll fails. Change-Id: I8b1f079538ac70ceacbf1a397a276659c760a4cc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Android: Don't include Apache code under LGPLv2 licenseEskil Abrahamsen Blomfeldt2014-10-023-14/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code which extracts style assets for the Android style is licensed under the Apache license, which is not compatible with LGPLv2.1. It is, however, compatible with LGPLv3. This means that the Android platform plugin cannot be LGPLv2.1 as long as this code is included. To minimize licensing confusion, we default to only providing LGPLv3 for Android. If you want to build a LGPLv2.1-compatible library, you can add -no-android-style-assets to the configuration. This will in turn enable the LGPLv2.1 in the configure output, and it will disable the extraction code in the platform plugin. Running the Android style with an LGPLv2.1-compatible platform plugin will work, but it will look horrible. [ChangeLog][Android] Default open-source license for Qt for Android is now LGPLv3. For compatibility with the LGPLv2.1 license, add "-no-android-style-assets" to your configuration. Change-Id: I6c7b52140f38138520871fa7c69debbb4ee90e6c Task-number: QTBUG-41365 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Use PopupMenu when possible.BogDan Vatra2014-10-014-25/+49
| | | | | | | | | | | | | | | | | | | | | | | | On API-11+ we are going to use PopupMenu instead of ContextMenu to show context menus. A PopupMenu displays a Menu in a modal popup window anchored to a View. The popup will appear below the anchor view if there is room, or above it if there is not. Task-number: QTBUG-39736 Change-Id: Ie412ab0935b868348ce5c8bb0bf53571ffefd582 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>