Commit Graph

2484 Commits (faefd37db6a1ada4be7ca0c659c6bb04bf8042ad)

Author SHA1 Message Date
Jochen Seemann faefd37db6 Fix MSVC2013-compiler warnings with QT_NO_FILESYSTEMWATCHER
dialogs\qfilesystemmodel.cpp(203,1667,1680): C4189: 'd': local variable is initialized but not referenced
dialogs\qfilesystemmodel.cpp(1547,1720,1847): C4100: 'variable': unreferenced formal parameter

Change-Id: Ic3cef264dcd0b939748bec914eb9c29f86f6ed0e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-09-25 06:50:09 +02:00
Friedemann Kleint 4b03b18548 Generate Show/Hide events for widgets when minimized state changes.
Fixes a regression against Qt 4, where Show/Hide events were received
when the minimized state changed.

It is restricted to QWidget so as not to introduce additional events
to QWindow (which already has signal visibilityChanged()) and cause
unexpected side effects in QQuickWindow.

Task-number: QTBUG-41312
Change-Id: Ib165a5daf7a7e5d8231ef8a94b70e8a2a3253057
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-09-24 23:07:15 +02:00
Matti Paaso 974c210835 Update license headers and add new license files
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3
- Removed LICENSE.GPL

Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2014-09-24 12:26:19 +02:00
Alex Blasche b3bc6b9f7c Fix misleading documentation
Not every length parameter unit is accepted by Qt Style sheets.

Task-number: QTBUG-31907
Change-Id: I953c56caf68c1397ba24369f433d21c6f4772d0d
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-09-24 09:54:49 +02:00
Frederik Gladhorn c96426f19f Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4 2014-09-24 12:04:52 +02:00
Friedemann Kleint 2d685b8316 Vista style: Scale hardcoded values in menu drawing code.
Fix the position of the menu gutter.

Change-Id: Ia8e056f14315f314d1e7a8b95a1ac87f6843e466
Task-number: QTBUG-40277
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-09-24 09:46:48 +02:00
Marc Mutz 42d4e054a6 QCommonStyle: remove references to QStyleOptionFrameV<n>
They're gone since Qt 5.0 and only exist as typedefs for QStyleOptionFrame.

Change-Id: I55539305df28267d0671a54a5cb7fcc17d045b8b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-09-23 20:21:14 +02:00
Marc Mutz d488153fc2 QStyleSheetStyle: remove references to QStyleOptionFrameV<n>
They're gone since Qt 5.0 and only exist as typedefs for QStyleOptionFrame.

Change-Id: Ic165b524e8d86a0dd5355de338e87a33cd7429c7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-09-23 20:20:43 +02:00
Cristian Oneț 9165815c89 Fix the drawing of elided text in QHeaderView.
The text was not drawn properly because when eliding the text a fixed
value '4' was substracted from the rect to compute the available width
instead of the actual value of the header margin.

Change-Id: I1e110f1a6490679730ddf5815d3ff7b679dc1a47
Task-number: QTBUG-24772
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2014-09-23 16:34:39 +02:00
Allan Sandfeld Jensen 710530bc55 Fix too fast zooming in QTextEdit with smooth scrolling events
Do not zoom 1pt on every single wheel-event, but instead scale
the zoom with the size of the angle delta.

Change-Id: Idbe17356c7845ebd0039f655d3e611e71c6f0dd6
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-09-23 15:59:38 +02:00
Marc Mutz a2b453502c QCalendarWidget: fix a bug when parsing date/time formats
Quoting was not reset after consuming the quoted character.
This bug only manifests when a format contains two quoted
characters.

It's not possible to write an auto-test for this, since
the format is always read from the locale.

Change-Id: I39aff41f20f647c285c971b4d560f9e36d4b82fb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-09-23 15:30:54 +02:00
Marc Mutz 181980d4a7 QCalendarWidget: move all helper classes into the unnamed namespace
Saves 1920 bytes of text size on AMD64 / GCC 4.7 release builds.

Change-Id: Ib437d285ca0555eb7a3751b53226093b71b789e9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-09-23 15:30:49 +02:00
Marc Mutz 356ab736a7 QCalendarWidget: move QCalendarTextNavigator into qcalendarwidget.cpp
This is in preparation of a change putting all these helper classes
into the unnamed namespace.

Change-Id: I553b1e23b6cdbe6daa492c2dc4c26406ac580de3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-09-23 15:30:45 +02:00
Allan Sandfeld Jensen dfb4af1fd3 Fix spin box with fine grained wheel events
Only step the value in the spin box when we have accumulated one wheel
tick worth of wheel delta.

Also fixes the obsolete contructors of QWheelEvent so they set the non
obsolete properties.

