diff options
Diffstat (limited to 'examples/webengine/quicknanobrowser/BrowserWindow.qml')
-rw-r--r-- | examples/webengine/quicknanobrowser/BrowserWindow.qml | 47 |
1 files changed, 20 insertions, 27 deletions
diff --git a/examples/webengine/quicknanobrowser/BrowserWindow.qml b/examples/webengine/quicknanobrowser/BrowserWindow.qml index aa55bd889..0df17f0ee 100644 --- a/examples/webengine/quicknanobrowser/BrowserWindow.qml +++ b/examples/webengine/quicknanobrowser/BrowserWindow.qml @@ -85,22 +85,6 @@ ApplicationWindow { property alias pluginsEnabled: pluginsEnabled.checked; } - WebEngineProfile { - id: defaultProfile - storageName: "Default" - httpCacheType: httpDiskCacheEnabled.checked ? WebEngineProfile.DiskHttpCache : WebEngineProfile.MemoryHttpCache; - onDownloadRequested: { - downloadView.visible = true - downloadView.append(download) - download.accept() - } - } - - WebEngineProfile { - id: otrProfile - offTheRecord: true - } - Action { shortcut: "Ctrl+D" onTriggered: { @@ -125,7 +109,7 @@ ApplicationWindow { Action { shortcut: "Ctrl+T" onTriggered: { - tabs.createEmptyTab() + tabs.createEmptyTab(currentWebView.profile) tabs.currentIndex = tabs.count - 1 addressBar.forceActiveFocus(); addressBar.selectAll(); @@ -256,13 +240,15 @@ ApplicationWindow { id: offTheRecordEnabled text: "Off The Record" checkable: true - checked: false + checked: currentWebView.profile.offTheRecord + onToggled: currentWebView.profile = checked ? otrProfile : defaultProfile; } MenuItem { id: httpDiskCacheEnabled text: "HTTP Disk Cache" - checkable: true - checked: (defaultProfile.httpCacheType == WebEngineProfile.DiskHttpCache) + checkable: !currentWebView.profile.offTheRecord + checked: (currentWebView.profile.httpCacheType == WebEngineProfile.DiskHttpCache) + onToggled: currentWebView.profile.httpCacheType = checked ? WebEngineProfile.DiskHttpCache : WebEngineProfile.MemoryHttpCache } } } @@ -289,23 +275,23 @@ ApplicationWindow { TabView { id: tabs - function createEmptyTab() { + function createEmptyTab(profile) { var tab = addTab("", tabComponent) // We must do this first to make sure that tab.active gets set so that tab.item gets instantiated immediately. tab.active = true tab.title = Qt.binding(function() { return tab.item.title }) + tab.item.profile = profile return tab } anchors.fill: parent - Component.onCompleted: createEmptyTab() + Component.onCompleted: createEmptyTab(defaultProfile) Component { id: tabComponent WebEngineView { id: webEngineView focus: true - profile: offTheRecordEnabled.checked ? otrProfile : defaultProfile onLinkHovered: { if (hoveredUrl == "") @@ -344,17 +330,17 @@ ApplicationWindow { if (!request.userInitiated) print("Warning: Blocked a popup window.") else if (request.destination == WebEngineView.NewViewInTab) { - var tab = tabs.createEmptyTab() + var tab = tabs.createEmptyTab(currentWebView.profile) tabs.currentIndex = tabs.count - 1 request.openIn(tab.item) } else if (request.destination == WebEngineView.NewViewInBackgroundTab) { - var tab = tabs.createEmptyTab() + var tab = tabs.createEmptyTab(currentWebView.profile) request.openIn(tab.item) } else if (request.destination == WebEngineView.NewViewInDialog) { - var dialog = applicationRoot.createDialog() + var dialog = applicationRoot.createDialog(currentWebView.profile) request.openIn(dialog.currentWebView) } else { - var window = applicationRoot.createWindow() + var window = applicationRoot.createWindow(currentWebView.profile) request.openIn(window.currentWebView) } } @@ -409,6 +395,13 @@ ApplicationWindow { visible: false anchors.fill: parent } + + function onDownloadRequested(download) { + downloadView.visible = true + downloadView.append(download) + download.accept() + } + Rectangle { id: statusBubble color: "oldlace" |