import QtQuick 2.0 import Sailfish.Silica 1.0 import fi.mikkosoft.xinema 0.1 Page { id: page function navigate(dir) { var newDir = browseDirectory.directory; if(newDir!="/") newDir += "/"; newDir += dir; browseDirectory.directory = newDir; } function navigateUp() { var newDir = browseDirectory.directory; var slash = newDir.lastIndexOf("/"); if(slash>0) newDir = newDir.substring(0, slash); else newDir = "/"; browseDirectory.directory = newDir; } SilicaListView { anchors.fill: parent header: PageHeader { title: qsTr("Browse files") } model: browseDirectory.model delegate: DirectoryEntry { width: parent.width icon: { if(type==DirectoryModel.ParentDir) return "image://theme/icon-m-back"; else if(type==DirectoryModel.SubDir) return "image://theme/icon-m-folder"; else return ""; } text: name onClicked: { if(type==DirectoryModel.File) xinemaControl.play_file(browseDirectory.directory+"/"+name); else if(type==DirectoryModel.ParentDir) page.navigateUp(); else if(type==DirectoryModel.SubDir) page.navigate(name); } } VerticalScrollDecorator { } } BrowseDirectory { id: browseDirectory control: xinemaControl } Connections { target: xinemaControl onConnectedChanged: { if(xinemaControl.connected) browseDirectory.directory = "/"; } } Component.onCompleted: { if(xinemaControl.connected) browseDirectory.directory = "/"; } }