Commit Graph

4633 Commits

Author SHA1 Message Date
Alexander Volkov
4d73ab73c8 Return a correct filter from QFileDialog::selectedMimeTypeFilter()
QFileDialog::selectedMimeTypeFilter() returns either an empty
filter in the case when a platform file dialog doesn't implement
mime type filters, or initiallySelectedMimeTypeFilter() in the
case of Qt's file dialog. In both cases the result is incorrect.

Make it return a mime type filter corresponding to a selected
name filter. As a result, tst_QFiledialog::setMimeTypeFilters()
has to be fixed: QFileDialog::selectMimeTypeFilter() can't select
a name filter for an invalid mime type, and "application/json"
is not supported by RHEL 6.6, so replace it by "application/pdf".

Change-Id: I58d3be860a9b5e8a72cba86d74b520178115a812
Reviewed-by: David Faure <david.faure@kdab.com>
2018-06-27 12:14:44 +00:00
Alexander Volkov
c5307203f5 Fix interaction with the menu bar on touchscreens
Ignore synthesized mouse move events whithout the left mouse
button pressed. We receive such mouse move event on touch
before the mouse press event, it causes the menu to show
and then the subsequent mouse press event closes the menu.

Also don't propagate mouse events after closing a popup
to another popup, because they may close the latter one.

Change-Id: I50a2d9b57da63d33ffe416161a09f1696d65c88f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2018-06-25 16:45:07 +00:00
Paul Wicking
8bd73ad989 Doc: Add missing full stops in briefs
Task-number: QTBUG-68933
Change-Id: I3f2a9f8c562f9a44bb32bddd31d75abbfe6de04d
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-06-21 14:23:30 +00:00
Andy Shaw
f9b11bcf78 QHeaderView: Send the StatusTip events to itself if there is no parent
If there is a parent (typically an itemview) then StatusTip events
should be sent to that. However in the case of there not being a parent
then the event should be sent to the QHeaderView itself.

Task-number: QTBUG-68458
Change-Id: I2a8c11c973210c7adf1bf29443f224f968a357a9
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-06-14 04:21:35 +00:00
Oswald Buddenhagen
fc5da399c3 Merge 5.11 into 5.11.1
Change-Id: I28f48e980a9e23ddde5251608dd9d1d83df65392
2018-06-07 17:10:57 +02:00
Lars Knoll
225dcf355a Don't set the wasDeleted flag in ~QWidget
Setting it too early can cause issues, as we are still doing
lots of work here as e.g. calling hide() on children.

But the flag is required when we delete the declarative data,
so set and reset it when destroying that data.

Amends c579f49e2a

Task-number: QTBUG-68637
Change-Id: I7ed35828c26912aa6d703ba6025e46b7911353fa
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-06-07 09:41:24 +00:00
Liang Qi
62abbe34b8 Fix build for Android with android-clang in r17
Task-number: QTBUG-67464
Change-Id: Ib971a5da82b31bce9ac1c9ac623ad7d5302cfaec
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-06-06 11:36:33 +00:00
Joni Poikelin
092630cbf9 Fix building with -no-feature-dirmodel -no-feature-filesystemmodel
Change-Id: I7ab90043b2bf6ee41412480f72eb701230cecb38
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-06-04 09:19:02 +00:00
Andre Hartmann
41ae28e1b7 QAbstractSpinBox: Add more documentation cross links
stepUp() and stepDown() already linked to stepBy(), so add the
reverse too.

keyPressEvent() talks about stepBy() too, so add it to the cross
reference.

Change-Id: I22c841821331eaed9607cfb2807dcf0e2886d952
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2018-06-04 07:04:59 +00:00
Allan Sandfeld Jensen
0a63d5fed6 Render QOpenGLWidget/QQuickWidget with AlwaysStackOnTop
QWidget::render was ignoring QOpenGLWidget/QQuickWidget with
AlwaysStackOnTop set, because normally they will be composited later,
however when not doing a backing store render, they need to be painted
right away as there is no later.

Task-number: QTBUG-67533
Change-Id: I08e2eeee5e7a8f0dbbf43f659fcfa9068e8c46d1
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2018-05-31 22:10:48 +00:00
Gabriel de Dietrich
9ffb001306 QAbstractSpinBox: Fix missing frame condition
Wrong check for SH_SpinBox_ButtonsInsideFrame in initStyleOption().

