mirror of
https://github.com/nomic-ai/gpt4all.git
synced 2025-06-26 07:23:38 +00:00
Break out the drawer into own component.
This commit is contained in:
parent
482f543675
commit
1b1c3f6333
@ -70,6 +70,7 @@ qt_add_qml_module(chat
|
|||||||
VERSION 1.0
|
VERSION 1.0
|
||||||
QML_FILES
|
QML_FILES
|
||||||
main.qml
|
main.qml
|
||||||
|
qml/ChatDrawer.qml
|
||||||
qml/ModelDownloaderDialog.qml
|
qml/ModelDownloaderDialog.qml
|
||||||
qml/NetworkDialog.qml
|
qml/NetworkDialog.qml
|
||||||
qml/NewVersionDialog.qml
|
qml/NewVersionDialog.qml
|
||||||
|
126
main.qml
126
main.qml
@ -514,138 +514,16 @@ Window {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Drawer {
|
ChatDrawer {
|
||||||
id: drawer
|
id: drawer
|
||||||
y: header.height
|
y: header.height
|
||||||
width: 0.3 * window.width
|
width: 0.3 * window.width
|
||||||
height: window.height - y
|
height: window.height - y
|
||||||
modal: false
|
onDownloadClicked: {
|
||||||
opacity: 0.9
|
|
||||||
|
|
||||||
background: Rectangle {
|
|
||||||
height: parent.height
|
|
||||||
color: theme.backgroundDarkest
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
anchors.fill: parent
|
|
||||||
anchors.margins: 30
|
|
||||||
|
|
||||||
Accessible.role: Accessible.Pane
|
|
||||||
Accessible.name: qsTr("Drawer on the left of the application")
|
|
||||||
Accessible.description: qsTr("Drawer that is revealed by pressing the hamburger button")
|
|
||||||
|
|
||||||
Label {
|
|
||||||
id: conversationList
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.top: parent.top
|
|
||||||
wrapMode: Text.WordWrap
|
|
||||||
text: qsTr("Chat lists of specific conversations coming soon! Check back often for new features :)")
|
|
||||||
color: theme.textColor
|
|
||||||
|
|
||||||
Accessible.role: Accessible.Paragraph
|
|
||||||
Accessible.name: qsTr("Coming soon")
|
|
||||||
Accessible.description: text
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
|
||||||
id: discordLink
|
|
||||||
textFormat: Text.RichText
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.top: conversationList.bottom
|
|
||||||
anchors.topMargin: 20
|
|
||||||
wrapMode: Text.WordWrap
|
|
||||||
text: qsTr("Check out our discord channel <a href=\"https://discord.gg/4M2QFmTt2k\">https://discord.gg/4M2QFmTt2k</a>")
|
|
||||||
onLinkActivated: { Qt.openUrlExternally("https://discord.gg/4M2QFmTt2k") }
|
|
||||||
color: theme.textColor
|
|
||||||
linkColor: theme.linkColor
|
|
||||||
|
|
||||||
Accessible.role: Accessible.Link
|
|
||||||
Accessible.name: qsTr("Discord link")
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
|
||||||
id: nomicProps
|
|
||||||
textFormat: Text.RichText
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.top: discordLink.bottom
|
|
||||||
anchors.topMargin: 20
|
|
||||||
wrapMode: Text.WordWrap
|
|
||||||
text: qsTr("Thanks to <a href=\"https://home.nomic.ai\">Nomic AI</a> and the community for contributing so much great data and energy!")
|
|
||||||
onLinkActivated: { Qt.openUrlExternally("https://home.nomic.ai") }
|
|
||||||
color: theme.textColor
|
|
||||||
linkColor: theme.linkColor
|
|
||||||
|
|
||||||
Accessible.role: Accessible.Paragraph
|
|
||||||
Accessible.name: qsTr("Thank you blurb")
|
|
||||||
Accessible.description: qsTr("Contains embedded link to https://home.nomic.ai")
|
|
||||||
}
|
|
||||||
|
|
||||||
Button {
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.bottom: downloadButton.top
|
|
||||||
anchors.bottomMargin: 20
|
|
||||||
padding: 15
|
|
||||||
contentItem: Text {
|
|
||||||
text: qsTr("Check for updates...")
|
|
||||||
horizontalAlignment: Text.AlignHCenter
|
|
||||||
color: theme.textColor
|
|
||||||
|
|
||||||
Accessible.role: Accessible.Button
|
|
||||||
Accessible.name: text
|
|
||||||
Accessible.description: qsTr("Use this to launch an external application that will check for updates to the installer")
|
|
||||||
}
|
|
||||||
|
|
||||||
background: Rectangle {
|
|
||||||
opacity: .5
|
|
||||||
border.color: theme.backgroundLightest
|
|
||||||
border.width: 1
|
|
||||||
radius: 10
|
|
||||||
color: theme.backgroundLight
|
|
||||||
}
|
|
||||||
|
|
||||||
onClicked: {
|
|
||||||
if (!LLM.checkForUpdates())
|
|
||||||
checkForUpdatesError.open()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Button {
|
|
||||||
id: downloadButton
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.bottom: parent.bottom
|
|
||||||
padding: 15
|
|
||||||
contentItem: Text {
|
|
||||||
text: qsTr("Download new models...")
|
|
||||||
horizontalAlignment: Text.AlignHCenter
|
|
||||||
color: theme.textColor
|
|
||||||
|
|
||||||
Accessible.role: Accessible.Button
|
|
||||||
Accessible.name: text
|
|
||||||
Accessible.description: qsTr("Use this to launch a dialog to download new models")
|
|
||||||
}
|
|
||||||
|
|
||||||
background: Rectangle {
|
|
||||||
opacity: .5
|
|
||||||
border.color: theme.backgroundLightest
|
|
||||||
border.width: 1
|
|
||||||
radius: 10
|
|
||||||
color: theme.backgroundLight
|
|
||||||
}
|
|
||||||
|
|
||||||
onClicked: {
|
|
||||||
downloadNewModels.open()
|
downloadNewModels.open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: conversation
|
id: conversation
|
||||||
color: theme.backgroundLight
|
color: theme.backgroundLight
|
||||||
|
141
qml/ChatDrawer.qml
Normal file
141
qml/ChatDrawer.qml
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
import QtCore
|
||||||
|
import QtQuick
|
||||||
|
import QtQuick.Controls
|
||||||
|
import QtQuick.Controls.Basic
|
||||||
|
import QtQuick.Layouts
|
||||||
|
import llm
|
||||||
|
import download
|
||||||
|
import network
|
||||||
|
|
||||||
|
Drawer {
|
||||||
|
id: chatDrawer
|
||||||
|
modal: false
|
||||||
|
opacity: 0.9
|
||||||
|
|
||||||
|
Theme {
|
||||||
|
id: theme
|
||||||
|
}
|
||||||
|
|
||||||
|
signal downloadClicked
|
||||||
|
|
||||||
|
background: Rectangle {
|
||||||
|
height: parent.height
|
||||||
|
color: theme.backgroundDarkest
|
||||||
|
}
|
||||||
|
|
||||||
|
Item {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.margins: 30
|
||||||
|
|
||||||
|
Accessible.role: Accessible.Pane
|
||||||
|
Accessible.name: qsTr("Drawer on the left of the application")
|
||||||
|
Accessible.description: qsTr("Drawer that is revealed by pressing the hamburger button")
|
||||||
|
|
||||||
|
Label {
|
||||||
|
id: conversationList
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.top: parent.top
|
||||||
|
wrapMode: Text.WordWrap
|
||||||
|
text: qsTr("Chat lists of specific conversations coming soon! Check back often for new features :)")
|
||||||
|
color: theme.textColor
|
||||||
|
|
||||||
|
Accessible.role: Accessible.Paragraph
|
||||||
|
Accessible.name: qsTr("Coming soon")
|
||||||
|
Accessible.description: text
|
||||||
|
}
|
||||||
|
|
||||||
|
Label {
|
||||||
|
id: discordLink
|
||||||
|
textFormat: Text.RichText
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.top: conversationList.bottom
|
||||||
|
anchors.topMargin: 20
|
||||||
|
wrapMode: Text.WordWrap
|
||||||
|
text: qsTr("Check out our discord channel <a href=\"https://discord.gg/4M2QFmTt2k\">https://discord.gg/4M2QFmTt2k</a>")
|
||||||
|
onLinkActivated: { Qt.openUrlExternally("https://discord.gg/4M2QFmTt2k") }
|
||||||
|
color: theme.textColor
|
||||||
|
linkColor: theme.linkColor
|
||||||
|
|
||||||
|
Accessible.role: Accessible.Link
|
||||||
|
Accessible.name: qsTr("Discord link")
|
||||||
|
}
|
||||||
|
|
||||||
|
Label {
|
||||||
|
id: nomicProps
|
||||||
|
textFormat: Text.RichText
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.top: discordLink.bottom
|
||||||
|
anchors.topMargin: 20
|
||||||
|
wrapMode: Text.WordWrap
|
||||||
|
text: qsTr("Thanks to <a href=\"https://home.nomic.ai\">Nomic AI</a> and the community for contributing so much great data and energy!")
|
||||||
|
onLinkActivated: { Qt.openUrlExternally("https://home.nomic.ai") }
|
||||||
|
color: theme.textColor
|
||||||
|
linkColor: theme.linkColor
|
||||||
|
|
||||||
|
Accessible.role: Accessible.Paragraph
|
||||||
|
Accessible.name: qsTr("Thank you blurb")
|
||||||
|
Accessible.description: qsTr("Contains embedded link to https://home.nomic.ai")
|
||||||
|
}
|
||||||
|
|
||||||
|
Button {
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.bottom: downloadButton.top
|
||||||
|
anchors.bottomMargin: 20
|
||||||
|
padding: 15
|
||||||
|
contentItem: Text {
|
||||||
|
text: qsTr("Check for updates...")
|
||||||
|
horizontalAlignment: Text.AlignHCenter
|
||||||
|
color: theme.textColor
|
||||||
|
|
||||||
|
Accessible.role: Accessible.Button
|
||||||
|
Accessible.name: text
|
||||||
|
Accessible.description: qsTr("Use this to launch an external application that will check for updates to the installer")
|
||||||
|
}
|
||||||
|
|
||||||
|
background: Rectangle {
|
||||||
|
opacity: .5
|
||||||
|
border.color: theme.backgroundLightest
|
||||||
|
border.width: 1
|
||||||
|
radius: 10
|
||||||
|
color: theme.backgroundLight
|
||||||
|
}
|
||||||
|
|
||||||
|
onClicked: {
|
||||||
|
if (!LLM.checkForUpdates())
|
||||||
|
checkForUpdatesError.open()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Button {
|
||||||
|
id: downloadButton
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
padding: 15
|
||||||
|
contentItem: Text {
|
||||||
|
text: qsTr("Download new models...")
|
||||||
|
horizontalAlignment: Text.AlignHCenter
|
||||||
|
color: theme.textColor
|
||||||
|
|
||||||
|
Accessible.role: Accessible.Button
|
||||||
|
Accessible.name: text
|
||||||
|
Accessible.description: qsTr("Use this to launch a dialog to download new models")
|
||||||
|
}
|
||||||
|
|
||||||
|
background: Rectangle {
|
||||||
|
opacity: .5
|
||||||
|
border.color: theme.backgroundLightest
|
||||||
|
border.width: 1
|
||||||
|
radius: 10
|
||||||
|
color: theme.backgroundLight
|
||||||
|
}
|
||||||
|
|
||||||
|
onClicked: {
|
||||||
|
downloadClicked() }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user