Jump to content

New QOrbiter Setup: Difference between revisions

From LinuxMCE
Langstonius (talk | contribs)
Langstonius (talk | contribs)
Line 42: Line 42:
             visible: false
             visible: false
         }
         }
|-
| orbiterList
| ListModel
| none
| ListModel of existing orbiter. It gets populated after QOrbiter initially connects to the router.
| To Utilize, set as the 'model' property for the ListModel you intend to show it in.
Properties
*label - QOrbiter name
*i_device_number - QObiter Device number
  ListView{
        id:existing_orbiters
        height: scaleY(35)
        width: scaleX(55)
        clip: true
        anchors.centerIn: rectangle2
        model:orbiterList
        visible: false
        opacity: existing_orbiters.visible
        delegate: Rectangle{
            id:existing_orbiter_delegate
            height: scaleY(5)
            width: existing_orbiters.width
            color: "slategrey"
            border.color: "white"
            border.width: 1
            Column
            {
                height: childrenRect.height
                width: childrenRect.width
                anchors.centerIn: parent
                Text {
                    id: orbiter_label
                    text: qsTr("Orbiter:")+ label
                    font.pixelSize: 12
                    wrapMode: Text.WrapAtWordBoundaryOrAnywhere                   
                }
                Text {
                    id: dev_num                 
                    text:qsTr("Device:")+ i_device_number
                    font.pixelSize: 12
                    font.italic: true
                    wrapMode: Text.WrapAtWordBoundaryOrAnywhere
                }
            }
            MouseArea {
                anchors.fill: parent
                onClicked: window.qmlSetupLmce(i_device_number, routerip.text)
            }
        }
    }
|}
|}



Revision as of 18:23, 1 October 2012

In order to create a proper Splash / Setup screen, certain key things but be implemented. This is a guide to those functions and properties that must be set for a new QOrbiter to be created.

Properties

Properties present at startup
Property Name Property Type Signal Description Example
sRouterIP string none The internal router ip as read from the config.xml. Will be set to 192.168.80.1 Also accepts hostname instead of ip in string format This populates the TextInput element with the routerip
TextInput {
           id: routerip
           width: 80
           text: srouterip
           font.pixelSize: 10
           font.family: "Droid Sans"            
           fillColor: "grey"
           anchors.verticalCenter: parent.verticalCenter
       }
extip string none The external router ip as read from the config.xml. Will be set to fill.me.in.com by default Also accepts hostname instead of ip in string format This populates the TextInput element with the extip
 TextInput {
           id: ext_routerip
           width: 80
           text: extip
           font.pixelSize: 10
           font.family: "Droid Sans"
           //  onTextChanged: setRouterIp(routerip.text)
           fillColor: "grey"
           anchors.verticalCenter: parent.verticalCenter
           visible: false
       }
orbiterList ListModel none ListModel of existing orbiter. It gets populated after QOrbiter initially connects to the router. To Utilize, set as the 'model' property for the ListModel you intend to show it in.

Properties

  • label - QOrbiter name
  • i_device_number - QObiter Device number
 ListView{
       id:existing_orbiters
       height: scaleY(35)
       width: scaleX(55)
       clip: true
       anchors.centerIn: rectangle2
       model:orbiterList
       visible: false
       opacity: existing_orbiters.visible
       delegate: Rectangle{
           id:existing_orbiter_delegate
           height: scaleY(5)
           width: existing_orbiters.width
           color: "slategrey"
           border.color: "white"
           border.width: 1
           Column
           {
               height: childrenRect.height
               width: childrenRect.width
               anchors.centerIn: parent
               Text {
                   id: orbiter_label
                   text: qsTr("Orbiter:")+ label
                   font.pixelSize: 12
                   wrapMode: Text.WrapAtWordBoundaryOrAnywhere                    
               }
               Text {
                   id: dev_num                  
                   text:qsTr("Device:")+ i_device_number
                   font.pixelSize: 12
                   font.italic: true
                   wrapMode: Text.WrapAtWordBoundaryOrAnywhere
               }
           }
           MouseArea {
               anchors.fill: parent
               onClicked: window.qmlSetupLmce(i_device_number, routerip.text)
           }
       }
   }

Splash Page

This page is not the traditional Splash screen. Instead of it being a loading screen, it should contain the following

  • A loader to switch between the Connection Screen and the new QOrbiter setup screen
  • logic to change screens and anything else you want done in the the setup screens before connecting to the router.

Connection Screen

This screen should be the first loaded by the Splash.qml and contain the neccesary elements to establish a connection to thr router. This includes:

  • Text entry for device number
  • text entry from internal ip / hostname
  • text entry box for external ip / hostname.
  • Button to connect
  • Button to start new QOrbiter setup

New Orbiter Screen