Change-Id: I35c6ff4d007f171fe44d7f3e5734c6f4586d871b
Task-number: QTBUG-68238
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-05-30 02:13:49 +00:00
Joerg Bornemann
9f27bfb31a Make sure we can build with -no-feature-draganddrop
We move QInternalMimeData to a separate file, because this class is
used, even if draganddrop is disabled. From now on, include
qinternalmimedata_p.h instead of qdnd_p.h for QInternalMimeData.

Change-Id: I594e08e2e90d574dc445119091686b4b69e4731b
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2018-05-29 18:31:35 +00:00
Friedemann Kleint
c4cbb3f315 QFusionStyle: Fix width of editable combo box
Add a scaling overlooked in 63d08003cf.

Task-number: QTBUG-68194
Change-Id: I97c771435e4316ec55aacc527335b62cb4dfd9ec
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2018-05-15 06:07:40 +00:00
Tasuku Suzuki
fefe5cdf0c Fix build without features.cursor
Change-Id: I450bd9f160c64f718c49e87d274c1ccc4a657aca
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-05-15 00:42:15 +00:00
Tasuku Suzuki
b32c0ecc4c Fix build without features.completer
Change-Id: Idc79921f85a920bc8c1280513ce78ee0cb00d415
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-05-09 00:21:33 +00:00
Joni Poikelin
3a912e92bb Fix building with -no-feature-shortcut
Change-Id: I7576055a6d81d6a7a075ebff16ca6b0ced4e984e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-05-08 06:15:43 +00:00
Thiago Macieira
70f51cccaf Fix Clang 6 warning about comparing different enums
qdialogbuttonbox.cpp:862:14: error: comparison of two values with different enumeration types in switch statement
('QDialogButtonBox::ButtonRole' and 'QPlatformDialogHelper::ButtonRole') [-Wenum-compare-switch]

Change-Id: I3840d727dee443318644fffd1529350b81678712
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-05-04 15:32:27 +00:00
Jan Arve Saether
c1ead32a84 Fix crash in QMacPanGestureRecognizer
The reason it crashed was this:
1. Button was pressed => _panTimer started with the graphics view as
   destination.
2. Button was released => the graphicsview is destroyed
3. 300 ms later: Qt tries to deliver TimerEvent from _panTimer to the
   graphics view. Unfortunately, the graphics view is deleted, but Qt
   doesn't know that... (*crash*)

We therefore chose to start the timer with a destination we are controlling the
lifetime of: the QMacPanGestureRecognizer. Inside the timerEvent of that we can
check if the actual target is already destroyed.

Task-number: QTBUG-60404
Change-Id: Iff8f5b7217de42c4c5cf551ca507f0cff1c99a78
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-05-02 09:16:22 +00:00
Stephan Binner
364bd6ca74 Convert features.toolbar to QT_[REQUIRE_]CONFIG
Move declaration of pick/perp helpers up the dependency chain

Change-Id: I7084ed829a057a0c45d60445c416fb07f2cb5624
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-05-02 09:07:03 +00:00
Sergio Martins
dbc0a5ba70 Remove assert from QFormLayout::takeRow()
Having rows without fields is a supported use case so it shouldn't
assert. Code works quite well in release mode, but crashes in debug
mode.

Change-Id: I1c4f736318489bae09780fcdb56136181afcac17
Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-04-30 11:41:57 +00:00
Paul Olav Tvete
6cece0f43a Fix for input method commit that ends with newline
If the input method event contains a commit text that ends with a
newline, text, the commit string is inserted first. This changes the
current block.

This change makes sure that we apply the formatting changes (including
removing the old preedit text) to the old block in this specific case.

Task-number: QTBUG-67836
Change-Id: Ia83963780fb14b3c571dbbe3eb81fbbe20fbf412
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-04-27 07:47:13 +00:00
Ulf Hermann
e0b5ff4ad5 QWidgetWindow: Immediately forward close events to QWindow
This way the platform window is destroyed in a timely manner, preventing
redundant close events from the window system.

Task-number: QTBUG-43344
Change-Id: Ifdfca59ceacef54405f1c227c493dc514a1b27ea
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2018-04-27 07:00:13 +00:00
Paul Olav Tvete
3d863ae798 Fix build with -no-feature-graphicsview
Change-Id: Idddd353695d2a24ed90c29f557abfedf11d82fbc
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-04-25 14:04:09 +00:00
Gabriel de Dietrich
a4e6117c53 Style sheets: detect and use font set on QHeaderViews
We also ask the parent style to draw the header label
instead of the base style which is more likely to respect
other text related parameters.

