void ScriptEditor::contextMenuEvent(QContextMenuEvent *e)
{
- QMenu *menu = createStandardContextMenu();
+ QMenu *menu = new QMenu();
if (Core::ActionContainer *mcontext = Core::ICore::instance()->actionManager()->actionContainer(QmlEditor::Constants::M_CONTEXT)) {
QMenu *contextMenu = mcontext->menu();
connect(a, SIGNAL(triggered()), this, SLOT(renameIdUnderCursor()));
}
+ appendStandardContextMenuActions(menu);
+
menu->exec(e->globalPos());
menu->deleteLater();
}
| TextEditor::TextEditorActionHandler::UnCollapseAll);
m_actionHandler->initializeActions();
+ Core::ActionManager *am = core->actionManager();
+ Core::ActionContainer *contextMenu= am->createMenu(QmlEditor::Constants::M_CONTEXT);
+ Core::Command *cmd = am->command(TextEditor::Constants::AUTO_INDENT_SELECTION);
+ contextMenu->addAction(cmd);
+ cmd = am->command(TextEditor::Constants::UN_COMMENT_SELECTION);
+ contextMenu->addAction(cmd);
+
m_completion = new QmlCodeCompletion();
addAutoReleasedObject(m_completion);
#include "parser/javascriptast_p.h"
#include <indenter.h>
+#include <utils/uncommentselection.h>
#include <coreplugin/icore.h>
#include <coreplugin/actionmanager/actionmanager.h>
delete menu;
}
+void ScriptEditor::unCommentSelection()
+{
+ Utils::unCommentSelection(this);
+}
+
} // namespace Internal
} // namespace QtScriptEditor
QList<Declaration> declarations() const;
QStringList words() const;
+ void unCommentSelection(); // from basetexteditor
+
public slots:
virtual void setFontSettings(const TextEditor::FontSettings &);
qtscripteditorfactory.h \
qtscripteditorplugin.h \
qtscripthighlighter.h \
-qtscripteditoractionhandler.h \
qtscriptcodecompletion.h
SOURCES += qtscripteditor.cpp \
qtscripteditorfactory.cpp \
qtscripteditorplugin.cpp \
qtscripthighlighter.cpp \
-qtscripteditoractionhandler.cpp \
qtscriptcodecompletion.cpp
RESOURCES += qtscripteditor.qrc
+++ /dev/null
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** Commercial Usage
-**
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Nokia.
-**
-** GNU Lesser General Public License Usage
-**
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://qt.nokia.com/contact.
-**
-**************************************************************************/
-
-#include "qtscripteditoractionhandler.h"
-#include "qtscripteditorconstants.h"
-#include "qtscripteditor.h"
-
-#include <coreplugin/icore.h>
-#include <coreplugin/actionmanager/actionmanager.h>
-#include <coreplugin/scriptmanager/scriptmanager.h>
-
-#include <QtCore/QDebug>
-#include <QtGui/QAction>
-#include <QtGui/QMainWindow>
-#include <QtGui/QMessageBox>
-
-#if 0
-static QAction *actionFromId(const QString &id)
-{
- Core::Command *cmd = Core::ICore::instance()->actionManager()->command(id);
- if (!cmd)
- return 0;
- return cmd->action();
-}
-#endif
-
-namespace QtScriptEditor {
-namespace Internal {
-
-QtScriptEditorActionHandler::QtScriptEditorActionHandler()
- : TextEditor::TextEditorActionHandler(QLatin1String(QtScriptEditor::Constants::C_QTSCRIPTEDITOR),
- Format)
-{
-}
-
-void QtScriptEditorActionHandler::createActions()
-{
- TextEditor::TextEditorActionHandler::createActions();
-}
-
-
-void QtScriptEditorActionHandler::run()
-{
- typedef Core::ScriptManager::Stack Stack;
- if (!currentEditor())
- return;
-
- const QString script = currentEditor()->toPlainText();
-
- // run
- Stack errorStack;
- QString errorMessage;
- if (Core::ICore::instance()->scriptManager()->runScript(script, &errorMessage, &errorStack))
- return;
-
- // try to find a suitable error line in the stack
- // ignoring 0 and other files (todo: open other files?)
- int errorLineNumber = 0;
- if (const int numFrames = errorStack.size()) {
- for (int f = 0; f < numFrames; f++) {
- if (errorStack[f].lineNumber && errorStack[f].fileName.isEmpty()) {
- errorLineNumber = errorStack[f].lineNumber;
- break;
- }
- }
- }
- if (errorLineNumber)
- currentEditor()->gotoLine(errorLineNumber);
- QMessageBox::critical(Core::ICore::instance()->mainWindow(), tr("Qt Script Error"), errorMessage);
-}
-
-} // namespace Internal
-} // namespace QtScriptEditor
+++ /dev/null
-/**************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** Commercial Usage
-**
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Nokia.
-**
-** GNU Lesser General Public License Usage
-**
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://qt.nokia.com/contact.
-**
-**************************************************************************/
-
-#ifndef QTSCRIPTDITORACTIONHANDLER_H
-#define QTSCRIPTDITORACTIONHANDLER_H
-
-#include <texteditor/texteditoractionhandler.h>
-
-namespace QtScriptEditor {
-namespace Internal {
-
-class QtScriptEditorActionHandler : public TextEditor::TextEditorActionHandler
-{
- Q_OBJECT
-
-public:
- QtScriptEditorActionHandler();
-
-private:
- virtual void createActions();
-
-private slots:
- void run();
-};
-
-} // namespace Internal
-} // namespace QtScriptEditor
-
-#endif // QTSCRIPTDITORACTIONHANDLER_H
#include "qtscripteditorfactory.h"
#include "qtscripteditor.h"
-#include "qtscripteditoractionhandler.h"
#include "qtscripteditorconstants.h"
#include "qtscripteditorplugin.h"
+#include <coreplugin/icore.h>
#include <coreplugin/editormanager/editormanager.h>
+#include <coreplugin/actionmanager/actionmanager.h>
+
+#include <texteditor/texteditorconstants.h>
#include <QtCore/QFileInfo>
#include <QtCore/QDebug>
: Core::IEditorFactory(parent),
m_kind(QLatin1String(C_QTSCRIPTEDITOR)),
m_mimeTypes(QLatin1String(QtScriptEditor::Constants::C_QTSCRIPTEDITOR_MIMETYPE)),
- m_context(context),
- m_actionHandler(new QtScriptEditorActionHandler)
+ m_context(context)
{
}
QtScriptEditorFactory::~QtScriptEditorFactory()
{
- delete m_actionHandler;
}
QString QtScriptEditorFactory::kind() const
const QString m_kind;
const QStringList m_mimeTypes;
const Context m_context;
-
- TextEditor::TextEditorActionHandler *m_actionHandler;
};
} // namespace Internal
m_context = m_scriptcontext;
m_context << core->uniqueIDManager()->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR);
+ m_actionHandler = new TextEditor::TextEditorActionHandler(QtScriptEditor::Constants::C_QTSCRIPTEDITOR,
+ TextEditor::TextEditorActionHandler::Format
+ | TextEditor::TextEditorActionHandler::UnCommentSelection
+ | TextEditor::TextEditorActionHandler::UnCollapseAll);
+
registerActions();
m_editor = new QtScriptEditorFactory(m_context, this);
wizardParameters, this);
addObject(m_wizard);
- m_actionHandler = new TextEditor::TextEditorActionHandler(QtScriptEditor::Constants::C_QTSCRIPTEDITOR,
- TextEditor::TextEditorActionHandler::Format
- | TextEditor::TextEditorActionHandler::UnCommentSelection
- | TextEditor::TextEditorActionHandler::UnCollapseAll);
m_completion = new QtScriptCodeCompletion();
addAutoReleasedObject(m_completion);
void QtScriptEditorPlugin::registerActions()
{
-// Core::ActionManager *am = Core::ICore::instance()->actionManager();
-// Core::ActionContainer *mcontext = am->createMenu(QtScriptEditor::Constants::M_CONTEXT);
+ m_actionHandler->initializeActions();
+ Core::ActionManager *am = Core::ICore::instance()->actionManager();
+ Core::ActionContainer *contextMenu= am->createMenu(QtScriptEditor::Constants::M_CONTEXT);
+ Core::Command *cmd = am->command(TextEditor::Constants::AUTO_INDENT_SELECTION);
+ contextMenu->addAction(cmd);
+ cmd = am->command(TextEditor::Constants::UN_COMMENT_SELECTION);
+ contextMenu->addAction(cmd);
}
Q_EXPORT_PLUGIN(QtScriptEditorPlugin)