Factor out QPlatformTheme from QPlatformPlugin.
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>
Fri, 11 Nov 2011 13:50:20 +0000 (14:50 +0100)
committerQt by Nokia <qt-info@nokia.com>
Fri, 11 Nov 2011 14:22:02 +0000 (15:22 +0100)
commit4e732b87d2b898b9720bd128247beb202fb4aaff
treefa338154584c8c6e2feaa7e88b2316793799db51
parentc92d6130fe9df1dc6b42b9d66627cc905e13519b
Factor out QPlatformTheme from QPlatformPlugin.

Implement QCocoaPlatformTheme. The menus and dialog
API is moved from the platform to the theme plugin.
(Both APIs contain references to QtWidget classes,
which we are working towards removing.)

The theme plugin is created after the platform
plugin, first by asking the platform plugin, then
by looking for a separate plugin if the platform
does not specify a theme.

Initial-patch-by: Morten Sorvig <msorvig@trolltech.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Change-Id: I2778cdd3a205c4ce35ead93e39fe6b4cd58a39f9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
27 files changed:
src/gui/kernel/kernel.pri
src/gui/kernel/qguiapplication.cpp
src/gui/kernel/qguiapplication_p.h
src/gui/kernel/qplatformintegration_qpa.cpp
src/gui/kernel/qplatformintegration_qpa.h
src/gui/kernel/qplatformtheme_qpa.cpp [new file with mode: 0644]
src/gui/kernel/qplatformtheme_qpa.h [new file with mode: 0644]
src/gui/kernel/qplatformthemefactory_qpa.cpp [new file with mode: 0644]
src/gui/kernel/qplatformthemefactory_qpa_p.h [new file with mode: 0644]
src/gui/kernel/qplatformthemeplugin_qpa.cpp [new file with mode: 0644]
src/gui/kernel/qplatformthemeplugin_qpa.h [new file with mode: 0644]
src/plugins/platforms/cocoa/cocoa.pro
src/plugins/platforms/cocoa/main.mm
src/plugins/platforms/cocoa/qcocoaintegration.h
src/plugins/platforms/cocoa/qcocoaintegration.mm
src/plugins/platforms/cocoa/qcocoatheme.h [new file with mode: 0644]
src/plugins/platforms/cocoa/qcocoatheme.mm [new file with mode: 0644]
src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
src/plugins/platforms/windows/qwindowsdialoghelpers.h
src/plugins/platforms/windows/qwindowsintegration.cpp
src/plugins/platforms/windows/qwindowsintegration.h
src/plugins/platforms/windows/qwindowstheme.cpp [new file with mode: 0644]
src/plugins/platforms/windows/qwindowstheme.h [new file with mode: 0644]
src/plugins/platforms/windows/windows.pro
src/widgets/dialogs/qdialog.cpp
src/widgets/widgets/qmenu.cpp
src/widgets/widgets/qmenubar.cpp