Commit Graph

1742 Commits

Author SHA1 Message Date
Ivan Komissarov
252bad7c58 Add useful signals to QTabBar and QTabWidget
In this patch we introduce tabBarClicked and tabBarDoubleClicked to get
a finer grained information on the user interaction with the tab bar.

Done-with: kevin.ottens@kdab.com

Change-Id: I7be76a556ca09186e98f2e076fe2512d6c5e6773
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-13 19:28:31 +02:00
J-P Nurmi
865b43dbf3 QScrollBar: handle QWheelEvent::Phase for transient scrollbars
Transient scrollbars should become and stay visible when touching the
pad with two fingers.

Change-Id: Ic36ba56019f484cedb2404550551ebe68ea6f285
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-10 11:39:53 +02:00
J-P Nurmi
9dfe4b0e68 Introduce QWheelEvent::Phase (Begin, Changed, Ended)
Some platforms (read: OS X) send wheel events without delta to indicate
that scrolling is about to start or has ended. Currently, Qt simply
ignores wheel events that have no delta. This change introduces a new
QWheelEvent attribute that specifies the phase, and makes it possible
to receive the special wheel events in started/ended phases. These
events are required for implementing correctly behaving transient
scrollbars.

Change-Id: Ib8ce0d9ce9be63b2ad60aa7b0aaa1f12ef6cad09
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-08 15:09:40 +02:00
Friedemann Kleint
bff5100177 Add clearButton-property to QLineEdit.
Based on addAction-API.

Change-Id: Ie6c3d2d728b23a85cdd80428c92ee8208ae0a65c
Done-with: Kevin.Ottens@kdab.com
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-08 12:55:48 +02:00
Thorbjørn Lund Martsum
658e42e77a QTreeView - allow users to control data in the treestructure
This patch allows to set which logical index the tree is in.

Before the tree always displayed data from the logical index 0,
but it is actually more likely that the user wants to have data
from visual index 0 (which can be done by special value -1).

There is nothing special about logical index 0, and not being
able to change the tree-data is just annoying.

Change-Id: Ib070ce93343a0d2fbac3ad5a42cb4359401ac87c
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-07 14:01:23 +02:00
Friedemann Kleint
9ce12cc8de Add side widgets to QLineEdit via QAction.
Add QLineEdit::addAction() overloads,
allowing for a variable number of icons or user-defined
widgets.

Change-Id: Id298f18c2f47cc998170357e65cc6098df851aab
Done-with: Kevin.Ottens@kdab.com
Reviewed-by: Thomas Zander <zander@kde.org>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-06 08:19:38 +02:00
Jerome Pasion
0a796cfddf Doc: Setting module pages' \qtvariable.
Argument to \qtvariable is the QT variable needed for linking to the
module.

Task-number: QTBUG-32172
Change-Id: I181c0cfaf9529f3aea741cdaee0f20d6cd0e2d2f
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-02 13:35:45 +02:00
Àlex Fiestas
0ace311213 Added SH_Widget_Animate in QStyle
Added SH_Widget_Animate in QStyle styleHint, and use it to determine
whether widgets should be animated or not.

In this patch QTabBar, QColumnView,QTreeView and QWidgetAnimator are
patched to obey the new Hint.

Change-Id: Iefdbddc52c7843f6653dbfb5462125942489b4d9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-02 10:44:39 +02:00
Eskil Abrahamsen Blomfeldt
0bbc32a0cb Android: Fix crash when setting WA_NativeWindow
We don't support native widgets in Android, so we can get into a mess
when people set this widget attribute, since the FB compositor
will assume that all widgets have their own backing store. This adds
a capability flag to the QPlatformIntegration which allows the plugin
to disable the WA_NativeWindow feature.

Task-number: QTBUG-32685
Change-Id: Ic200487da4a297f71ab594cf7c90d1e1d53bacd3
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-07-31 12:34:14 +02:00
Aurélien Gâteau
eea5b8bf8b Assign icons to actions of QLineEdit context menu
Icons are only set if they are valid.

Change-Id: If2398cdc977a3882e7738ef1bcf5519bd7053449
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
2013-07-30 16:29:31 +02:00
Aurélien Gâteau
d51ce5b270 Assign icons to actions of QTextEdit context menu
Icons are only set if they are valid.

Change-Id: I7637dec18b3066930455a2f6fd40d87097eb20f7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-07-30 16:29:08 +02:00
Friedemann Kleint
d8090022f6 Move the X11 system tray code from widgets into XCB-plugin.
- Add system tray tracker class to XCB plugin and
  provide functionality via invokable slots
  of the native interface.
- Remove XLib-dependency of widgets/utils.
- Reintroduce tracking of tray window destruction
  and recreation, which was removed in the XLib-code
  when porting it from Qt 4 to Qt 5.

