diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2009-02-27 15:01:05 -0500 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2009-02-27 15:01:05 -0500 |
| commit | ff37dc2d5b18a90b70e720c67e0c662b9885ef2d (patch) | |
| tree | 02ed1e8e6f599bb22ddf01556c4fc77ccb9bc9a1 /sigmodr/corewidgets/ScriptWidget.cpp | |
| parent | 1ae7e241f0640d5a12275ea77742932da3cf669a (diff) | |
| download | sigen-ff37dc2d5b18a90b70e720c67e0c662b9885ef2d.tar.gz sigen-ff37dc2d5b18a90b70e720c67e0c662b9885ef2d.tar.xz sigen-ff37dc2d5b18a90b70e720c67e0c662b9885ef2d.zip | |
Fixed up behavior of the script widget
Diffstat (limited to 'sigmodr/corewidgets/ScriptWidget.cpp')
| -rw-r--r-- | sigmodr/corewidgets/ScriptWidget.cpp | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/sigmodr/corewidgets/ScriptWidget.cpp b/sigmodr/corewidgets/ScriptWidget.cpp index dbfdcd07..66744b02 100644 --- a/sigmodr/corewidgets/ScriptWidget.cpp +++ b/sigmodr/corewidgets/ScriptWidget.cpp @@ -66,7 +66,8 @@ void ScriptWidget::setValue(const Script& value) } } -QMap<QString, QString> ScriptWidget::Private::m_languages; +QMap<QString, ScriptWidget::Private::LanguagePair> ScriptWidget::Private::m_languages; +QList<QString> ScriptWidget::Private::m_interpreters; ScriptWidget::Private::Private(QObject* parent, const Script& value) : QObject(parent), @@ -77,15 +78,18 @@ ScriptWidget::Private::Private(QObject* parent, const Script& value) : { if (!m_languages.size()) { - m_languages["C#"] = "mono"; - m_languages["Falcon"] = "falcon"; - m_languages["Java"] = "java"; - m_languages["JavaScript"] = "javascript"; - m_languages["QtScript"] = "qtscript"; - m_languages["Lua"] = "lua"; - m_languages["PHP"] = "php"; - m_languages["Python"] = "python"; - m_languages["Ruby"] = "ruby"; + m_languages["C#"] = LanguagePair("mono", "C#"); + m_languages["Falcon"] = LanguagePair("falcon", "Falcon"); + m_languages["Java"] = LanguagePair("java", "Java"); + m_languages["JavaScript"] = LanguagePair("javascript", "JavaScript"); + m_languages["QtScript"] = LanguagePair("qtscript", "JavaScript"); + m_languages["Lua"] = LanguagePair("lua", "Lua"); + m_languages["PHP"] = LanguagePair("php", "PHP"); + m_languages["Python"] = LanguagePair("python", "Python"); + m_languages["Ruby"] = LanguagePair("ruby", "Ruby"); + QList<LanguagePair> langs = m_languages.values(); + foreach (const LanguagePair& lang, langs) + m_interpreters.append(lang.first); } } @@ -148,17 +152,17 @@ QWidget* ScriptWidget::Private::makeWidgets(ScriptWidget* widget) labelScript->setBuddy(editor); setTabOrder(ui_interpreter, editor); gridLayout->addWidget(editor, 1, 1); - connect(this, SIGNAL(valueChanged(Sigcore::Script)), SLOT(setGui())); connect(this, SIGNAL(valueChanged(Sigcore::Script)), widget, SIGNAL(valueChanged(Sigcore::Script))); + connect(this, SIGNAL(valueChanged(Sigcore::Script)), SLOT(setGui())); setGui(); return formWidget; } void ScriptWidget::Private::interpreterChanged(const QString& interpreter) { - m_value.setInterpreter(m_languages[interpreter]); + m_value.setInterpreter(m_languages[interpreter].first); if (m_document) - m_document->setHighlightingMode(interpreter); + m_document->setHighlightingMode(m_languages[interpreter].second); emit(valueChanged(m_value)); } @@ -200,7 +204,7 @@ void ScriptWidget::Private::unfocused(KTextEditor::View* view) void ScriptWidget::Private::setGui() { - ui_interpreter->setCurrentIndex(m_languages.values().indexOf(m_value.interpreter())); + ui_interpreter->setCurrentIndex(m_interpreters.indexOf(m_value.interpreter())); if (m_document) { m_document->setHighlightingMode(ui_interpreter->currentText()); |
