1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import QtQuick
import QtQuick.Controls
import QtWebView
import QtQuick.Layouts
ApplicationWindow {
visible: true
x: initialX
y: initialY
width: initialWidth
height: initialHeight
title: webView.title
menuBar: ToolBar {
id: navigationBar
RowLayout {
anchors.fill: parent
spacing: 0
ToolButton {
id: backButton
icon.source: "qrc:/left-32.png"
onClicked: webView.goBack()
enabled: webView.canGoBack
Layout.preferredWidth: navigationBar.height
}
ToolButton {
id: forwardButton
icon.source: "qrc:/right-32.png"
onClicked: webView.goForward()
enabled: webView.canGoForward
Layout.preferredWidth: navigationBar.height
}
ToolButton {
id: reloadButton
icon.source: webView.loading ? "qrc:/stop-32.png" : "qrc:/refresh-32.png"
onClicked: webView.loading ? webView.stop() : webView.reload()
Layout.preferredWidth: navigationBar.height
}
Item { Layout.preferredWidth: 5 }
TextField {
Layout.fillWidth: true
id: urlField
inputMethodHints: Qt.ImhUrlCharactersOnly | Qt.ImhPreferLowercase
text: webView.url
onAccepted: webView.url = utils.fromUserInput(text)
}
Item { Layout.preferredWidth: 5 }
ToolButton {
id: goButton
text: qsTr("Go")
onClicked: {
Qt.inputMethod.commit()
Qt.inputMethod.hide()
webView.url = utils.fromUserInput(urlField.text)
}
}
Item { Layout.preferredWidth: 10 }
}
ProgressBar {
id: progress
anchors {
left: parent.left
top: parent.bottom
right: parent.right
leftMargin: parent.leftMargin
rightMargin: parent.rightMargin
}
height:3
z: Qt.platform.os === "android" ? -1 : -2
background: Item {}
visible: Qt.platform.os !== "ios" && Qt.platform.os !== "winrt"
from: 0
to: 100
value: webView.loadProgress < 100 ? webView.loadProgress : 0
}
}
WebView {
id: webView
anchors.fill: parent
url: initialUrl
onLoadingChanged: function(loadRequest) {
if (loadRequest.errorString)
console.error(loadRequest.errorString);
}
}
}
|