blob: 1bc16f4c9d45f36532629cdfbcfef04520ab493f (
plain)
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
|
// Copyright (C) 2019 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import QtQml.Models
import QtQuick
import QtQuick.Controls
Rectangle {
id: root
signal closeRequested(int index)
signal drawerRequested
property int freezeDelay
property int discardDelay
property int currentIndex
property var currentTab: model.children[currentIndex]
property alias count: model.count
color: "white"
ObjectModel {
id: model
}
Component {
id: factory
WebTab {
readonly property int index : ObjectModel.index
anchors.fill: parent
visible: index == root.currentIndex
freezeDelay: root.freezeDelay
discardDelay: root.discardDelay
onCloseRequested: root.closeRequested(index)
onDrawerRequested: root.drawerRequested()
}
}
function createNewTab(properties) {
const tab = factory.createObject(root, properties)
model.append(tab)
return tab
}
function closeTab(index) {
const tab = model.get(index)
model.remove(index)
tab.destroy()
}
}
|