aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/assistant/PresetsModule.qml
blob: 8617b020c46961c50801de2aa285a9a85ab4d6bf (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
// Copyright (C) 2026 Danilo M. <danix@danix.xyz>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as
// published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.

import QtQuick
import "../.."
import "../../assistant/Presets.js" as Presets

// The assistant canvas's Ask row: the canned questions offered for the
// staged files. They live in Prefs and the canvas reads them live, so
// unlike the daemon's settings these need no restart.
Module {
    name: "presets"
    label: "Ask presets"
    // nf-fa-lightbulb_o, present in Inconsolata Nerd Font.
    icon: ""
    settings: true
    group: "Assistant"
    keywords: ["assistant", "canvas", "ask", "question", "prompt", "summarize", "files"]
    searchItems: Presets.list(Prefs.presets).map((p, i) => ({ text: p.label + ": " + p.prompt, key: "preset:" + i }))

    page: Component {
        Page {
            title: "Ask presets"
            PresetsPage { width: parent.width }
        }
    }
}