#include <QDebug>
GoogleSettingsDialog::GoogleSettingsDialog(QWidget *parent,
- QString langTo,
- QString langFrom,
+ Settings *pluginSettings,
QString acceptButtonLabel) :
- QDialog(parent) {
+ 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);
-
+ if(pluginSettings==0) {
+ _langTo=languages.key("pl");
+ _langFrom=languages.key("en");
+ }
+ else {
+ _langTo=languages.key(pluginSettings->value("lang_to"));
+ _langFrom=languages.key(pluginSettings->value("lang_from"));
+ }
#ifdef Q_WS_MAEMO_5
- changeLangButton=new
- QPushButton(
- QIcon::fromTheme("general_refresh"),tr(""));
+
+ changeLangButton=new QPushButton(
+ QIcon::fromTheme("general_refresh"), "");
#else
changeLangButton=new QPushButton(
QIcon::fromTheme("object-flip-vertical"),tr(""));
#endif
+
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);
-
+ connectInfoLabel->setWordWrap(true);
setWindowTitle(tr("Google Settings"));
verticalLayout = new QVBoxLayout;
infoLabel = new QLabel;
infoLabel->setText(tr("Plugin:GoogleTranslator \n")+
- tr("From: ") + languages.key(langFrom) + "\n" +
- tr("To: ") + languages.key(langTo));
+ tr("From: ") + _langFrom + "\n" +
+ tr("To: ") + _langTo);
verticalLayout->addWidget(infoLabel);
langFromComboBox = new QComboBox;
langToComboBox = new QComboBox;
+
int i=0;
foreach(QString langs,languages.keys()){
- if(langs==languages.key(langTo))
+ if(langs==_langTo)
actualLangTo=i;
- if(langs==languages.key(langFrom))
+ if(langs==_langFrom)
actualLangFrom=i;
langToComboBox->addItem(langs);
langFromComboBox->addItem(langs);
i++;
}
+ langToComboBox->setCurrentIndex(actualLangTo);
+ langFromComboBox->setCurrentIndex(actualLangFrom);
+ setWindowTitle(tr("Google Settings"));
verticalLayout->addWidget(connectInfoLabel);
langFromLayout->addWidget(langFromLabel);
langFromLayout->addWidget(langFromComboBox);
changelangLayout->addWidget(changeLangButton);
verticalLayout->addLayout(changelangLayout);
-
- langToComboBox->setCurrentIndex(actualLangTo);
- langFromComboBox->setCurrentIndex(actualLangFrom);
-
saveButton = new QPushButton(acceptButtonLabel);
verticalLayout->addWidget(saveButton);
void GoogleSettingsDialog::changeLangButtonClicked() {
int tempIndexTo=langToComboBox->currentIndex();
QString tempLangTo=_langTo;
-
langToComboBox->setCurrentIndex(langFromComboBox->currentIndex());
langFromComboBox->setCurrentIndex(tempIndexTo);
-
_langTo=_langFrom;
_langFrom=tempLangTo;
}
}
Settings* GoogleSettingsDialog::getSettings(QWidget *parent,
- QString langTo,
- QString langFrom,
- QString acceptButtonLabel) {
- GoogleSettingsDialog settingsDialog(parent,
- langTo,
- langFrom,
- acceptButtonLabel);
+ Settings *pluginSettings,
+ QString acceptButtonLabel) {
+ GoogleSettingsDialog settingsDialog(parent,pluginSettings,acceptButtonLabel);
+
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()));
- settings->setValue("connectionAccept","true");
+ settings->setValue("lang_to",languages.value(settingsDialog.langTo()));
+ settings->setValue("lang_from",languages.value(settingsDialog.langFrom()));
+ settings->setValue("connection_accept","true");
+ settings->setValue("type","google");
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"),
- tr("Save changes"));
+ settings=getSettings(parent,plugin->settings(),tr("Save changes"));
if(settings)
plugin->setSettings(settings);
}