This paves the way for implementing the tray icon
completely in terms of QPlatformSystemTrayIcon at some point
later.

Change-Id: Ia04268b0e2919c05874a3e9548930535332897c7
Reviewed-by: Alberto Mardegan <mardy@users.sourceforge.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-07-30 15:08:31 +02:00
Friedemann Kleint
d7e37537d4 Reintroduce -geometry command line argument for X11/XCB.
Add parsing for the window geometry specification to
QGuiApplicationPrivate. Enable the argument under a different
name for the other platforms as well.

Task-number: QTBUG-27349
Change-Id: I973b2c69f5172f7d0bc983b8ba4b0d164649ef02
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-07-25 15:06:46 +02:00
Frederik Gladhorn
084c5b3db7 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp

Change-Id: I18a9d83fc14f4a9afdb1e40523ec51e3fa1d7754
2013-07-23 11:18:11 +02:00
Sérgio Martins
f4a0d6d249 Move the declaration of QFileIconProviderPrivate to it's own file.
Needed to backport qtbase/46685f755b01288fd53c4483cb97a22c426a57f0
to Qt4.

We can't add new symbols in Qt4 to QFileIconProvider so we will make
the private class a friend of the QFileDialog.

Change-Id: I6bc5a2d127b09f20633e733a79de509c8c186c6c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-07-22 22:28:53 +02:00
Ivan Komissarov
16579e5b84 Prevent QLineEdit from emitting edited signal (QTBUG-27347)
edited() signal should not be emitted when QValidator fixups
text in a lineedit.

Change-Id: Iccef45c4b858a65fd5097dc9e5033cefb09ad889
Reviewed-by: David Faure <david.faure@kdab.com>
2013-07-21 15:52:24 +02:00
Kevin Ottens
5069e203d7 Add QUrl based API to QFileDialog
Change-Id: Iaf4f8e57e8df956dec9105eb00c193645f2db098
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-07-18 17:07:22 +02:00
Kevin Ottens
f5dbc87637 Have QFileDialog use QUrl internally
When using the native dialog and through the helper, we use QUrl in
QFileDialog. It is preparatory work for having QUrl based methods on
QFileDialog interface itself.

Done-with: sean.harmer@kdab.com
Done-with: faure@kde.org

Change-Id: I61e99d498252241f38ec05724702a90ba050c4bb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-07-18 13:17:41 +02:00
Mitch Curtis
5ec344cc77 Make *ItemBoundingRect modes work with custom shapes.
Currently, calling
QGraphicsScene::items(QPointF(0, 0), Qt::IntersectsItemBoundingRect) or
QGraphicsScene::items(QPointF(0, 0), Qt::ContainsItemBoundingRect)
will exclude items whose shape does not contain QPointF(0, 0). This is
because QGraphicsSceneIndexPointIntersector::intersect() also checks if
the point is contained within the shape, instead of just checking
if it is contained within the bounding rect.

Task-number: QTBUG-19036

Change-Id: Ie701af2a5694d40cf9b3c9c19adbb09a53a4e398
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
2013-07-16 20:42:01 +02:00
Friedemann Kleint
ef93397d70 Mac OS: Fix a crash in tst_qgraphicsproxywidget.
Change-Id: Ie93d77f00ee1e6a04ac20794e4d2d1e63cbdb636
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
2013-07-16 12:16:19 +02:00
Frederik Gladhorn
1190863fc0 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I0218a1f08b89f2d56757ab35eec06799d2a1492f
2013-07-15 10:36:59 +02:00
Gabriel de Dietrich
64caf7b1be Display sizegrip on QMdiSubWindows, even on 10.7 and later
We don't have 4-edge window resizing, so we need QSizeGrip to
be functional again in this case.

Task-number: QTBUG-32228
Change-Id: Ib66bc662f8bf0b521427755570bc1cd65fb28446
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-07-12 17:02:54 +02:00
Friedemann Kleint
6c37fb70d6 Consider virtual screen when determining dock widget visibility.
Task-number: QTBUG-32260

Change-Id: I8b28e3869a6e3b1ed12a311dfa0100979098fc4b
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-07-12 12:41:30 +02:00
Sergio Ahumada
3ef6cf060e Merge branch 'stable' into dev
Conflicts:
	qmake/generators/mac/pbuilder_pbx.cpp
	src/corelib/json/qjsonwriter.cpp
	src/corelib/kernel/qeventdispatcher_blackberry.cpp
	src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm

Change-Id: I24df576c4cbd18fa51b03122f71e32bb83b9028f
2013-07-11 16:42:01 +02:00
Andy Shaw
30f19d904f Check if widget inherits from QTextEdit when drawing the frame
There can be cases where the accessibility plugin is not available so
rather than have an incorrect style in those cases we check if the
widget inherits QTextEdit.

