summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2020-02-24 13:46:26 (GMT)
committeralbert-github <albert.tests@gmail.com>2020-02-24 13:46:26 (GMT)
commit8a7647bd12f383730c886b34c431ae976ec5ff83 (patch)
tree974a5cbec00b9206cd23b5232d3aa2ecf26ba781
parent3b392af822d81ae51919feb2c2fc4c539238bb3b (diff)
downloadDoxygen-8a7647bd12f383730c886b34c431ae976ec5ff83.zip
Doxygen-8a7647bd12f383730c886b34c431ae976ec5ff83.tar.gz
Doxygen-8a7647bd12f383730c886b34c431ae976ec5ff83.tar.bz2
issue #7583 External Links in Inheritance Diagrams open in the Image Frame.
When having a function it opens in the current frame and uses the complete frame. Images (e.g. inherited diagrams) are displayed in a small "sub frame" and when displaying the link here it is not readable and furthermore the user doesn't know anything about the "sub frame". In case of an image the link should be displayed in the parent frame of the image.
-rw-r--r--src/diagram.cpp2
-rw-r--r--src/dotfilepatcher.cpp2
-rw-r--r--src/util.cpp9
-rw-r--r--src/util.h2
4 files changed, 10 insertions, 5 deletions
diff --git a/src/diagram.cpp b/src/diagram.cpp
index 18817e9..25b2c06 100644
--- a/src/diagram.cpp
+++ b/src/diagram.cpp
@@ -261,7 +261,7 @@ static void writeMapArea(FTextStream &t,const ClassDef *cd,QCString relPath,
t << "<area ";
if (!ref.isEmpty())
{
- t << externalLinkTarget();
+ t << externalLinkTarget(true);
}
t << "href=\"";
t << externalRef(relPath,ref,TRUE);
diff --git a/src/dotfilepatcher.cpp b/src/dotfilepatcher.cpp
index efc6341..7a65d89 100644
--- a/src/dotfilepatcher.cpp
+++ b/src/dotfilepatcher.cpp
@@ -173,7 +173,7 @@ static QCString replaceRef(const QCString &buf,const QCString relPath,
QCString url = link.mid(marker+1);
if (!ref.isEmpty())
{
- result = externalLinkTarget();
+ result = externalLinkTarget(true);
if (result != "") setTarget = TRUE;
}
result+= href+"=\"";
diff --git a/src/util.cpp b/src/util.cpp
index 25ca13e..92f593c 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -8163,10 +8163,15 @@ void writeSummaryLink(OutputList &ol,const char *label,const char *title,
}
#endif
-QCString externalLinkTarget()
+QCString externalLinkTarget(const bool parent)
{
static bool extLinksInWindow = Config_getBool(EXT_LINKS_IN_WINDOW);
- if (extLinksInWindow) return "target=\"_blank\" "; else return "";
+ if (extLinksInWindow)
+ return "target=\"_blank\" ";
+ else if (parent)
+ return "target=\"_parent\" ";
+ else
+ return "";
}
QCString externalRef(const QCString &relPath,const QCString &ref,bool href)
diff --git a/src/util.h b/src/util.h
index b9628e9..19827b5 100644
--- a/src/util.h
+++ b/src/util.h
@@ -437,7 +437,7 @@ QCString filterTitle(const QCString &title);
bool patternMatch(const QFileInfo &fi,const QStrList *patList);
-QCString externalLinkTarget();
+QCString externalLinkTarget(const bool parent = false);
QCString externalRef(const QCString &relPath,const QCString &ref,bool href);
int nextUtf8CharPosition(const QCString &utf8Str,int len,int startPos);
const char *writeUtf8Char(FTextStream &t,const char *s);