Remove CDE and Motif styles from qtbase
It is time to clean up some of our legacy code. These styles have not been actively maintained for a long time and I think it is safe to say that they should no longer belong as part of the default distribution of Qt. We dont support any platforms based on CDE with our source packages. Note that even if we are removing these styles from the default distribution of Qt, applications that depend on them will still be able to bundle the existing (and unmodified) styles along with their own source code as we are not breaking compatibility. Change-Id: I1709630c20ba8e8088cd01628628d86856db57a4 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
This commit is contained in:
parent
05978af3a1
commit
570ae40f57
@ -231,16 +231,9 @@
|
||||
|
||||
Just before we create the \uicontrol{Help} menu, we call
|
||||
QMenuBar::addSeparator(). This has no effect for most widget
|
||||
styles (e.g., Windows and Mac OS X styles), but for Motif-based
|
||||
styles (e.g., Windows and Mac OS X styles), but for some
|
||||
styles this makes sure that \uicontrol{Help} is pushed to the right
|
||||
side of the menu bar. Try running the application with various
|
||||
styles and see the results:
|
||||
|
||||
\code
|
||||
application -style=windows
|
||||
application -style=motif
|
||||
application -style=cde
|
||||
\endcode
|
||||
side of the menu bar.
|
||||
|
||||
Let's now review the toolbars:
|
||||
|
||||
|
@ -600,8 +600,8 @@
|
||||
In particular we create the \c styleActionGroup based on the
|
||||
currently available GUI styles using
|
||||
QStyleFactory. QStyleFactory::keys() returns a list of valid keys,
|
||||
typically including "windows", "motif", "cde", and
|
||||
"plastique". Depending on the platform, "windowsxp" and
|
||||
typically including "windows", "cleanlooks" and
|
||||
"plastique". Depending on the platform, "windowsxp", "windowsvista", "gtk" and
|
||||
"macintosh" may be available.
|
||||
|
||||
We create one action for each key, and adds the action to the
|
||||
|
@ -42,7 +42,7 @@
|
||||
reimplementing a few virtual functions.
|
||||
|
||||
In this example, the custom style is called \c NorwegianWoodStyle
|
||||
and derives from QMotifStyle. Its main features are the wooden
|
||||
and derives from QWindowsStyle. Its main features are the wooden
|
||||
textures used for filling most of the widgets and its round
|
||||
buttons and comboboxes.
|
||||
|
||||
@ -56,7 +56,7 @@
|
||||
The example consists of the following classes:
|
||||
|
||||
\list
|
||||
\li \c NorwegianWoodStyle inherits from QMotifStyle and implements
|
||||
\li \c NorwegianWoodStyle inherits from QWindowsStyle and implements
|
||||
the Norwegian Wood style.
|
||||
\li \c WidgetGallery is a \c QDialog subclass that shows the most
|
||||
common widgets and allows the user to switch style
|
||||
@ -69,8 +69,8 @@
|
||||
|
||||
\snippet widgets/styles/norwegianwoodstyle.h 0
|
||||
|
||||
The public functions are all declared in QStyle (QMotifStyle's
|
||||
grandparent class) and reimplemented here to override the Motif
|
||||
The public functions are all declared in QStyle (QWindowsStyle's
|
||||
grandparent class) and reimplemented here to override the Windows
|
||||
look and feel. The private functions are helper functions.
|
||||
|
||||
\section1 NorwegianWoodStyle Class Implementation
|
||||
@ -154,7 +154,7 @@
|
||||
\image styles-disabledwood.png The Norwegian Wood style with disabled widgets
|
||||
|
||||
Let's move on to the other functions reimplemented from
|
||||
QMotifStyle:
|
||||
QWindowsStyle:
|
||||
|
||||
\snippet widgets/styles/norwegianwoodstyle.cpp 3
|
||||
\snippet widgets/styles/norwegianwoodstyle.cpp 4
|
||||
@ -186,23 +186,23 @@
|
||||
widgets are drawn and their size hint. Here, we return 8 as the
|
||||
width around a shown in a QComboBox, ensuring that there is
|
||||
enough place around the text and the arrow for the Norwegian Wood
|
||||
round corners. The default value for this setting in the Motif
|
||||
round corners. The default value for this setting in the Windows
|
||||
style is 2.
|
||||
|
||||
We also change the extent of \l{QScrollBar}s, i.e., the height
|
||||
for a horizontal scroll bar and the width for a vertical scroll
|
||||
bar, to be 4 pixels more than in the Motif style. This makes the
|
||||
bar, to be 4 pixels more than in the Windows style. This makes the
|
||||
style a bit more distinctive.
|
||||
|
||||
For all other QStyle::PixelMetric elements, we use the Motif
|
||||
For all other QStyle::PixelMetric elements, we use the Windows
|
||||
settings.
|
||||
|
||||
\snippet widgets/styles/norwegianwoodstyle.cpp 9
|
||||
\snippet widgets/styles/norwegianwoodstyle.cpp 10
|
||||
|
||||
The \l{QStyle::styleHint()}{styleHint()} function returns some
|
||||
hints to widgets or to the base style (in our case QMotifStyle)
|
||||
about how to draw the widgets. The Motif style returns \c true
|
||||
hints to widgets or to the base style (in our case QWindowsStyle)
|
||||
about how to draw the widgets. The Windows style returns \c true
|
||||
for the QStyle::SH_DitherDisabledText hint, resulting in a most
|
||||
unpleasing visual effect. We override this behavior and return \c
|
||||
false instead. We also return \c true for the
|
||||
|
@ -112,9 +112,9 @@ int NorwegianWoodStyle::pixelMetric(PixelMetric metric,
|
||||
case PM_ComboBoxFrameWidth:
|
||||
return 8;
|
||||
case PM_ScrollBarExtent:
|
||||
return QMotifStyle::pixelMetric(metric, option, widget) + 4;
|
||||
return QWindowsStyle::pixelMetric(metric, option, widget) + 4;
|
||||
default:
|
||||
return QMotifStyle::pixelMetric(metric, option, widget);
|
||||
return QWindowsStyle::pixelMetric(metric, option, widget);
|
||||
}
|
||||
}
|
||||
//! [8]
|
||||
@ -131,7 +131,7 @@ int NorwegianWoodStyle::styleHint(StyleHint hint, const QStyleOption *option,
|
||||
case SH_EtchDisabledText:
|
||||
return int(true);
|
||||
default:
|
||||
return QMotifStyle::styleHint(hint, option, widget, returnData);
|
||||
return QWindowsStyle::styleHint(hint, option, widget, returnData);
|
||||
}
|
||||
}
|
||||
//! [10]
|
||||
@ -256,7 +256,7 @@ void NorwegianWoodStyle::drawPrimitive(PrimitiveElement element,
|
||||
//! [32] //! [33]
|
||||
default:
|
||||
//! [33] //! [34]
|
||||
QMotifStyle::drawPrimitive(element, option, painter, widget);
|
||||
QWindowsStyle::drawPrimitive(element, option, painter, widget);
|
||||
}
|
||||
}
|
||||
//! [34]
|
||||
@ -284,11 +284,11 @@ void NorwegianWoodStyle::drawControl(ControlElement element,
|
||||
}
|
||||
}
|
||||
}
|
||||
QMotifStyle::drawControl(element, &myButtonOption, painter, widget);
|
||||
QWindowsStyle::drawControl(element, &myButtonOption, painter, widget);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
QMotifStyle::drawControl(element, option, painter, widget);
|
||||
QWindowsStyle::drawControl(element, option, painter, widget);
|
||||
}
|
||||
}
|
||||
//! [36]
|
||||
|
@ -41,7 +41,7 @@
|
||||
#ifndef NORWEGIANWOODSTYLE_H
|
||||
#define NORWEGIANWOODSTYLE_H
|
||||
|
||||
#include <QMotifStyle>
|
||||
#include <QWindowsStyle>
|
||||
#include <QPalette>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
@ -49,7 +49,7 @@ class QPainterPath;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
//! [0]
|
||||
class NorwegianWoodStyle : public QMotifStyle
|
||||
class NorwegianWoodStyle : public QWindowsStyle
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
@ -5,7 +5,7 @@ SOURCES = main.cpp \
|
||||
widgetgallery.cpp
|
||||
RESOURCES = styles.qrc
|
||||
|
||||
REQUIRES += "contains(styles, motif)"
|
||||
REQUIRES += "contains(styles, windows)"
|
||||
|
||||
# install
|
||||
target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/widgets/styles
|
||||
|
@ -26,7 +26,7 @@ SUBDIRS = analogclock \
|
||||
wiggly \
|
||||
windowflags
|
||||
|
||||
contains(styles, motif): SUBDIRS += styles
|
||||
contains(styles, windows): SUBDIRS += styles
|
||||
|
||||
# install
|
||||
sources.files = widgets.pro README
|
||||
|
@ -196,9 +196,6 @@
|
||||
// Status Tip
|
||||
//#define QT_NO_STATUSTIP
|
||||
|
||||
// QMotifStyle
|
||||
//#define QT_NO_STYLE_MOTIF
|
||||
|
||||
// QWindowsStyle
|
||||
//#define QT_NO_STYLE_WINDOWS
|
||||
|
||||
@ -339,11 +336,6 @@
|
||||
#define QT_NO_STATEMACHINE
|
||||
#endif
|
||||
|
||||
// QCDEStyle
|
||||
#if !defined(QT_NO_STYLE_CDE) && (defined(QT_NO_STYLE_MOTIF))
|
||||
#define QT_NO_STYLE_CDE
|
||||
#endif
|
||||
|
||||
// QWindowsXPStyle
|
||||
#if !defined(QT_NO_STYLE_WINDOWSXP) && (defined(QT_NO_STYLE_WINDOWS))
|
||||
#define QT_NO_STYLE_WINDOWSXP
|
||||
|
@ -834,12 +834,10 @@ QT_CLASS_LIB(QTransform, QtGui, qtransform.h)
|
||||
QT_CLASS_LIB(QWMatrix, QtGui, qwmatrix.h)
|
||||
QT_CLASS_LIB(QKeyEventTransition, QtWidgets, qkeyeventtransition.h)
|
||||
QT_CLASS_LIB(QMouseEventTransition, QtWidgets, qmouseeventtransition.h)
|
||||
QT_CLASS_LIB(QCDEStyle, QtWidgets, qcdestyle.h)
|
||||
QT_CLASS_LIB(QCleanlooksStyle, QtWidgets, qcleanlooksstyle.h)
|
||||
QT_CLASS_LIB(QCommonStyle, QtWidgets, qcommonstyle.h)
|
||||
QT_CLASS_LIB(QGtkStyle, QtWidgets, qgtkstyle.h)
|
||||
QT_CLASS_LIB(QMacStyle, QtWidgets, qmacstyle_mac.h)
|
||||
QT_CLASS_LIB(QMotifStyle, QtWidgets, qmotifstyle.h)
|
||||
QT_CLASS_LIB(QPlastiqueStyle, QtWidgets, qplastiquestyle.h)
|
||||
QT_CLASS_LIB(QProxyStyle, QtWidgets, qproxystyle.h)
|
||||
QT_CLASS_LIB(QStyle, QtWidgets, qstyle.h)
|
||||
|
@ -39,7 +39,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
//! [0]
|
||||
./myapplication -style motif
|
||||
./myapplication -style windows
|
||||
//! [0]
|
||||
|
||||
|
||||
|
@ -72,13 +72,6 @@
|
||||
\caption \l{GTK Style Widget Gallery}
|
||||
|
||||
The GTK style is provided by QGtkStyle.
|
||||
\li \image motif-tabwidget.png Motif Style Widget Gallery
|
||||
\caption \l{Motif Style Widget Gallery}
|
||||
|
||||
The Motif style is provided by QMotifStyle.
|
||||
\li \image cde-tabwidget.png CDE Style Widget Gallery
|
||||
\caption \l{CDE Style Widget Gallery}
|
||||
|
||||
The Common Desktop Environment style is provided by QCDEStyle.
|
||||
\endtable
|
||||
*/
|
||||
|
@ -524,7 +524,7 @@ void QApplicationPrivate::process_cmdline()
|
||||
All Qt programs automatically support the following command line options:
|
||||
\list
|
||||
\li -style= \e style, sets the application GUI style. Possible values
|
||||
are \c motif, \c windows, and \c platinum. If you compiled Qt with
|
||||
depend on your system configuration. If you compiled Qt with
|
||||
additional styles or have additional styles as plugins these will
|
||||
be available to the \c -style command line option.
|
||||
\li -style \e style, is the same as listed above.
|
||||
@ -1206,7 +1206,7 @@ void QApplication::setStyle(QStyle *style)
|
||||
Requests a QStyle object for \a style from the QStyleFactory.
|
||||
|
||||
The string must be one of the QStyleFactory::keys(), typically one of
|
||||
"windows", "motif", "cde", "plastique", "windowsxp", or "macintosh". Style
|
||||
"windows", "cleanlooks", "plastique", "windowsxp", or "macintosh". Style
|
||||
names are case insensitive.
|
||||
|
||||
Returns 0 if an unknown \a style is passed, otherwise the QStyle object
|
||||
|
@ -1,306 +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$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "qcdestyle.h"
|
||||
|
||||
#if !defined(QT_NO_STYLE_CDE) || defined(QT_PLUGIN)
|
||||
|
||||
#include "qmenu.h"
|
||||
#include "qapplication.h"
|
||||
#include "qpainter.h"
|
||||
#include "qdrawutil.h"
|
||||
#include "qpixmap.h"
|
||||
#include "qpalette.h"
|
||||
#include "qwidget.h"
|
||||
#include "qpushbutton.h"
|
||||
#include "qscrollbar.h"
|
||||
#include "qtabbar.h"
|
||||
#include "qtabwidget.h"
|
||||
#include "qlistview.h"
|
||||
#include "qsplitter.h"
|
||||
#include "qslider.h"
|
||||
#include "qcombobox.h"
|
||||
#include "qlineedit.h"
|
||||
#include "qprogressbar.h"
|
||||
#include "qimage.h"
|
||||
#include "qfocusframe.h"
|
||||
#include "qpainterpath.h"
|
||||
#include "qdebug.h"
|
||||
#include <limits.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
/*!
|
||||
\class QCDEStyle
|
||||
\brief The QCDEStyle class provides a CDE look and feel.
|
||||
|
||||
\ingroup appearance
|
||||
\inmodule QtWidgets
|
||||
|
||||
This style provides a slightly improved Motif look similar to some
|
||||
versions of the Common Desktop Environment (CDE). The main
|
||||
differences are thinner frames and more modern radio buttons and
|
||||
checkboxes. Together with a dark background and a bright
|
||||
text/foreground color, the style looks quite attractive (at least
|
||||
for Motif fans).
|
||||
|
||||
Note that most of the functions provided by QCDEStyle are
|
||||
reimplementations of QStyle functions; see QStyle for their
|
||||
documentation. QCDEStyle provides overloads for drawControl() and
|
||||
drawPrimitive() which are documented here.
|
||||
|
||||
\image qcdestyle.png
|
||||
\sa QWindowsXPStyle, QMacStyle, QWindowsStyle, QPlastiqueStyle, QMotifStyle
|
||||
*/
|
||||
|
||||
/*!
|
||||
Constructs a QCDEStyle.
|
||||
|
||||
If \a useHighlightCols is false (the default), then the style will
|
||||
polish the application's color palette to emulate the Motif way of
|
||||
highlighting, which is a simple inversion between the base and the
|
||||
text color.
|
||||
*/
|
||||
QCDEStyle::QCDEStyle(bool useHighlightCols)
|
||||
: QMotifStyle(useHighlightCols)
|
||||
{
|
||||
}
|
||||
|
||||
/*!
|
||||
Destroys the style.
|
||||
*/
|
||||
QCDEStyle::~QCDEStyle()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/*!\reimp
|
||||
*/
|
||||
int QCDEStyle::pixelMetric(PixelMetric metric, const QStyleOption *option,
|
||||
const QWidget *widget) const
|
||||
/*
|
||||
int QCDEStyle::pixelMetric(PixelMetric metric, const QStyleOption *option,
|
||||
const QWidget *widget) const
|
||||
*/
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
switch(metric) {
|
||||
case PM_MenuBarPanelWidth:
|
||||
case PM_DefaultFrameWidth:
|
||||
case PM_FocusFrameVMargin:
|
||||
case PM_FocusFrameHMargin:
|
||||
case PM_MenuPanelWidth:
|
||||
case PM_SpinBoxFrameWidth:
|
||||
case PM_MenuBarVMargin:
|
||||
case PM_MenuBarHMargin:
|
||||
case PM_DockWidgetFrameWidth:
|
||||
ret = 1;
|
||||
break;
|
||||
case PM_ScrollBarExtent:
|
||||
ret = 13;
|
||||
break;
|
||||
default:
|
||||
ret = QMotifStyle::pixelMetric(metric, option, widget);
|
||||
break;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*!
|
||||
\reimp
|
||||
*/
|
||||
void QCDEStyle::drawControl(ControlElement element, const QStyleOption *opt, QPainter *p,
|
||||
const QWidget *widget) const
|
||||
{
|
||||
|
||||
switch(element) {
|
||||
case CE_MenuBarItem: {
|
||||
if (opt->state & State_Selected) // active item
|
||||
qDrawShadePanel(p, opt->rect, opt->palette, true, 1,
|
||||
&opt->palette.brush(QPalette::Button));
|
||||
else // other item
|
||||
p->fillRect(opt->rect, opt->palette.brush(QPalette::Button));
|
||||
QCommonStyle::drawControl(element, opt, p, widget);
|
||||
break; }
|
||||
case CE_RubberBand: {
|
||||
p->save();
|
||||
p->setClipping(false);
|
||||
QPainterPath path;
|
||||
path.addRect(opt->rect);
|
||||
path.addRect(opt->rect.adjusted(2, 2, -2, -2));
|
||||
p->fillPath(path, opt->palette.color(QPalette::Active, QPalette::Text));
|
||||
p->restore();
|
||||
break; }
|
||||
default:
|
||||
QMotifStyle::drawControl(element, opt, p, widget);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
\reimp
|
||||
*/
|
||||
void QCDEStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPainter *p,
|
||||
const QWidget *widget) const
|
||||
{
|
||||
switch(pe) {
|
||||
case PE_IndicatorCheckBox: {
|
||||
bool down = opt->state & State_Sunken;
|
||||
bool on = opt->state & State_On;
|
||||
bool showUp = !(down ^ on);
|
||||
QBrush fill = (showUp || (opt->state & State_NoChange)) ? opt->palette.brush(QPalette::Button) : opt->palette.brush(QPalette::Mid);
|
||||
qDrawShadePanel(p, opt->rect, opt->palette, !showUp, pixelMetric(PM_DefaultFrameWidth), &opt->palette.brush(QPalette::Button));
|
||||
|
||||
if (on || (opt->state & State_NoChange)) {
|
||||
QRect r = opt->rect;
|
||||
QPolygon a(7 * 2);
|
||||
int i, xx, yy;
|
||||
xx = r.x() + 3;
|
||||
yy = r.y() + 5;
|
||||
if (opt->rect.width() <= 9) {
|
||||
// When called from CE_MenuItem in QMotifStyle
|
||||
xx -= 2;
|
||||
yy -= 2;
|
||||
}
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
a.setPoint(2 * i, xx, yy);
|
||||
a.setPoint(2 * i + 1, xx, yy + 2);
|
||||
xx++; yy++;
|
||||
}
|
||||
yy -= 2;
|
||||
for (i = 3; i < 7; i++) {
|
||||
a.setPoint(2 * i, xx, yy);
|
||||
a.setPoint(2 * i + 1, xx, yy + 2);
|
||||
xx++; yy--;
|
||||
}
|
||||
if (opt->state & State_NoChange)
|
||||
p->setPen(opt->palette.dark().color());
|
||||
else
|
||||
p->setPen(opt->palette.foreground().color());
|
||||
p->drawPolyline(a);
|
||||
}
|
||||
if (!(opt->state & State_Enabled) && styleHint(SH_DitherDisabledText))
|
||||
p->fillRect(opt->rect, QBrush(p->background().color(), Qt::Dense5Pattern));
|
||||
} break;
|
||||
case PE_IndicatorRadioButton:
|
||||
{
|
||||
QRect r = opt->rect;
|
||||
#define INTARRLEN(x) sizeof(x)/(sizeof(int)*2)
|
||||
static const int pts1[] = { // up left lines
|
||||
1,9, 1,8, 0,7, 0,4, 1,3, 1,2, 2,1, 3,1, 4,0, 7,0, 8,1, 9,1 };
|
||||
static const int pts4[] = { // bottom right lines
|
||||
2,10, 3,10, 4,11, 7,11, 8,10, 9,10, 10,9, 10,8, 11,7,
|
||||
11,4, 10,3, 10,2 };
|
||||
static const int pts5[] = { // inner fill
|
||||
4,2, 7,2, 9,4, 9,7, 7,9, 4,9, 2,7, 2,4 };
|
||||
bool down = opt->state & State_Sunken;
|
||||
bool on = opt->state & State_On;
|
||||
QPolygon a(INTARRLEN(pts1), pts1);
|
||||
|
||||
//center when rect is larger than indicator size
|
||||
int xOffset = 0;
|
||||
int yOffset = 0;
|
||||
int indicatorWidth = pixelMetric(PM_ExclusiveIndicatorWidth);
|
||||
int indicatorHeight = pixelMetric(PM_ExclusiveIndicatorWidth);
|
||||
if (r.width() > indicatorWidth)
|
||||
xOffset += (r.width() - indicatorWidth)/2;
|
||||
if (r.height() > indicatorHeight)
|
||||
yOffset += (r.height() - indicatorHeight)/2;
|
||||
p->translate(xOffset, yOffset);
|
||||
|
||||
a.translate(r.x(), r.y());
|
||||
QPen oldPen = p->pen();
|
||||
QBrush oldBrush = p->brush();
|
||||
p->setPen((down || on) ? opt->palette.dark().color() : opt->palette.light().color());
|
||||
p->drawPolyline(a);
|
||||
a.setPoints(INTARRLEN(pts4), pts4);
|
||||
a.translate(r.x(), r.y());
|
||||
p->setPen((down || on) ? opt->palette.light().color() : opt->palette.dark().color());
|
||||
p->drawPolyline(a);
|
||||
a.setPoints(INTARRLEN(pts5), pts5);
|
||||
a.translate(r.x(), r.y());
|
||||
QColor fillColor = on ? opt->palette.dark().color() : opt->palette.background().color();
|
||||
p->setPen(fillColor);
|
||||
p->setBrush(on ? opt->palette.brush(QPalette::Dark) :
|
||||
opt->palette.brush(QPalette::Window));
|
||||
p->drawPolygon(a);
|
||||
if (!(opt->state & State_Enabled) && styleHint(SH_DitherDisabledText))
|
||||
p->fillRect(opt->rect, QBrush(p->background().color(), Qt::Dense5Pattern));
|
||||
p->setPen(oldPen);
|
||||
p->setBrush(oldBrush);
|
||||
|
||||
p->translate(-xOffset, -yOffset);
|
||||
|
||||
} break;
|
||||
default:
|
||||
QMotifStyle::drawPrimitive(pe, opt, p, widget);
|
||||
}
|
||||
}
|
||||
|
||||
/*!\reimp*/
|
||||
QPalette QCDEStyle::standardPalette() const
|
||||
{
|
||||
QColor background(0xb6, 0xb6, 0xcf);
|
||||
QColor light = background.lighter();
|
||||
QColor mid = background.darker(150);
|
||||
QColor dark = background.darker();
|
||||
QPalette palette(Qt::black, background, light, dark, mid, Qt::black, Qt::white);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::WindowText, dark);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::Text, dark);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::ButtonText, dark);
|
||||
palette.setBrush(QPalette::Disabled, QPalette::Base, background);
|
||||
return palette;
|
||||
}
|
||||
|
||||
/*!
|
||||
\reimp
|
||||
*/
|
||||
QIcon QCDEStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption *opt,
|
||||
const QWidget *widget) const
|
||||
{
|
||||
return QMotifStyle::standardIcon(standardIcon, opt, widget);
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif
|
@ -1,79 +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 QCDESTYLE_H
|
||||
#define QCDESTYLE_H
|
||||
|
||||
#include <QtWidgets/qmotifstyle.h>
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
|
||||
#if !defined(QT_NO_STYLE_CDE)
|
||||
|
||||
class Q_WIDGETS_EXPORT QCDEStyle : public QMotifStyle
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit QCDEStyle(bool useHighlightCols = false);
|
||||
virtual ~QCDEStyle();
|
||||
|
||||
int pixelMetric(PixelMetric metric, const QStyleOption *option = 0,
|
||||
const QWidget *widget = 0) const;
|
||||
void drawControl(ControlElement element, const QStyleOption *opt, QPainter *p,
|
||||
const QWidget *w = 0) const;
|
||||
void drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPainter *p,
|
||||
const QWidget *w = 0) const;
|
||||
QPalette standardPalette() const;
|
||||
QIcon standardIcon(StandardPixmap standardIcon, const QStyleOption *opt = 0,
|
||||
const QWidget *widget = 0) const;
|
||||
};
|
||||
|
||||
#endif // QT_NO_STYLE_CDE
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
QT_END_HEADER
|
||||
|
||||
#endif // QCDESTYLE_H
|
@ -600,7 +600,7 @@ static void qt_cleanlooks_draw_mdibutton(QPainter *painter, const QStyleOptionTi
|
||||
Stellingwerff and Daniel Borgmann.
|
||||
|
||||
\sa {Cleanlooks Style Widget Gallery}, QWindowsXPStyle, QMacStyle, QWindowsStyle,
|
||||
QCDEStyle, QMotifStyle, QPlastiqueStyle
|
||||
QPlastiqueStyle
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
@ -107,7 +107,7 @@ QT_BEGIN_NAMESPACE
|
||||
subElementRect() are documented here.
|
||||
\endomit
|
||||
|
||||
\sa QStyle, QMotifStyle, QWindowsStyle
|
||||
\sa QStyle, QWindowsStyle
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
@ -182,7 +182,7 @@ static GdkColor fromQColor(const QColor &color)
|
||||
The Qt3-based "Qt" GTK+ theme engine will not work with QGtkStyle.
|
||||
|
||||
\sa {Cleanlooks Style Widget Gallery}, QWindowsXPStyle, QMacStyle, QWindowsStyle,
|
||||
QCDEStyle, QMotifStyle, QPlastiqueStyle, QCleanlooksStyle
|
||||
QPlastiqueStyle, QCleanlooksStyle
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
@ -81,7 +81,7 @@
|
||||
documentation.
|
||||
|
||||
\image qmacstyle.png
|
||||
\sa QWindowsXPStyle, QWindowsStyle, QPlastiqueStyle, QCDEStyle, QMotifStyle
|
||||
\sa QWindowsXPStyle, QWindowsStyle, QPlastiqueStyle
|
||||
*/
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,125 +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 QMOTIFSTYLE_H
|
||||
#define QMOTIFSTYLE_H
|
||||
|
||||
#include <QtWidgets/qcommonstyle.h>
|
||||
#include <QtCore/qpointer.h>
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
|
||||
#if !defined(QT_NO_STYLE_MOTIF)
|
||||
|
||||
class QPalette;
|
||||
class QFocusFrame;
|
||||
|
||||
class QMotifStylePrivate;
|
||||
class Q_WIDGETS_EXPORT QMotifStyle : public QCommonStyle
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit QMotifStyle(bool useHighlightCols=false);
|
||||
virtual ~QMotifStyle();
|
||||
|
||||
void setUseHighlightColors(bool);
|
||||
bool useHighlightColors() const;
|
||||
|
||||
void polish(QPalette&);
|
||||
void polish(QWidget*);
|
||||
void unpolish(QWidget*);
|
||||
void polish(QApplication*);
|
||||
void unpolish(QApplication*);
|
||||
|
||||
void drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPainter *p,
|
||||
const QWidget *w = 0) const;
|
||||
|
||||
void drawControl(ControlElement element, const QStyleOption *opt, QPainter *p,
|
||||
const QWidget *w = 0) const;
|
||||
|
||||
void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, QPainter *p,
|
||||
const QWidget *w = 0) const;
|
||||
|
||||
QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt,
|
||||
SubControl sc, const QWidget *widget = 0) const;
|
||||
|
||||
int pixelMetric(PixelMetric metric, const QStyleOption *option = 0,
|
||||
const QWidget *widget = 0) const;
|
||||
|
||||
QSize sizeFromContents(ContentsType ct, const QStyleOption *opt,
|
||||
const QSize &contentsSize, const QWidget *widget = 0) const;
|
||||
|
||||
QRect subElementRect(SubElement r, const QStyleOption *opt, const QWidget *widget = 0) const;
|
||||
|
||||
QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt,
|
||||
const QWidget *widget = 0) const;
|
||||
|
||||
int styleHint(StyleHint hint, const QStyleOption *opt = 0, const QWidget *widget = 0,
|
||||
QStyleHintReturn *returnData = 0) const;
|
||||
|
||||
bool event(QEvent *);
|
||||
QPalette standardPalette() const;
|
||||
QIcon standardIcon(StandardPixmap standardIcon, const QStyleOption *opt = 0,
|
||||
const QWidget *widget = 0) const;
|
||||
|
||||
protected:
|
||||
QPointer<QFocusFrame> focus;
|
||||
QMotifStyle(QMotifStylePrivate &dd, bool useHighlightCols = false);
|
||||
void timerEvent(QTimerEvent *event);
|
||||
bool eventFilter(QObject *o, QEvent *e);
|
||||
|
||||
private:
|
||||
Q_DECLARE_PRIVATE(QMotifStyle)
|
||||
Q_DISABLE_COPY(QMotifStyle)
|
||||
|
||||
bool highlightCols;
|
||||
};
|
||||
|
||||
#endif // QT_NO_STYLE_MOTIF
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
QT_END_HEADER
|
||||
|
||||
#endif // QMOTIFSTYLE_H
|
@ -1025,7 +1025,7 @@ QPlastiqueStylePrivate::~QPlastiqueStylePrivate()
|
||||
KDE 3.2.
|
||||
|
||||
\image qplastiquestyle.png
|
||||
\sa QWindowsXPStyle, QMacStyle, QWindowsStyle, QCDEStyle, QMotifStyle
|
||||
\sa QWindowsXPStyle, QMacStyle, QWindowsStyle
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
@ -89,7 +89,7 @@ static int unpackControlTypes(QSizePolicy::ControlTypes controls, QSizePolicy::C
|
||||
|
||||
Qt provides a set of QStyle subclasses that emulate the native
|
||||
look of the different platforms supported by Qt (QWindowsStyle,
|
||||
QMacStyle, QMotifStyle, etc.). These styles are built into the
|
||||
QMacStyle, etc.). These styles are built into the
|
||||
QtGui library, other styles can be made available using Qt's
|
||||
plugin mechansim.
|
||||
|
||||
@ -152,7 +152,7 @@ static int unpackControlTypes(QSizePolicy::ControlTypes controls, QSizePolicy::C
|
||||
|
||||
Qt contains a set of QStyle subclasses that emulate the styles of
|
||||
the different platforms supported by Qt (QWindowsStyle,
|
||||
QMacStyle, QMotifStyle, etc.). By default, these styles are built
|
||||
QMacStyle etc.). By default, these styles are built
|
||||
into the QtGui library. Styles can also be made available as
|
||||
plugins.
|
||||
|
||||
@ -1660,7 +1660,7 @@ void QStyle::drawItemPixmap(QPainter *painter, const QRect &rect, int alignment,
|
||||
manner, i.e., left on a vertical slider subtracts a line.
|
||||
|
||||
\value SH_ProgressDialog_CenterCancelButton Center button on
|
||||
progress dialogs, like Motif, otherwise right aligned.
|
||||
progress dialogs, otherwise right aligned.
|
||||
|
||||
\value SH_ProgressDialog_TextLabelAlignment The alignment for text
|
||||
labels in progress dialogs; Qt::AlignCenter on Windows,
|
||||
|
@ -46,8 +46,6 @@
|
||||
|
||||
#include "qapplication.h"
|
||||
#include "qwindowsstyle.h"
|
||||
#include "qmotifstyle.h"
|
||||
#include "qcdestyle.h"
|
||||
#ifndef QT_NO_STYLE_PLASTIQUE
|
||||
#include "qplastiquestyle.h"
|
||||
#endif
|
||||
@ -95,7 +93,7 @@ Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
|
||||
plugin (see QStylePlugin).
|
||||
|
||||
The valid keys can be retrieved using the keys()
|
||||
function. Typically they include "windows", "motif", "cde",
|
||||
function. Typically they include "windows",
|
||||
"plastique" and "cleanlooks". Depending on the platform,
|
||||
"windowsxp", "windowsvista" and "macintosh" may be available.
|
||||
Note that keys are case insensitive.
|
||||
@ -143,16 +141,6 @@ QStyle *QStyleFactory::create(const QString& key)
|
||||
ret = new QWindowsVistaStyle;
|
||||
else
|
||||
#endif
|
||||
#ifndef QT_NO_STYLE_MOTIF
|
||||
if (style == QLatin1String("motif"))
|
||||
ret = new QMotifStyle;
|
||||
else
|
||||
#endif
|
||||
#ifndef QT_NO_STYLE_CDE
|
||||
if (style == QLatin1String("cde"))
|
||||
ret = new QCDEStyle;
|
||||
else
|
||||
#endif
|
||||
#ifndef QT_NO_STYLE_PLASTIQUE
|
||||
if (style == QLatin1String("plastique"))
|
||||
ret = new QPlastiqueStyle;
|
||||
@ -226,14 +214,6 @@ QStringList QStyleFactory::keys()
|
||||
(QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)))
|
||||
list << QLatin1String("WindowsVista");
|
||||
#endif
|
||||
#ifndef QT_NO_STYLE_MOTIF
|
||||
if (!list.contains(QLatin1String("Motif")))
|
||||
list << QLatin1String("Motif");
|
||||
#endif
|
||||
#ifndef QT_NO_STYLE_CDE
|
||||
if (!list.contains(QLatin1String("CDE")))
|
||||
list << QLatin1String("CDE");
|
||||
#endif
|
||||
#ifndef QT_NO_STYLE_PLASTIQUE
|
||||
if (!list.contains(QLatin1String("Plastique")))
|
||||
list << QLatin1String("Plastique");
|
||||
|
@ -261,7 +261,7 @@ bool QWindowsStyle::eventFilter(QObject *o, QEvent *e)
|
||||
This style is Qt's default GUI style on Windows.
|
||||
|
||||
\image qwindowsstyle.png
|
||||
\sa QWindowsXPStyle, QMacStyle, QPlastiqueStyle, QCDEStyle, QMotifStyle
|
||||
\sa QWindowsXPStyle, QMacStyle, QPlastiqueStyle
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
@ -153,7 +153,7 @@ bool QWindowsVistaStylePrivate::useVista()
|
||||
\warning This style is only available on the Windows Vista platform
|
||||
because it makes use of Windows Vista's style engine.
|
||||
|
||||
\sa QMacStyle, QWindowsXPStyle, QPlastiqueStyle, QCleanlooksStyle, QMotifStyle
|
||||
\sa QMacStyle, QWindowsXPStyle, QPlastiqueStyle, QCleanlooksStyle
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
@ -1170,7 +1170,7 @@ void QWindowsXPStylePrivate::drawBackgroundThruNativeBuffer(XPThemeData &themeDa
|
||||
sizeFromContents(), are documented here.
|
||||
|
||||
\image qwindowsxpstyle.png
|
||||
\sa QMacStyle, QWindowsStyle, QPlastiqueStyle, QCDEStyle, QMotifStyle
|
||||
\sa QMacStyle, QWindowsStyle, QPlastiqueStyle
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
@ -62,19 +62,6 @@ contains( styles, mac ) {
|
||||
DEFINES += QT_NO_STYLE_MAC
|
||||
}
|
||||
|
||||
contains( styles, cde ) {
|
||||
HEADERS += styles/qcdestyle.h
|
||||
SOURCES += styles/qcdestyle.cpp
|
||||
|
||||
!contains( styles, motif ) {
|
||||
message( cde requires motif )
|
||||
styles += motif
|
||||
DEFINES+= QT_STYLE_MOTIF
|
||||
}
|
||||
} else {
|
||||
DEFINES += QT_NO_STYLE_CDE
|
||||
}
|
||||
|
||||
contains( styles, windowsvista ) {
|
||||
HEADERS += styles/qwindowsvistastyle.h
|
||||
HEADERS += styles/qwindowsvistastyle_p.h
|
||||
@ -146,13 +133,6 @@ contains( styles, windows ) {
|
||||
DEFINES += QT_NO_STYLE_WINDOWS
|
||||
}
|
||||
|
||||
contains( styles, motif ) {
|
||||
HEADERS += styles/qmotifstyle.h
|
||||
SOURCES += styles/qmotifstyle.cpp
|
||||
} else {
|
||||
DEFINES += QT_NO_STYLE_MOTIF
|
||||
}
|
||||
|
||||
contains( styles, windowsce ) {
|
||||
HEADERS += styles/qwindowscestyle.h
|
||||
SOURCES += styles/qwindowscestyle.cpp
|
||||
|
@ -106,14 +106,12 @@ public:
|
||||
its roots back to a BASIC program on the \l{Sinclair Spectrum}{Sinclair Spectrum}.
|
||||
|
||||
\table
|
||||
\row \li \inlineimage motif-lcdnumber.png Screenshot of a Motif style LCD number widget
|
||||
\inlineimage cde-lcdnumber.png Screenshot of a CDE style LCD number widget
|
||||
\row \li
|
||||
\inlineimage windows-lcdnumber.png Screenshot of a Windows style LCD number widget
|
||||
\inlineimage windowsxp-lcdnumber.png Screenshot of a Windows XP style LCD number widget
|
||||
\inlineimage macintosh-lcdnumber.png Screenshot of a Macintosh style LCD number widget
|
||||
\inlineimage plastique-lcdnumber.png Screenshot of a Plastique style LCD number widget
|
||||
\row \li LCD number widgets shown in various widget styles (from left to right):
|
||||
\l{Motif Style Widget Gallery}{Motif}, \l{CDE Style Widget Gallery}{CDE},
|
||||
\l{Windows Style Widget Gallery}{Windows}, \l{Windows XP Style Widget Gallery}{Windows XP},
|
||||
\l{Macintosh Style Widget Gallery}{Macintosh}, \l{Plastique Style Widget Gallery}{Plastique}.
|
||||
\endtable
|
||||
|
@ -169,8 +169,8 @@ void QLineEdit::initStyleOption(QStyleOptionFrame *option) const
|
||||
returnPressed()/editingFinished() signals will only be emitted if
|
||||
the validator returns QValidator::Acceptable.
|
||||
|
||||
By default, QLineEdits have a frame as specified by the Windows
|
||||
and Motif style guides; you can turn it off by calling
|
||||
By default, QLineEdits have a frame as specified by platform
|
||||
style guides; you can turn it off by calling
|
||||
setFrame(false).
|
||||
|
||||
The default key bindings are described below. The line edit also
|
||||
|
@ -632,12 +632,6 @@ void QMenuBar::initStyleOption(QStyleOptionMenuItem *option, const QAction *acti
|
||||
other styles, handles the \uicontrol{Help} menu in the same way as it
|
||||
handles any other menu.
|
||||
|
||||
\row \li \inlineimage motif-menubar.png A menu bar shown in the
|
||||
Motif widget style.
|
||||
|
||||
\li The \l{QMotifStyle}{Motif widget style} treats \uicontrol{Help} menus
|
||||
in a special way, placing them at right-hand end of the menu bar.
|
||||
|
||||
\endtable
|
||||
|
||||
\section1 QMenuBar on Mac OS X
|
||||
|
@ -216,7 +216,7 @@ bool QProgressBarPrivate::repaintRequired() const
|
||||
\value BottomToTop The text is rotated 90 degrees counter-clockwise.
|
||||
|
||||
Note that whether or not the text is drawn is dependent on the style.
|
||||
Currently CDE, CleanLooks, Motif, and Plastique draw the text. Mac, Windows
|
||||
Currently CleanLooks and Plastique draw the text. Mac, Windows
|
||||
and WindowsXP style do not.
|
||||
|
||||
\sa textDirection
|
||||
|
@ -52,9 +52,6 @@
|
||||
#include <math.h>
|
||||
|
||||
#include <QtWidgets/QLabel>
|
||||
#if !defined(QT_NO_STYLE_MOTIF)
|
||||
#include <QtWidgets/QMotifStyle>
|
||||
#endif
|
||||
#if !defined(QT_NO_STYLE_WINDOWS)
|
||||
#include <QtWidgets/QWindowsStyle>
|
||||
#endif
|
||||
@ -2736,6 +2733,23 @@ void tst_QGraphicsView::scrollBarRanges_data()
|
||||
_scrollBarRanges_data();
|
||||
}
|
||||
|
||||
// Simulates motif scrollbar for range tests
|
||||
class FauxMotifStyle : public QCommonStyle {
|
||||
public:
|
||||
int styleHint(StyleHint hint, const QStyleOption *option,
|
||||
const QWidget *widget, QStyleHintReturn *returnData) const {
|
||||
if (hint == QStyle::SH_ScrollView_FrameOnlyAroundContents)
|
||||
return true;
|
||||
return QCommonStyle::styleHint(hint, option, widget, returnData);
|
||||
}
|
||||
|
||||
int pixelMetric(PixelMetric m, const QStyleOption *opt, const QWidget *widget) const {
|
||||
if (m == QStyle::PM_ScrollView_ScrollBarSpacing)
|
||||
return 4;
|
||||
return QCommonStyle::pixelMetric(m, opt, widget);
|
||||
}
|
||||
};
|
||||
|
||||
void tst_QGraphicsView::scrollBarRanges()
|
||||
{
|
||||
QFETCH(QSize, viewportSize);
|
||||
@ -2758,10 +2772,10 @@ void tst_QGraphicsView::scrollBarRanges()
|
||||
view.setFrameStyle(useStyledPanel ? QFrame::StyledPanel : QFrame::NoFrame);
|
||||
|
||||
if (useMotif) {
|
||||
#if !defined(QT_NO_STYLE_MOTIF)
|
||||
view.setStyle(new QMotifStyle);
|
||||
#if !defined(QT_NO_STYLE_WINDOWS)
|
||||
view.setStyle(new FauxMotifStyle);
|
||||
#else
|
||||
QSKIP("No Motif style compiled.");
|
||||
QSKIP("No Windows style compiled.");
|
||||
#endif
|
||||
} else {
|
||||
#if defined(Q_OS_WINCE)
|
||||
|
@ -447,8 +447,8 @@ void tst_QApplication::args_data()
|
||||
|
||||
QTest::newRow( "App name" ) << 1 << "/usr/bin/appname" << 1 << "/usr/bin/appname";
|
||||
QTest::newRow( "No arguments" ) << 0 << QString() << 0 << QString();
|
||||
QTest::newRow( "App name, style" ) << 3 << "/usr/bin/appname -style motif" << 1 << "/usr/bin/appname";
|
||||
QTest::newRow( "App name, style, arbitrary, reverse" ) << 5 << "/usr/bin/appname -style motif -arbitrary -reverse"
|
||||
QTest::newRow( "App name, style" ) << 3 << "/usr/bin/appname -style windows" << 1 << "/usr/bin/appname";
|
||||
QTest::newRow( "App name, style, arbitrary, reverse" ) << 5 << "/usr/bin/appname -style windows -arbitrary -reverse"
|
||||
<< 2 << "/usr/bin/appname -arbitrary";
|
||||
}
|
||||
|
||||
|
@ -793,11 +793,6 @@ void tst_QGridLayout::minMaxSize_data()
|
||||
<< SizeInfo(QPoint(10, 10), QSize( 90, 90), QSize(100,100))
|
||||
<< SizeInfo(QPoint(10 + 100 + 1, 10), QSize( 90, 90))
|
||||
);
|
||||
QTest::newRow("2x1 grid, extend to minimumSize, motif") << QString::fromLatin1("motif") << 2 << 1
|
||||
<< int(QSizePolicy::Preferred) << QSize() << (SizeInfoList()
|
||||
<< SizeInfo(QPoint(11, 11), QSize( 90, 90), QSize(100,100))
|
||||
<< SizeInfo(QPoint(11 + 100 + 6, 11), QSize( 90, 90))
|
||||
);
|
||||
QTest::newRow("2x1 grid, extend to minimumSize, windows") << QString::fromLatin1("windows") << 2 << 1
|
||||
<< int(QSizePolicy::Preferred) << QSize() << (SizeInfoList()
|
||||
<< SizeInfo(QPoint(11, 11), QSize( 90, 90), QSize(100,100))
|
||||
|
@ -57,8 +57,6 @@
|
||||
|
||||
#include <qplastiquestyle.h>
|
||||
#include <qwindowsstyle.h>
|
||||
#include <qcdestyle.h>
|
||||
#include <qmotifstyle.h>
|
||||
#include <qcommonstyle.h>
|
||||
#include <qproxystyle.h>
|
||||
#include <qstylefactory.h>
|
||||
@ -121,16 +119,10 @@ private slots:
|
||||
void cleanupTestCase();
|
||||
void init();
|
||||
void cleanup();
|
||||
#ifndef QT_NO_STYLE_MOTIF
|
||||
void testMotifStyle();
|
||||
#endif
|
||||
#ifndef QT_NO_STYLE_PLASTIQUE
|
||||
void testPlastiqueStyle();
|
||||
#endif
|
||||
void testWindowsStyle();
|
||||
#ifndef QT_NO_STYLE_CDE
|
||||
void testCDEStyle();
|
||||
#endif
|
||||
#ifndef QT_NO_STYLE_WINDOWSXP
|
||||
void testWindowsXPStyle();
|
||||
#endif
|
||||
@ -195,24 +187,15 @@ void tst_QStyle::cleanupTestCase()
|
||||
void tst_QStyle::testStyleFactory()
|
||||
{
|
||||
QStringList keys = QStyleFactory::keys();
|
||||
#ifndef QT_NO_STYLE_MOTIF
|
||||
QVERIFY(keys.contains("Motif"));
|
||||
#endif
|
||||
#ifndef QT_NO_STYLE_CLEANLOOKS
|
||||
QVERIFY(keys.contains("Cleanlooks"));
|
||||
#endif
|
||||
#ifndef QT_NO_STYLE_PLASTIQUE
|
||||
QVERIFY(keys.contains("Plastique"));
|
||||
#endif
|
||||
#ifndef QT_NO_STYLE_CDE
|
||||
QVERIFY(keys.contains("CDE"));
|
||||
#endif
|
||||
#ifndef QT_NO_STYLE_WINDOWS
|
||||
QVERIFY(keys.contains("Windows"));
|
||||
#endif
|
||||
#ifndef QT_NO_STYLE_MOTIF
|
||||
QVERIFY(keys.contains("Motif"));
|
||||
#endif
|
||||
#ifdef Q_OS_WIN
|
||||
if (QSysInfo::WindowsVersion >= QSysInfo::WV_XP &&
|
||||
(QSysInfo::WindowsVersion & QSysInfo::WV_NT_based))
|
||||
@ -569,22 +552,6 @@ void tst_QStyle::testMacStyle()
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef QT_NO_STYLE_MOTIF
|
||||
void tst_QStyle::testMotifStyle()
|
||||
{
|
||||
QMotifStyle mstyle;
|
||||
QVERIFY(testAllFunctions(&mstyle));
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef QT_NO_STYLE_CDE
|
||||
void tst_QStyle::testCDEStyle()
|
||||
{
|
||||
QCDEStyle cstyle;
|
||||
QVERIFY(testAllFunctions(&cstyle));
|
||||
}
|
||||
#endif
|
||||
|
||||
void tst_QStyle::testWindowsCEStyle()
|
||||
{
|
||||
#if defined(Q_OS_WINCE)
|
||||
|
@ -44,6 +44,7 @@
|
||||
#include <QtTest/QtTest>
|
||||
#include <QtDebug>
|
||||
#include <QMetaObject>
|
||||
#include <QPlastiqueStyle>
|
||||
|
||||
#include <private/qstylesheetstyle_p.h>
|
||||
#include "../../../platformquirks.h"
|
||||
@ -1590,7 +1591,7 @@ class ChangeEventWidget : public QWidget
|
||||
static bool recurse = false;
|
||||
if (!recurse) {
|
||||
recurse = true;
|
||||
QStyle *style = new QMotifStyle;
|
||||
QStyle *style = new QPlastiqueStyle;
|
||||
style->setParent(this);
|
||||
setStyle(style);
|
||||
recurse = false;
|
||||
|
@ -561,12 +561,6 @@ void tst_QPushButton::defaultAndAutoDefault()
|
||||
void tst_QPushButton::sizeHint_data()
|
||||
{
|
||||
QTest::addColumn<QString>("stylename");
|
||||
#if !defined(QT_NO_STYLE_MOTIF)
|
||||
QTest::newRow("motif") << QString::fromLatin1("motif");
|
||||
#endif
|
||||
#if !defined(QT_NO_STYLE_CDE)
|
||||
QTest::newRow("cde") << QString::fromLatin1("cde");
|
||||
#endif
|
||||
#if !defined(QT_NO_STYLE_WINDOWS)
|
||||
QTest::newRow("windows") << QString::fromLatin1("windows");
|
||||
#endif
|
||||
|
@ -303,8 +303,6 @@ Configure::Configure(int& argc, char** argv)
|
||||
dictionary[ "STYLE_CLEANLOOKS" ]= "yes";
|
||||
dictionary[ "STYLE_WINDOWSCE" ] = "no";
|
||||
dictionary[ "STYLE_WINDOWSMOBILE" ] = "no";
|
||||
dictionary[ "STYLE_MOTIF" ] = "yes";
|
||||
dictionary[ "STYLE_CDE" ] = "yes";
|
||||
dictionary[ "STYLE_GTK" ] = "no";
|
||||
|
||||
dictionary[ "SQL_MYSQL" ] = "no";
|
||||
@ -642,16 +640,6 @@ void Configure::parseCmdLine()
|
||||
else if (configCmdLine.at(i) == "-no-style-cleanlooks")
|
||||
dictionary[ "STYLE_CLEANLOOKS" ] = "no";
|
||||
|
||||
else if (configCmdLine.at(i) == "-qt-style-motif")
|
||||
dictionary[ "STYLE_MOTIF" ] = "yes";
|
||||
else if (configCmdLine.at(i) == "-no-style-motif")
|
||||
dictionary[ "STYLE_MOTIF" ] = "no";
|
||||
|
||||
else if (configCmdLine.at(i) == "-qt-style-cde")
|
||||
dictionary[ "STYLE_CDE" ] = "yes";
|
||||
else if (configCmdLine.at(i) == "-no-style-cde")
|
||||
dictionary[ "STYLE_CDE" ] = "no";
|
||||
|
||||
// Work around compiler nesting limitation
|
||||
else
|
||||
continueElse[1] = true;
|
||||
@ -1483,8 +1471,6 @@ void Configure::applySpecSpecifics()
|
||||
dictionary[ "STYLE_CLEANLOOKS" ] = "no";
|
||||
dictionary[ "STYLE_WINDOWSCE" ] = "yes";
|
||||
dictionary[ "STYLE_WINDOWSMOBILE" ] = "yes";
|
||||
dictionary[ "STYLE_MOTIF" ] = "no";
|
||||
dictionary[ "STYLE_CDE" ] = "no";
|
||||
dictionary[ "OPENGL" ] = "no";
|
||||
dictionary[ "OPENSSL" ] = "no";
|
||||
dictionary[ "RTTI" ] = "no";
|
||||
@ -1786,8 +1772,6 @@ bool Configure::displayHelp()
|
||||
desc("STYLE_WINDOWSVISTA", "auto", "", " windowsvista", ' ');
|
||||
desc("STYLE_PLASTIQUE", "yes", "", " plastique", ' ');
|
||||
desc("STYLE_CLEANLOOKS", "yes", "", " cleanlooks", ' ');
|
||||
desc("STYLE_MOTIF", "yes", "", " motif", ' ');
|
||||
desc("STYLE_CDE", "yes", "", " cde", ' ');
|
||||
desc("STYLE_WINDOWSCE", "yes", "", " windowsce", ' ');
|
||||
desc("STYLE_WINDOWSMOBILE" , "yes", "", " windowsmobile\n", ' ');
|
||||
desc("NATIVE_GESTURES", "no", "-no-native-gestures", "Do not use native gestures on Windows 7.");
|
||||
@ -2363,21 +2347,12 @@ void Configure::generateOutputVars()
|
||||
if (dictionary[ "STYLE_WINDOWSVISTA" ] == "yes")
|
||||
qmakeStyles += "windowsvista";
|
||||
|
||||
if (dictionary[ "STYLE_MOTIF" ] == "yes")
|
||||
qmakeStyles += "motif";
|
||||
|
||||
if (dictionary[ "STYLE_SGI" ] == "yes")
|
||||
qmakeStyles += "sgi";
|
||||
|
||||
if (dictionary[ "STYLE_WINDOWSCE" ] == "yes")
|
||||
qmakeStyles += "windowsce";
|
||||
|
||||
if (dictionary[ "STYLE_WINDOWSMOBILE" ] == "yes")
|
||||
qmakeStyles += "windowsmobile";
|
||||
|
||||
if (dictionary[ "STYLE_CDE" ] == "yes")
|
||||
qmakeStyles += "cde";
|
||||
|
||||
// Databases ----------------------------------------------------
|
||||
if (dictionary[ "SQL_MYSQL" ] == "yes")
|
||||
qmakeSql += "mysql";
|
||||
@ -3124,8 +3099,6 @@ void Configure::generateConfigfiles()
|
||||
if (dictionary["STYLE_WINDOWSXP"] != "yes" && dictionary["STYLE_WINDOWSVISTA"] != "yes")
|
||||
qconfigList += "QT_NO_STYLE_WINDOWSXP";
|
||||
if (dictionary["STYLE_WINDOWSVISTA"] != "yes") qconfigList += "QT_NO_STYLE_WINDOWSVISTA";
|
||||
if (dictionary["STYLE_MOTIF"] != "yes") qconfigList += "QT_NO_STYLE_MOTIF";
|
||||
if (dictionary["STYLE_CDE"] != "yes") qconfigList += "QT_NO_STYLE_CDE";
|
||||
|
||||
// ### We still need the QT_NO_STYLE_S60 define for compiling Qt. Remove later!
|
||||
qconfigList += "QT_NO_STYLE_S60";
|
||||
@ -3324,8 +3297,6 @@ void Configure::displayConfig()
|
||||
sout << " Windows Vista..........." << dictionary[ "STYLE_WINDOWSVISTA" ] << endl;
|
||||
sout << " Plastique..............." << dictionary[ "STYLE_PLASTIQUE" ] << endl;
|
||||
sout << " Cleanlooks.............." << dictionary[ "STYLE_CLEANLOOKS" ] << endl;
|
||||
sout << " Motif..................." << dictionary[ "STYLE_MOTIF" ] << endl;
|
||||
sout << " CDE....................." << dictionary[ "STYLE_CDE" ] << endl;
|
||||
sout << " Windows CE.............." << dictionary[ "STYLE_WINDOWSCE" ] << endl;
|
||||
sout << " Windows Mobile.........." << dictionary[ "STYLE_WINDOWSMOBILE" ] << endl << endl;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user