summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/texteditor/texteditorconstants.h1
-rw-r--r--src/plugins/texteditor/texteditorplugin.cpp22
2 files changed, 19 insertions, 4 deletions
diff --git a/src/plugins/texteditor/texteditorconstants.h b/src/plugins/texteditor/texteditorconstants.h
index 39e656afcd..7a9edef2f7 100644
--- a/src/plugins/texteditor/texteditorconstants.h
+++ b/src/plugins/texteditor/texteditorconstants.h
@@ -94,6 +94,7 @@ namespace Constants {
const char C_TEXTEDITOR[] = "Text Editor";
const char COMPLETE_THIS[] = "TextEditor.CompleteThis";
const char QUICKFIX_THIS[] = "TextEditor.QuickFix";
+const char CREATE_SCRATCH_BUFFER[] = "TextEditor.CreateScratchBuffer";
const char VISUALIZE_WHITESPACE[] = "TextEditor.VisualizeWhitespace";
const char CLEAN_WHITESPACE[] = "TextEditor.CleanWhitespace";
const char TEXT_WRAPPING[] = "TextEditor.TextWrapping";
diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp
index 3ad315773e..e47a350424 100644
--- a/src/plugins/texteditor/texteditorplugin.cpp
+++ b/src/plugins/texteditor/texteditorplugin.cpp
@@ -99,6 +99,8 @@ static inline QString wizardDisplayCategory()
// based on a temporary file without prompting for a path.
class ScratchFileWizard : public Core::IWizard
{
+ Q_OBJECT
+
public:
virtual WizardKind kind() const { return FileWizard; }
virtual QIcon icon() const { return QIcon(); }
@@ -118,13 +120,15 @@ public:
{ return Core::FeatureSet(); }
virtual WizardFlags flags() const
{ return Core::IWizard::PlatformIndependent; }
+ virtual void runWizard(const QString &, QWidget *, const QString &, const QVariantMap &)
+ { createFile(); }
- virtual void runWizard(const QString &path, QWidget *parent, const QString &platform, const QVariantMap &extraValues);
+public Q_SLOTS:
+ virtual void createFile();
};
-void ScratchFileWizard::runWizard(const QString &, QWidget *, const QString &, const QVariantMap &extraValues)
+void ScratchFileWizard::createFile()
{
- Q_UNUSED(extraValues)
QString tempPattern = QDir::tempPath();
if (!tempPattern.endsWith(QLatin1Char('/')))
tempPattern += QLatin1Char('/');
@@ -156,7 +160,8 @@ bool TextEditorPlugin::initialize(const QStringList &arguments, QString *errorMe
wizardParameters);
// Add text file wizard
addAutoReleasedObject(wizard);
- addAutoReleasedObject(new ScratchFileWizard);
+ ScratchFileWizard *scratchFile = new ScratchFileWizard;
+ addAutoReleasedObject(scratchFile);
m_settings = new TextEditorSettings(this);
@@ -188,6 +193,13 @@ bool TextEditorPlugin::initialize(const QStringList &arguments, QString *errorMe
quickFixCommand->setDefaultKeySequence(QKeySequence(tr("Alt+Return")));
connect(quickFixShortcut, SIGNAL(activated()), this, SLOT(invokeQuickFix()));
+ // Add shortcut for create a scratch buffer
+ QShortcut *scratchBufferShortcut = new QShortcut(Core::ICore::mainWindow());
+ scratchBufferShortcut->setWhatsThis(tr("Creates a scratch buffer using a temporary file."));
+ scratchBufferShortcut->setContext(Qt::ApplicationShortcut);
+ Core::ActionManager::registerShortcut(scratchBufferShortcut, Constants::CREATE_SCRATCH_BUFFER, context);
+ connect(scratchBufferShortcut, SIGNAL(activated()), scratchFile, SLOT(createFile()));
+
// Generic highlighter.
connect(Core::ICore::instance(), SIGNAL(coreOpened()),
Manager::instance(), SLOT(registerMimeTypes()));
@@ -327,3 +339,5 @@ void TextEditorPlugin::updateCurrentSelection(const QString &text)
}
Q_EXPORT_PLUGIN(TextEditorPlugin)
+
+#include "texteditorplugin.moc"