this->plugin = plugin;
}
-
Settings* GoogleDictDialog::addNewDictionary(QWidget *parent) {
- Settings *settings = new Settings();
- settings->setValue("langTo","pl");
- settings->setValue("langFrom","en");
- return settings;
- //return GoogleLoadDialog::getSettings(parent);
+ return GoogleSettingsDialog::getSettings(parent);
}
void GoogleDictDialog::changeSettings(QWidget * parent) {
-
- Settings* settings = new Settings;
- foreach(QString key, plugin->settings()->keys())
- settings->setValue(key, plugin->settings()->value(key));
- plugin->setSettings(settings);
- delete settings;
+ qDebug()<<"tu";
+ GoogleSettingsDialog::changeSettings(plugin,parent);
}
+
#define GOOGLEDICTDIALOG_H
#include "../../../includes/DictDialog.h"
+#include "../../../includes/settings.h"
#include "GooglePlugin.h"
+#include "GoogleSettingsDialog.h"
class GooglePlugin;
_dictDialog = new GoogleDictDialog(this,this);
//_icon = QIcon(":/icon/google.png");
- initLanguages();
+ languages=initLanguages();
_settings->setValue("type","google");
http = new QHttp(this);
}
QString GooglePlugin::langFrom() const {
- return _langFrom;
+ return languages.key(_langFrom);
}
-
QString GooglePlugin::langTo() const {
- return _langTo;
+ return languages.key(_langTo);
}
QString GooglePlugin::name() const {
- return _name;
+ return QString("dictionary");
}
QString GooglePlugin::type() const {
}
void GooglePlugin::setSettings(Settings* settings) {
- _langFrom=settings->value("langFrom");
- _langTo=settings->value("langTo");
- QStringList list = settings->keys();
- foreach(QString key, list)
- _settings->setValue(key, settings->value(key));
- delete settings;
+ if(settings){
+ _langFrom=settings->value("langFrom");
+ _langTo=settings->value("langTo");
+ QStringList list = settings->keys();
+ foreach(QString key, list)
+ _settings->setValue(key, settings->value(key));
+ delete settings;
+ }
}
Translation* GooglePlugin::getTranslationFor(QString key) {
for(int i=0; i<words.size();i++) {
result+="<pos>"+partOfSpeach.at(i)+"</pos>:";
for(int j=0; j<words.at(i)->size();j++)
- result+=words.at(i)->at(j)+" ";
+ result+=words.at(i)->at(j)+", ";
}
return result;
}
stopped=true;
}
-void GooglePlugin::initLanguages() {
+QMap<QString, QString> GooglePlugin::initLanguages() {
+ QMap<QString, QString> languages;
languages["AFRIKAANS"] = "af";
languages["ALBANIAN"] = "sq";
languages["AMHARIC"] = "am";
languages["YIDDISH"] = "yi";
languages["YORUBA"] = "yo";
languages["UNKNOWN"] = "";
+ return languages;
}
void GooglePlugin::getDictionaryInfo() {
Translation* getTranslationFor(QString key);
+ static QMap<QString, QString> initLanguages();
+
public slots:
/*! performs search in dictionary
\param word word to search in dictionary
void done();
private:
- void initLanguages();
QString jsonParse(QString result);
void getDictionaryInfo();
- QMap<QString, QString> languages;
+ QMap<QString, QString> languages;
//! language from which we translate
QString _langFrom;
//! language to which we translate
--- /dev/null
+#include "GoogleSettingsDialog.h"
+#include <QDebug>
+
+GoogleSettingsDialog::GoogleSettingsDialog(QWidget *parent,QString langTo,QString langFrom) :
+ QDialog(parent)
+{
+ QMap<QString, QString> languages;
+ languages=GooglePlugin::initLanguages();
+
+ int actualLangTo=1;
+ int actualLangFrom=1;
+
+ if(langTo=="")
+ langTo="pl";
+ if(langFrom=="")
+ langFrom="en";
+
+ _langTo=languages.key(langTo);
+ _langFrom=languages.key(langFrom);
+
+
+ changeLangButton=new QPushButton(QIcon(":/icons/staron.png"),tr(""));
+ langFromLabel = new QLabel("From:");
+ langToLabel = new QLabel(" To: ");
+
+ setWindowTitle(tr("Google Settings"));
+
+ 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);
+ int i=0;
+ foreach(QString langs,languages.keys()){
+ if(langs==languages.key(langTo))
+ actualLangTo=i;
+ if(langs==languages.key(langFrom))
+ actualLangFrom=i;
+ langToComboBox->addItem(langs);
+ langFromComboBox->addItem(langs);
+ i++;
+ }
+
+ langFromLayout->addWidget(langFromLabel);
+ langFromLayout->addWidget(langFromComboBox);
+ langToLayout->addWidget(langToLabel);
+ langToLayout->addWidget(langToComboBox);
+ langLayout->addLayout(langFromLayout);
+ langLayout->addLayout(langToLayout);
+ changelangLayout->addLayout(langLayout);
+ changelangLayout->addWidget(changeLangButton);
+ verticalLayout->addLayout(changelangLayout);
+
+ //langToComboBox->setMaximumWidth(120);
+ langToComboBox->setCurrentIndex(actualLangTo);
+ //langFromComboBox->setMaximumWidth(120);
+ langFromComboBox->setCurrentIndex(actualLangFrom);
+
+ //comboBoxLayout->addWidget(langFromComboBox);
+ //comboBoxLayout->addWidget(langToComboBox);
+
+
+ //infoLayout->addWidget(infoLabel);
+ //infoLayout->addLayout(comboBoxLayout);
+
+ //verticalLayout->addLayout(infoLayout);
+
+ saveButton = new QPushButton(tr("Save settings"),this);
+
+// verticalLayout->addWidget(langFromComboBox);
+// verticalLayout->addWidget(langToComboBox);
+ verticalLayout->addWidget(saveButton);
+
+ setModal(true);
+
+ connect(saveButton, SIGNAL(clicked()),this, SLOT(accept()));
+ connect(langFromComboBox, SIGNAL(activated(int)),this, SLOT(activatedFrom(int)));
+ connect(langToComboBox, SIGNAL(activated(int)),this, SLOT(activatedTo(int)));
+ connect(changeLangButton, SIGNAL(clicked()),this, SLOT(changeLangButtonClicked()));
+}
+
+void GoogleSettingsDialog::activatedFrom(int index) {
+ _langFrom=langFromComboBox->itemText(index);
+}
+
+void GoogleSettingsDialog::activatedTo(int index) {
+ _langTo=langToComboBox->itemText(index);
+}
+
+void GoogleSettingsDialog::changeLangButtonClicked() {
+ int tempIndexTo=langToComboBox->currentIndex();
+ QString tempLangTo=_langTo;
+
+ langToComboBox->setCurrentIndex(langFromComboBox->currentIndex());
+ langFromComboBox->setCurrentIndex(tempIndexTo);
+
+ _langTo=_langFrom;
+ _langFrom=tempLangTo;
+}
+
+QString GoogleSettingsDialog::langFrom() {
+ qDebug()<<_langFrom;
+ return _langFrom;
+}
+
+QString GoogleSettingsDialog::langTo() {
+ qDebug()<<_langTo;
+ return _langTo;
+}
+
+Settings* GoogleSettingsDialog::getSettings(QWidget *parent,QString langTo,QString langFrom) {
+ GoogleSettingsDialog settingsDialog(parent,langTo,langFrom);
+ QMap<QString, QString> languages;
+ languages=GooglePlugin::initLanguages();
+ if(settingsDialog.exec()==QDialog::Accepted) {
+ Settings *settings = new Settings();
+ settings->setValue("langTo",languages.value(settingsDialog.langTo()));
+ settings->setValue("langFrom",languages.value(settingsDialog.langFrom()));
+ qDebug()<<"gosc" << settings->value("langTo") <<settings->value("langFrom");
+ return settings;
+ }
+ return 0;
+}
+
+void GoogleSettingsDialog::changeSettings(GooglePlugin* plugin, QWidget *parent) {
+ Settings *settings = new Settings();
+ settings=getSettings(parent,plugin->settings()->value("langTo"),plugin->settings()->value("langFrom"));
+ if(settings)
+ plugin->setSettings(settings);
+}
--- /dev/null
+#ifndef GOOGLESETTINGSDIALOG_H
+#define GOOGLESETTINGSDIALOG_H
+
+#include <QDialog>
+#include "../../../includes/settings.h"
+#include <QtGui>
+#include "GooglePlugin.h"
+
+class GooglePlugin;
+
+class GoogleSettingsDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ explicit GoogleSettingsDialog(QWidget *parent = 0,QString langTo ="",QString langFrom ="");
+
+ static Settings* getSettings(QWidget *parent,QString langTo ="",QString langFrom ="");
+ static void changeSettings(GooglePlugin* plugin, QWidget *parent);
+ QString langFrom();
+ QString langTo();
+
+public slots:
+ void activatedFrom(int);
+ void activatedTo(int);
+ void changeLangButtonClicked();
+
+private:
+ QLabel* infoLabel;
+ QLabel* langFromLabel;
+ QLabel* langToLabel;
+ QPushButton* saveButton;
+ QPushButton* changeLangButton;
+ QComboBox *langFromComboBox;
+ QComboBox *langToComboBox;
+
+ QVBoxLayout* verticalLayout;
+ QVBoxLayout* langLayout;
+ QHBoxLayout* langFromLayout;
+ QHBoxLayout* langToLayout;
+ QHBoxLayout* changelangLayout;
+
+ QString _langFrom;
+ QString _langTo;
+
+
+/* QPushButton* browseButton;
+ QLabel* browseLabel;
+ QCheckBox* cacheCheckBox;
+
+ QHBoxLayout* browseLayout;
+ QHBoxLayout* cacheLayout;
+*/
+};
+
+#endif // GOOGLESETTINGSDIALOG_H
--- /dev/null
+<RCC>
+ <qresource prefix="/icons">
+ <file>staron.png</file>
+ </qresource>
+</RCC>
SOURCES += \
GooglePlugin.cpp \
TranslationGoogle.cpp \
- GoogleDictDialog.cpp
+ GoogleDictDialog.cpp \
+ GoogleSettingsDialog.cpp
HEADERS += \
GooglePlugin.h \
../../../includes/settings.h \
../../../includes/CommonDictInterface.h \
TranslationGoogle.h \
- GoogleDictDialog.h
+ GoogleDictDialog.h \
+ GoogleSettingsDialog.h
dicts.path = $$LIBDIR
}
+
+RESOURCES += \
+ icons.qrc
XdxfDictDialog::XdxfDictDialog(XdxfPlugin *plugin, QObject *parent) :
DictDialog(parent) {
-
this->plugin = plugin;
}
-
Settings* XdxfDictDialog::addNewDictionary(QWidget *parent) {
return XdxfLoadDialog::getSettings(parent);
}