Files
yacreader/YACReader/translator.h
luisangelsm 3709b6e737
Some checks failed
Build / Initialization (push) Has been cancelled
Build / Code Format Validation (push) Has been cancelled
Build / Linux (Qt6) (push) Has been cancelled
Build / Linux (Qt6 + 7zip) (push) Has been cancelled
Build / macOS (Qt6 Universal) (push) Has been cancelled
Build / Windows x64 (Qt6) (push) Has been cancelled
Build / Windows ARM64 (Qt6) (push) Has been cancelled
Build / Docker amd64 Image (push) Has been cancelled
Build / Docker arm64 Image (push) Has been cancelled
Build / Publish Dev Builds (push) Has been cancelled
Build / Publish Release (push) Has been cancelled
Build / Publish YACReader10 Pre-release Builds (push) Has been cancelled
Format includes using clang-format
2026-03-13 18:21:38 +01:00

83 lines
1.6 KiB
C++

#ifndef __TRANSLATOR_H
#define __TRANSLATOR_H
class QMouseEvent;
class QPoint;
class QTextEdit;
class QComboBox;
class QLabel;
class QPushButton;
class YACReaderBusyWidget;
class QTextToSpeech;
#include "themable.h"
#include "viewer.h"
#include <QThread>
#include <QUrl>
#include <QWidget>
class YACReaderTranslator : public QWidget, protected Themable
{
Q_OBJECT
public:
YACReaderTranslator(Viewer *parent = nullptr);
public slots:
void play();
protected slots:
void translate();
void setTranslation(const QString &string);
void error();
void clear();
protected:
void applyTheme(const Theme &theme) override;
void mousePressEvent(QMouseEvent *event) override;
void mouseReleaseEvent(QMouseEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override;
void hideResults();
void populateCombos();
bool drag;
QPoint click;
private:
QTextToSpeech *tts;
QString speakText;
QString speakLocale;
QTextEdit *text;
QComboBox *from;
QComboBox *to;
QLabel *titleLabel;
QLabel *resultsTitle;
QLabel *arrowLabel;
QPushButton *speakButton;
QPushButton *closeButton;
QPushButton *searchButton;
QLabel *resultText;
YACReaderBusyWidget *busyIndicator;
QPushButton *clearButton;
};
class TranslationLoader : public QThread
{
Q_OBJECT
public:
TranslationLoader(QString text, QString from, QString to);
signals:
void requestFinished(QString);
void timeOut();
void error();
private:
QString text;
QString from;
QString to;
void run() override;
};
#endif