36
35
confirmDialog: ConfirmDialog {}
37
36
promptDialog: PromptDialog {}
38
37
beforeUnloadDialog: BeforeUnloadDialog {}*/
39
filePicker: contentPickerLoader.item || filePickerLoader.item
38
signal showDownloadDialog(string downloadId, var contentType, var downloader, string filename, string mimeType)
43
43
readonly property var downloadMimeTypesBlacklist: [
44
44
"application/x-shockwave-flash", // http://launchpad.net/bugs/1379806
46
function instantiateShareComponent() {
47
var component = Qt.createComponent("Share.qml")
48
if (component.status == Component.Ready) {
49
var share = component.createObject(webview)
50
share.onDone.connect(share.destroy)
56
function shareLink(url, title) {
57
var share = instantiateShareComponent()
58
if (share) share.shareLink(url, title)
61
function shareText(text) {
62
var share = instantiateShareComponent()
63
if (share) share.shareText(text)
68
48
onFullscreenRequested: webview.fullscreen = fullscreen
112
id: contentPickerLoader
113
source: "ContentPickerDialog.qml"
118
source: "FilePickerDialog.qml"
123
91
id: downloadLoader
124
// TODO: Use the ubuntu download manager on desktop as well
125
// (https://launchpad.net/bugs/1477310). This will require to have
126
// ubuntu-download-manager in main (https://launchpad.net/bugs/1488425).
127
92
source: "Downloader.qml"
128
93
asynchronous: true
130
// mrn 14/7/2015: added contextualActions (WebViewImplOxide.qml)
131
// mrn 5/12/2015: replaced with a new list
132
contextualActions: ActionList {
134
enabled: webview.contextModel && webview.contextModel.linkUrl.toString()
135
onTriggered: Clipboard.push(["text/plain", contextModel.linkUrl.toString()])
138
enabled: webview.contextModel &&
139
(webview.contextModel.mediaType === Oxide.WebView.MediaTypeImage) &&
140
webview.contextModel.srcUrl.toString()
141
onTriggered: Clipboard.push(["text/plain", contextModel.srcUrl.toString()])
144
enabled: webview.contextModel && webview.contextModel.isEditable &&
145
(webview.contextModel.editFlags & Oxide.WebView.UndoCapability)
146
onTriggered: webview.executeEditingCommand(Oxide.WebView.EditingCommandUndo)
149
enabled: webview.contextModel && webview.contextModel.isEditable &&
150
(webview.contextModel.editFlags & Oxide.WebView.RedoCapability)
151
onTriggered: webview.executeEditingCommand(Oxide.WebView.EditingCommandRedo)
154
enabled: webview.contextModel && webview.contextModel.isEditable &&
155
(webview.contextModel.editFlags & Oxide.WebView.CutCapability)
156
onTriggered: webview.executeEditingCommand(Oxide.WebView.EditingCommandCut)
159
enabled: webview.contextModel && webview.contextModel.isEditable &&
160
(webview.contextModel.editFlags & Oxide.WebView.CopyCapability)
161
onTriggered: webview.executeEditingCommand(Oxide.WebView.EditingCommandCopy)
164
enabled: webview.contextModel && webview.contextModel.isEditable &&
165
(webview.contextModel.editFlags & Oxide.WebView.PasteCapability)
166
onTriggered: webview.executeEditingCommand(Oxide.WebView.EditingCommandPaste)
169
enabled: webview.contextModel && webview.contextModel.isEditable &&
170
(webview.contextModel.editFlags & Oxide.WebView.EraseCapability)
171
onTriggered: webview.executeEditingCommand(Oxide.WebView.EditingCommandErase)
174
enabled: webview.contextModel && webview.contextModel.isEditable &&
175
(webview.contextModel.editFlags & Oxide.WebView.SelectAllCapability)
176
onTriggered: webview.executeEditingCommand(Oxide.WebView.EditingCommandSelectAll)
178
// mrn 12/12/2015: from Browser.qml...
180
objectName: "ShareContextualAction"
181
enabled: webview.contextModel &&
182
(webview.contextModel.linkUrl.toString() || webview.contextModel.selectionText)
184
if (webview.contextModel.linkUrl.toString()) {
185
internal.shareLink(contextModel.linkUrl.toString(), webview.contextModel.linkText)
186
} else if (webview.contextModel.selectionText) {
187
internal.shareText(webview.contextModel.selectionText)
97
target: downloadLoader.item
98
onShowDownloadDialog: {
99
showDownloadDialog(downloadId, contentType, downloader, filename, mimeType)
103
function requestGeolocationPermission(request) {
104
PopupUtils.open(Qt.resolvedUrl("GeolocationPermissionRequest.qml"),
105
webview.currentWebview, {"request": request})
106
// TODO: we might want to store the answer to avoid requesting
107
// the permission everytime the user visits this site.