summaryrefslogtreecommitdiffstats
path: root/tests/auto/qstyle
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@nokia.com>2010-10-22 09:05:17 (GMT)
committerPaul Olav Tvete <paul.tvete@nokia.com>2010-10-22 09:05:17 (GMT)
commit26139fcacc05b4a74fce1ef4e0db819118765310 (patch)
tree75ce453868e95faa72b8f3b871c58969bbeb2a7e /tests/auto/qstyle
parent9a216c3f7abeacae8b9e9f78e50ddfcfbb5e2fa3 (diff)
parentb8238ec7e41d483a9166eb7aebbf911f36976cdc (diff)
downloadQt-26139fcacc05b4a74fce1ef4e0db819118765310.zip
Qt-26139fcacc05b4a74fce1ef4e0db819118765310.tar.gz
Qt-26139fcacc05b4a74fce1ef4e0db819118765310.tar.bz2
Merge remote branch 'qt/master' into lighthouse-master
Conflicts: src/gui/kernel/qapplication_win.cpp src/gui/kernel/qwidget.cpp src/gui/text/qfontengine_ft.cpp
Diffstat (limited to 'tests/auto/qstyle')
-rw-r--r--tests/auto/qstyle/qstyle.pro2
-rw-r--r--tests/auto/qstyle/tst_qstyle.cpp51
2 files changed, 52 insertions, 1 deletions
diff --git a/tests/auto/qstyle/qstyle.pro b/tests/auto/qstyle/qstyle.pro
index 11f5943..eb198e2 100644
--- a/tests/auto/qstyle/qstyle.pro
+++ b/tests/auto/qstyle/qstyle.pro
@@ -4,7 +4,7 @@ SOURCES += tst_qstyle.cpp
wince*|symbian: {
!symbian:DEFINES += SRCDIR=\\\".\\\"
- addPixmap.sources = task_25863.png
+ addPixmap.files = task_25863.png
addPixmap.path = .
DEPLOYMENT += addPixmap
} else {
diff --git a/tests/auto/qstyle/tst_qstyle.cpp b/tests/auto/qstyle/tst_qstyle.cpp
index a76c82d..ba24225 100644
--- a/tests/auto/qstyle/tst_qstyle.cpp
+++ b/tests/auto/qstyle/tst_qstyle.cpp
@@ -53,6 +53,7 @@
#include <qscrollbar.h>
#include <qprogressbar.h>
#include <qtoolbutton.h>
+#include <qtoolbar.h>
#include <qplastiquestyle.h>
#include <qwindowsstyle.h>
@@ -146,6 +147,7 @@ private slots:
void pixelMetric();
void progressBarChangeStyle();
void defaultFont();
+ void testDrawingShortcuts();
private:
void lineUpLayoutTest(QStyle *);
QWidget *testWidget;
@@ -781,5 +783,54 @@ void tst_QStyle::defaultFont()
qApp->setFont(defaultFont);
}
+class DrawTextStyle : public QProxyStyle
+{
+ Q_OBJECT
+public:
+ DrawTextStyle(QStyle *base = 0) : QProxyStyle(), alignment(0) { setBaseStyle(base); }
+ void drawItemText(QPainter *painter, const QRect &rect,
+ int flags, const QPalette &pal, bool enabled,
+ const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const
+ {
+ DrawTextStyle *that = (DrawTextStyle *)this;
+ that->alignment = flags;
+ QProxyStyle::drawItemText(painter, rect, flags, pal, enabled, text, textRole);
+ }
+ int alignment;
+};
+
+void tst_QStyle::testDrawingShortcuts()
+{
+ {
+ QWidget w;
+ QToolButton *tb = new QToolButton(&w);
+ tb->setText("&abc");
+ DrawTextStyle *dts = new DrawTextStyle;
+ w.show();
+ tb->setStyle(dts);
+ QPixmap::grabWidget(tb);
+ QStyleOptionToolButton sotb;
+ sotb.initFrom(tb);
+ bool showMnemonic = dts->styleHint(QStyle::SH_UnderlineShortcut, &sotb, tb);
+ QVERIFY(dts->alignment & (showMnemonic ? Qt::TextShowMnemonic : Qt::TextHideMnemonic));
+ delete dts;
+ }
+ {
+ QToolBar w;
+ QToolButton *tb = new QToolButton(&w);
+ tb->setText("&abc");
+ DrawTextStyle *dts = new DrawTextStyle;
+ w.addWidget(tb);
+ w.show();
+ tb->setStyle(dts);
+ QPixmap::grabWidget(tb);
+ QStyleOptionToolButton sotb;
+ sotb.initFrom(tb);
+ bool showMnemonic = dts->styleHint(QStyle::SH_UnderlineShortcut, &sotb, tb);
+ QVERIFY(dts->alignment & (showMnemonic ? Qt::TextShowMnemonic : Qt::TextHideMnemonic));
+ delete dts;
+ }
+}
+
QTEST_MAIN(tst_QStyle)
#include "tst_qstyle.moc"