#include <QDebug>
#include "GoogleDictDialog.h"
-
GooglePlugin::GooglePlugin(QObject *parent): CommonDictInterface(parent),
_langFrom(tr("")), _langTo(tr("")),_name(tr("")),
_type(tr("google")), _infoNote(tr("")) {
- stopped = false;
- _connectionAccept = false;
_settings = new Settings();
_dictDialog = new GoogleDictDialog(this,this);
+ http = new QHttp(this);
+ stopped = false;
+ _connectionAccept = false;
_icon = QIcon(":/icons/drawing.png");
languages=initLanguages();
_settings->setValue("type","google");
- _settings->setValue("connectionAcepted","false");
+ _settings->setValue("connectionAcepted","true");
- http = new QHttp(this);
connect(http, SIGNAL(done(bool)), this, SLOT(done()));
}
}
bool GooglePlugin::isAvailable() const {
- if(_connectionAccept)
+ if(_settings->value("connectionAcepted")=="true") {
+ // _connectionAccept=true;
return true;
- else
+ }
+ else {
+// _connectionAccept=false;
return false;
+ }
}
void GooglePlugin::setConnectionAccept(QString connectionAcepted) {
CommonDictInterface* GooglePlugin::getNew(const Settings* settings) const
{
GooglePlugin *plugin = new GooglePlugin();
+
if(settings) {
plugin->setLangFrom(settings->value("langFrom"));
plugin->setLangTo(settings->value("langTo"));
foreach(QString key, list)
_settings->setValue(key, settings->value(key));
delete settings;
+ getDictionaryInfo();
}
}
QList<Translation*> GooglePlugin::searchWordList(QString word, int ) {
QList<Translation*> translations;
if(isAvailable()) {
- word.replace("*","");
+ word.replace("*",""); /*remove wildcard*/
word.replace("?","");
- QString url = QString("/translate_a/t?client=t&sl=%1&tl=%2").arg(_langFrom,
- _langTo);
+
+ QString url=QString("/translate_a/t?client=t&sl=%1&tl=%2").arg(_langFrom,
+ _langTo);
+ qDebug()<< url;
QHttpRequestHeader head = QHttpRequestHeader("POST", url, 1,1);
head.setValue("Host","www.google.pl");
head.setValue("User-Agent", "Mozilla/5.0");
}
QString GooglePlugin::jsonParse(QString result) {
+ //qDebug()<<result;
int pos=0,pos2=0,index=0,size=0;
QString returnLang;
QString translation;
QStringList list1 = result.split("\"");
size=(list1.size()-1)/2;
-
if(size<=2)
return QString(""); // wrong format of data
original=list1.at(index*2+1);
pos=result.indexOf("]");
index++;
-
while(result.at(pos+1)==QChar(',')) {
index++;
translation+=list1.at(index*2+1);
pos++;
index++;
if(result.at(pos+1)==QChar(','))
- returnLang=list1.at(index*2+1);
+ returnLang=list1.at(index*2+1); /*return when translate sentence*/
while(result.indexOf("[",pos+1)!=-1){
partOfSpeach.append(list1.at(index*2+1));
return QString("");
pos=pos2+2;
}
+
if(words.size()!=partOfSpeach.size()) {
qDebug()<<"Error in Google Plugin (JsonParse)";
Q_EMIT notify(Notify::Warning,
}
returnLang=list1.at(index*2+1);
if(partOfSpeach.size()==0){
- if(translation==original){
+ if(translation.toLower()==original.toLower()){
return QString(""); // word don't exist";
}
else
QMap<QString, QString> languages;
languages["AFRIKAANS"] = "af";
languages["ALBANIAN"] = "sq";
- languages["AMHARIC"] = "am";
+// languages["AMHARIC"] = "am";
languages["ARABIC"] = "ar";
languages["ARMENIAN"] = "hy";
languages["AZERBAIJANI"] = "az";
languages["BASQUE"] = "eu";
languages["BELARUSIAN"] = "be";
- languages["BENGALI"] = "bn";
- languages["BIHARI"] = "bh";
- languages["BRETON"] = "br";
+// languages["BENGALI"] = "bn";
+// languages["BIHARI"] = "bh";
+// languages["BRETON"] = "br";
languages["BULGARIAN"] = "bg";
- languages["BURMESE"] = "my";
+// languages["BURMESE"] = "my";
languages["CATALAN"] = "ca";
- languages["CHEROKEE"] = "chr";
+// languages["CHEROKEE"] = "chr";
languages["CHINESE"] = "zh";
- languages["CHINESE_SIMPLIFIED"] = "zh-CN";
- languages["CHINESE_TRADITIONAL"] = "zh-TW";
- languages["CORSICAN"] = "co";
+// languages["CHINESE_SIMPLIFIED"] = "zh-CN";
+// languages["CHINESE_TRADITIONAL"] = "zh-TW";
+// languages["CORSICAN"] = "co";
languages["CROATIAN"] = "hr";
languages["CZECH"] = "cs";
languages["DANISH"] = "da";
- languages["DHIVEHI"] = "dv";
+// languages["DHIVEHI"] = "dv";
languages["DUTCH"] = "nl";
languages["ENGLISH"] = "en";
- languages["ESPERANTO"] = "eo";
+// languages["ESPERANTO"] = "eo";
languages["ESTONIAN"] = "et";
- languages["FAROESE"] = "fo";
+// languages["FAROESE"] = "fo";
languages["FILIPINO"] = "tl";
languages["FINNISH"] = "fi";
languages["FRENCH"] = "fr";
- languages["FRISIAN"] = "fy";
+// languages["FRISIAN"] = "fy";
languages["GALICIAN"] = "gl";
languages["GEORGIAN"] = "ka";
languages["GERMAN"] = "de";
languages["GREEK"] = "el";
- languages["GUJARATI"] = "gu";
+// languages["GUJARATI"] = "gu";
languages["HAITIAN_CREOLE"] = "ht";
languages["HEBREW"] = "iw";
languages["HINDI"] = "hi";
languages["HUNGARIAN"] = "hu";
languages["ICELANDIC"] = "is";
languages["INDONESIAN"] = "id";
- languages["INUKTITUT"] = "iu";
+// languages["INUKTITUT"] = "iu";
languages["IRISH"] = "ga";
languages["ITALIAN"] = "it";
languages["JAPANESE"] = "ja";
- languages["JAVANESE"] = "jw";
- languages["KANNADA"] = "kn";
- languages["KAZAKH"] = "kk";
- languages["KHMER"] = "km";
+// languages["JAVANESE"] = "jw";
+// languages["KANNADA"] = "kn";
+// languages["KAZAKH"] = "kk";
+// languages["KHMER"] = "km";
languages["KOREAN"] = "ko";
- languages["KURDISH"] = "ku";
- languages["KYRGYZ"] = "ky";
- languages["LAO"] = "lo";
- languages["LATIN"] = "la";
+// languages["KURDISH"] = "ku";
+// languages["KYRGYZ"] = "ky";
+// languages["LAO"] = "lo";
+// languages["LATIN"] = "la";
languages["LATVIAN"] = "lv";
languages["LITHUANIAN"] = "lt";
- languages["LUXEMBOURGISH"] = "lb";
+// languages["LUXEMBOURGISH"] = "lb";
languages["MACEDONIAN"] = "mk";
languages["MALAY"] = "ms";
- languages["MALAYALAM"] = "ml";
+// languages["MALAYALAM"] = "ml";
languages["MALTESE"] = "mt";
- languages["MAORI"] = "mi";
- languages["MARATHI"] = "mr";
- languages["MONGOLIAN"] = "mn";
- languages["NEPALI"] = "ne";
+// languages["MAORI"] = "mi";
+// languages["MARATHI"] = "mr";
+// languages["MONGOLIAN"] = "mn";
+// languages["NEPALI"] = "ne";
languages["NORWEGIAN"] = "no";
- languages["OCCITAN"] = "oc";
- languages["ORIYA"] = "or";
- languages["PASHTO"] = "ps";
+// languages["OCCITAN"] = "oc";
+// languages["ORIYA"] = "or";
+// languages["PASHTO"] = "ps";
languages["PERSIAN"] = "fa";
languages["POLISH"] = "pl";
languages["PORTUGUESE"] = "pt";
- languages["PORTUGUESE_PORTUGAL"] = "pt-PT";
- languages["PUNJABI"] = "pa";
- languages["QUECHUA"] = "qu";
+// languages["PORTUGUESE_PORTUGAL"] = "pt-PT";
+// languages["PUNJABI"] = "pa";
+// languages["QUECHUA"] = "qu";
languages["ROMANIAN"] = "ro";
languages["RUSSIAN"] = "ru";
- languages["SANSKRIT"] = "sa";
- languages["SCOTS_GAELIC"] = "gd";
+// languages["SANSKRIT"] = "sa";
+// languages["SCOTS_GAELIC"] = "gd";
languages["SERBIAN"] = "sr";
- languages["SINDHI"] = "sd";
- languages["SINHALESE"] = "si";
+// languages["SINDHI"] = "sd";
+// languages["SINHALESE"] = "si";
languages["SLOVAK"] = "sk";
languages["SLOVENIAN"] = "sl";
languages["SPANISH"] = "es";
- languages["SUNDANESE"] = "su";
+// languages["SUNDANESE"] = "su";
languages["SWAHILI"] = "sw";
languages["SWEDISH"] = "sv";
- languages["SYRIAC"] = "syr";
- languages["TAJIK"] = "tg";
- languages["TAMIL"] = "ta";
- languages["TATAR"] = "tt";
- languages["TELUGU"] = "te";
+// languages["SYRIAC"] = "syr";
+// languages["TAJIK"] = "tg";
+// languages["TAMIL"] = "ta";
+// languages["TATAR"] = "tt";
+// languages["TELUGU"] = "te";
languages["THAI"] = "th";
- languages["TIBETAN"] = "bo";
- languages["TONGA"] = "to";
+// languages["TIBETAN"] = "bo";
+// languages["TONGA"] = "to";
languages["TURKISH"] = "tr";
languages["UKRAINIAN"] = "uk";
languages["URDU"] = "ur";
- languages["UZBEK"] = "uz";
- languages["UIGHUR"] = "ug";
+// languages["UZBEK"] = "uz";
+// languages["UIGHUR"] = "ug";
languages["VIETNAMESE"] = "vi";
languages["WELSH"] = "cy";
languages["YIDDISH"] = "yi";
- languages["YORUBA"] = "yo";
- languages["UNKNOWN"] = "";
+// languages["YORUBA"] = "yo";
+ languages["DETECT LANGLAGE"] = "";
return languages;
}
_langTo=languages.key(langTo);
_langFrom=languages.key(langFrom);
-
changeLangButton=new QPushButton(QIcon::fromTheme("object-flip-vertical"),tr(""));
langFromLabel = new QLabel("From:");
langToLabel = new QLabel(" To: ");
connectInfoLabel = new QLabel(tr("Google plugin make use of internet "
"conection, so it may cost You."));
- connectInfoLabel->setWordWrap(true);
-
-
- setWindowTitle(tr("Google Settings"));
-
+ infoLabel = new QLabel(tr("Plugin:GoogleTranslator \n")+
+ tr("From: ") + languages.key(langFrom) + "\n" +
+ tr("To: ") + languages.key(langTo));
verticalLayout = new QVBoxLayout(this);
langLayout = new QVBoxLayout(this);
langFromLayout = new QHBoxLayout(this);
langToLayout = new QHBoxLayout(this);
changelangLayout = new QHBoxLayout(this);
-
- setLayout(verticalLayout);
-
- infoLabel = new QLabel(this);
- infoLabel->setText(tr("Plugin:GoogleTranslator \n")+
- tr("From: ") + languages.key(langFrom) + "\n" +
- tr("To: ") + languages.key(langTo));
- verticalLayout->addWidget(infoLabel);
-
langFromComboBox = new QComboBox(this);
langToComboBox = new QComboBox(this);
+ saveButton = new QPushButton(tr("Save settings"),this);
+
+ connectInfoLabel->setWordWrap(true);
+
int i=0;
foreach(QString langs,languages.keys()){
if(langs==languages.key(langTo))
langFromComboBox->addItem(langs);
i++;
}
+ langToComboBox->setCurrentIndex(actualLangTo);
+ langFromComboBox->setCurrentIndex(actualLangFrom);
+ setWindowTitle(tr("Google Settings"));
+ setLayout(verticalLayout);
+ verticalLayout->addWidget(infoLabel);
verticalLayout->addWidget(connectInfoLabel);
langFromLayout->addWidget(langFromLabel);
langFromLayout->addWidget(langFromComboBox);
changelangLayout->addLayout(langLayout);
changelangLayout->addWidget(changeLangButton);
verticalLayout->addLayout(changelangLayout);
-
-
- langToComboBox->setCurrentIndex(actualLangTo);
- langFromComboBox->setCurrentIndex(actualLangFrom);
-
- saveButton = new QPushButton(tr("Save settings"),this);
verticalLayout->addWidget(saveButton);
setModal(true);
void GoogleSettingsDialog::changeLangButtonClicked() {
int tempIndexTo=langToComboBox->currentIndex();
QString tempLangTo=_langTo;
-
langToComboBox->setCurrentIndex(langFromComboBox->currentIndex());
langFromComboBox->setCurrentIndex(tempIndexTo);
-
_langTo=_langFrom;
_langFrom=tempLangTo;
}