Fix tabview

pull/6/head
reionwong 3 years ago
parent 6d59082ad9
commit 3ce786fd12

@ -43,7 +43,6 @@ FishUI.Window {
readonly property QMLTermWidget currentTerminal: currentItem ? currentItem.terminal : null
GlobalSettings { id: settings }
ObjectModel { id: tabsModel }
ExitPromptDialog {
id: exitPrompt
@ -77,8 +76,8 @@ FishUI.Window {
}
// Exit prompt.
for (var i = 0; i < tabsModel.count; ++i) {
var obj = tabsModel.get(i)
for (var i = 0; i < _tabView.contentModel.count; ++i) {
var obj = _tabView.contentModel.get(i)
if (obj.session.hasActiveProcess) {
exitPrompt.index = -1
exitPrompt.visible = true
@ -126,7 +125,7 @@ FishUI.Window {
}
onCloseClicked: {
_tabView.closeTab(index)
root.closeProtection(index)
}
}
}
@ -152,23 +151,19 @@ FishUI.Window {
}
function openTab(path) {
if (tabsModel.count > 7)
if (_tabView.contentModel.count > 7)
return
const component = Qt.createComponent("Terminal.qml");
if (component.status === Component.Ready) {
// const object = component.createObject(tabsModel, {'path': path})
// tabsModel.append(object)
// const index = tabsModel.count - 1
// _view.currentIndex = index
// object.terminalClosed.connect(() => closeTab(index))
_tabView.addTab(component, {})
const index = _tabView.contentModel.count
const object = _tabView.addTab(component, {})
object.terminalClosed.connect(() => closeTab(index))
}
}
function closeProtection(index) {
var obj = tabsModel.get(index)
var obj = _tabView.contentModel.get(index)
if (obj.session.hasActiveProcess) {
exitPrompt.index = index
exitPrompt.visible = true
@ -179,17 +174,9 @@ FishUI.Window {
}
function closeTab(index) {
tabsModel.remove(index)
if (index === tabsModel.count) {
_tabView.currentIndex = tabsModel.count - 1
} else if (index === _tabView.currentIndex) {
// Reion: Need to reset index.
_tabView.currentIndex = -1
_tabView.currentIndex = index
}
_tabView.closeTab(index)
if (tabsModel.count == 0)
if (_tabView.contentModel.count === 0)
Qt.quit()
}
@ -200,7 +187,7 @@ FishUI.Window {
function toggleTab() {
var nextIndex = _tabView.currentIndex
++nextIndex
if (nextIndex > tabsModel.count - 1)
if (nextIndex > _tabView.contentModel.count - 1)
nextIndex = 0
_tabView.currentIndex = nextIndex

Loading…
Cancel
Save