diff options
-rw-r--r-- | src/widgets/styles/qstylefactory.cpp | 2 | ||||
-rw-r--r-- | src/widgets/styles/qwindowsmobilestyle.cpp | 2 | ||||
-rw-r--r-- | src/widgets/styles/qwindowsmobilestyle.h | 116 | ||||
-rw-r--r-- | src/widgets/styles/qwindowsmobilestyle_p.h | 137 | ||||
-rw-r--r-- | src/widgets/styles/qwindowsmobilestyle_p_p.h | 135 | ||||
-rw-r--r-- | src/widgets/styles/styles.pri | 3 | ||||
-rw-r--r-- | tests/auto/widgets/styles/qstyle/tst_qstyle.cpp | 6 |
7 files changed, 201 insertions, 200 deletions
diff --git a/src/widgets/styles/qstylefactory.cpp b/src/widgets/styles/qstylefactory.cpp index b338d312d2..93e3e6da16 100644 --- a/src/widgets/styles/qstylefactory.cpp +++ b/src/widgets/styles/qstylefactory.cpp @@ -62,7 +62,7 @@ #include "qwindowscestyle_p.h" #endif #ifndef QT_NO_STYLE_WINDOWSMOBILE -#include "qwindowsmobilestyle.h" +#include "qwindowsmobilestyle_p.h" #endif #if !defined(QT_NO_STYLE_MAC) && defined(Q_OS_MAC) diff --git a/src/widgets/styles/qwindowsmobilestyle.cpp b/src/widgets/styles/qwindowsmobilestyle.cpp index 8ac9888659..3aade44e4e 100644 --- a/src/widgets/styles/qwindowsmobilestyle.cpp +++ b/src/widgets/styles/qwindowsmobilestyle.cpp @@ -39,8 +39,8 @@ ** ****************************************************************************/ -#include "qwindowsmobilestyle.h" #include "qwindowsmobilestyle_p.h" +#include "qwindowsmobilestyle_p_p.h" #if !defined(QT_NO_STYLE_WINDOWSMOBILE) || defined(QT_PLUGIN) diff --git a/src/widgets/styles/qwindowsmobilestyle.h b/src/widgets/styles/qwindowsmobilestyle.h deleted file mode 100644 index 7bb7d5c260..0000000000 --- a/src/widgets/styles/qwindowsmobilestyle.h +++ /dev/null @@ -1,116 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QWINDOWSMOBILESTYLE_H -#define QWINDOWSMOBILESTYLE_H - -#include <QtWidgets/qwindowsstyle.h> - -QT_BEGIN_HEADER - -QT_BEGIN_NAMESPACE - - -#if !defined(QT_NO_STYLE_WINDOWSMOBILE) - -class QWindowsMobileStylePrivate; - -class Q_WIDGETS_EXPORT QWindowsMobileStyle : public QWindowsStyle -{ - Q_OBJECT -public: - QWindowsMobileStyle(); - ~QWindowsMobileStyle(); - - void drawPrimitive(PrimitiveElement element, const QStyleOption *option, - QPainter *painter, const QWidget *widget = 0) const; - - void drawControl(ControlElement element, const QStyleOption *option, - QPainter *painter, const QWidget *widget) const; - - void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, - QPainter *painter, const QWidget *widget) const; - - QSize sizeFromContents(ContentsType type, const QStyleOption *option, - const QSize &size, const QWidget *widget) const; - - QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const; - - QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, - SubControl sc, const QWidget *widget) const; - - QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, - const QStyleOption *option) const; - - QPixmap standardPixmap(StandardPixmap sp, const QStyleOption *option, - const QWidget *widget) const; - - int pixelMetric(PixelMetric metric, const QStyleOption *option = 0, const QWidget *widget = 0) const; - - int styleHint(StyleHint hint, const QStyleOption *opt = 0, const QWidget *widget = 0, - QStyleHintReturn *returnData = 0) const; - - void polish(QApplication*); - void unpolish(QApplication*); - void polish(QWidget *widget); - void unpolish(QWidget *widget); - void polish(QPalette &); - - QPalette standardPalette() const; - - bool doubleControls() const; - - void setDoubleControls(bool); - -protected: - QWindowsMobileStyle(QWindowsMobileStylePrivate &dd); - -private: - Q_DECLARE_PRIVATE(QWindowsMobileStyle) -}; - -#endif // QT_NO_STYLE_WINDOWSMOBILE - -QT_END_NAMESPACE - -QT_END_HEADER - -#endif //QWINDOWSMOBILESTYLE_H diff --git a/src/widgets/styles/qwindowsmobilestyle_p.h b/src/widgets/styles/qwindowsmobilestyle_p.h index 7ea1e9cba4..d29389dd6e 100644 --- a/src/widgets/styles/qwindowsmobilestyle_p.h +++ b/src/widgets/styles/qwindowsmobilestyle_p.h @@ -42,94 +42,75 @@ #ifndef QWINDOWSMOBILESTYLE_P_H #define QWINDOWSMOBILESTYLE_P_H -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists for the convenience -// of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp. This header -// file may change from version to version without notice, or even be removed. -// -// We mean it. -// - -#include "qwindowsmobilestyle.h" -#include "qwindowsstyle_p.h" +#include <QtWidgets/qwindowsstyle.h> + +QT_BEGIN_HEADER QT_BEGIN_NAMESPACE -#ifndef QT_NO_STYLE_WINDOWSMOBILE -class QStyleOptionTab; -class QStyleOptionSlider; +#if !defined(QT_NO_STYLE_WINDOWSMOBILE) + +class QWindowsMobileStylePrivate; -class QWindowsMobileStylePrivate : public QWindowsStylePrivate +class QWindowsMobileStyle : public QWindowsStyle { - Q_DECLARE_PUBLIC(QWindowsMobileStyle) + Q_OBJECT public: - QWindowsMobileStylePrivate(); - bool doubleControls; - bool smartphone; -#ifdef Q_OS_WINCE_WM - bool wm65; -#endif - - QImage imageRadioButton; - QImage imageRadioButtonChecked; - QImage imageRadioButtonHighlighted; - QImage imageChecked; - QImage imageCheckedBold; - QImage imageArrowDown; - QImage imageArrowUp; - QImage imageArrowLeft; - QImage imageArrowRight; - QImage imageArrowDownBig; - QImage imageArrowUpBig; - QImage imageArrowLeftBig; - QImage imageArrowRightBig; - QImage imageClose; - QImage imageMaximize; - QImage imageNormalize; - QImage imageMinimize; - - void setupWindowsMobileStyle65(); - -#ifdef Q_OS_WINCE_WM - //Windows Mobile 6.5 images - QImage imageScrollbarHandleUp; - QImage imageScrollbarHandleDown; - QImage imageScrollbarHandleUpHigh; - QImage imageScrollbarHandleDownHigh; - QImage imageScrollbarGripUp; - QImage imageScrollbarGripDown; - QImage imageScrollbarGripMiddle; - QImage imageListViewHighlightCornerLeft; - QImage imageListViewHighlightCornerRight; - QImage imageListViewHighlightMiddle; - QImage imageTabEnd; - QImage imageTabSelectedEnd; - QImage imageTabSelectedBegin; - QImage imageTabMiddle; - - QColor currentTintHigh; - QColor currentTintButton; - - void tintImagesHigh(QColor color); - void tintImagesButton(QColor color); - void tintListViewHighlight(QColor color); - -#endif //Q_OS_WINCE_WM - - void drawScrollbarHandleUp(QPainter *p, QStyleOptionSlider *opt, bool completeFrame = false, bool secondScrollBar = false); - void drawScrollbarHandleDown(QPainter *p, QStyleOptionSlider *opt, bool completeFrame = false, bool secondScrollBar = false); - void drawScrollbarGroove(QPainter *p, const QStyleOptionSlider *opt); - void drawScrollbarGrip(QPainter *p, QStyleOptionSlider *newScrollbar, const QStyleOptionComplex *option, bool drawCompleteFrame); - void drawTabBarTab(QPainter *p, const QStyleOptionTab *tab); - void drawPanelItemViewSelected(QPainter *painter, const QStyleOptionViewItem *option, QRect rect = QRect()); + QWindowsMobileStyle(); + ~QWindowsMobileStyle(); + + void drawPrimitive(PrimitiveElement element, const QStyleOption *option, + QPainter *painter, const QWidget *widget = 0) const; + + void drawControl(ControlElement element, const QStyleOption *option, + QPainter *painter, const QWidget *widget) const; + + void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, + QPainter *painter, const QWidget *widget) const; + + QSize sizeFromContents(ContentsType type, const QStyleOption *option, + const QSize &size, const QWidget *widget) const; + + QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const; + + QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, + SubControl sc, const QWidget *widget) const; + + QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, + const QStyleOption *option) const; + + QPixmap standardPixmap(StandardPixmap sp, const QStyleOption *option, + const QWidget *widget) const; + + int pixelMetric(PixelMetric metric, const QStyleOption *option = 0, const QWidget *widget = 0) const; + int styleHint(StyleHint hint, const QStyleOption *opt = 0, const QWidget *widget = 0, + QStyleHintReturn *returnData = 0) const; + + void polish(QApplication*); + void unpolish(QApplication*); + void polish(QWidget *widget); + void unpolish(QWidget *widget); + void polish(QPalette &); + + QPalette standardPalette() const; + + bool doubleControls() const; + + void setDoubleControls(bool); + +protected: + QWindowsMobileStyle(QWindowsMobileStylePrivate &dd); + +private: + Q_DECLARE_PRIVATE(QWindowsMobileStyle) }; +#endif // QT_NO_STYLE_WINDOWSMOBILE + QT_END_NAMESPACE -#endif // QT_NO_STYLE_WINDOWSMOBILE +QT_END_HEADER + #endif //QWINDOWSMOBILESTYLE_P_H diff --git a/src/widgets/styles/qwindowsmobilestyle_p_p.h b/src/widgets/styles/qwindowsmobilestyle_p_p.h new file mode 100644 index 0000000000..fd6862d40b --- /dev/null +++ b/src/widgets/styles/qwindowsmobilestyle_p_p.h @@ -0,0 +1,135 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QWINDOWSMOBILESTYLE_P_P_H +#define QWINDOWSMOBILESTYLE_P_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists for the convenience +// of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp. This header +// file may change from version to version without notice, or even be removed. +// +// We mean it. +// + +#include "qwindowsmobilestyle_p.h" +#include "qwindowsstyle_p.h" + +QT_BEGIN_NAMESPACE + +#ifndef QT_NO_STYLE_WINDOWSMOBILE + +class QStyleOptionTab; +class QStyleOptionSlider; + +class QWindowsMobileStylePrivate : public QWindowsStylePrivate +{ + Q_DECLARE_PUBLIC(QWindowsMobileStyle) +public: + QWindowsMobileStylePrivate(); + bool doubleControls; + bool smartphone; +#ifdef Q_OS_WINCE_WM + bool wm65; +#endif + + QImage imageRadioButton; + QImage imageRadioButtonChecked; + QImage imageRadioButtonHighlighted; + QImage imageChecked; + QImage imageCheckedBold; + QImage imageArrowDown; + QImage imageArrowUp; + QImage imageArrowLeft; + QImage imageArrowRight; + QImage imageArrowDownBig; + QImage imageArrowUpBig; + QImage imageArrowLeftBig; + QImage imageArrowRightBig; + QImage imageClose; + QImage imageMaximize; + QImage imageNormalize; + QImage imageMinimize; + + void setupWindowsMobileStyle65(); + +#ifdef Q_OS_WINCE_WM + //Windows Mobile 6.5 images + QImage imageScrollbarHandleUp; + QImage imageScrollbarHandleDown; + QImage imageScrollbarHandleUpHigh; + QImage imageScrollbarHandleDownHigh; + QImage imageScrollbarGripUp; + QImage imageScrollbarGripDown; + QImage imageScrollbarGripMiddle; + QImage imageListViewHighlightCornerLeft; + QImage imageListViewHighlightCornerRight; + QImage imageListViewHighlightMiddle; + QImage imageTabEnd; + QImage imageTabSelectedEnd; + QImage imageTabSelectedBegin; + QImage imageTabMiddle; + + QColor currentTintHigh; + QColor currentTintButton; + + void tintImagesHigh(QColor color); + void tintImagesButton(QColor color); + void tintListViewHighlight(QColor color); + +#endif //Q_OS_WINCE_WM + + void drawScrollbarHandleUp(QPainter *p, QStyleOptionSlider *opt, bool completeFrame = false, bool secondScrollBar = false); + void drawScrollbarHandleDown(QPainter *p, QStyleOptionSlider *opt, bool completeFrame = false, bool secondScrollBar = false); + void drawScrollbarGroove(QPainter *p, const QStyleOptionSlider *opt); + void drawScrollbarGrip(QPainter *p, QStyleOptionSlider *newScrollbar, const QStyleOptionComplex *option, bool drawCompleteFrame); + void drawTabBarTab(QPainter *p, const QStyleOptionTab *tab); + void drawPanelItemViewSelected(QPainter *painter, const QStyleOptionViewItem *option, QRect rect = QRect()); + +}; + +QT_END_NAMESPACE + +#endif // QT_NO_STYLE_WINDOWSMOBILE +#endif //QWINDOWSMOBILESTYLE_P_P_H diff --git a/src/widgets/styles/styles.pri b/src/widgets/styles/styles.pri index 25744d2546..d2c0615165 100644 --- a/src/widgets/styles/styles.pri +++ b/src/widgets/styles/styles.pri @@ -129,7 +129,8 @@ contains( styles, windowsce ) { } contains( styles, windowsmobile ) { - HEADERS += styles/qwindowsmobilestyle.h + HEADERS += styles/qwindowsmobilestyle_p.h + HEADERS += styles/qwindowsmobilestyle_p_p.h SOURCES += styles/qwindowsmobilestyle.cpp } else { DEFINES += QT_NO_STYLE_WINDOWSMOBILE diff --git a/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp b/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp index 3864f22059..f5358b4e15 100644 --- a/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp +++ b/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp @@ -76,7 +76,6 @@ #endif #ifdef Q_OS_WINCE_WM -#include <QWindowsMobileStyle> #include <windows.h> static bool qt_wince_is_smartphone() { @@ -336,7 +335,7 @@ bool tst_QStyle::testScrollBarSubControls(QStyle* style) { // WinCE SmartPhone doesn't have scrollbar subcontrols, so skip the rest of the test. #ifdef Q_OS_WINCE_WM - if (qobject_cast<QWindowsMobileStyle*>(style) && qt_wince_is_smartphone()) + if (style->inherits("QWindowsMobileStyle") && qt_wince_is_smartphone()) return true; #else Q_UNUSED(style); @@ -547,8 +546,9 @@ void tst_QStyle::testWindowsCEStyle() // WindowsMobileStyle style void tst_QStyle::testWindowsMobileStyle() { - QWindowsMobileStyle cstyle; + QStyle *cstyle = QStyleFactory::create("WindowsMobile"); QVERIFY(testAllFunctions(&cstyle)); + delete cstyle; } #endif |