summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2010-01-14 08:48:16 (GMT)
committerSimon Hausmann <simon.hausmann@nokia.com>2010-01-14 08:48:16 (GMT)
commitcf74ef2ca9163ac6e15b6a218ef284f6104cdcab (patch)
tree68fc4ba63a8080917550f8c769c8c4e8f64f45a1 /src/gui
parent3531f4c831407016ef0735d9cdff9b193e4b3f92 (diff)
parent862d5433fb694a03715b2327a107b3192b921924 (diff)
downloadQt-cf74ef2ca9163ac6e15b6a218ef284f6104cdcab.zip
Qt-cf74ef2ca9163ac6e15b6a218ef284f6104cdcab.tar.gz
Qt-cf74ef2ca9163ac6e15b6a218ef284f6104cdcab.tar.bz2
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt into 4.6
Conflicts: dist/changes-4.6.1
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/dialogs/qmessagebox.cpp21
-rw-r--r--src/gui/styles/qs60style.cpp9
-rw-r--r--src/gui/styles/qs60style_p.h5
-rw-r--r--src/gui/styles/qs60style_s60.cpp5
-rw-r--r--src/gui/styles/qs60style_simulated.cpp7
-rw-r--r--src/gui/widgets/qstackedwidget.cpp7
6 files changed, 34 insertions, 20 deletions
diff --git a/src/gui/dialogs/qmessagebox.cpp b/src/gui/dialogs/qmessagebox.cpp
index 30892f2..d1b2e3f 100644
--- a/src/gui/dialogs/qmessagebox.cpp
+++ b/src/gui/dialogs/qmessagebox.cpp
@@ -58,6 +58,7 @@
#include <QtGui/qtextdocument.h>
#include <QtGui/qapplication.h>
#include <QtGui/qtextedit.h>
+#include <QtGui/qtextbrowser.h>
#include <QtGui/qmenu.h>
#include "qdialog_p.h"
#include <QtGui/qfont.h>
@@ -188,8 +189,8 @@ public:
bool autoAddOkButton;
QAbstractButton *detectedEscapeButton;
QLabel *informativeLabel;
-#ifdef Q_OS_SYMBIAN
- QTextEdit *textEdit;
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5)
+ QTextBrowser *textBrowser;
#endif
QPointer<QObject> receiverToDisconnectOnClose;
QByteArray memberToDisconnectOnClose;
@@ -2462,12 +2463,12 @@ void QMessageBox::setInformativeText(const QString &text)
#endif
label->setWordWrap(true);
QGridLayout *grid = static_cast<QGridLayout *>(layout());
-#ifdef Q_OS_SYMBIAN
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5)
label->hide();
- QTextEdit *textEdit = new QTextEdit(this);
- textEdit->setReadOnly(true);
- grid->addWidget(textEdit, 1, 1, 1, 1);
- d->textEdit = textEdit;
+ QTextBrowser *textBrowser = new QTextBrowser(this);
+ textBrowser->setOpenExternalLinks(true);
+ grid->addWidget(textBrowser, 1, 1, 1, 1);
+ d->textBrowser = textBrowser;
#else
grid->addWidget(label, 1, 1, 1, 1);
#endif
@@ -2475,9 +2476,9 @@ void QMessageBox::setInformativeText(const QString &text)
}
d->informativeLabel->setText(text);
-#ifdef Q_OS_SYMBIAN
- //We need to put the informative label inside textEdit to enable scrolling of long texts.
- d->textEdit->setText(d->informativeLabel->text());
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5)
+ //We need to put the informative label inside textBrowser to enable scrolling of long texts.
+ d->textBrowser->setText(d->informativeLabel->text());
#endif
d->updateSize();
diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp
index 23818b2..ca0b8c7 100644
--- a/src/gui/styles/qs60style.cpp
+++ b/src/gui/styles/qs60style.cpp
@@ -343,7 +343,8 @@ bool QS60StylePrivate::drawsOwnThemeBackground(const QWidget *widget)
}
QFont QS60StylePrivate::s60Font(
- QS60StyleEnums::FontCategories fontCategory, int pointSize) const
+ QS60StyleEnums::FontCategories fontCategory,
+ int pointSize, bool resolveFontSize) const
{
QFont result;
int actualPointSize = pointSize;
@@ -356,7 +357,7 @@ QFont QS60StylePrivate::s60Font(
Q_ASSERT(actualPointSize > 0);
const QPair<QS60StyleEnums::FontCategories, int> key(fontCategory, actualPointSize);
if (!m_mappedFontsCache.contains(key)) {
- result = s60Font_specific(fontCategory, actualPointSize);
+ result = s60Font_specific(fontCategory, actualPointSize, resolveFontSize);
m_mappedFontsCache.insert(key, result);
} else {
result = m_mappedFontsCache.value(key);
@@ -620,8 +621,10 @@ void QS60StylePrivate::setFont(QWidget *widget) const
fontCategory = QS60StyleEnums::FC_Title;
}
if (fontCategory != QS60StyleEnums::FC_Undefined) {
+ const bool resolveFontSize = widget->testAttribute(Qt::WA_SetFont)
+ && (widget->font().resolve() & QFont::SizeResolved);
const QFont suggestedFont =
- s60Font(fontCategory, widget->font().pointSizeF());
+ s60Font(fontCategory, widget->font().pointSizeF(), resolveFontSize);
widget->setFont(suggestedFont);
}
}
diff --git a/src/gui/styles/qs60style_p.h b/src/gui/styles/qs60style_p.h
index 11137a4..1417552 100644
--- a/src/gui/styles/qs60style_p.h
+++ b/src/gui/styles/qs60style_p.h
@@ -401,7 +401,7 @@ public:
static bool drawsOwnThemeBackground(const QWidget *widget);
QFont s60Font(QS60StyleEnums::FontCategories fontCategory,
- int pointSize = -1) const;
+ int pointSize = -1, bool resolveFontSize = true) const;
// clears all style caches (fonts, colors, pixmaps)
void clearCaches(CacheClearReason reason = CC_UndefinedChange);
@@ -484,7 +484,8 @@ private:
static QPixmap part(QS60StyleEnums::SkinParts part, const QSize &size,
QPainter *painter, SkinElementFlags flags = KDefaultSkinElementFlags);
- static QFont s60Font_specific(QS60StyleEnums::FontCategories fontCategory, int pointSize);
+ static QFont s60Font_specific(QS60StyleEnums::FontCategories fontCategory,
+ int pointSize, bool resolveFontSize);
static QSize screenSize();
diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp
index 4767264..be61073 100644
--- a/src/gui/styles/qs60style_s60.cpp
+++ b/src/gui/styles/qs60style_s60.cpp
@@ -909,8 +909,11 @@ TAknsItemID QS60StyleModeSpecifics::partSpecificThemeId(int part)
}
QFont QS60StylePrivate::s60Font_specific(
- QS60StyleEnums::FontCategories fontCategory, int pointSize)
+ QS60StyleEnums::FontCategories fontCategory,
+ int pointSize, bool resolveFontSize)
{
+ Q_UNUSED(resolveFontSize);
+
TAknFontCategory aknFontCategory = EAknFontCategoryUndefined;
switch (fontCategory) {
case QS60StyleEnums::FC_Primary:
diff --git a/src/gui/styles/qs60style_simulated.cpp b/src/gui/styles/qs60style_simulated.cpp
index 4499f06..bd43eb7 100644
--- a/src/gui/styles/qs60style_simulated.cpp
+++ b/src/gui/styles/qs60style_simulated.cpp
@@ -342,10 +342,13 @@ bool QS60StylePrivate::hasSliderGrooveGraphic()
return false;
}
-QFont QS60StylePrivate::s60Font_specific(QS60StyleEnums::FontCategories fontCategory, int pointSize)
+QFont QS60StylePrivate::s60Font_specific(
+ QS60StyleEnums::FontCategories fontCategory,
+ int pointSize, bool resolveFontSize)
{
QFont result;
- result.setPointSize(pointSize);
+ if (resolveFontSize)
+ result.setPointSize(pointSize);
switch (fontCategory) {
case QS60StyleEnums::FC_Primary:
result.setBold(true);
diff --git a/src/gui/widgets/qstackedwidget.cpp b/src/gui/widgets/qstackedwidget.cpp
index 396e233..2509a21 100644
--- a/src/gui/widgets/qstackedwidget.cpp
+++ b/src/gui/widgets/qstackedwidget.cpp
@@ -186,8 +186,11 @@ int QStackedWidget::insertWidget(int index, QWidget *widget)
}
/*!
- Removes the given \a widget from the QStackedWidget. The widget
- is \e not deleted.
+ Removes the given \a widget from the QStackedWidget.
+
+ \bold{Note:} The ownership of \a widget remains the same.
+ The widget is \e not deleted, but simply removed from the widget's
+ stacked layout, causing it to be hidden.
\sa addWidget(), insertWidget(), currentWidget()
*/