Change-Id: Ia514ce61f24ef016f56c6dce103f90f699b4048a
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-07-11 15:01:24 +02:00
Mitch Curtis
1ff0ac9415 Fix typo in setGraphicsEffect() occurrences.
Change-Id: Iaca926ab47670616b55b0ab7ab735710237a5df8
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-07-11 10:56:49 +02:00
Friedemann Kleint
b4008713a2 Windows/ActiveQt: Pass native parent handle property from widget to widget window.
Task-number: QTBUG-31672
Task-number: QTBUG-32343

Change-Id: I6b1eca13248da06db739b1a8356a0259f7f4ae6c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-07-11 08:34:06 +02:00
Thorbjørn Martsum
6dec40628b QComboBox - optimize (improve stupid code at enter-key)
There is no need to do a search for an item if we already
have the correct index.

Change-Id: Iac0e7df7573b71b82aa491acb8e289fe02fb3285
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-07-10 20:06:26 +02:00
Friedemann Kleint
a096b4680d Search toplevel when setting the active window from focus window.
Task-number: QTBUG-32177
Task-number: QTBUG-32180

Change-Id: I44bea8c15636d788d85d6cbfa737aca5901c532c
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-07-10 13:05:43 +02:00
Thorbjørn Lund Martsum
692e642305 QSizePolicy - add retainSizeWhenHidden
Sometimes it is nice that hiding a widget does not affect the
layout. This patch makes that possible by allowing hidden
widgets to take up space.

Change-Id: Ifbc1cdee0e112950acc025919b98199ea9558db7
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2013-07-10 09:26:31 +02:00
Thorbjørn Martsum
2713a4534b QListWidget - iterator fix in QListModel::ensureSorted
This is a fix similar to 7ddf1b14ec

Change-Id: I369f428252527a8c3326c0f23a1dc31b63f884f5
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-07-09 05:51:01 +02:00
Tor Arne Vestbø
563c9445d4 Clean up evaluation license logic
Instead of storing the application type as a uint, we use the enum provided
by QCoreApplicationPrivate. The former resulted in a few cases of wrong
logic where the values got mixed up, such as always printing the QtCore
console warning, even for GUI applications.

The qt_eval_is_supported function has been refactored to return enums instead
of magic values, to make the logic easier to read.

The same goes for qt_eval_days_left, which now only concerns itself with
the number of days left. qt_eval_is_expired() has been added to use for
easy checking of expiration date.

Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Change-Id: Ia0e85b2103f790a7e02e0d6e567a477b3145fcb9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-07-05 09:24:39 +02:00
Shawn Rutledge
785bc64f8e QColorDialog: don't create widgets if the platform dialog will be used
It will save memory and also prevent bugs where it's assumed that if
the widgets exist, they should be painted, maintained and/or used as a
current value store.

Task-number: QTBUG-31998
Change-Id: I04e3b016018221a405dd7da1fd455e0ede2233fd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-07-05 07:50:02 +02:00
Thorbjørn Martsum
a920e8d55d QTableView::sizeHintForRow minor fix of word wrap in a special case
In case we do a resizeSection to 0 (can also happen by a reset)
then the auto resize won't work with word wrap. The first resize
afterwards it will only resize to a single line.

Change-Id: I3abf779ecb0593b6721f5af16f7a39d05004e98f
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-07-04 18:55:10 +02:00
Thorbjørn Martsum
9767824a7d QTableView::sizeHintForRow move word wrap into heightHintForIndex
In 03c761287f it was overlooked
that word wrap handling (with advantage) could be moved into the
function, too.

This patch makes the code more readable, but does not change
anything.

Change-Id: Ifed349398b862650da383e4e6fd337a166dc680e
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-07-04 18:55:03 +02:00
J-P Nurmi
17fe17d525 Set correct cell when selecting custom color cell with arrow keys
Correct cell is now set when selecting a custom color cell with arrow
keys so that the custom coor is actually added to the selected cell
(as with mouse events).

Task-number: QTBUG-32054
Change-Id: Ic271a0be76070b4f5364954b2dfe464964c1380b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-07-03 12:30:22 +02:00
Thorbjørn Martsum
29570d8442 QStyle - tooltip - add wakeDelay and sleepDelay as styleHints
In earlier patches we allowed the user to control the
tooltip duration. However the user still couldn't control
the wake delay and sleep delay.

This patch changes that and is the final patch in solving:

Task-number: QTBUG-1016

Change-Id: I5e2c719737634ad7f371ad03691744612472ae70
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-07-03 05:34:34 +02:00
Parker Coates
40894d2874 Fix rotation of text in vertical QDockWidget titlebars in QFusionStyle.
Presumably this was just an omission when QFusionStyle was first
written. These three lines were taken directly from the equivalent
portion of QWindowsStyle and seem to work as expected.

