qtmobility/examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialerList.qml
changeset 11 06b8e2af4411
child 14 6fbed849b4f4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/qtmobility/examples/declarative-sfw-dialer/declarative-sfw-dialer/content/DialerList.qml	Fri Jun 11 14:26:25 2010 +0300
@@ -0,0 +1,146 @@
+import Qt 4.7
+// ![4]
+import QtMobility.serviceframework 1.0
+// ![4]
+
+//Layout of the ServiceList control
+//---------------------------------
+//|ServiceList                    |
+//| ----------------------------- |
+//| |title                      | |
+//| ----------------------------- |
+//| ----------------------------- |
+//| |listFrame                  | |
+//| |-------------------------- | |
+//| ||serviceListView         | | |
+//| ||- listItem              | | |
+//| ||- listItem              | | |
+//| ||- listItem              | | |
+//| |---------------------------| |
+//| ----------------------------- |
+//---------------------------------
+    
+Rectangle {
+    property variant dialService: 0
+    signal signalSelected
+    
+    Text {
+        id: title
+        height: 20
+        width: 200
+        anchors.top: parent.top
+        anchors.left: parent.left
+        anchors.topMargin: 5
+        anchors.leftMargin: 5
+        text: "<b>Select dial service:</b>"
+    }
+    
+    Rectangle {
+        id : listFrame
+        width: childrenRect.width
+        height: childrenRect.height
+        anchors.top: title.bottom
+        anchors.left: parent.left;
+        anchors.topMargin: 5
+        anchors.leftMargin: 5
+        anchors.rightMargin: 5
+        border.color: "black"
+        border.width: 3
+        property bool nohighlightlistitem : true
+        //! [1]
+        Component {
+            id: delegate
+            //! [1]
+            //Rectangle item to draw a list view item
+            //This includes 2 line of text:
+            // ------------------------------------------
+            // |Service: LandDialer (1.0)               |
+            // |Interface: com.nokia.qt.examples Dialer |
+            // ------------------------------------------
+            Rectangle {
+                id: listItem
+                width: serviceListView.width
+                height: 40
+                border.color: "black"
+                border.width: 1
+                opacity: 0.6
+
+                //! [2]
+                MouseArea {
+                    id: listItemMouseRegion
+                    anchors.fill: parent
+                    onClicked: {
+                        if(listFrame.nohighlightlistitem){
+                            serviceListView.highlight = highlight
+                            listFrame.nohighlightlistitem = false;
+                        }
+                        serviceListView.currentIndex = index;
+                        dialService = model.modelData;
+                        signalSelected()
+                    }
+                }
+
+                Text { 
+                    id: serviceItemInfo
+                    anchors.top: parent.top
+                    anchors.left: parent.left
+                    anchors.topMargin: 5
+                    anchors.leftMargin: 3
+                    text: " <b>Service:</b> " + serviceName + "  (" + versionNumber + ")"
+                }
+                
+                Text { 
+                    id: serviceItemInterfaceName
+                    anchors.top: serviceItemInfo.bottom
+                    anchors.left: parent.left
+                    anchors.topMargin: 2
+                    anchors.leftMargin: 3
+                    text: " <b>Interface:</b> " + interfaceName;
+                }
+                //! [2]
+            }
+        }
+        
+        //! [3]
+        Component {
+            id: highlight
+            
+            Rectangle {
+                width: childrenRect.width
+                border.color: "black"; border.width: 2
+                height: 30
+                color : "lightsteelblue"
+                gradient: Gradient {
+                    GradientStop {position: 0.0; color: "steelblue"}
+                    GradientStop {position: 0.5; color: "lightsteelblue"}
+                    GradientStop {position: 1.0; color: "steelblue"}
+                }
+            }
+        }
+        //! [3]
+        
+        //! [0]
+        ListView {
+            id: serviceListView
+            height: 100
+            width: 260
+            anchors.topMargin: 5
+            anchors.leftMargin: 5
+            anchors.rightMargin: 5
+            model: dialerServiceList.services
+            opacity: 1
+            delegate: delegate
+            currentIndex: -1
+            clip: true
+        }
+        //! [0]
+    }
+
+    //! [5]
+    ServiceList {
+        id: dialerServiceList
+        interfaceName: "com.nokia.qt.examples.Dialer"
+        minVersion: "1.0"
+    }
+    //! [5]
+}