QOrbitermanager

From LinuxMCE
Jump to: navigation, search

QOrbiter manager is what it sounds like. It manages the flow of operations in QOrbiter between the different context objects and the threaded dce side of the program. It can be accessed through 'manager'

QorbiterManger is the Qt object responsible for managing the initial setup state of the orbiter, as well as containing some key properties and signals. It is also used and an intermediary object, emitting cross thread signals from the UI to prevent blocking operations.

Functions and Properties can be accessed via manager.function() or manager.propertyName

Properties

Properties are accessed by: dceTimecode.propertyname
Property Name Property Type Signal Description Example
appH int orientationChanged() application window height
appW int orientationChanged() application window width
sPK_User String userChanged() String of the current user assigned to this QOrbiter
currentRoom String roomChanged() The current room or entertain area the QOrbiter is set to
dceResponse string dceResponseChanged() logging property cataloging responses from the router
debugMode bool debugModeChanged() If Debug mode is enabled.

Signals

Signals not related to specific properties, but internal functions of the class itself

Signal Params Description
orbiterReady(bool) bool This signal is emitted when the local configuration file and the remote config files have been parsed.
orbiterClosing() This signal is emitted when the orbiter is exiting.
mediaScreenShotReady() This signal is emitted when the requested screen shot is available.
connectedStateChanged() This signal is emitted when the connection from QOrbiter to the LinuxMCE core changes.

Signals

Functions

void getLiveTVPlaylist(')
Params Description EX
No Params Calling this function will tell the router to populate the live tv playlist and return it to the playlist element. Calling it when no tv is playing has no result Component.onCompleted:manager.getLiveTVPlaylist()
void showFloorplan(int floorplantype)
Params Description Example
int - The type of floorplan you want to display This function brings up the floorplan for the selected room and populates the devices there on the screenshot image
void saveScreenshot(int attribute_number)
Params Description Example
int - The Attribute number of the attribute you want to associate with the screenshot.
It is provided in the screenshotAttributes listmodel that is prepared when grabbing a screeshot
Saves the current screenshot to the attribute image

Component

   {
       id:thumbdelegate
       Rectangle{
           id:attributedelegate
           height: 50
           width: parent.width-1
           color: style.accentcolor
           Text {
               id: propertystring
               text: attributeType
           }
           MouseArea{
               anchors.fill: parent
               hoverEnabled: true
               onEntered: attributedelegate.color = "aliceblue"
               onExited: attributedelegate.color = style.accentcolor
               onClicked: {
                    manager.saveScreenShot(attributeNo)
                   manager.cleanupScreenie()
                    assignscreenshot.destroy()
               }
           }
       }
   }
void cleanupScreenie(')
Params Description Output
None Destroys the last screenshot and empties the model. Depreciated and will be made automatic
void resendCode(int parentDevice, int commandNumber)
Params Description Output
parentDevice - int - device number of the parent

commandNumber- int - the number of the command you wish to resend

Resend and av control code. This function should be utilized within the device_commands model. The parameters are attributes of said mdel
ListView
           {
               id:device_command_list
               height: parent.height
               width: scaleX(10)
               anchors.top: parent.top
               anchors.left: codelist.right
               anchors.leftMargin: scaleY(5)
               clip: true
               model: device_commands
               delegate: Rectangle{
                   id:device_box
                   height: scaleY(8)
                   width: scaleX(20)
                   color: "slateblue"
                   Column{
                       spacing: scaleY(1)
                       Text{
                           id:command_label
                           text:qs_command
                           font.pixelSize: scaleY(2)
                       }
                   }
                   MouseArea{
                       anchors.fill: parent
                       hoverEnabled: true
                       onEntered: device_box.color = "white"
                       onExited: device_box.color = "slateblue"
                       onClicked: manager.resendCode(i_parentDevice, i_commandnum)
                   }
               }
           }