Task-number: QTBUG-31904
Change-Id: I2f288d3cf2bfa3fe4f7f4a71e2726a172ec8e1b3
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-07-02 18:39:37 +02:00
Gunnar Sletta
032d2c9e8e Fix dropshadow and blur graphics effects.
The effects are making assumptions about implementation details of the
paint engine, which had changed between Qt 4 and Qt 5. The engines no
longer implement the pixmap filters and so the assumption made here
was wrong and should be removed.

Task-number: QTBUG-29945
Change-Id: I146d8c8cc12842a323bd613288003afcf89a47c7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-07-02 11:05:18 +02:00
Thiago Macieira
9f763d2fbe Remove unused variables (as found by ICC)
qgraphicsscene.cpp(1814): warning #177: variable "v1" was declared but never referenced

Change-Id: I8f14bb47f00ec0c56b2fe0794a71edfc872b3daa
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-07-01 02:02:25 +02:00
Thiago Macieira
64a7ac344e Deal with unused functions, as found by the Intel compiler
Use Q_DECL_UNUSED for the one that is possibly unused (we have two overloads so that one gets selected):
qglobal.cpp(2069): warning #177: function "<unnamed>::fromstrerror_helper(int, const QByteArray &)" was declared but never referenced

Remove functions really not used:
qbezier.cpp(153): warning #177: function "findInflections" was declared but never referenced
qbezier.cpp(534): warning #177: function "splitBezierAt" was declared but never referenced
qpathclipper.cpp(1039): warning #177: function "midPoint" was declared but never referenced
qpainter.cpp(119): warning #177: function "check_gradient" was declared but never referenced
qdockarealayout.cpp(2580): warning #177: function "qMin(int, int, int)" was declared but never referenced
qmainwindowlayout.cpp(1019): warning #177: function "validateDockWidgetArea" was declared but never referenced
qgraphicsanchorlayout_p.cpp(670): warning #177: function "checkAdd" was declared but never referenced
qcups.cpp(481): warning #177: function "paperSize2String" was declared but never referenced
complexwidgets.cpp(373): warning #177: function "removeInvisibleWidgetsFromList" was declared but never referenced

Change-Id: I1e5558e206b04edea381442030dc69536198d966
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-07-01 02:02:17 +02:00
J-P Nurmi
cfd207212d Fix the cursor position of an empty QLineEdit with a placeholder text
Task-number: QTBUG-32061
Change-Id: I43b689d8d7bc3c93036de48518f7a0f9f2aa33cf
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-06-29 09:27:54 +02:00
Friedemann Kleint
5016615e33 Fix system tray icon on X11.
Observe Qt::BypassWindowManagerHint in XCB and use it for the
tray. Remove the call to XSync(), which sometimes was causing
the window to appear in the wrong place for a short time.

Task-number: QTBUG-31762

Change-Id: I7b4fc5e42b8c8bb9d03b1575be99d6d1c727be37
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-06-28 10:58:53 +02:00
Frederik Gladhorn
be35b70ca1 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-06-28 08:58:49 +02:00
David Gil
cc54161abb Add getMultiLineText static method to QInputDialog
Change-Id: I6d43772f6ee66c6c43d64fb3d18f2a5f0c894a00
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-06-27 23:41:49 +02:00
Frederik Gladhorn
572200989b Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	configure
	mkspecs/features/create_cmake.prf

Change-Id: I94aea83b83833395d5db399209e0e51b92ef23b5
2013-06-27 13:06:38 +02:00
Frederik Gladhorn
241eca33ed Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-06-27 09:28:04 +02:00
J-P Nurmi
a98b60edfc QMacStyle: fix auto-default button animation
Make sure to stop any previously active (auto-default button)
animation when the auto-default button changes.

Task-number: QTBUG-31668
Change-Id: Iaa9bfa485b11e49cd7f765d0e54b4e6391ad2f6d
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-06-26 09:09:06 +02:00
Frederik Gladhorn
1867ad741a Merge remote-tracking branch 'origin/release' into stable
Change-Id: I4c0ae2ac1c10d4d50c03625c802d981b7850ed6f
2013-06-25 23:25:35 +02:00
Richard Moe Gustavsen
438211ec62 QPlatformIntegration: add new style hint: SetFocusOnTouchRelease
On desktop platforms, widgets have traditionally received
focus on mouse press. On touch platforms (iOS, Android) this
is different, there you need to delay setting the focus
until a touch release (probably to check if the press starts
a flick or tap'n'hold etc).

This patch will add a new style hint SetFocusOnRelease that
can be set by the plugin to control this behavior in Qt.

Change-Id: I2e4d714894e327822c855eb48a3b28e354726e95
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-06-25 15:11:02 +02:00