111 lines
3.9 KiB
QML
111 lines
3.9 KiB
QML
import QtQuick
|
|
import qs.config
|
|
import qs.services
|
|
|
|
Item {
|
|
id: root
|
|
|
|
Component.onCompleted: ScreenIntelligence.refresh()
|
|
|
|
Timer {
|
|
id: launchDelay
|
|
interval: 180
|
|
onTriggered: Capture.openIntelligence()
|
|
}
|
|
|
|
Flickable {
|
|
anchors.fill: parent
|
|
clip: true
|
|
contentWidth: width
|
|
contentHeight: content.implicitHeight + 64
|
|
boundsBehavior: Flickable.StopAtBounds
|
|
|
|
Column {
|
|
id: content
|
|
width: parent.width - 68
|
|
x: 34
|
|
y: 30
|
|
spacing: 16
|
|
|
|
Text {
|
|
text: "Screen Intelligence"
|
|
color: Theme.fg
|
|
font.family: Theme.fontFamily
|
|
font.pixelSize: 27
|
|
font.weight: Font.DemiBold
|
|
}
|
|
Text {
|
|
text: "Turn text and codes on screen into content you can use."
|
|
color: Theme.fgDim
|
|
font.family: Theme.fontFamily
|
|
font.pixelSize: Theme.fontSize
|
|
bottomPadding: 6
|
|
}
|
|
|
|
SettingsCard {
|
|
title: "Read anything on screen"
|
|
subtitle: "Select a region, window, or display. Panama recognizes it locally and gives you clean follow-up actions."
|
|
|
|
SettingRow {
|
|
icon: ""
|
|
label: "Read screen text"
|
|
detail: "Copy, search, translate, or open detected links"
|
|
controlWidth: 160
|
|
divider: false
|
|
SettingsButton {
|
|
anchors.right: parent.right
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
text: "Start reading"
|
|
tone: "accent"
|
|
enabled: ScreenIntelligence.ocrReady && ScreenIntelligence.englishReady
|
|
onClicked: {
|
|
ShellState.closeSettings();
|
|
launchDelay.restart();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
SettingsCard {
|
|
title: "Local recognition"
|
|
subtitle: "The screen image stays in Panama's cache and is deleted when you dismiss the result."
|
|
|
|
SettingRow {
|
|
label: "Text recognition"
|
|
detail: "Tesseract with the English language model"
|
|
value: ScreenIntelligence.ocrReady && ScreenIntelligence.englishReady ? "Ready" : "Needs install"
|
|
}
|
|
SettingRow {
|
|
label: "QR & barcodes"
|
|
detail: "ZBar recognizes codes alongside ordinary text"
|
|
value: ScreenIntelligence.codeReady ? "Ready" : "Needs install"
|
|
}
|
|
SettingRow {
|
|
label: "Privacy"
|
|
detail: "Only Search, Translate, and Open send the selected result to another application or service"
|
|
value: "Local first"
|
|
divider: false
|
|
}
|
|
}
|
|
|
|
SettingsCard {
|
|
title: "Shortcut"
|
|
SettingRow {
|
|
label: "Read a screen selection"
|
|
detail: "Also available as Read in the Print-screen picker"
|
|
value: "Super + Shift + S"
|
|
controlWidth: 190
|
|
divider: ScreenIntelligence.ocrReady && ScreenIntelligence.codeReady && ScreenIntelligence.englishReady
|
|
}
|
|
SettingRow {
|
|
visible: !ScreenIntelligence.ocrReady || !ScreenIntelligence.codeReady || !ScreenIntelligence.englishReady
|
|
label: "Install recognition engines"
|
|
detail: "sudo dnf install -y tesseract zbar"
|
|
value: "Required once"
|
|
divider: false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|