24
24
import org.kde.plasma.components 0.1 as PlasmaComponents
25
25
import org.kde.plasma.extras 0.1 as PlasmaExtras
26
26
import org.kde.plasma.mobilecomponents 0.1 as MobileComponents
27
import org.kde.plasma.slccomponents 0.1 as SlcComponents
31
30
id: fileBrowserRoot
36
property QtObject model: metadataModel
32
38
objectName: "fileBrowserRoot"
33
39
source: "image://appbackgrounds/contextarea"
34
40
fillMode: Image.Tile
36
property QtObject model: metadataModel
41
MobileComponents.Package {
45
PlasmaExtras.ResourceInstance {
49
MetadataModels.MetadataUserTypes {
45
PlasmaCore.DataSource {
47
engine: "org.kde.active.metadata"
48
//connectedSources: []
52
51
MetadataModels.MetadataModel {
54
sortBy: [userTypes.sortFields[metadataModel.resourceType]]
55
//sortOrder: Qt.DescendingOrder
57
resourceType: exclusiveResourceType
58
mimeTypes: exclusiveMimeTypes
53
queryProvider: MetadataModels.ResourceQueryProvider {
54
sortBy: [userTypes.sortFields[metadataModel.queryProvider.resourceType]]
55
//This query string part is set by the user in the search field
56
property string userQueryString
57
//this query string part may be set by Browser addons
58
property string extraQueryString
59
queryString: userQueryString + (extraQueryString ? (" " + extraQueryString) : "")
60
resourceType: exclusiveResourceType
61
mimeTypes: exclusiveMimeTypes
60
65
PlasmaCore.DataSource {
62
67
engine: "org.kde.activities"
63
68
connectedSources: ["Status"]
74
PlasmaCore.DataSource {
77
connectedSources: sources
79
PlasmaCore.DataSource {
82
connectedSources: hotplugSource.sources
84
//access it here due to the async nature of the dataengine
85
if (resultsGrid.model == dirModel) {
89
for (var i in devicesSource.connectedSources) {
90
udi = devicesSource.connectedSources[i]
91
path = devicesSource.data[udi]["File Path"]
92
print(udi+dirModel.url.indexOf(udi))
93
if (dirModel.url.indexOf(path) > 2) {
94
resourceBrowser.currentUdi = udi
98
} else if (resultsGrid.model != dirModel && devicesSource.data[resourceBrowser.currentUdi]["File Path"] != "") {
99
dirModel.url = devicesSource.data[resourceBrowser.currentUdi]["File Path"]
101
fileBrowserRoot.model = dirModel
71
111
//don't go more back than the browser
72
112
if (mainStack.currentPage.objectName == "resourceBrowser") {
75
116
if (mainStack.depth == 1) {
76
if (exclusiveResourceType || exclusiveMimeTypes.length > 0) {
77
mainStack.replace(Qt.createComponent("Browser.qml"))
79
mainStack.replace(Qt.createComponent("Intro.qml"))
117
mainStack.replace(Qt.createComponent("Browser.qml"))
86
PlasmaComponents.BusyIndicator {
87
anchors.centerIn: mainStack
88
visible: metadataModel.running
126
verticalCenterOffset: Math.round(toolBar.height/2)
127
horizontalCenterOffset: - Math.round(parent.width / 8)
130
source: "background-logo.png"
92
133
PlasmaComponents.ToolBar {
94
height: tools ? theme.hugeIconSize : 0
135
height: tools && tools.item !== null ? theme.hugeIconSize : 0
97
function openFile(url, mimeType)
138
function openResource(data)
99
if (mimeType == "inode/directory") {
140
if (data.mimeType == "inode/directory") {
141
dirModel.url = data.url
101
142
fileBrowserRoot.model = dirModel
102
143
} else if (!mainStack.busy) {
103
var packageName = application.packageForMimeType(mimeType)
104
print("Package for mimetype " + mimeType + " " + packageName)
144
var packageName = application.viewerPackageForType(data.mimeType)
145
print("Package for mimetype " + data.mimeType + " " + packageName)
105
146
if (packageName) {
106
147
partPackage.name = packageName
107
148
if (partPackage.visibleName && partPackage.visibleName != '') {