Warning, /maui/fiery/src/main.qml is written in an unsupported language. File is not indexed.
0001 import QtQuick 2.14 0002 import QtQuick.Controls 2.14 0003 import QtQuick.Layouts 1.3 0004 import QtWebEngine 1.9 0005 import Qt.labs.settings 1.0 0006 0007 import org.mauikit.controls 1.3 as Maui 0008 0009 import org.maui.fiery 1.0 as Fiery 0010 0011 import "views" 0012 import "views/widgets" 0013 0014 Maui.ApplicationWindow 0015 { 0016 id: root 0017 title: browserView.currentTab.title 0018 0019 readonly property var views : ({browser: 0, tabs: 1, history: 2}) 0020 0021 readonly property alias currentBrowser : _appView.currentBrowser 0022 readonly property alias browserView : _appView.browserView 0023 0024 Settings 0025 { 0026 id: appSettings 0027 category: "Browser" 0028 0029 property url homePage: "https://duckduckgo.com" 0030 property url searchEnginePage: "https://duckduckgo.com/?q=" 0031 property color backgroundColor : root.Maui.Theme.backgroundColor 0032 0033 property bool accelerated2dCanvasEnabled : true 0034 property bool allowGeolocationOnInsecureOrigins : false 0035 property bool allowRunningInsecureContent : false 0036 property bool allowWindowActivationFromJavaScript : false 0037 property bool autoLoadIconsForPage : true 0038 property bool autoLoadImages : true 0039 // property bool defaultTextEncoding : string 0040 property bool dnsPrefetchEnabled : false 0041 property bool errorPageEnabled : true 0042 property bool focusOnNavigationEnabled : false 0043 property bool fullscreenSupportEnabled : false 0044 property bool hyperlinkAuditingEnabled : false 0045 property bool javascriptCanAccessClipboard : true 0046 property bool javascriptCanOpenWindows : true 0047 property bool javascriptCanPaste : true 0048 property bool javascriptEnabled : true 0049 property bool linksIncludedInFocusChain : true 0050 property bool localContentCanAccessFileUrls : true 0051 property bool localContentCanAccessRemoteUrls : false 0052 property bool localStorageEnabled : true 0053 property bool pdfViewerEnabled : true 0054 property bool playbackRequiresUserGesture : true 0055 property bool pluginsEnabled : false 0056 property bool printElementBackgrounds : true 0057 property bool screenCaptureEnabled : true 0058 property bool showScrollBars : true 0059 property bool spatialNavigationEnabled : false 0060 property bool touchIconsEnabled : false 0061 // property bool unknownUrlSchemePolicy : WebEngineSettings::UnknownUrlSchemePolicy 0062 property bool webGLEnabled : true 0063 property bool webRTCPublicInterfacesOnly : false 0064 0065 property string downloadsPath : browserView.profile.downloadPath 0066 0067 property bool restoreSession: true 0068 property bool switchToTab: false 0069 property double zoomFactor 0070 0071 property bool autoSave: false 0072 } 0073 0074 Fiery.Surf 0075 { 0076 id: _surf 0077 } 0078 0079 SettingsDialog 0080 { 0081 id: _settingsDialog 0082 } 0083 0084 AppView 0085 { 0086 id: _appView 0087 anchors.fill: parent 0088 } 0089 0090 0091 property WebEngineProfile profile: Fiery.FieryWebProfile 0092 { 0093 // httpUserAgent: tabs.currentItem.userAgent.userAgent 0094 // offTheRecord: tabs.privateTabsMode 0095 // storageName: tabs.privateTabsMode ? "Private" : Settings.profile 0096 0097 // questionLoader: rootPage.questionLoader 0098 // urlInterceptor: typeof AdblockUrlInterceptor !== "undefined" && AdblockUrlInterceptor 0099 0100 onDownloadFinished: 0101 { 0102 switch(download.state) 0103 { 0104 case WebEngineDownloadItem.DownloadCompleted: notify("dialog-warning", i18n("Download Finished"), i18n("File has been saved."), ()=> {console.log(download.downloadFileName)}, i18n("Open")) 0105 } 0106 } 0107 0108 // onPresentNotification: 0109 // { 0110 // root.notify("dialog-question", notification.title, notification.message, () =>{ notification.click() }, i18n("Accept")) 0111 // notification.show() 0112 // } 0113 } 0114 0115 Connections 0116 { 0117 target: Fiery.DownloadsManager 0118 function onNewDownload(download) 0119 { 0120 root.notify("dialog-question", download.downloadFileName, i18n("Do you want to download and save this file?"), () =>{ download.resume() }, i18n("Accept")) 0121 } 0122 } 0123 0124 property Component windowComponent: Maui.ApplicationWindow 0125 { 0126 // Destroy on close to release the Window's QML resources. 0127 // Because it was created with a parent, it won't be garbage-collected. 0128 onClosing: 0129 { 0130 console.log("Closing new window") 0131 destroy() 0132 } 0133 0134 visible: true 0135 0136 property WebEngineView webView: _delegate.currentBrowser 0137 property alias appView : _delegate 0138 0139 AppView 0140 { 0141 id: _delegate 0142 anchors.fill: parent 0143 } 0144 } 0145 0146 //The urls represent the split view, so it might be one or two. 0147 function newWindow(urls) 0148 { 0149 console.log("GOT", urls, urls[0]) 0150 var newWindow = windowComponent.createObject(root) 0151 newWindow.webView.url = urls[0] 0152 0153 if(urls[1]) 0154 { 0155 newWindow.appView.browserView.openSplit(urls[1]) 0156 } 0157 } 0158 0159 }