Copyright 2010 Comarch S.A.
*******************************************************************************/
-
-/*! \file GooglePlugin.cpp
+/*!
+ \file GooglePlugin.cpp
\author Jakub Jaszczynski <j.j.jaszczynski@gmail.com>
*/
stopped = false;
initLanguages();
- http = new QHttp(this);
+ http = new QHttp();
connect(http, SIGNAL(done(bool)), this, SLOT(done()));
+ threa=new QThread();
+ http->moveToThread(threa);
+ threa->start();
}
void GooglePlugin::retranslate() {
QString locale = QLocale::system().name();
-
QTranslator *translator = new QTranslator(this);
-
if(!translator->load(":/google/translations/" + locale)) {
translator->load(":/google/translations/en_US");
}
QString GooglePlugin::search(QString) {
- qDebug() << "function is not used in this plugin";
+ qDebug() << "function is not used in google plugin";
return QString("");
}
QList<Translation*> translations;
if(isAvailable()) {
QString error("");
- word.replace("*",""); /*remove wildcard*/
- word.replace("?","");
+ char wrongChar[]={"*?&<>"};
+ for(unsigned int a=0;a<sizeof(wrongChar);a++) /*remove wrong char*/
+ word.replace(wrongChar[a],"");
+
QString url=QString("/translate_a/t?client=t&sl=%1&tl=%2").arg(
_settings->value("lang_from"),
_settings->value("lang_to"));
wait=true; /* bool - change in slot done (initiate by http) */
stopped=false; /* bool - change in slot stop (initiate in gui) */
+ int lastState=0;
http->request(head, data);
- while(wait && (error=="" || error=="Unknown error") && !stopped)
+ while(wait && (error=="" || error=="Unknown error") && !stopped){
error=http->errorString();
-
+ if(lastState!=http->state()) {
+ lastState=http->state();
+ if(lastState==0)
+ done();
+ }
+ }
if(error!="" && error!="Unknown error") {
if(!noNetworkErrorShowed) {
noNetworkErrorShowed = true;
}
returnLang=list1.at(index*2+1);
if(partOfSpeach.size()==0){
- if(translation.toLower()==original.toLower()){
+ if(translation.toLower()==original.toLower())
return QString(""); // word doesn't exist";
- }
else
return "\""+translation+"\"";
}