1 #include "GoogleSettingsDialog.h"
4 GoogleSettingsDialog::GoogleSettingsDialog(QWidget *parent,QString langTo,QString langFrom) :
7 QMap<QString, QString> languages;
8 languages=GooglePlugin::initLanguages();
18 _langTo=languages.key(langTo);
19 _langFrom=languages.key(langFrom);
22 changeLangButton=new QPushButton(QIcon(":/icons/staron.png"),tr(""));
23 langFromLabel = new QLabel("From:");
24 langToLabel = new QLabel(" To: ");
26 setWindowTitle(tr("Google Settings"));
28 verticalLayout = new QVBoxLayout(this);
29 langLayout = new QVBoxLayout(this);
30 langFromLayout = new QHBoxLayout(this);
31 langToLayout = new QHBoxLayout(this);
32 changelangLayout = new QHBoxLayout(this);
34 setLayout(verticalLayout);
36 infoLabel = new QLabel(this);
37 infoLabel->setText(tr("Plugin:GoogleTranslator \n")+
38 tr("From: ") + languages.key(langFrom) + "\n" +
39 tr("To: ") + languages.key(langTo));
40 verticalLayout->addWidget(infoLabel);
42 langFromComboBox = new QComboBox(this);
43 langToComboBox = new QComboBox(this);
45 foreach(QString langs,languages.keys()){
46 if(langs==languages.key(langTo))
48 if(langs==languages.key(langFrom))
50 langToComboBox->addItem(langs);
51 langFromComboBox->addItem(langs);
55 langFromLayout->addWidget(langFromLabel);
56 langFromLayout->addWidget(langFromComboBox);
57 langToLayout->addWidget(langToLabel);
58 langToLayout->addWidget(langToComboBox);
59 langLayout->addLayout(langFromLayout);
60 langLayout->addLayout(langToLayout);
61 changelangLayout->addLayout(langLayout);
62 changelangLayout->addWidget(changeLangButton);
63 verticalLayout->addLayout(changelangLayout);
65 //langToComboBox->setMaximumWidth(120);
66 langToComboBox->setCurrentIndex(actualLangTo);
67 //langFromComboBox->setMaximumWidth(120);
68 langFromComboBox->setCurrentIndex(actualLangFrom);
70 //comboBoxLayout->addWidget(langFromComboBox);
71 //comboBoxLayout->addWidget(langToComboBox);
74 //infoLayout->addWidget(infoLabel);
75 //infoLayout->addLayout(comboBoxLayout);
77 //verticalLayout->addLayout(infoLayout);
79 saveButton = new QPushButton(tr("Save settings"),this);
81 // verticalLayout->addWidget(langFromComboBox);
82 // verticalLayout->addWidget(langToComboBox);
83 verticalLayout->addWidget(saveButton);
87 connect(saveButton, SIGNAL(clicked()),this, SLOT(accept()));
88 connect(langFromComboBox, SIGNAL(activated(int)),this, SLOT(activatedFrom(int)));
89 connect(langToComboBox, SIGNAL(activated(int)),this, SLOT(activatedTo(int)));
90 connect(changeLangButton, SIGNAL(clicked()),this, SLOT(changeLangButtonClicked()));
93 void GoogleSettingsDialog::activatedFrom(int index) {
94 _langFrom=langFromComboBox->itemText(index);
97 void GoogleSettingsDialog::activatedTo(int index) {
98 _langTo=langToComboBox->itemText(index);
101 void GoogleSettingsDialog::changeLangButtonClicked() {
102 int tempIndexTo=langToComboBox->currentIndex();
103 QString tempLangTo=_langTo;
105 langToComboBox->setCurrentIndex(langFromComboBox->currentIndex());
106 langFromComboBox->setCurrentIndex(tempIndexTo);
109 _langFrom=tempLangTo;
112 QString GoogleSettingsDialog::langFrom() {
117 QString GoogleSettingsDialog::langTo() {
122 Settings* GoogleSettingsDialog::getSettings(QWidget *parent,QString langTo,QString langFrom) {
123 GoogleSettingsDialog settingsDialog(parent,langTo,langFrom);
124 QMap<QString, QString> languages;
125 languages=GooglePlugin::initLanguages();
126 if(settingsDialog.exec()==QDialog::Accepted) {
127 Settings *settings = new Settings();
128 settings->setValue("langTo",languages.value(settingsDialog.langTo()));
129 settings->setValue("langFrom",languages.value(settingsDialog.langFrom()));
130 qDebug()<<"gosc" << settings->value("langTo") <<settings->value("langFrom");
136 void GoogleSettingsDialog::changeSettings(GooglePlugin* plugin, QWidget *parent) {
137 Settings *settings = new Settings();
138 settings=getSettings(parent,plugin->settings()->value("langTo"),plugin->settings()->value("langFrom"));
140 plugin->setSettings(settings);