83 lines
2.3 KiB
QML
83 lines
2.3 KiB
QML
import QtQuick 2.13
|
|
import QtQuick.Controls 2.13
|
|
import QtQuick.Controls 1.0 as QQC1
|
|
|
|
import "../controls/styles"
|
|
|
|
QQC1.TabView {
|
|
id: tabs
|
|
|
|
property int tabHeight: 40
|
|
property var tabComponent
|
|
|
|
function createEmptyTab(profile, createAsStartPage) {
|
|
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;
|
|
createAsStartPage = createAsStartPage || tabs.count === 1
|
|
tab.title = Qt.binding(function() {
|
|
if (tab.item.title) {
|
|
return tab.item.title
|
|
}
|
|
|
|
if (createAsStartPage) {
|
|
//% "Start Page"
|
|
return qsTrId("start-page")
|
|
}
|
|
//% "New Tab"
|
|
return qsTrId("new-tab")
|
|
})
|
|
|
|
if (createAsStartPage) {
|
|
tab.item.url = "https://dap.ps"
|
|
}
|
|
|
|
tab.item.profile = profile;
|
|
if (localAccountSensitiveSettings.browserHomepage !== "") {
|
|
tab.item.url = localAccountSensitiveSettings.browserHomepage
|
|
}
|
|
return tab;
|
|
}
|
|
|
|
function createDownloadTab(profile) {
|
|
var tab = addTab("", tabComponent);
|
|
tab.active = true;
|
|
//% "Downloads Page"
|
|
tab.title = qsTrId("downloads-page")
|
|
tab.item.profile = profile
|
|
tab.item.url = "status://downloads";
|
|
}
|
|
|
|
function indexOfView(view) {
|
|
for (let i = 0; i < tabs.count; ++i)
|
|
if (tabs.getTab(i).item === view)
|
|
return i
|
|
return -1
|
|
}
|
|
|
|
function removeView(index) {
|
|
if (tabs.count === 1) {
|
|
tabs.createEmptyTab(currentWebView.profile, true)
|
|
}
|
|
tabs.removeTab(index)
|
|
}
|
|
|
|
function openNewTabClicked() {
|
|
addNewTab()
|
|
}
|
|
|
|
function closeButtonClicked(index) {
|
|
removeView(index)
|
|
}
|
|
|
|
Component.onCompleted: {
|
|
defaultProfile.downloadRequested.connect(onDownloadRequested);
|
|
otrProfile.downloadRequested.connect(onDownloadRequested);
|
|
var tab = createEmptyTab(defaultProfile);
|
|
// For Devs: Uncomment the next lien if you want to use the simpeldapp on first load
|
|
// tab.item.url = Web3ProviderStore.determineRealURL("https://simpledapp.eth");
|
|
}
|
|
|
|
style: BrowserTabStyle {}
|
|
}
|