1. 19 Oct, 2019 - 3 commits
    • Topi Reinio's avatar
      Doc: Prevent QDoc from auto-linking certain words · 51edfdd2
      Topi Reinio authored
      
      'macOS' appears in the documentation frequently, and because it
      resembles a variable/property name, QDoc links each occurrence
      of it.
      
      'WebChannel' appears as part of a module name, but it's also
      a QML type - auto-linking each word to QML documentation is
      confusing.
      
      Likewise, there's no need to link 'OpenGL' each time.
      
      Explicit links such as \l [QML] WebChannel continue to work.
      
      Task-number: QTBUG-79135
      Change-Id: I76cc84b0076255e260aa88c244102702a48f35a6
      Reviewed-by: default avatarMartin Smith <martin.smith@qt.io>
      v5.14.0-beta2
      51edfdd2
    • Tor Arne Vestbø's avatar
      Propagate application termination requests through QPA · 1b6db184
      Tor Arne Vestbø authored
      
      Instead of having each platform plugin deal with application termination
      in their own weird ways, we now have a QPA API to signal that the system
      requested the application to terminate.
      
      On the QGuiApplication side this results in a Quit event being sent to
      the application, which triggers the default behavior of closing all app
      windows, and then finally calling QCoreApplication::quit().
      
      The quit event replaces the misuse of a close event being sent to the
      application. Close events are documented as being sent to windows.
      
      The close events that are sent to individual windows as part of the
      quit process can be ignored. This will skip the final quit() of
      the application, and also inform the platform that the quit was
      not accepted, in case that should be propagated further.
      
      In the future the logic for closing windows should be unified
      between the various approaches in closeAllWindows, shouldQuit,
      and friends.
      
      Change-Id: I0ed7f1c0d3f0bf1a755e1dd4066e1575fc3a28e1
      Reviewed-by: default avatarPaul Olav Tvete <paul.tvete@qt.io>
      1b6db184
    • Tor Arne Vestbø's avatar
      macOS: Merge [QCocoaApplicationDelegate canQuit] into callsite · 29675102
      Tor Arne Vestbø authored
      
      The logic for handling termination without any event loops has been
      moved up as an early exit, and the code has been modernized.
      
      Change-Id: I202720b9923e35732cffea656e1ce108ef11953d
      Reviewed-by: default avatarPaul Olav Tvete <paul.tvete@qt.io>
      29675102
  2. 18 Oct, 2019 - 4 commits
  3. 17 Oct, 2019 - 2 commits
  4. 16 Oct, 2019 - 4 commits
  5. 15 Oct, 2019 - 3 commits
    • Sona Kurazyan's avatar
      Prepare for deprecating the QDesktopWidget · 9cc040a8
      Sona Kurazyan authored
      
      QDesktopWidget is marked as obsolete in docs, but it is not yet
      completely deprecated, some of its methods are still in use.
      
      Replace uses of the following methods marked as obsolete:
      - QDesktopWidget::screenNumber(QWidget*) -> QWidget::screen()
      - QDesktopWidget::screenGeometry(QWidget*) -> QWidget::screen()->geometry()
      - QDesktopWidget::availableGeometry(QWidget*) -> QWidget::screen()->availableGeometry()
      
      Task-number: QTBUG-76491
      Change-Id: I2cca30f2b4caa6e6848e8190e09f959d2c272f33
      Reviewed-by: default avatarTor Arne Vestbø <tor.arne.vestbo@qt.io>
      9cc040a8
    • Laszlo Agocs's avatar
      rhi: gl: Do not let external rendering trash our vao · 92b9dcfe
      Laszlo Agocs authored
      
      Task-number: QTBUG-79221
      Change-Id: Ie8e6376f79c816071c12962dc054838aeaabcaa5
      Reviewed-by: default avatarPaul Olav Tvete <paul.tvete@qt.io>
      92b9dcfe
    • Tor Arne Vestbø's avatar
      macOS: Simplify Objective-C namespacing · 027d45cb
      Tor Arne Vestbø authored
      
      We only need to use the QT_MANGLE_NAMESPACE macro when declaring the
      interface of the class. As long as we couple that with an alias
      declaration using QT_NAMESPACE_ALIAS_OBJC_CLASS, any further uses
      of the class name can be un-namespaced, including declaring
      categories on the class.
      
      The only snag with QT_NAMESPACE_ALIAS_OBJC_CLASS is that it can
      only be used once per class and translation unit, so forward
      declarations get hairy, but we can avoid that by just including
      the headers instead.
      
      Change-Id: I333bcd18fe1e18d81fbd560b0941c98b1c32460e
      Reviewed-by: default avatarTimur Pocheptsov <timur.pocheptsov@qt.io>
      027d45cb
  6. 14 Oct, 2019 - 6 commits
  7. 13 Oct, 2019 - 1 commit
    • Sona Kurazyan's avatar
      Remove usages of deprecated APIs of QDesktopWidget · 66a9c4b0
      Sona Kurazyan authored
      
      - Replaced the usages of the following deprecated APIs:
        * QDesktopWidget::screenCount() -> QGuiApplication::screens().size()
        * QDesktopWidget::screenGeometry(int) -> QGuiApplication::screens().at()
        * QDesktopWidget::screenNumber(QPoint) -> QGuiApplication::screenAt(QPoint)
      
      - Added notes for the QWidget *QDesktopWidget::screen(int), which
      currently has no replacement.
      
      - Fixed the tests to build conditionally, only when these APIs are
      enabled.
      
      Task-number: QTBUG-76491
      Change-Id: I2fdec96d0a6a4fc782c53549b05a5556412b8305
      Reviewed-by: default avatarVolker Hilsheimer <volker.hilsheimer@qt.io>
      66a9c4b0
  8. 12 Oct, 2019 - 1 commit
  9. 11 Oct, 2019 - 11 commits
    • Johan Klokkhammer Helsing's avatar
      evdevtouch: Fix touch device count not being updated · 6abbecf9
      Johan Klokkhammer Helsing authored
      When this was refactored in 3bc10fb9
      
       to use unique pointers, a move was
      added before the connection, so it would essentially always try to connect a
      nullptr.
      
      Change-Id: Iab7fce88bc73afd78e6b63ffaef7358f3f4ce7e3
      Reviewed-by: default avatarRainer Keller <Rainer.Keller@qt.io>
      6abbecf9
    • Volker Hilsheimer's avatar
      QGroupBox: always disable children in a checkable, unchecked groupbox · 1748dc3e
      Volker Hilsheimer authored
      
      The childEvent handler sets the enabled property of children as they are
      added to the groupbox, but applications might later enable children and
      check/uncheck the groupbox's checkbox in undefined order. In that case,
      we would end up with enabled children inside a conceptually disabled
      groupbox (the groupbox's checkbox represents the logical "disabled"
      state), which breaks documented QWidget::enabled rules.
      
      To make sure that all children are disabled as per the state of the
      groupbox, we need to run that logic once the UI has been set up, and
      before it becomes visible. This is what polishing is for, so listen
      for that event in addition and handle it the same way as adding (which
      duplicates things, but keeps existing code that might depend on things
      being updated as they are added working).
      
      Adds the case to the existing enabledChildPropagation test case.
      
      [ChangeLog][QWidget][QGroupBox] Always disable children of a checkable,
      unchecked group box before showing.
      
      Change-Id: I978bd27b6f1a3f54ec745faeea529a98d0d93619
      Fixes: QTBUG-25938
      Reviewed-by: default avatarShawn Rutledge <shawn.rutledge@qt.io>
      1748dc3e
    • Morten Johan Sørvig's avatar
      Fusion Style: Use high-dpi pixmaps · 81a79096
      Morten Johan Sørvig authored
      
      Pass the QWindow as context to QIcon::pixmap(), which
      enables it to return high-dpi pixmaps when needed.
      
      Fixes: QTBUG-74100
      Change-Id: I4556f0a98df8b6ba65376778379a03eb8c470d00
      Reviewed-by: default avatarFriedemann Kleint <Friedemann.Kleint@qt.io>
      81a79096
    • Rainer Keller's avatar
      Protect global variable g_pointIdMap with mutexes · 23d73208
      Rainer Keller authored
      
      The evdev touch handler is thread based and calls
      QWindowSystemInterface::handleTouchEvent. The global variable
      in qwindowsysteminterface.cpp is used without being protected by mutexes
      which causes data loss and crashes when multiple touch screens are used.
      
      Fixes: QTBUG-63584
      Change-Id: I8b5bb04cc517fab96ac428b2bd2bc128b2ca1a54
      Reviewed-by: default avatarJohan Helsing <johan.helsing@qt.io>
      Reviewed-by: default avatarShawn Rutledge <shawn.rutledge@qt.io>
      Reviewed-by: default avatarTor Arne Vestbø <tor.arne.vestbo@qt.io>
      23d73208
    • Eirik Aavitsland's avatar
      Fix QEasingCurve possible imprecision at endpoints · c54083ff
      Eirik Aavitsland authored
      
      Both the spline curves and (most of) the predefines curves are defined
      as having start value 0.0 and end value 1.0. The spline and In/OutBack
      functions would sometimes not produce that result precisely, so code
      could not reliably depend on expressions like (easedValue < 1.0)
      becoming false. Fix by explicitly handling endpoints.
      
      Fixes: QTBUG-76781
      Fixes: QTBUG-72630
      Change-Id: I21be43af469a76c090154bffef8406a9baf2d0b1
      Reviewed-by: default avatarThomas Hartmann <thomas.hartmann@qt.io>
      c54083ff
    • Tor Arne Vestbø's avatar
      macOS: Optionally flush sub-layers via sub-image copies of the backingstore · eaf4911d
      Tor Arne Vestbø authored
      
      When we're flushing the backingstore to sub-views with their own layers
      we don't want to pay the cost of uploading the whole backingstore to the
      GPU in the case where we're dealing with a discrete GPU.
      
      To work around this we make a copy of the appropriate part of the surfcace.
      
      This results in additional copies of the data, and will need further
      investigation to limit these.
      
      Task-number: QTBUG-77447
      Change-Id: I318ae80e433dd7b0a55fd5a598b19f114d8bd28e
      Reviewed-by: default avatarMorten Johan Sørvig <morten.sorvig@qt.io>
      eaf4911d
    • Tor Arne Vestbø's avatar
      macOS: Don't override event handler for kAEQuitApplication · 35713ef3
      Tor Arne Vestbø authored
      
      The implementation of the default handler, [NSApp _handleAEQuit],
      does a lot more than just terminating the application, including
      sending NSWorkspaceWillPowerOffNotification if appropriate, and
      deals appropriately with state restoration.
      
      Change-Id: If725838fc0f40d09a0b8885eb3e7239499d8fea0
      Fixes: QTBUG-18624
      Reviewed-by: default avatarMorten Johan Sørvig <morten.sorvig@qt.io>
      35713ef3
    • Tor Arne Vestbø's avatar
      macOS: Simplify reflection delegate handling in QCocoaApplicationDelegate · e4e3be75
      Tor Arne Vestbø authored
      
      Sending a message to a nil object returns nil, so there's no reason to
      check the delegate before calling respondsToSelector, and we can use
      the implicit _cmd argument to pass along the selector for the method
      we're in.
      
      For applicationShouldTerminate, if there's a reflection delegate but
      it doesn't answer to applicationShouldTerminate it makes no sense to
      skip our own logic.
      
      Change-Id: Iafcd883a5c8cec1b35d2f95238de55eff060d71f
      Reviewed-by: default avatarMorten Johan Sørvig <morten.sorvig@qt.io>
      Reviewed-by: default avatarVolker Hilsheimer <volker.hilsheimer@qt.io>
      e4e3be75
    • Timur Pocheptsov's avatar
      QMacStyle - fix the background color for tool button · aa3540b7
      Timur Pocheptsov authored
      
      when it's in 'ON' state ("inverted" color in 'Dark' appearance).
      Number are rather arbitrary and extracted with 'Digital Color Meter'
      app to make it look similar to the native panel (to be honest,
      this tool button on a toolbar not to be found in many native apps,
      they use different buttons anyway).
      
      Fixes: QTBUG-71526
      Change-Id: Ie61e60b77f097f04550006612e4aab6f11bb954b
      Reviewed-by: default avatarTor Arne Vestbø <tor.arne.vestbo@qt.io>
      aa3540b7
    • Edward Welbourne's avatar
      Distinguish invalid datetimes from others · 60deb690
      Edward Welbourne authored
      
      A default-constructed QDateTime is invalid, but compared equal to a
      valid one referencing the start of 1970.  This lead to date properties
      in QML being initialized invalid but not getting an onChange if the
      first value they're set to is the start of 1970.
      
      Fixing that then lead to some tests failing. Indeed, the original
      equality check involved using toMSecsSinceEpoch(), whose value is
      undefined unless the datetime is valid, without a prior check on its
      validity: so ensure all uses of toMSecsSinceEpoch() are guarded with
      isValid() checks.
      
      Reworked tst_QDateTime::toSecsSinceEpoch() to use its bool column
      (previously unused, after separating from toTime_t(), which uses this
      column for "out of time_t's range") for validity of the datetime.
      
      [ChangeLog][QtCore][QDateTime] Invalid datetimes are now treated as
      equal and less than all valid ones. They could previously be found
      equal to valid datetimes.
      
      Fixes: QTBUG-79006
      Change-Id: Ie72deb8af4350a5e808144d0f6e42dc8eb3ff5ef
      Reviewed-by: default avatarPaul Wicking <paul.wicking@qt.io>
      Reviewed-by: default avatarThiago Macieira <thiago.macieira@intel.com>
      60deb690
    • Christian Ehrlicher's avatar
      Cleanup QtWidgets examples · 4af00753
      Christian Ehrlicher authored
      
      Cleanup QtWidgets examples:
       - use nullptr (clang-tidy)
       - use member-initialization
       - adjust the style
       - fix includes
      
      Change-Id: Ic5448606aacc525ea60b615a69227017aa2b821a
      Reviewed-by: default avatarPaul Wicking <paul.wicking@qt.io>
      4af00753
  10. 10 Oct, 2019 - 5 commits