From 7f15cabdf0e6b7513f03bc5d03a37871f6b822e2 Mon Sep 17 00:00:00 2001 From: MSN Date: Sat, 23 Nov 2013 11:00:22 +0400 Subject: [PATCH] Mockup made (Recognizer and Translator added) --- Manager.cpp | 30 ++++++++++++++++++++++++------ Manager.h | 3 ++- Recognizer.cpp | 11 +++++++++++ Recognizer.h | 21 +++++++++++++++++++++ ScreenTranslator.pro | 8 ++++++-- Translator.cpp | 11 +++++++++++ Translator.h | 20 ++++++++++++++++++++ 7 files changed, 95 insertions(+), 9 deletions(-) create mode 100644 Recognizer.cpp create mode 100644 Recognizer.h create mode 100644 Translator.cpp create mode 100644 Translator.h diff --git a/Manager.cpp b/Manager.cpp index 22cc075..b8f727b 100644 --- a/Manager.cpp +++ b/Manager.cpp @@ -6,26 +6,44 @@ #include #include #include +#include #include "SettingsEditor.h" #include "SelectionDialog.h" #include "GlobalActionHelper.h" +#include "Recognizer.h" +#include "Translator.h" Manager::Manager(QObject *parent) : QObject(parent), trayIcon_ (new QSystemTrayIcon (QIcon (":/images/icon.png"), this)), selection_ (new SelectionDialog) { - trayIcon_->show (); - trayIcon_->setContextMenu (trayContextMenu ()); + GlobalActionHelper::init (); selection_->setWindowIcon (trayIcon_->icon ()); connect (this, SIGNAL (showPixmap (QPixmap)), selection_, SLOT (setPixmap (QPixmap))); - connect (selection_, SIGNAL (selected (QPixmap)), - SLOT (processRegion (QPixmap))); - GlobalActionHelper::init (); + Recognizer* recognizer = new Recognizer; + connect (selection_, SIGNAL (selected (QPixmap)), + recognizer, SLOT (recognize (QPixmap))); + QThread* recognizerThread = new QThread (this); + recognizer->moveToThread (recognizerThread); + recognizerThread->start (); + + Translator* translator = new Translator; + connect (recognizer, SIGNAL (recognized (QString)), + translator, SLOT (translate (QString))); + QThread* translatorThread = new QThread (this); + translator->moveToThread (translatorThread); + translatorThread->start (); + + connect (translator, SIGNAL (translated (QString, QString)), + SLOT (showTranslation (QString, QString))); + + trayIcon_->setContextMenu (trayContextMenu ()); + trayIcon_->show (); } Manager::~Manager() @@ -67,7 +85,7 @@ void Manager::close() QApplication::quit (); } -void Manager::processRegion(QPixmap selected) +void Manager::showTranslation(QString sourceText, QString translatedText) { } diff --git a/Manager.h b/Manager.h index 952ebb3..53c0523 100644 --- a/Manager.h +++ b/Manager.h @@ -18,13 +18,14 @@ class Manager : public QObject signals: void showPixmap (QPixmap pixmap); + void recognize (QPixmap pixmap); private slots: void capture (); void settings (); void close (); - void processRegion (QPixmap selected); + void showTranslation (QString sourceText, QString translatedText); private: QMenu* trayContextMenu (); diff --git a/Recognizer.cpp b/Recognizer.cpp new file mode 100644 index 0000000..4dbddb1 --- /dev/null +++ b/Recognizer.cpp @@ -0,0 +1,11 @@ +#include "Recognizer.h" + +Recognizer::Recognizer(QObject *parent) : + QObject(parent) +{ +} + +void Recognizer::recognize(QPixmap pixmap) +{ + +} diff --git a/Recognizer.h b/Recognizer.h new file mode 100644 index 0000000..3df9922 --- /dev/null +++ b/Recognizer.h @@ -0,0 +1,21 @@ +#ifndef RECOGNIZER_H +#define RECOGNIZER_H + +#include +#include "QPixmap" + +class Recognizer : public QObject +{ + Q_OBJECT + public: + explicit Recognizer(QObject *parent = 0); + + signals: + void recognized (QString text); + + public slots: + void recognize (QPixmap pixmap); + +}; + +#endif // RECOGNIZER_H diff --git a/ScreenTranslator.pro b/ScreenTranslator.pro index cd6b7a8..e23d4f8 100644 --- a/ScreenTranslator.pro +++ b/ScreenTranslator.pro @@ -16,13 +16,17 @@ SOURCES += main.cpp\ Manager.cpp \ SettingsEditor.cpp \ SelectionDialog.cpp \ - GlobalActionHelper.cpp + GlobalActionHelper.cpp \ + Recognizer.cpp \ + Translator.cpp HEADERS += \ Manager.h \ SettingsEditor.h \ SelectionDialog.h \ - GlobalActionHelper.h + GlobalActionHelper.h \ + Recognizer.h \ + Translator.h FORMS += \ SettingsEditor.ui \ diff --git a/Translator.cpp b/Translator.cpp new file mode 100644 index 0000000..2dad4a8 --- /dev/null +++ b/Translator.cpp @@ -0,0 +1,11 @@ +#include "Translator.h" + +Translator::Translator(QObject *parent) : + QObject(parent) +{ +} + +void Translator::translate(QString text) +{ + +} diff --git a/Translator.h b/Translator.h new file mode 100644 index 0000000..3ddc4ba --- /dev/null +++ b/Translator.h @@ -0,0 +1,20 @@ +#ifndef TRANSLATOR_H +#define TRANSLATOR_H + +#include + +class Translator : public QObject +{ + Q_OBJECT + public: + explicit Translator(QObject *parent = 0); + + signals: + void translated (QString sourceText, QString translatedText); + + public slots: + void translate (QString text); + +}; + +#endif // TRANSLATOR_H