Change-Id: Ic6ea4b37afa8eec85a6ca7bdc0d919bf8fb02608
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-09-23 11:35:30 +02:00
Frederik Gladhorn c5a3e5edd9 Merge remote-tracking branch 'origin/5.3' into 5.4
The isAlwaysAskOption was removed in 3862171315
so manually removed code in
src/plugins/bearer/connman/qconnmanengine.cpp

Conflicts:
	src/corelib/global/qglobal.h
	src/corelib/tools/qcollator_macx.cpp
	src/corelib/tools/qstring.cpp
	src/gui/kernel/qwindow.cpp
	src/gui/kernel/qwindow_p.h
	src/gui/text/qtextengine.cpp
	src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h
	src/plugins/platforms/android/qandroidinputcontext.cpp
	src/plugins/platforms/xcb/qglxintegration.cpp
	src/plugins/platforms/xcb/qglxintegration.h
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	src/testlib/qtestcase.cpp
	src/testlib/qtestlog.cpp
	src/widgets/dialogs/qfiledialog.cpp
	src/widgets/kernel/qwindowcontainer.cpp
	tests/auto/corelib/tools/qcollator/tst_qcollator.cpp
	tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp
	tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp
	tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp

Change-Id: Ic5d4187f682257a17509f6cd28d2836c6cfe2fc8
2014-09-23 11:23:36 +02:00
Friedemann Kleint a6316e6e74 Fix emission of QDesktopWidget::workAreaResized().
Connect to QScreen::availableGeometryChanged().

Task-number: QTBUG-32567
Change-Id: I2097d80faa83ae062f7e149122fba26d23432e95
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-09-22 13:03:21 +02:00
Mitch Curtis 3312ac9169 Correct information about all headers being movable.
This only applies to QTreeView.

8eb3d724a9 introduced this error.

Change-Id: Ia8a2c387afbd19e4d98ea6f81e5ce6409d79bcd9
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2014-09-22 09:13:38 +02:00
Maks Naumov d41c5f9dba Remove unused variable in QStyleSheetStyle::hasStyleRule()
Change-Id: I052fcc067ffbd1d470593d16af5f2189541c6264
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-09-22 05:43:23 +02:00
Alex Blasche 23a03ebcd1 Fix crash in QCombobox when resetting model during currentIndexChanged()
Task-number: QTBUG-20415
Change-Id: Idffc0f29cc55d834c2736ce7562dd7cfe912d327
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-09-21 02:24:53 +02:00
Andy Shaw b53f6fdd31 Respect the PM_SmallIconSize setting for icons in a menu on OS X
When a platform menu is used then it would hard code the icon size to
16x16. Instead of using the hard coded value then PM_SmallIconSize should
be used instead.

Change-Id: I27540ebc4397501e8f57686a118c28cd7167c0a1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-09-20 18:23:35 +02:00
Tor Arne Vestbø 076d22efa6 a11y: Make QAccessibleButton and friends resolve role dynamically
The role may changed based on the checkable state of the button, eg, so
we need to resolve the role at runtime instead of hard-coding it in the
constructor.

Change-Id: I78faee08189c5510ca9964b07ad94bcf5d4fa11b
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-09-20 00:21:24 +02:00
Alexander Volkov 34de989a94 Keep a source of propagated mouse events
Synthesized mouse events should not cause mouse events which
look like they were obtained from the system.
So set the source of generated events from the original event.

Change-Id: I862829446ac6ef664e1b8e4a5b54ed11926a1d4b
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-09-19 23:31:30 +02:00
Dyami Caliri 75e5ffe0f7 Update widget winId when screen changes
When a window's screen changes it may recreate the platform window.
In that case, update the winId in the widget to keep it in sync.

Task-number: QTBUG-40681
Change-Id: Iec815320214832bb63952de3a5bd1340a04dacd4
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-09-19 19:15:42 +02:00
Laszlo Agocs 5d5de7a97f QOpenGLWidget: Play nice with empty paintGL
Applications that do not override paintGL() (may happen in some test code)
will not perform any GL rendering, not even clearing. This is fine, but
to be safe we need to do a clear right after creating the FBO in order to
prevent showing garbage.

Task-number: QTBUG-38327
Change-Id: If062901bb18724f961e41856085470e37b49abbe
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2014-09-18 17:45:05 +02:00
Laszlo Agocs 1e41e9b77d Add a note about winId() to QOpenGLWidget docs
Task-number: QTBUG-40765
Change-Id: I0dbb010bb96c6b41c67392b8846782a354481e5e
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-09-18 10:06:49 +02:00
Laszlo Agocs add7c0aadd Propagate swap interval from QOpenGLWidget to the tlw
Otherwise it is impossible to set a swap interval different
than the one set by QSurfaceFormat::setDefaultFormat().

Both windows and xcb will pick up the updated interval from the
window on the next frame.

