Commit 6daeaf3b authored by Eike Ziller's avatar Eike Ziller

Fix follow symbol in next split, and simplify code

Follow symbol in next split broke with fd9b2af9
because the flag was no longer handled through EditorManager::openEditorAt
Also remove the flag NoNewSplits which is no longer used, and simplify
how links are opened from the C++ editor.

Change-Id: I845cc3a0a43d82b79d5c46a273232b69fd6e3ea9
Reviewed-by: default avatarEike Ziller <eike.ziller@digia.com>
parent d008779b
......@@ -2221,12 +2221,8 @@ EditorManager::ExternalEditorList
IEditor *EditorManager::openEditor(const QString &fileName, Id editorId,
OpenEditorFlags flags, bool *newEditor)
{
if (flags & EditorManager::OpenInOtherSplit) {
if (flags & EditorManager::NoNewSplits)
EditorManagerPrivate::gotoNextSplit();
else
EditorManager::gotoOtherSplit();
}
if (flags & EditorManager::OpenInOtherSplit)
EditorManager::gotoOtherSplit();
return EditorManagerPrivate::openEditor(EditorManagerPrivate::currentEditorView(),
fileName, editorId, flags, newEditor);
......@@ -2235,6 +2231,9 @@ IEditor *EditorManager::openEditor(const QString &fileName, Id editorId,
IEditor *EditorManager::openEditorAt(const QString &fileName, int line, int column,
Id editorId, OpenEditorFlags flags, bool *newEditor)
{
if (flags & EditorManager::OpenInOtherSplit)
EditorManager::gotoOtherSplit();
return EditorManagerPrivate::openEditorAt(EditorManagerPrivate::currentEditorView(),
fileName, line, column, editorId, flags, newEditor);
}
......@@ -2297,12 +2296,8 @@ IEditor *EditorManager::openEditorWithContents(Id editorId,
if (debugEditorManager)
qDebug() << Q_FUNC_INFO << editorId.name() << titlePattern << contents;
if (flags & EditorManager::OpenInOtherSplit) {
if (flags & EditorManager::NoNewSplits)
EditorManagerPrivate::gotoNextSplit();
else
if (flags & EditorManager::OpenInOtherSplit)
EditorManager::gotoOtherSplit();
}
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
......
......@@ -105,8 +105,7 @@ public:
IgnoreNavigationHistory = 2,
DoNotMakeVisible = 4,
CanContainLineNumber = 8,
OpenInOtherSplit = 16,
NoNewSplits = 32
OpenInOtherSplit = 16
};
Q_DECLARE_FLAGS(OpenEditorFlags, OpenEditorFlag)
......
......@@ -417,7 +417,7 @@ void CppEditorWidget::switchDeclarationDefinition(bool inNextSplit)
// Open Editor at link position
if (symbolLink.hasValidTarget())
openCppEditorAt(symbolLink, inNextSplit != alwaysOpenLinksInNextSplit());
openLink(symbolLink, inNextSplit != alwaysOpenLinksInNextSplit());
}
CppEditorWidget::Link CppEditorWidget::findLinkAt(const QTextCursor &cursor, bool resolveTarget,
......@@ -576,21 +576,6 @@ CppEditorWidget::Link CppEditorWidget::linkToSymbol(CPlusPlus::Symbol *symbol)
return Link(filename, line, column);
}
bool CppEditorWidget::openCppEditorAt(const Link &link, bool inNextSplit)
{
if (!link.hasValidTarget())
return false;
EditorManager::OpenEditorFlags flags;
if (inNextSplit)
flags |= EditorManager::OpenInOtherSplit;
return EditorManager::openEditorAt(link.targetFileName,
link.targetLine,
link.targetColumn,
Constants::CPPEDITOR_ID,
flags);
}
void CppEditorWidget::updateSemanticInfo(const SemanticInfo &semanticInfo,
bool updateUseSelectionSynchronously)
{
......
......@@ -104,9 +104,6 @@ protected:
void applyFontSettings() Q_DECL_OVERRIDE;
bool openLink(const Link &link, bool inNextSplit) Q_DECL_OVERRIDE
{ return openCppEditorAt(link, inNextSplit); }
Link findLinkAt(const QTextCursor &, bool resolveTarget = true,
bool inNextSplit = false) Q_DECL_OVERRIDE;
......@@ -140,8 +137,6 @@ private:
void finalizeInitialization() Q_DECL_OVERRIDE;
void finalizeInitializationAfterDuplication(BaseTextEditorWidget *other) Q_DECL_OVERRIDE;
static bool openCppEditorAt(const Link &, bool inNextSplit = false);
unsigned documentRevision() const;
private:
......
......@@ -5334,16 +5334,18 @@ bool BaseTextEditorWidget::openLink(const Link &link, bool inNextSplit)
if (!link.hasValidTarget())
return false;
if (inNextSplit) {
EditorManager::gotoOtherSplit();
} else if (textDocument()->filePath() == link.targetFileName) {
if (!inNextSplit && textDocument()->filePath() == link.targetFileName) {
EditorManager::addCurrentPositionToNavigationHistory();
gotoLine(link.targetLine, link.targetColumn);
setFocus();
return true;
}
EditorManager::OpenEditorFlags flags;
if (inNextSplit)
flags |= EditorManager::OpenInOtherSplit;
return EditorManager::openEditorAt(link.targetFileName, link.targetLine, link.targetColumn);
return EditorManager::openEditorAt(link.targetFileName, link.targetLine, link.targetColumn,
Id(), flags);
}
void BaseTextEditorWidgetPrivate::updateLink(QMouseEvent *e)
......
......@@ -580,10 +580,9 @@ protected:
bool inNextSplit = false);
/*!
Reimplement this function if you want to customize the way a link is
opened. Returns whether the link was opened successfully.
Returns whether the link was opened successfully.
*/
virtual bool openLink(const Link &link, bool inNextSplit = false);
bool openLink(const Link &link, bool inNextSplit = false);
/*!
Reimplement this function to change the default replacement text.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment