summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraxis <qt-info@nokia.com>2009-11-18 09:28:59 (GMT)
committeraxis <qt-info@nokia.com>2009-11-18 09:28:59 (GMT)
commitdb3efe5bf4d03d6fcdbf435c2445203bb07475f9 (patch)
tree36da498928e2b27f3b17e9613df08aaa93ce0201
parent484a6043ef84df3d0d01a19247ea2c89eb8b309f (diff)
parent31d29b227a7609ab0dadca4244cafec919264ba8 (diff)
downloadQt-db3efe5bf4d03d6fcdbf435c2445203bb07475f9.zip
Qt-db3efe5bf4d03d6fcdbf435c2445203bb07475f9.tar.gz
Qt-db3efe5bf4d03d6fcdbf435c2445203bb07475f9.tar.bz2
Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into 4.6-staging2
-rw-r--r--demos/demos.pro2
-rw-r--r--doc/src/platforms/symbian-support.qdoc57
-rw-r--r--examples/sql/drilldown/informationwindow.cpp26
-rw-r--r--examples/sql/drilldown/view.cpp4
-rw-r--r--src/gui/kernel/qformlayout.cpp9
-rw-r--r--src/gui/styles/qs60style.cpp4
-rw-r--r--tests/manual/keypadnavigation/keypadnavigation.ui157
-rw-r--r--tests/manual/keypadnavigation/main.cpp8
8 files changed, 155 insertions, 112 deletions
diff --git a/demos/demos.pro b/demos/demos.pro
index 5e400ea..a943bfd 100644
--- a/demos/demos.pro
+++ b/demos/demos.pro
@@ -37,7 +37,7 @@ wince*: SUBDIRS += demos_sqlbrowser
}
}
contains(QT_CONFIG, phonon):!static:SUBDIRS += demos_mediaplayer
-contains(QT_CONFIG, webkit):contains(QT_CONFIG, svg):SUBDIRS += demos_browser
+contains(QT_CONFIG, webkit):contains(QT_CONFIG, svg):!symbian:SUBDIRS += demos_browser
# install
sources.files = README *.pro
diff --git a/doc/src/platforms/symbian-support.qdoc b/doc/src/platforms/symbian-support.qdoc
index 9362aea..916eda5 100644
--- a/doc/src/platforms/symbian-support.qdoc
+++ b/doc/src/platforms/symbian-support.qdoc
@@ -52,8 +52,9 @@
\section1 Source Compatibility
Qt for Symbian provides the same level of source compatibility guarantee as
- given for other platforms.  That is, a program which compiles against a
- given version of Qt for Symbian will also compile against all future versions.
+ given for other platforms.  That is, a program which compiles against a given
+ version of Qt for Symbian will also compile against all future versions of the
+ same major release.
\section1 Binary Compatibility
@@ -62,32 +63,37 @@
the Qt 4.x series. However, due to the fact that Symbian support is
newly added in 4.6.0, it is possible that minor corrections to the
behavior and to the ABI in 4.6.1 will be required in order to ensure
- compatibility going forward.
-
+ compatibility going forward. If we break the binary compatiblity promise,
+ we will document such changes in the 4.6.1 release.
\section1 Supported Devices
- Qt should work on all phones which run one of the following versions of S60:
+ Qt should generally work on any device which runs one of the following
+ versions of Symbian:
\table
- \header \o S60 version
- \row \o 3.1
- \row \o 3.2
- \row \o 5.0
+ \header \o Symbian Version
+ \row \o S60 3.1
+ \row \o S60 3.2
+ \row \o S60 5.0 (Symbian ^1)
\endtable
Qt has received Tier 1 testing on the following phone models:
\table
\header \o Phone
+ \row \o Nokia 5800
\row \o Nokia E71
\row \o Nokia E72
- \row \o Nokia 5800
+ \row \o Nokia N78
+ \row \o Nokia N95
+ \row \o Nokia N97
+ \row \o Samsung i8910
\endtable
\section1 Supported Functionality
- The following technologies and classes are not supported:
+ The following technologies and classes are not currently supported:
\table
\header \o Technology
@@ -95,29 +101,32 @@
\row \o QtConcurrent
\o
\row \o QtDBus
- \o Will never be supported.
+ \o No current plans to support this feature.
\row \o QtOpenGL
- \o Support for OpenGL ES may arrive in a future release.
+ \o Support for OpenGL ES planned for a future release.
\row \o Printing support
- \o
- \row \o Backend for QtMultimedia
- \o Although the module itself is supported, no backend for Symbian
- is available. However, there is a backend available for Phonon.
+ \o No current plans to support this feature.
\row \o Qt3Support
- \o Will never be supported.
- \row \o QtSql: SQLite as driver
- \o The only driver supported is SQLite.
- \row \o Developer Tools
- \o Developer tools such as Designer, Assistant and Creator do not
- run on Symbian OS.
+ \o No current plans to support this feature.
\endtable
+ The following technologies have limited support:
+
+ \table
+ \header \o Technology
+ \o Note
+ \row \o QtSql
+ \o The only driver supported is SQLite.
+ \row \o QtMultimedia
+ \o Although the module itself is supported, no backend for Symbian
+ is available. However, there is a backend available for Phonon.
+ \endtable
\section1 Known Issues
Known issues can be found by visiting the
\l{http://qt.gitorious.org/qt/pages/Qt460KnownIssues}{wiki page} with an
- up-to-date list of known issues, or by
+ up-to-date list of known issues, and the list of bugs can be found by
\l{http://bugreports.qt.nokia.com/browse/QTBUG/component/19171}{browsing} the
S60 component in Qt's public task tracker, located at
\l{http://bugreports.qt.nokia.com/}{http://bugreports.qt.nokia.com/}.
diff --git a/examples/sql/drilldown/informationwindow.cpp b/examples/sql/drilldown/informationwindow.cpp
index 08fe2ac..a440aad 100644
--- a/examples/sql/drilldown/informationwindow.cpp
+++ b/examples/sql/drilldown/informationwindow.cpp
@@ -83,16 +83,15 @@ InformationWindow::InformationWindow(int id, QSqlRelationalTableModel *offices,
connect(imageFileEditor, SIGNAL(currentIndexChanged(int)),
this, SLOT(enableButtons()));
- QGridLayout *layout = new QGridLayout;
- layout->addWidget(locationLabel, 0, 0, Qt::AlignLeft | Qt::AlignTop);
- layout->addWidget(countryLabel, 1, 0, Qt::AlignLeft | Qt::AlignTop);
- layout->addWidget(imageFileLabel, 2, 0, Qt::AlignLeft | Qt::AlignTop);
- layout->addWidget(descriptionLabel, 3, 0, Qt::AlignLeft | Qt::AlignTop);
- layout->addWidget(locationText, 0, 1);
- layout->addWidget(countryText, 1, 1);
- layout->addWidget(imageFileEditor, 2, 1);
- layout->addWidget(descriptionEditor, 3, 1);
- layout->addWidget(buttonBox, 4, 0, 1, 2);
+ QFormLayout *formLayout = new QFormLayout;
+ formLayout->addRow(locationLabel, locationText);
+ formLayout->addRow(countryLabel, countryText);
+ formLayout->addRow(imageFileLabel, imageFileEditor);
+ formLayout->addRow(descriptionLabel, descriptionEditor);
+
+ QVBoxLayout *layout = new QVBoxLayout;
+ layout->addLayout(formLayout);
+ layout->addWidget(buttonBox);
setLayout(layout);
locationId = id;
@@ -101,9 +100,6 @@ InformationWindow::InformationWindow(int id, QSqlRelationalTableModel *offices,
setWindowFlags(Qt::Window);
enableButtons(false);
setWindowTitle(tr("Office: %1").arg(locationText->text()));
-#ifndef Q_OS_SYMBIAN
- resize(320, sizeHint().height());
-#endif
}
//! [4]
@@ -154,8 +150,8 @@ void InformationWindow::createButtons()
//! [8]
//! [9]
- buttonBox = new QDialogButtonBox;
- buttonBox->addButton(submitButton, QDialogButtonBox::ResetRole);
+ buttonBox = new QDialogButtonBox(this);
+ buttonBox->addButton(submitButton, QDialogButtonBox::AcceptRole);
buttonBox->addButton(revertButton, QDialogButtonBox::ResetRole);
buttonBox->addButton(closeButton, QDialogButtonBox::RejectRole);
}
diff --git a/examples/sql/drilldown/view.cpp b/examples/sql/drilldown/view.cpp
index ff4c511..abc31c9 100644
--- a/examples/sql/drilldown/view.cpp
+++ b/examples/sql/drilldown/view.cpp
@@ -134,7 +134,7 @@ void View::showInformation(ImageItem *image)
#ifndef Q_OS_SYMBIAN
window->show();
#else
- window->showFullScreen();
+ window->showMaximized();
#endif
} else {
InformationWindow *window;
@@ -147,7 +147,7 @@ void View::showInformation(ImageItem *image)
window->move(pos() + QPoint(20, 40));
window->show();
#else
- window->showFullScreen();
+ window->showMaximized();
#endif
informationWindows.append(window);
}
diff --git a/src/gui/kernel/qformlayout.cpp b/src/gui/kernel/qformlayout.cpp
index 3e5dadc..33f5489 100644
--- a/src/gui/kernel/qformlayout.cpp
+++ b/src/gui/kernel/qformlayout.cpp
@@ -1124,14 +1124,15 @@ QStyle* QFormLayoutPrivate::getStyle() const
\value DontWrapRows
Fields are always laid out next to their label. This is
- the default policy for all styles except Qt Extended styles.
+ the default policy for all styles except Qt Extended styles
+ and QS60Style.
\value WrapLongRows
Labels are given enough horizontal space to fit the widest label,
and the rest of the space is given to the fields. If the minimum
size of a field pair is wider than the available space, the field
is wrapped to the next line. This is the default policy for
- Qt Extended styles.
+ Qt Extended styles and and QS60Style.
\value WrapAllRows
Fields are always laid out below their label.
@@ -1720,8 +1721,8 @@ QFormLayout::FieldGrowthPolicy QFormLayout::fieldGrowthPolicy() const
\brief the way in which the form's rows wrap
The default value depends on the widget or application style. For
- Qt Extended styles, the default is WrapLongRows; for the other styles,
- the default is DontWrapRows.
+ Qt Extended styles and QS60Style, the default is WrapLongRows;
+ for the other styles, the default is DontWrapRows.
If you want to display each label above its associated field
(instead of next to it), set this property to WrapAllRows.
diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp
index 467cc84..b5c0d4f 100644
--- a/src/gui/styles/qs60style.cpp
+++ b/src/gui/styles/qs60style.cpp
@@ -67,6 +67,7 @@
#include "qtoolbar.h"
#include "qtoolbutton.h"
#include "qfocusframe.h"
+#include "qformlayout.h"
#include "private/qtoolbarextension_p.h"
#include "private/qcombobox_p.h"
@@ -2401,6 +2402,9 @@ int QS60Style::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w
case SH_RequestSoftwareInputPanel:
retValue = RSIP_OnMouseClickAndAlreadyFocused;
break;
+ case SH_FormLayoutWrapPolicy:
+ retValue = QFormLayout::WrapLongRows;
+ break;
default:
break;
}
diff --git a/tests/manual/keypadnavigation/keypadnavigation.ui b/tests/manual/keypadnavigation/keypadnavigation.ui
index 039889b..8b456d9 100644
--- a/tests/manual/keypadnavigation/keypadnavigation.ui
+++ b/tests/manual/keypadnavigation/keypadnavigation.ui
@@ -1060,75 +1060,100 @@ As a reward you can try out the QDial, below.</string>
</widget>
<widget class="QWidget" name="m_pageDialogs">
<layout class="QVBoxLayout" name="verticalLayout_13">
+ <property name="margin">
+ <number>0</number>
+ </property>
<item>
- <widget class="QPushButton" name="m_buttonGetOpenFileName">
- <property name="text">
- <string>getOpenFileName()</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="m_buttonGetSaveFileName">
- <property name="text">
- <string>getSaveFileName()</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="m_buttonGetExistingDirectory">
- <property name="text">
- <string>getExistingDirectory()</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="m_buttonGetColor">
- <property name="text">
- <string>getColor()</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="m_buttonGetFont">
- <property name="text">
- <string>getFont()</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="m_buttonQuestion">
- <property name="text">
- <string>question()</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="m_buttonAboutQt">
- <property name="text">
- <string>aboutQt()</string>
+ <widget class="QScrollArea" name="scrollArea_5">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
</property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="m_buttonGetItem">
- <property name="text">
- <string>getItem()</string>
+ <property name="widgetResizable">
+ <bool>true</bool>
</property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_5">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>264</width>
+ <height>356</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_14">
+ <item>
+ <widget class="QPushButton" name="m_buttonGetOpenFileName">
+ <property name="text">
+ <string>getOpenFileName()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="m_buttonGetSaveFileName">
+ <property name="text">
+ <string>getSaveFileName()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="m_buttonGetExistingDirectory">
+ <property name="text">
+ <string>getExistingDirectory()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="m_buttonGetColor">
+ <property name="text">
+ <string>getColor()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="m_buttonGetFont">
+ <property name="text">
+ <string>getFont()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="m_buttonQuestion">
+ <property name="text">
+ <string>question()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="m_buttonAboutQt">
+ <property name="text">
+ <string>aboutQt()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="m_buttonGetItem">
+ <property name="text">
+ <string>getItem()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>103</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
</widget>
</item>
- <item>
- <spacer name="verticalSpacer_3">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>104</height>
- </size>
- </property>
- </spacer>
- </item>
</layout>
</widget>
</widget>
@@ -1155,7 +1180,7 @@ As a reward you can try out the QDial, below.</string>
<addaction name="m_actionLayoutChaos"/>
<addaction name="m_actionLayoutDialogs"/>
</widget>
- <widget class="QMenu" name="menuNavigation_mode">
+ <widget class="QMenu" name="m_menuNavigation_mode">
<property name="title">
<string>Navigation mode</string>
</property>
@@ -1166,7 +1191,7 @@ As a reward you can try out the QDial, below.</string>
<addaction name="m_actionModeCursorForceVisible"/>
</widget>
<addaction name="menuUi_layout"/>
- <addaction name="menuNavigation_mode"/>
+ <addaction name="m_menuNavigation_mode"/>
</widget>
<action name="m_actionLayoutVerticalSimple">
<property name="text">
diff --git a/tests/manual/keypadnavigation/main.cpp b/tests/manual/keypadnavigation/main.cpp
index d1cc8a7..84b3d78 100644
--- a/tests/manual/keypadnavigation/main.cpp
+++ b/tests/manual/keypadnavigation/main.cpp
@@ -70,6 +70,7 @@ public:
}
connect(&m_layoutSignalMapper, SIGNAL(mapped(QWidget*)), ui->m_stackWidget, SLOT(setCurrentWidget(QWidget*)));
+#ifdef QT_KEYPAD_NAVIGATION
const struct {
QObject *action;
Qt::NavigationMode mode;
@@ -85,6 +86,9 @@ public:
m_modeSignalMapper.setMapping(modeMappings[i].action, int(modeMappings[i].mode));
}
connect(&m_modeSignalMapper, SIGNAL(mapped(int)), SLOT(setNavigationMode(int)));
+#else // QT_KEYPAD_NAVIGATION
+ ui->m_menuNavigation_mode->deleteLater();
+#endif // QT_KEYPAD_NAVIGATION
const struct {
QObject *button;
@@ -112,10 +116,12 @@ public:
}
protected slots:
+#ifdef QT_KEYPAD_NAVIGATION
void setNavigationMode(int mode)
{
QApplication::setNavigationMode(Qt::NavigationMode(mode));
}
+#endif // QT_KEYPAD_NAVIGATION
void openDialog(int dialog)
{
@@ -163,7 +169,9 @@ private:
Ui_KeypadNavigation *ui;
QSignalMapper m_layoutSignalMapper;
+#ifdef QT_KEYPAD_NAVIGATION
QSignalMapper m_modeSignalMapper;
+#endif // QT_KEYPAD_NAVIGATION
QSignalMapper m_dialogSignalMapper;
};