Qt 4.7.4 Compatibility Issues: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
=List of compatibility issues in the Qt 4.7.4 Release Bundle=
[[Category:Developing_with_Qt::Qt Quick]]<br />[[Category:Developing_with_Qt]]


'''<span class="caps">PLEASE</span> <span class="caps">NOTE</span>: <span class="caps">THIS</span> <span class="caps">PAGE</span> IS <span class="caps">UNDER</span> <span class="caps">WORK</span> <span class="caps">AND</span> <span class="caps">WILL</span> <span class="caps">RECEIVE</span> <span class="caps">UPDATES</span> <span class="caps">SHORTLY</span>'''
[toc align_right=&quot;yes&amp;quot; depth=&quot;3&amp;quot;]


This documents lists the noteworthy breaks in binary or functional compatibility in the Qt 4.7.4 release bundle.<br /> In Qt and related components terms this means the following updates:
= List of compatibility issues in the Qt 4.7.4 Release Bundle =


* Qt 4.7.3 -&gt; 4.7.4
'''PLEASE NOTE: THIS PAGE IS UNDER WORK AND WILL RECEIVE UPDATES SHORTLY'''
* Mobility 1.1.3 -&gt; 1.2.0
* Qt Quick Components 1.0 -&gt; 1.1


At its current form the list focuses on problems seen on Symbian platform.
This documents lists the noteworthy breaks in binary or functional compatibility in the Qt 4.7.4 release bundle.<br />In Qt and related components terms this means the following updates:<br />* Qt 4.7.3 <s>&gt; 4.7.4<br />* Mobility 1.1.3</s>&gt; 1.2.0<br />* Qt Quick Components 1.0 <s>&gt; 1.1
<br />At its current form the list focuses on problems seen on Symbian platform.
<br />h2. Stricter QML import version checking
<br />Import version number must now be correct. Previously a too big version number was ignored, and the latest version was used.<br />Example:<br />In Qt 4.7.3: “import QtMultimediaKit 1.2” is accepted, but the latest version 1.1 is used<br />In Qt 4.7.4: “import QtMultimediaKit 1.2” produces an error “module ”QtMultimediaKit&amp;quot; version 1.2 is not installed import QtMultimediaKit 1.2”
<br />h2. Changes in Mobility QML bindings
<br />* QML Map (http://doc.qt.nokia.com/qtmobility-1.1/qml-map.html ) is re-implemented in Qt Mobility 1.2. While the only direct break is the removal of '''objects''' property, there are many functional changes ( http://doc.qt.nokia.com/qtmobility-1.2/qml-map.html ). Usage of old QtMobility.location 1.1 import is not recommended. Use &quot;import QtMobility.location 1.2&amp;quot; instead.


==Stricter <span class="caps">QML</span> import version checking==
<br />* QML DeviceInfo ( http://doc.qt.nokia.com/qtmobility-1.1/qml-deviceinfo.html) has several methods removed. Please see http://doc.qt.nokia.com/qtmobility-1.2/qml-deviceinfo.html for new equivalent properties.<br />'''''' '''startBatteryLevelChanged''' method removed, set monitorBatteryLevelChanges property to true instead<br />'''''' '''startBatteryStatusChanged''' method removed, set monitorBatteryStatusChanges property to true instead<br />'''''' '''startPowerStateChanged''' method removed, set monitorPowerStateChanges property to true instead<br />'''''' '''startCurrentProfileChanged''' method removed, set monitorCurrentProfileChanges property to true instead<br />'''''' '''startBluetoothStateChanged''' method removed, set monitorBluetoothStateChanges property to true instead
<br />* QML NetworkInfo ( http://doc.qt.nokia.com/qtmobility-1.1/qml-networkinfo.html ) has several methods removed. Please see http://doc.qt.nokia.com/qtmobility-1.2/qml-networkinfo.html for new equivalent properties.<br />'''''' '''startStatusChanged''' method removed, set monitorStatusChanges property to true instead<br />'''''' '''signalStrengthChanged''' method removed, set monitorSignalStrengthChanges property to true instead<br />'''''' '''modeChanged''' method removed, set monitorModeChanges property to true instead<br />'''''' '''currentMobileCountryCodeChanged''' method removed, set monitorMobileCountryCodeChanges property to true instead<br />'''''' '''currentMobileNetworkCodeChanged''' method removed, set monitorMobileNetworkCodeChanges property to true instead<br />'''''' '''mode''' method removed
<br />* QML DocumentGalleryModel documentation( http://doc.qt.nokia.com/qtmobility-1.1/qml-documentgallerymodel.html ) had several signals which did not actually exist. The documentation is now updated at http://doc.qt.nokia.com/qtmobility-1.2/qml-documentgallerymodel.html<br />'''''' '''onCancelled'''<br />'''''' '''onFailed'''<br />'''''' '''onFinished'''<br />'''''' '''onSucceeded'''
<br />h2. PowerState property removed from QSystemInfo
<br />The '''PowerState''' property in QSystemInfo has been removed in Qt Mobility 1.2. Use the currentPowerState property instead.<br />See documentation:<br />http://doc.qt.nokia.com/qtmobility-1.1/qsystemdeviceinfo.html<br />http://doc.qt.nokia.com/qtmobility-1.2/qsystemdeviceinfo.html
<br />h2. QSystemInfo usage from different threads in Symbian
<br />There are some considerations when using QSystemInfo methods in other threads than the main thread.<br />Documented in: http://doc.qt.nokia.com/qtmobility-1.2/qsystemstorageinfo.html<br />More info in: https://bugreports.qt.nokia.com/browse/QTMOBILITY-1058<br />This change has taken place between Mobility 1.1.3 and 1.2.0


Import version number must now be correct. Previously a too big version number was ignored, and the latest version was used.<br /> Example:<br /> In Qt 4.7.3: “import QtMultimediaKit 1.2” is accepted, but the latest version 1.1 is used<br /> In Qt 4.7.4: “import QtMultimediaKit 1.2” produces an error “module “QtMultimediaKit” version 1.2 is not installed import QtMultimediaKit 1.2”
<br />h2. Qt Quick Components import changes in Symbian
<br />“import Qt.labs.components.native 1.0” will not work anymore after components 1.1 has been installed on device. 1.1 is pre-installed on newer Belle releases. Use “import com.nokia.symbian1.0” instead.
<br />h2. Qt Quick Components Window anchoring changes in Symbian
<br />This change is listed here for future reference. The actual change is not in Symbian Belle but in a future Symbian update.<br />It is still advised to update your application now.
<br />Any child items should not be anchored to the Window root item directly, but refer to parent instead:<br />Wrong (child anchoring refers to the Window id):
<br />Window {<br /> id: root<br /> Statusbar { anchors.top: root.top }<br /> ToolBar { anchors.bottom: root.bottom }<br /> }


==Changes in Mobility <span class="caps">QML</span> bindings==
<br />Correct (child anchoring refers to the parent):
<br /> Window {<br /> id: root<br /> Statusbar { anchors.top: parent.top }<br /> ToolBar { anchors.bottom: parent.bottom }<br /> }
<br />(link to documentation to be added later)


* <span class="caps">QML</span> Map (http://doc.qt.nokia.com/qtmobility-1.1/qml-map.html ) is re-implemented in Qt Mobility 1.2. While the only direct break is the removal of '''objects''' property, there are many functional changes ( http://doc.qt.nokia.com/qtmobility-1.2/qml-map.html ). Usage of old QtMobility.location 1.1 import is not recommended. Use “import QtMobility.location 1.2” instead.


* <span class="caps">QML</span> DeviceInfo ( http://doc.qt.nokia.com/qtmobility-1.1/qml-deviceinfo.html) has several methods removed. Please see http://doc.qt.nokia.com/qtmobility-1.2/qml-deviceinfo.html for new equivalent properties.
<br />h2. Orientation detection in QWidget –based Symbian application
** '''startBatteryLevelChanged''' method removed, set monitorBatteryLevelChanges property to true instead
<br />Using QApplication::desktop()</s>&gt;availableGeometry() during the resize event to detect orientation will produce wrong results. The recommended method is to connect to QApplication::desktop()'s workAreaResized(int) signal and call QApplication::desktop()-&gt;availableGeometry() in the connected slot function.
** '''startBatteryStatusChanged''' method removed, set monitorBatteryStatusChanges property to true instead
** '''startPowerStateChanged''' method removed, set monitorPowerStateChanges property to true instead
** '''startCurrentProfileChanged''' method removed, set monitorCurrentProfileChanges property to true instead
** '''startBluetoothStateChanged''' method removed, set monitorBluetoothStateChanges property to true instead


* <span class="caps">QML</span> NetworkInfo ( http://doc.qt.nokia.com/qtmobility-1.1/qml-networkinfo.html ) has several methods removed. Please see http://doc.qt.nokia.com/qtmobility-1.2/qml-networkinfo.html for new equivalent properties.
This break has been introduced between Qt 4.6 and 4.7, so it already applies to Symbian Anna.<br />See https://bugreports.qt.nokia.com//browse/QTBUG-14058 for more info.
** '''startStatusChanged''' method removed, set monitorStatusChanges property to true instead
** '''signalStrengthChanged''' method removed, set monitorSignalStrengthChanges property to true instead
** '''modeChanged''' method removed, set monitorModeChanges property to true instead
** '''currentMobileCountryCodeChanged''' method removed, set monitorMobileCountryCodeChanges property to true instead
** '''currentMobileNetworkCodeChanged''' method removed, set monitorMobileNetworkCodeChanges property to true instead
** '''mode''' method removed
 
* <span class="caps">QML</span> DocumentGalleryModel documentation( http://doc.qt.nokia.com/qtmobility-1.1/qml-documentgallerymodel.html ) had several signals which did not actually exist. The documentation is now updated at http://doc.qt.nokia.com/qtmobility-1.2/qml-documentgallerymodel.html
** '''onCancelled'''
** '''onFailed'''
** '''onFinished'''
** '''onSucceeded'''
 
==PowerState property removed from QSystemInfo==
 
The '''PowerState''' property in QSystemInfo has been removed in Qt Mobility 1.2. Use the currentPowerState property instead.<br /> See documentation:<br />http://doc.qt.nokia.com/qtmobility-1.1/qsystemdeviceinfo.html<br />http://doc.qt.nokia.com/qtmobility-1.2/qsystemdeviceinfo.html
 
==QSystemInfo usage from different threads in Symbian==
 
There are some considerations when using QSystemInfo methods in other threads than the main thread. <br /> Documented in: http://doc.qt.nokia.com/qtmobility-1.2/qsystemstorageinfo.html<br /> More info in: https://bugreports.qt.nokia.com/browse/QTMOBILITY-1058<br /> This change has taken place between Mobility 1.1.3 and 1.2.0
 
==Qt Quick Components import changes in Symbian==
 
“import Qt.labs.components.native 1.0” will not work anymore after components 1.1 has been installed on device. 1.1 is pre-installed on newer Belle releases. Use “import com.nokia.symbian1.0” instead.
 
==Qt Quick Components Window anchoring changes in Symbian==
 
This change is listed here for future reference. The actual change is not in Symbian Belle but in a future Symbian update.<br /> It is still advised to update your application now.
 
Any child items should not be anchored to the Window root item directly, but refer to parent instead:<br /> Wrong (child anchoring refers to the Window id):
 
Window { id: root Statusbar { anchors.top: root.top } ToolBar { anchors.bottom: root.bottom } }
 
Correct (child anchoring refers to the parent):
 
Window { id: root Statusbar { anchors.top: parent.top } ToolBar { anchors.bottom: parent.bottom } }
 
(link to documentation to be added later)
 
==Orientation detection in QWidget –based Symbian application==
 
Using QApplication::desktop()-&gt;availableGeometry() during the resize event to detect orientation will produce wrong results. The recommended method is to connect to QApplication::desktop()‘s workAreaResized(int) signal and call QApplication::desktop()-&gt;availableGeometry() in the connected slot function.
 
This break has been introduced between Qt 4.6 and 4.7, so it already applies to Symbian Anna.<br /> See https://bugreports.qt.nokia.com//browse/QTBUG-14058 for more info.
 
===Categories:===
 
* [[:Category:Developing with Qt|Developing_with_Qt]]
** [[:Category:Developing with Qt::Qt Quick|Qt_Quick]]

Revision as of 10:08, 24 February 2015


[toc align_right="yes&quot; depth="3&quot;]

List of compatibility issues in the Qt 4.7.4 Release Bundle

PLEASE NOTE: THIS PAGE IS UNDER WORK AND WILL RECEIVE UPDATES SHORTLY

This documents lists the noteworthy breaks in binary or functional compatibility in the Qt 4.7.4 release bundle.
In Qt and related components terms this means the following updates:
* Qt 4.7.3 > 4.7.4
* Mobility 1.1.3
> 1.2.0
* Qt Quick Components 1.0 > 1.1
At its current form the list focuses on problems seen on Symbian platform.
h2. Stricter QML import version checking
Import version number must now be correct. Previously a too big version number was ignored, and the latest version was used.
Example:
In Qt 4.7.3: “import QtMultimediaKit 1.2” is accepted, but the latest version 1.1 is used
In Qt 4.7.4: “import QtMultimediaKit 1.2” produces an error “module ”QtMultimediaKit&quot; version 1.2 is not installed import QtMultimediaKit 1.2”
h2. Changes in Mobility QML bindings
* QML Map (http://doc.qt.nokia.com/qtmobility-1.1/qml-map.html ) is re-implemented in Qt Mobility 1.2. While the only direct break is the removal of objects property, there are many functional changes ( http://doc.qt.nokia.com/qtmobility-1.2/qml-map.html ). Usage of old QtMobility.location 1.1 import is not recommended. Use "import QtMobility.location 1.2&quot; instead.


* QML DeviceInfo ( http://doc.qt.nokia.com/qtmobility-1.1/qml-deviceinfo.html) has several methods removed. Please see http://doc.qt.nokia.com/qtmobility-1.2/qml-deviceinfo.html for new equivalent properties.
' startBatteryLevelChanged' method removed, set monitorBatteryLevelChanges property to true instead
' startBatteryStatusChanged method removed, set monitorBatteryStatusChanges property to true instead
'
startPowerStateChanged method removed, set monitorPowerStateChanges property to true instead
' startCurrentProfileChanged method removed, set monitorCurrentProfileChanges property to true instead
'
startBluetoothStateChanged method removed, set monitorBluetoothStateChanges property to true instead
* QML NetworkInfo ( http://doc.qt.nokia.com/qtmobility-1.1/qml-networkinfo.html ) has several methods removed. Please see http://doc.qt.nokia.com/qtmobility-1.2/qml-networkinfo.html for new equivalent properties.
' startStatusChanged method removed, set monitorStatusChanges property to true instead
'
signalStrengthChanged method removed, set monitorSignalStrengthChanges property to true instead
' modeChanged method removed, set monitorModeChanges property to true instead
'
currentMobileCountryCodeChanged method removed, set monitorMobileCountryCodeChanges property to true instead
' currentMobileNetworkCodeChanged method removed, set monitorMobileNetworkCodeChanges property to true instead
'
mode method removed
* QML DocumentGalleryModel documentation( http://doc.qt.nokia.com/qtmobility-1.1/qml-documentgallerymodel.html ) had several signals which did not actually exist. The documentation is now updated at http://doc.qt.nokia.com/qtmobility-1.2/qml-documentgallerymodel.html
' onCancelled
'
onFailed
' onFinished
'
onSucceeded
h2. PowerState property removed from QSystemInfo
The PowerState property in QSystemInfo has been removed in Qt Mobility 1.2. Use the currentPowerState property instead.
See documentation:
http://doc.qt.nokia.com/qtmobility-1.1/qsystemdeviceinfo.html
http://doc.qt.nokia.com/qtmobility-1.2/qsystemdeviceinfo.html
h2. QSystemInfo usage from different threads in Symbian
There are some considerations when using QSystemInfo methods in other threads than the main thread.
Documented in: http://doc.qt.nokia.com/qtmobility-1.2/qsystemstorageinfo.html
More info in: https://bugreports.qt.nokia.com/browse/QTMOBILITY-1058
This change has taken place between Mobility 1.1.3 and 1.2.0


h2. Qt Quick Components import changes in Symbian
“import Qt.labs.components.native 1.0” will not work anymore after components 1.1 has been installed on device. 1.1 is pre-installed on newer Belle releases. Use “import com.nokia.symbian1.0” instead.
h2. Qt Quick Components Window anchoring changes in Symbian
This change is listed here for future reference. The actual change is not in Symbian Belle but in a future Symbian update.
It is still advised to update your application now.
Any child items should not be anchored to the Window root item directly, but refer to parent instead:
Wrong (child anchoring refers to the Window id):
Window {
id: root
Statusbar { anchors.top: root.top }
ToolBar { anchors.bottom: root.bottom }
}


Correct (child anchoring refers to the parent):
Window {
id: root
Statusbar { anchors.top: parent.top }
ToolBar { anchors.bottom: parent.bottom }
}
(link to documentation to be added later)



h2. Orientation detection in QWidget –based Symbian application
Using QApplication::desktop()
>availableGeometry() during the resize event to detect orientation will produce wrong results. The recommended method is to connect to QApplication::desktop()'s workAreaResized(int) signal and call QApplication::desktop()->availableGeometry() in the connected slot function.

This break has been introduced between Qt 4.6 and 4.7, so it already applies to Symbian Anna.
See https://bugreports.qt.nokia.com//browse/QTBUG-14058 for more info.