Change-Id: I6dd658fa4d016a76d7c450478dc42f07e4b807c4
Task-number: QTBUG-33855
Task-number: QTBUG-37153
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-04-24 18:27:34 +00:00
Lars Knoll
c579f49e2a Fix QML integration of widgets
We need to mark the object as deleted before destroying
it's declarative data, otherwise all sorts of bad things
can happen.

This fixes the qwidgetsinqml autotest in qtdeclarative.

Change-Id: I05a645ebe1ca7a50c8927e3dbd9ebb5aaf369a71
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
(cherry picked from commit 3e91625b58)
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-04-23 13:46:55 +00:00
Peng Wu
e555c03a42 Style sheets: Include margin while calculating QHeaderview section size
Align with QCommonstyle QHeaderview section size calculation.

Change-Id: I4c11e1881f48850ace3bdbb3c96f999cc298c91e
Task-number: QTBUG-56457
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
2018-04-22 19:30:20 +00:00
Anton Kudryavtsev
ab6cc41968 QTabWidget: clarify ownership after insertTab() and addTab()
Change-Id: I7cd3aa5c092c99bbafd09c4bea7c6824d0b6740a
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-04-20 10:40:37 +00:00
Andy Shaw
7c532891e0 Send ShortcutOverride event when receiving a non-spontaneous key press
When a key press is received which is not spontaneous then it needs to
be manually sent as a shortcut override event to ensure that any
matching shortcut is triggered first. This enables emulation/playback
of recorded events to still have the same effect.

[ChangeLog][QtWidgets] Sending a key press event with sendEvent() now
sends a ShortCutOverride event first to the widget to trigger any
shortcuts set first.

Task-number: QTBUG-48325
Change-Id: Iafcc2cdb1773bffe89edaeb0abc44cd5a51088e6
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-04-20 10:18:49 +00:00
Gabriel de Dietrich
84988886a5 QToolTip: Hide tooltip on key event on macOS
This brings back Qt 4 behavior. The difference is that we only
ignore modifier-only key events, as it's done natively.

Task-number: QTBUG-49462
Change-Id: I02f2313e1164ba185336d80ac5cc16ce6d883b79
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2018-04-18 17:22:40 +00:00
Anton Kudryavtsev
3697366642 QSplitter: fix doc for widget() and handle()
Change-Id: I7b8a0ba9f6b99eae22c2230c761d7a14045256db
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-04-18 11:21:00 +00:00
Andy Shaw
9899c29daf Don't ignore the shortcut when the QMenuBar is parentless
With Cocoa it is possible to have a parentless QMenuBar so that the same
one can be used for multiple windows. Therefore if the top level window
is the QMenuBar when checking for the context then we can let it carry
on as if the top level window is the same as the active window.

Task-number: QTBUG-45453
Change-Id: Ifacf2111d5f9973afe8af30c6338918f130e51a4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-04-18 11:20:09 +00:00
Sergio Martins
144ee494b7 dockwidgets: Resize the rubber-band when our drop target is resized
Bug can be seen on the .gif attached to QTBUG-67611, the floating group
window resizes, but the rubber band still has the old size.

Change-Id: I7232a39574ea06fe036c75c21e7496c0f32f4632
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-04-12 13:55:12 +00:00
Sergio Martins
5de49ab4ed Fix grouped dock widget from shifting down when created
Animated .git attached to the bug report for easy understanding.

Looks like we shouldn't set window flags after a setGeometry() and
before having the window resources. If we do that, then the requested
geometry won't be honoured. No idea if it can be fixable in the QPA
and won't risk doing it there.

Fixes the problem on macOS and Windows.
On Linux it was OK, and still is.

Task-number: QTBUG-67611
Change-Id: I8244b4956a5ac9afcf257bea762c2c3084b563f8
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-04-11 19:16:21 +00:00
Sergio Martins
a553e2f6b5 Fix z-order when dragging a dock widget over another
the drop target would create a floating group window, which would
have higher z-order since it just had show() called on it.

raise the window we're dragging when the target is mutated into group
window.

Bug can be seen on the .gif attached to QTBUG-67611.

Change-Id: I5dad058468e24327b14d1e7f76c3ad0287d26ee8
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-04-11 19:16:16 +00:00
Sergio Martins
4eeafe1cbf Fix crash if dock widget gets deleted while dragging
By using a QPointer.

Change-Id: I16832dadc9cd8cefc4f9f276b1242c0000097b95
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-04-10 15:56:18 +00:00
Anton Kudryavtsev
4160315fb5 QSplitter::indexOf: fix documentation
Change-Id: I2943c076879cbf229f209743b3b5c1f5fcd78302
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-04-10 09:23:41 +00:00
Gabriel de Dietrich
8396162027 QTabBar: Repaint when releasing mouse on selected tab
Some styles, most notably QMacStyle, require this to
properly reflect the pressed state.

