Showing the changes to interface/src/scripting/WindowScriptingInterface.cpp (1 of 1 file). Show all
Unified · Split
| @@ -165,6 +165,7 @@ QScriptValue WindowScriptingInterface::showForm(const QString& title, QScriptVal · 164 unmodified lines | |||
| 165 | area->setWidget(container); | 165 | area->setWidget(container); |
| 166 | 166 | ||
| 167 | QVector<QLineEdit*> edits; | 167 | QVector<QLineEdit*> edits; |
| 168 | QVector<QComboBox*> combos; | ||
| 168 | QVector<QPushButton*> directories; | 169 | QVector<QPushButton*> directories; |
| 169 | for (int i = 0; i < form.property("length").toInt32(); ++i) { | 170 | for (int i = 0; i < form.property("length").toInt32(); ++i) { |
| 170 | QScriptValue item = form.property(i); | 171 | QScriptValue item = form.property(i); |
| @@ -201,7 +202,15 @@ QScriptValue WindowScriptingInterface::showForm(const QString& title, QScriptVal · 30 unmodified lines | |||
| 201 | 202 | ||
| 202 | formLayout->addRow(new QLabel(item.property("label").toString()), directory); | 203 | formLayout->addRow(new QLabel(item.property("label").toString()), directory); |
| 203 | connect(directory, SIGNAL(clicked(bool)), SLOT(chooseDirectory())); | 204 | connect(directory, SIGNAL(clicked(bool)), SLOT(chooseDirectory())); |
| 204 | 205 | } else if (item.property("options").isArray()) { | |
| 206 | QComboBox* combo = new QComboBox(); | ||
| 207 | combo->setMinimumWidth(200); | ||
| 208 | QStringList options = item.property("options").toVariant().toStringList(); | ||
| 209 | for (QStringList::const_iterator it = options.begin(); it != options.end(); it += 1) { | ||
| 210 | combo->addItem(*it); | ||
| 211 | } | ||
| 212 | combos.push_back(combo); | ||
| 213 | formLayout->addRow(new QLabel(item.property("label").toString()), combo); | ||
| 205 | } else { | 214 | } else { |
| 206 | QLineEdit* edit = new QLineEdit(item.property("value").toString()); | 215 | QLineEdit* edit = new QLineEdit(item.property("value").toString()); |
| 207 | edit->setMinimumWidth(200); | 216 | edit->setMinimumWidth(200); |
| @@ -222,6 +231,7 @@ QScriptValue WindowScriptingInterface::showForm(const QString& title, QScriptVal · 14 unmodified lines | |||
| 222 | if (result == QDialog::Accepted) { | 231 | if (result == QDialog::Accepted) { |
| 223 | int e = -1; | 232 | int e = -1; |
| 224 | int d = -1; | 233 | int d = -1; |
| 234 | int c = -1; | ||
| 225 | for (int i = 0; i < form.property("length").toInt32(); ++i) { | 235 | for (int i = 0; i < form.property("length").toInt32(); ++i) { |
| 226 | QScriptValue item = form.property(i); | 236 | QScriptValue item = form.property(i); |
| 227 | QScriptValue value = item.property("value"); | 237 | QScriptValue value = item.property("value"); |
| @@ -233,6 +243,10 @@ QScriptValue WindowScriptingInterface::showForm(const QString& title, QScriptVal · 5 unmodified lines | |||
| 233 | value = directories.at(d)->property("path").toString(); | 243 | value = directories.at(d)->property("path").toString(); |
| 234 | item.setProperty("directory", value); | 244 | item.setProperty("directory", value); |
| 235 | form.setProperty(i, item); | 245 | form.setProperty(i, item); |
| 246 | } else if (item.property("options").isArray()) { | ||
| 247 | c += 1; | ||
| 248 | item.setProperty("value", combos.at(c)->currentText()); | ||
| 249 | form.setProperty(i, item); | ||
| 236 | } else { | 250 | } else { |
| 237 | e += 1; | 251 | e += 1; |
| 238 | bool ok = true; | 252 | bool ok = true; |