Change-Id: I55a59f83a62d3adcea687adf28639646b576ed58
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-09-18 10:05:55 +02:00
Marc Mutz 40d59496fb QCommonStyle: cache the xpm QPixmaps
The QPixmap(const char* const*) ctor featured prominently in the callgrind
trace of tst_qmdi*, with 23% of total time spent there in tst_qmdiarea
before the change.

Cache the results in the QPixmapCache. That's probably a good idea for all
standardPixmap()s, but none other feature prominently in any of the
widgets/widgets auto-tests, so there's no immediate need to do something
about it.

After the change, less than 3.5% of the total time is spent on parsing
XPMs.

Change-Id: Idfb6ffe0d0f7a4a1f71a7c26fc9ab0f42bdbd7a8
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2014-09-18 09:46:48 +02:00
Mitch Curtis f222d520cd Add missing period to QHeaderView documentation.
Change-Id: Ibf3fdb4e1c149b2dbee7bf3043cec9d3e167381d
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-09-18 07:11:36 +02:00
Mitch Curtis 8eb3d724a9 Improve documentation regarding moving item view columns.
The only way I was able to find information on this was through bug
reports.

Change-Id: Iac59a82fab9c216495860ad3b1efad1125130002
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-09-18 07:11:17 +02:00
Giuseppe D'Angelo bb3d2ca9f1 QToolButton: properly reset the size hint when a menu is set on it
QToolButton::sizeHint() takes into account the presence of a menu.
However, setMenu() doesn't retrigger a size hint recalculation. Hence,
(un)setting a menu on an already sized tool button won't properly
reset the size hint. Since the calculated size hint is cached,
delete the cached value and call updateGeometry to cause a
recalculation.

Task-number: QTBUG-38949
Change-Id: I6e79e5e70e31afdfd129282b3668875eca86f51d
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-09-16 22:42:47 +02:00
Alexander Volkov 80ca159b47 Fix saving handle width in QSplitter::saveState()
QSplitter::handleWidth() returns either a style dependent value if
d->handleWidth is negative or the value of d->handleWidth itself.
So to preserve this choice after calling saveState()/restoreState()
we should save and restore the value of d->handleWidth rather than a
result of handleWidth() which is non-negative.

Change-Id: Idc11f8063d34b6c4a5f9b0a0032868679766dfb9
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-09-16 20:35:31 +02:00
Alexander Volkov eb6507039f Allow overriding standardIcon() in a proxy style
[ChangeLog][QtWidgets][Styles] Allow overriding standardIcon() in a proxy style

Change-Id: I3c7983a7e51a8b220a0ca8ead2b4d7b87a77d71b
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-09-16 20:35:21 +02:00
Mitch Curtis 6ecc1e8006 Respect Qt::FontRole for QComboBox items.
Change-Id: I810ae2d77109a36b457f07e4a7b0489c954279e8
Task-number: QTBUG-41131
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-09-16 14:33:33 +02:00
Giuseppe D'Angelo b2b9fdfda0 QSizeGrip: use a QPointer to the tracked TLW
And not a normal pointer. The problem is that in certain scenarios,
if the TLW containing a QSizeGrip changes and the old TLW gets
immediately destroyed, then the mechanism which updates the tracked
TLW is run too late, and ends up accessing a dangling pointer.
Therefore, we need to protect that pointer via a smart pointer.

Task-number: QTBUG-22867
Change-Id: Icfb051132bacde604f660ac7a98bc0a9d1022c68
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-09-15 20:50:50 +02:00
Laszlo Agocs bde9387dba Do not drop the context when sharing globally
There is no point in recreating the QOpenGLWidget's
context when it shares with all top-levels'
shareContext().

Change-Id: I659a8ef6563de0cc1e833198af4dfb8c705e40d8
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2014-09-15 18:57:48 +02:00
Laszlo Agocs 75834c2232 Fix drag and drop with createWindowContainer
Forward dnd events to the QWindow, exactly like QQuickWidget would do.
This of course requires setting setAcceptDrops(true) on the container widget.

Task-number: QTBUG-39213
Change-Id: I8ea49e630b071dc0aacd53f798d9b46b03502365
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2014-09-15 18:57:35 +02:00
Aki Koskinen a3b88a0025 Improved documentation for QStyledItemDelegate::eventFilter
Added the notion that enter and return keys are not handled
if editor is of type QTextEdit or QPlainTextEdit.

Change-Id: I9d5cb529bf154c687fab1949fccf37e9da096c85
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-09-15 15:58:06 +02:00
Alexander Volkov 256df2484c Make the default value of QTreeView::indentation() be style dependent
Add a new PM_TreeViewIndentaion enum value to QStyle and get
the corresponding pixel metric in QTreeView.

[ChangeLog][QtWidgets][QTreeView] Indentation is now style-dependent by default.

[ChangeLog][QtWidgets][QTreeView] Added resetIndentation().