Change-Id: Ie841d97afbe3cfdfde1254a7069876a1a0af2e52
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2018-04-05 21:04:06 +00:00
Mitch Curtis
a14bfea500 Improve QAbstractSpinBox::stepBy() docs
Change-Id: I28e942b6b2952205641c751e4c120cb38ae13fd6
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
2018-04-05 14:50:30 +00:00
Harald Brinkmann
c067083057 Fix memory corruption in heightForWidth cache
Overflowing q_firstCachedHfw caused memory to be overwritten
before q_cachedHfws.

Change-Id: Ibbcc72380f426550cc0569a05c54cd1acd878b33
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2018-04-05 08:58:48 +00:00
Andy Shaw
33e5b55b7e Check if the movie's current pixmap is null before drawing it
Change-Id: I87ed9998108961775f8f424bfbb4b957c0b03d8a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-04-04 08:42:52 +00:00
Gabriel de Dietrich
6d644c7a77 QWidget: Fix typo in Mac size propagation
This amends commit f8b6d104b9.

Change-Id: I77a48e68ec7db791b843fe4dfeddc4c6fedf6380
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-04-04 02:41:33 +00:00
Richard Moe Gustavsen
915fa58060 QTableWidget: fix spelling error
Change-Id: Ifd6f116a214d13328ccf0d070ef4517a3b53bf25
Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
2018-03-23 08:16:59 +00:00
Andy Shaw
f4435d2d5c offscreen: Check that native interface is valid before using it
If the offscreen platform plugin is used on Windows then it can end up
crashing since there is no native interface. This prevents a crash from
occurring when these functions are called.

Change-Id: I526fc0703771fa5f85b26d182ad3b15ef1a3ada5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-03-21 18:11:49 +00:00
Ulf Hermann
5a4787dca0 Modernize the "regularexpression" feature
Use QT_CONFIG(regularexpression), disentangle it from QT_BOOTSTRAPPED,
switch it off in the bootstrap build, remove the #ifdefs from
qregularexpression.{h|cpp}, and add QT_REQUIRE_CONFIG(regularexpression)
to the header.

qregularexpression.{h|cpp} are already correctly excluded in tools.pri
if !qtConfig(regularexpression).

Change-Id: I21de154a6a118b76f99003d3acb72ac1e220d302
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-03-20 08:19:25 +00:00
Mikhail Svetkin
91a52fc6a0 widgets: Add a QT_CONFIG(style_stylesheet) guard
for isWindowsStyle in QDockWidget

Change-Id: Id471b91a415f1a677ced6022bdd05b7e1b72aad2
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-03-20 07:51:36 +00:00
Gabriel de Dietrich
0c059db57d QMenu: Realign submenu first action with its parent menu action
There was an offset equivalent to all the margins we add to
the action rectangles. We need to subtract it in order for
both menu items, parent and sub-menu, to be aligned. This
amount is given by the sub-menu's first action position
relative to its popup.

Change-Id: I141bbe3cfb81825a25b12e4059b93e61c29df518
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-03-16 00:13:28 +00:00
Alexander Akulich
53f82185e9 QFusionStyle: Fix compilation when qreal is float
Change-Id: I575d348915a7239a40b589012b4e9707bd15d1dd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-03-15 23:51:49 +00:00
Laszlo Agocs
00304eac7b Revert "Set sharedPainter correctly for QGraphicsEffect"
This reverts commit 7257862fb2.

It has been reported that this patch causes widgets with certain effects
become invisible.

Task-number: QTBUG-60231
Task-number: QTBUG-66803
Task-number: QTBUG-66387
Change-Id: I9c3c4cf2f17ac639d1aee5489b665aa1e165af16
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-03-14 12:37:53 +00:00
Friedemann Kleint
39d2a11a86 Item views: Fix 5.11 API review findings
Rename getter QHeaderView::firstSectionMovable()
to QHeaderView::isFirstSectionMovable(), turn into a property
and fix \since.

Change-Id: Ica2ca43d22f3fd78ff63178ba75014807fc9b823
Reviewed-by: David Faure <david.faure@kdab.com>
2018-03-14 12:23:27 +00:00
Mikhail Svetkin
aaace8fbdb widgets: Add a QT_CONFIG(messagebox) guard
for initResources in QApplication

Change-Id: Id083edbcba4b348ef78e55c788ea94f85b6f572b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-03-13 12:33:13 +00:00