gpt4all/gpt4all-chat/qml/SettingsDialog.qml

126 lines
3.2 KiB
QML
Raw Normal View History

2023-04-23 13:58:07 +03:00
import QtCore
import QtQuick
import QtQuick.Controls
2023-04-24 06:56:33 +03:00
import QtQuick.Controls.Basic
import QtQuick.Dialogs
2023-04-23 13:58:07 +03:00
import QtQuick.Layouts
import Qt.labs.folderlistmodel
2023-04-23 13:58:07 +03:00
import download
2023-06-22 22:44:49 +03:00
import modellist
2023-04-23 13:58:07 +03:00
import network
import llm
2023-06-27 18:54:34 +03:00
import mysettings
2023-04-23 13:58:07 +03:00
2023-07-06 17:53:43 +03:00
MyDialog {
2023-04-23 13:58:07 +03:00
id: settingsDialog
modal: true
padding: 20
onOpened: {
Network.sendSettingsDialog();
}
signal downloadClicked
2023-04-23 13:58:07 +03:00
Item {
Accessible.role: Accessible.Dialog
Accessible.name: qsTr("Settings")
Accessible.description: qsTr("Contains various application settings")
2023-04-23 13:58:07 +03:00
}
2023-04-25 20:00:28 +03:00
2023-06-30 16:50:09 +03:00
ListModel {
id: stacksModel
ListElement {
title: qsTr("Models")
2023-06-30 16:50:09 +03:00
}
ListElement {
title: qsTr("Application")
2023-06-30 16:50:09 +03:00
}
ListElement {
title: qsTr("LocalDocs")
2023-06-30 16:50:09 +03:00
}
}
ScrollView {
id: stackList
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.left: parent.left
width: 200
ScrollBar.vertical.policy: ScrollBar.AsNeeded
clip: true
ListView {
id: listView
anchors.fill: parent
anchors.rightMargin: 10
model: stacksModel
delegate: Rectangle {
id: item
width: listView.width
height: titleLabel.height + 25
color: "transparent"
border.color: theme.backgroundLighter
border.width: index == listView.currentIndex ? 1 : 0
radius: 10
Text {
id: titleLabel
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.margins: 20
font.bold: index == listView.currentIndex
2023-06-30 16:50:09 +03:00
text: title
2023-08-07 20:54:13 +03:00
font.pixelSize: theme.fontSizeLarge
2023-06-30 16:50:09 +03:00
elide: Text.ElideRight
color: theme.textColor
width: 200
2023-07-11 21:58:54 +03:00
}
TapHandler {
onTapped: {
listView.currentIndex = index
2023-06-30 16:50:09 +03:00
}
}
}
}
}
StackLayout {
id: stackLayout
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.left: stackList.right
anchors.right: parent.right
currentIndex: listView.currentIndex
MySettingsStack {
title: qsTr("Model/Character Settings")
2023-06-30 16:50:09 +03:00
tabs: [
Component { ModelSettings { } }
2023-06-30 16:50:09 +03:00
]
}
MySettingsStack {
title: qsTr("Application General Settings")
2023-06-30 16:50:09 +03:00
tabs: [
Component { ApplicationSettings { } }
]
}
MySettingsStack {
title: qsTr("Local Document Collections")
2023-06-30 16:50:09 +03:00
tabs: [
Component {
LocalDocsSettings {
id: localDocsSettings
Component.onCompleted: {
localDocsSettings.downloadClicked.connect(settingsDialog.downloadClicked);
}
}
}
2023-06-30 16:50:09 +03:00
]
}
2023-04-23 13:58:07 +03:00
}
}