Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
machinetranslationdialog.h
Go to the documentation of this file.
1// Copyright (C) 2025 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef MACHINETRANSLATIONDIALOG_H
5#define MACHINETRANSLATIONDIALOG_H
6
7#include <QDialog>
8#include <QMutex>
9
11
12namespace Ui {
13class MachineTranslationDialog;
14}
15
16class MultiDataModel;
19class MultiDataIndex;
20
22{
24public:
25 explicit MachineTranslationDialog(QWidget *parent = nullptr);
27
29
30private:
31 void refresh(bool init);
32 void logProgress(const QList<QStringList> &table);
33 void logInfo(const QString &info);
34 void logError(const QString &error);
35 bool discardTranslations();
36 void updateStatus();
37
38 MultiDataModel *m_dataModel;
39 QHash<const TranslatorMessage *, MultiDataIndex> m_ongoingTranslations;
41 QMutex m_mutex;
42 std::unique_ptr<Ui::MachineTranslationDialog> m_ui;
43 std::unique_ptr<MachineTranslator> m_translator;
44 int m_failedTranslations = 0;
45 int m_sentTexts = 0;
46
47private slots:
48 void stop();
49 void translateSelection();
50 void onBatchTranslated(QHash<const TranslatorMessage *, QString> translations);
51 void onFilterChanged(int id);
52 void applyTranslations();
53 void onTranslationFailed(QList<const TranslatorMessage *>);
54 void connectToOllama();
55};
56
57QT_END_NAMESPACE
58
59#endif // MACHINETRANSLATIONDIALOG_H
void setPhraseBooks(const QList< PhraseBook * > &phrasebooks, int modelIndex)
CheckableListModel(QObject *parent=0)
Qt::ItemFlags flags(const QModelIndex &index) const override
Returns the item flags for the given index.
int message() const
TranslationType translationType() const
int group() const
bool isValid() const
void updateStatistics()
void clear()
FocusWatcher(MessageEditor *msgedit, QObject *parent)
bool eventFilter(QObject *object, QEvent *event) override
Filters events if this object has been installed as an event filter for the watched object.
void setDataModel(MultiDataModel *dm)
~MainWindow() override
void writeConfig()
void closeEvent(QCloseEvent *e) override
This event handler is called with the given event when Qt receives a window close request for a top-l...
bool openFiles(const QStringList &names)
bool eventFilter(QObject *obj, QEvent *ev) override
Filters events if this object has been installed as an event filter for the watched object.
void readConfig()
int activeModel() const
void setEditorFocusForModel(int model)
void setUnfinishedEditorFocus()
bool focusNextUnfinished()
void activeModelChanged(int model)
void showMessage(const MultiDataIndex &index)
bool danger() const
bool isFinished() const
const TranslatorMessage & message() const
TranslatorMessage::Type type() const
int lineNumber() const
bool isObsolete() const
void setModel(int model)
int model() const
MultiDataIndex(TranslationType type=TEXTBASED, int model=-1, int group=-1, int message=-1)
MultiDataModelIterator(TranslationType type, MultiDataModel *model=0, int modelNo=-1, int groupNo=0, int messageNo=0)
MessageItem * current() const
bool isModified(int model) const
int labelCount() const
MessageItem * messageItem(const MultiDataIndex &index, int model) const
void setModified(int model, bool dirty)
MultiGroupItem * multiGroupItem(const MultiDataIndex &index) const
DataModel * model(int i)
bool isModified() const
MultiGroupItem * multiGroupItem(int idx, TranslationType type) const
void languageChanged(int model)
int getNumFinished() const
void setDanger(const MultiDataIndex &index, bool danger)
int modelCount() const
bool isModelWritable(int model) const
MultiMessageItem * multiMessageItem(const MultiDataIndex &index) const
int getNumEditable() const
int contextCount() const
void translationChanged(const MultiDataIndex &index)
void multiGroupDataChanged(const MultiDataIndex &index)
MessageItem * messageItem(const MultiDataIndex &index) const
void setFinished(const MultiDataIndex &index, bool finished)
void messageDataChanged(const MultiDataIndex &index)
void close(int model)
bool isModified() const
Definition phrase.h:68
void listChanged()
void update()
void setCurrentMessageFromGuess(int modelIndex, const Candidate &cand)
Definition qlist.h:80
bool setSourceContext(int model, MessageItem *messageItem)
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
\reimp
SortedGroupsModel(QObject *parent, MultiDataModel *model, TranslationType translationType)
SortedMessagesModel(QObject *parent, MultiDataModel *model, TranslationType translationType)
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
\reimp
void setPhraseBook(PhraseBook *phraseBook)
bool isTranslated() const
void setSourceContext(int model, MessageItem *messageItem)
TranslationType
@ IDBASED
@ TEXTBASED
static QString fileFilters(bool allFirst)
static const QVariant & pxObsolete()
int firstNonobsoleteMessageIndex(int msgIdx) const
bool isUnfinished() const
OpenedFile(DataModel *_dataModel, bool _readWrite, bool _langGuessed)
DataModel * dataModel
@ SaveEverything