Change-Id: Ifad7987b8f3c6cd32987b89d95390f33043d8f19
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Adam Majer <adamm@zombino.com>
2014-09-15 10:05:25 +02:00
Mitch Curtis f1093e06b2 Fix typos in Widgets Tutorial.
Change-Id: Id4a0bef3b00f3869582e76ee45f230120189a268
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-09-12 15:27:45 +02:00
Jerome Pasion a14ec355c1 Doc: Fixed broken links introduced by "OS X" doc change.
-qtdoc repo uses "OS X" instead of "Mac OS X" and this caused
broken links.
-more comprehensive change still needs to be done but the new
 name is used in the page to maintain consistency. At least within
 the page or class.

Change-Id: I8a5650046fc0413cbb18359b743ecd30fd62e417
Task-number: QTBUG-40759
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-09-11 21:45:46 +02:00
Gabriel de Dietrich 982b9b7ec2 QMacStyle: Use NSView rendering for some inactive widgets on 10.10
Right now, we use them for inactive non-editable combo box, check
box, and radio button only on Yosemite. We keep as much as possible
the previous behavior on older versions.

In addition, we add a way for QQuickStyleItem to specify the window
the item is on. This is currently without effect, since we don't
seem to take the inactive window state into account.

Task-number: QTBUG-40833
Change-Id: I2fb2a99e6adf1972f881195b79b07ce85a960273
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-09-11 11:53:53 +02:00
Eskil Abrahamsen Blomfeldt c1b46b98ed Fix possible divide by zero in QPlainTextEdit
If the font engine for some reason fails to get font metrics
for the font, the application should still not crash.

[ChangeLog][Widgets][QPlainTextEdit] Fixed a possible divide
by zero crash when font metrics were missing for the font.

Task-number: QTBUG-40347
Change-Id: I571bc3eace07cdbee6f9ce9aa649df95412aed71
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-09-11 10:15:22 +02:00
Dyami Caliri a60e13ce06 Update QOpenGLWidget paintDevice devicePixelRatio when recreating fbo
The QOpenGLWidget's paintDevice needs to update devicePixelRatio when
changing screens.

Change-Id: Iec6e7157f22ff99e04f81347cbbf70f3fc3ff424
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-09-10 20:20:35 +02:00
Laszlo Agocs 49194275e0 Expose screen change event to widgets so that they can check the dpr
Unlike ordinary widgets, the ones that have OpenGL framebuffers must know
about screen changes because the device pixel ratio may be different on
the new screen. Add an internal event, ScreenChangeInternal, as the
counterpart to WindowChangeInternal.

Change-Id: I5e55999838e4c0284e7d9832299f7cc6b541ee3f
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-09-10 20:20:05 +02:00
Laszlo Agocs 2f96fb1bee Add an option to share between TLWs
Task-number: QTBUG-41191
Change-Id: I510d1631926ed0d9e371703d22229aed92432aa6
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-09-10 13:36:27 +02:00
Dyami Caliri 71df09b6cc Fix garbled resize with QOpenGLWidget when using multi-sampling.
If you configure QOpenGLWidget to use sampling, the 'resolvedFbo' isn't
updated during resizing. This leads to garbled views.

Change-Id: I9f9265520134bcf12436778773507df936c5fbb6
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-09-10 04:49:40 +02:00
Maks Naumov fefa4dc1f0 Windows styles: Avoid theme.rect recalculation
In both cases theme.rect calculated right after the
"sub & SC_ScrollBarSlider" test.

Change-Id: I9fa0c4e1327e68b4184674a13e7a4bf362f8deff
Reviewed-by: Adam Majer <adamm@zombino.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-09-08 22:44:42 +02:00
Laszlo Agocs 935186d76e Improve QOpenGLWidget docs regarding fb preservation
QOpenGLWindow already has some notes regarding this. It must be
mentioned in QOpenGLWidget too.

Change-Id: I0af90c9410a1c44cb9dd9ce58aa0371a58c57f65
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-09-08 21:47:28 +02:00
Alexander Volkov f3cee50216 Fix a conversion of coordinates of a TouchBegin event
To convert coordinates to a parent's coordinate system one should
translate them by an offset of a child widget relative to it's
parent widget. QRect::moveCenter() doesn't translate, it sets
the coordinates of the touch point's center to this offset.

Change-Id: I9d823784803bd1448c0d665944090674d3ff518b
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-09-08 15:35:40 +02:00
Friedemann Kleint 50e1733dfa Bump version of QWidget geometry serialization to 2.0
It was decided not to port the handling of the saved
screen size to Qt 4.8, so, bump the major version to
ensure Qt 4.8 bails out.

Task-number: QTBUG-38858
Change-Id: Ia870519553172cd383830d9a722b0fada180ee1b
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-09-05 15:25:52 +02:00