diff options
Diffstat (limited to 'src/plugins/diffeditor/diffeditorplugin.cpp')
-rw-r--r-- | src/plugins/diffeditor/diffeditorplugin.cpp | 45 |
1 files changed, 21 insertions, 24 deletions
diff --git a/src/plugins/diffeditor/diffeditorplugin.cpp b/src/plugins/diffeditor/diffeditorplugin.cpp index a4a1429539..2fe3618574 100644 --- a/src/plugins/diffeditor/diffeditorplugin.cpp +++ b/src/plugins/diffeditor/diffeditorplugin.cpp @@ -136,31 +136,28 @@ void DiffEditorPlugin::diff() const Core::Id editorId = Constants::DIFF_EDITOR_ID; //: Editor title QString title = tr("Diff \"%1\", \"%2\"").arg(fileName1).arg(fileName2); - Core::IEditor *outputEditor = Core::EditorManager::openEditorWithContents(editorId, &title, QString()); - Core::EditorManager::activateEditor(outputEditor, Core::EditorManager::ModeSwitch); - - DiffEditorWidget *editorWidget = getDiffEditorWidget(outputEditor); - if (editorWidget) { - const QString text1 = getFileContents(fileName1, editorWidget->codec()); - const QString text2 = getFileContents(fileName2, editorWidget->codec()); - - DiffEditorWidget::DiffFilesContents dfc; - dfc.leftFileInfo = fileName1; - dfc.leftText = text1; - dfc.rightFileInfo = fileName2; - dfc.rightText = text2; - QList<DiffEditorWidget::DiffFilesContents> list; - list.append(dfc); - - editorWidget->setDiff(list); - } -} + DiffEditorEditable *editorEditable = qobject_cast<DiffEditorEditable *> + (Core::EditorManager::openEditorWithContents(editorId, &title, QString())); -DiffEditorWidget *DiffEditorPlugin::getDiffEditorWidget(const Core::IEditor *editor) const -{ - if (const DiffEditorEditable *de = qobject_cast<const DiffEditorEditable *>(editor)) - return de->editorWidget(); - return 0; + if (!editorEditable) + return; + + Core::EditorManager::activateEditor(editorEditable, Core::EditorManager::ModeSwitch); + + DiffEditorWidget *editorWidget = editorEditable->editorWidget(); + + const QString text1 = getFileContents(fileName1, editorWidget->codec()); + const QString text2 = getFileContents(fileName2, editorWidget->codec()); + + DiffEditorWidget::DiffFilesContents dfc; + dfc.leftFileInfo = fileName1; + dfc.leftText = text1; + dfc.rightFileInfo = fileName2; + dfc.rightText = text2; + QList<DiffEditorWidget::DiffFilesContents> list; + list.append(dfc); + + editorEditable->setDiff(list); } QString DiffEditorPlugin::getFileContents(const QString &fileName, QTextCodec *codec) const |