Go to file
Richard Moe Gustavsen a955d9d142 Widgets: enable scroll buttons to be placed anywhere on a QTabBar
If a tab bar contain more tabs than it can fit inside its geometry, it
will show two scroll buttons that lets the user scroll left or right.
From before, those buttons where hard coded to always be placed
together on the right side of the tab bar.

This patch will make it possible for the style to specify the exact
geometry of both scroll buttons. The reason for this is that 3rd party
styles has a specific need to place the "scroll left" button on the left
side, and the "scroll right" on the right side. Additionally, there is a
need to draw fade-out effects on tabs that end up half-way obscured by the
buttons. This can already be achieved by extending the tab tear concept to
include two tears/fade effects, one for each side of the tab bar.

Previous code in QTabBar that hard-coded scroll buttons and related
functionality will now be factored out to the style, and the base
style (QCommonStyle) will implement the old default logic of placing the
buttons together on the right side. Six new style enums will be added:

SE_TabBarScrollLeftButton: the rect of the left scroll button
SE_TabBarScrollRightButton: the rect of the right scroll button
SE_TabBarTearIndicatorLeft: the rect of the left tab tear
SE_TabBarTearIndicatorRight: the rect of the right tab tear
PE_IndicatorTabTearLeft: draw the left tab tear
PE_IndicatorTabTearRight: draw the right tab tear

Change-Id: I4cda05c2f7323de5cbd3ca071eb796085257c19b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-11-16 12:47:01 +00:00
bin syncqt: complain if a public header includes a private one 2015-10-15 16:20:37 +00:00
config.tests Merge remote-tracking branch 'origin/5.6' into dev 2015-11-04 20:18:14 +01:00
dist Update the Qt 5.5.1 changelog for qtbase 2015-09-23 06:49:28 +00:00
doc Doc: Use a navigation separator in the simple offline template 2015-10-28 11:55:05 +00:00
examples Merge remote-tracking branch 'origin/5.6' into dev 2015-11-04 20:18:14 +01:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
mkspecs unbreak tool invocation in prefix builds again 2015-11-06 12:35:16 +00:00
qmake Merge remote-tracking branch 'origin/5.6' into dev 2015-11-04 20:18:14 +01:00
src Widgets: enable scroll buttons to be placed anywhere on a QTabBar 2015-11-16 12:47:01 +00:00
tests Blacklist tst_QWindow::setVisible for Ubuntu 2015-11-12 12:23:39 +00:00
tools Merge remote-tracking branch 'origin/5.6' into dev 2015-11-04 20:18:14 +01:00
util Fix a #! first line. 2015-09-30 18:26:06 +00:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore Remove qtdemo from gitignore 2014-09-17 12:38:55 +02:00
.qmake.conf Merge remote-tracking branch 'origin/5.6' into dev 2015-10-23 14:45:03 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
configure Port the Gtk platform theme to Gtk+ 3 2015-11-13 05:32:26 +00:00
configure.bat Move the official Qt version from qglobal.h to .qmake.conf 2015-10-14 20:12:57 +00:00
header.BSD Updated BSD licensed file headers 2015-02-15 07:41:17 +00:00
header.COMM Add header template for commercial only modules 2015-10-19 10:37:18 +00:00
header.FDL Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL3 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL3-COMM Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL21 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL-ONLY Update copyright headers 2015-02-11 06:49:51 +00:00
INSTALL Doc: Update links in INSTALL file 2015-02-16 09:06:41 +00:00
LGPL_EXCEPTION.txt Update copyright headers 2015-02-11 06:49:51 +00:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPLv3 fix up license references 2015-08-13 11:13:09 +00:00
LICENSE.LGPLv3 fix up license references 2015-08-13 11:13:09 +00:00
LICENSE.LGPLv21 Update copyright headers 2015-02-11 06:49:51 +00:00
LICENSE.PREVIEW.COMMERCIAL Update copyright headers 2015-02-11 06:49:51 +00:00
qtbase.pro configure: Separate host and build platform. 2015-10-30 13:14:51 +00:00
sync.profile Move the function helper to its own file 2015-06-05 07:48:17 +00:00