- src/markdown.{h,cpp}: convertitore minimale, due funzioni:
* toRichText() -> HTML per QML Text.RichText: grassetti (**x**/__x__),
corsivi (*x*/_x_ con confini di parola per non toccare snake_case),
titoli (#), liste (-/1.), citazioni (>), codice (`x` e blocchi ```,
in monospace), link [t](u) -> solo testo, barrato ~~x~~; escape di
< & > contro injection nel rich text
* toSpeech() -> testo piatto per il TTS: via recinti di codice, marcatori
di titoli/liste/citazioni, enfasi, backtick; link/immagini -> testo;
tabelle | a | b | -> "a, b"; righe vuote compattate
- ChatModel: nuovo ruolo contentRich (calcolato in C++, testabile);
incluso nei dataChanged dello streaming
- ChatPage: le bolle dell'assistente usano contentRich con
textFormat: Text.RichText; i messaggi utente restano testo semplice
- ApiClient::speak(): il testo passa da Markdown::toSpeech (niente più
simboli di formattazione letti ad alta voce)
- core-test: 19 casi nuovi per il convertitore (tutti locali, senza device)
Verificato: build zero warning + unit test completi.
67 lines
1.8 KiB
Prolog
67 lines
1.8 KiB
Prolog
TEMPLATE = app
|
|
TARGET = harbour-hermes
|
|
|
|
CONFIG += sailfishapp
|
|
CONFIG += c++11
|
|
|
|
QT += network
|
|
QT += multimedia
|
|
|
|
SOURCES += \
|
|
src/main.cpp \
|
|
src/settings.cpp \
|
|
src/cookiejar.cpp \
|
|
src/sseparser.cpp \
|
|
src/apiclient.cpp \
|
|
src/chatmodel.cpp \
|
|
src/sessionsmodel.cpp \
|
|
src/recorder.cpp \
|
|
src/voicerecorder.cpp \
|
|
src/player.cpp \
|
|
src/markdown.cpp
|
|
|
|
HEADERS += \
|
|
src/settings.h \
|
|
src/cookiejar.h \
|
|
src/sseparser.h \
|
|
src/apiclient.h \
|
|
src/chatmodel.h \
|
|
src/sessionsmodel.h \
|
|
src/recorder.h \
|
|
src/voicerecorder.h \
|
|
src/player.h \
|
|
src/markdown.h
|
|
|
|
OTHER_FILES += \
|
|
qml/harbour-hermes.qml \
|
|
qml/pages/*.qml \
|
|
qml/cover/*.qml \
|
|
rpm/harbour-hermes.spec \
|
|
rpm/harbour-hermes.desktop
|
|
|
|
DISTFILES += $$OTHER_FILES
|
|
|
|
# Icone installate via make install (struttura standard hicolor)
|
|
icons86.path = /usr/share/icons/hicolor/86x86/apps
|
|
icons86.files = $$PWD/icons/86x86/harbour-hermes.png
|
|
icons108.path = /usr/share/icons/hicolor/108x108/apps
|
|
icons108.files = $$PWD/icons/108x108/harbour-hermes.png
|
|
icons128.path = /usr/share/icons/hicolor/128x128/apps
|
|
icons128.files = $$PWD/icons/128x128/harbour-hermes.png
|
|
icons172.path = /usr/share/icons/hicolor/172x172/apps
|
|
icons172.files = $$PWD/icons/172x172/harbour-hermes.png
|
|
INSTALLS += icons86 icons108 icons128 icons172
|
|
|
|
# Traduzioni: l'inglese e' la lingua sorgente; it/fr/de tradotte.
|
|
# Con sailfishapp_i18n i .qm vengono generati in build e installati in
|
|
# /usr/share/harbour-hermes/translations, dove l'app li carica all'avvio
|
|
# in base alla lingua di sistema (pattern ufficiale Sailfish).
|
|
CONFIG += sailfishapp_i18n
|
|
|
|
TRANSLATIONS += \
|
|
translations/harbour-hermes-it.ts \
|
|
translations/harbour-hermes-fr.ts \
|
|
translations/harbour-hermes-de.ts
|
|
|
|
OTHER_FILES += translations/*.ts
|