From bb89b8136ff835c8fbd9f313d58815c8f361dff9 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Thu, 4 Mar 2021 21:14:49 +0100 Subject: Refactoring: some cleanup and removed text direction logic --- src/clangparser.cpp | 9 ++-- src/clangparser.h | 6 +-- src/commentcnv.l | 2 - src/dirdef.h | 1 - src/docgroup.h | 5 +- src/docparser.cpp | 121 ------------------------------------------------- src/docparser.h | 53 +--------------------- src/doctokenizer.l | 1 - src/doxygen.cpp | 10 ++-- src/ftextstream.h | 1 - src/htmldocvisitor.cpp | 65 ++++++-------------------- src/htmlgen.cpp | 2 +- src/image.h | 13 +++--- src/index.cpp | 6 +-- src/markdown.cpp | 1 - src/memberdef.cpp | 1 - src/namespacedef.h | 1 - src/parserintf.h | 2 - src/portable.cpp | 2 - src/printdocvisitor.h | 1 - src/pycode.l | 11 ++--- src/qhpxmlwriter.h | 5 +- src/resourcemgr.cpp | 1 - src/types.h | 1 - src/util.cpp | 5 +- src/util.h | 2 +- 26 files changed, 47 insertions(+), 281 deletions(-) diff --git a/src/clangparser.cpp b/src/clangparser.cpp index 93f0f03..045b0aa 100644 --- a/src/clangparser.cpp +++ b/src/clangparser.cpp @@ -7,7 +7,6 @@ #include #include "clang/Tooling/CompilationDatabase.h" #include "clang/Tooling/Tooling.h" -#include #include #include "message.h" #include "outputgen.h" @@ -381,10 +380,10 @@ void ClangTUParser::switchToFile(const FileDef *fd) } } -QCString ClangTUParser::lookup(uint line,const char *symbol) +std::string ClangTUParser::lookup(uint line,const char *symbol) { //printf("ClangParser::lookup(%d,%s)\n",line,symbol); - QCString result; + std::string result; if (symbol==0) return result; static bool clangAssistedParsing = Config_getBool(CLANG_ASSISTED_PARSING); if (!clangAssistedParsing) return result; @@ -911,9 +910,9 @@ void ClangTUParser::parse() { } -QCString ClangTUParser::lookup(uint,const char *) +std::string ClangTUParser::lookup(uint,const char *) { - return ""; + return std::string(); } class ClangParser::Private diff --git a/src/clangparser.h b/src/clangparser.h index 83aafdd..71a79d5 100644 --- a/src/clangparser.h +++ b/src/clangparser.h @@ -1,10 +1,10 @@ #ifndef CLANGPARSER_H #define CLANGPARSER_H -#include -#include #include "containers.h" +#include "types.h" #include +#include class CodeOutputInterface; class FileDef; @@ -40,7 +40,7 @@ class ClangTUParser /** Looks for \a symbol which should be found at \a line. * returns a clang unique reference to the symbol. */ - QCString lookup(uint line,const char *symbol); + std::string lookup(uint line,const char *symbol); /** writes the syntax highlighted source code for a file * @param[out] ol The output generator list to write to. diff --git a/src/commentcnv.l b/src/commentcnv.l index cacbffa..09583d3 100644 --- a/src/commentcnv.l +++ b/src/commentcnv.l @@ -29,8 +29,6 @@ #include #include -#include - #include "bufstr.h" #include "debug.h" #include "message.h" diff --git a/src/dirdef.h b/src/dirdef.h index d047a99..0e3db91 100644 --- a/src/dirdef.h +++ b/src/dirdef.h @@ -21,7 +21,6 @@ #include #include -#include #include class FileList; diff --git a/src/docgroup.h b/src/docgroup.h index c724348..696e4f7 100644 --- a/src/docgroup.h +++ b/src/docgroup.h @@ -3,8 +3,8 @@ * Copyright (C) 1997-2019 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its - * documentation under the terms of the GNU General Public License is hereby - * granted. No representations are made about the suitability of this software + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software * for any purpose. It is provided "as is" without express or implied warranty. * See the GNU General Public License for more details. * @@ -17,7 +17,6 @@ #define DOCGROUP_H #include -#include #include "membergroup.h" class Entry; diff --git a/src/docparser.cpp b/src/docparser.cpp index 6325cd8..d42ae57 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -7323,128 +7323,7 @@ static QCString processCopyDoc(const char *data,uint &len) buf.addChar(0); return buf.get(); } -//--------------------------------------------------------------------------- -QString::Direction getTextDirByConfig(const QString &text) -{ - QCString configDir = Config_getEnum(OUTPUT_TEXT_DIRECTION); - if (configDir == "None") - return QString::DirNeutral; - if (configDir == "Context") - return text.basicDirection(); - if (configDir == "LTR") - { - QString::Direction textDir = text.direction(); - if (textDir == QString::DirMixed) - return QString::DirLTR; - return textDir; - } - if (configDir == "RTL") - { - QString::Direction textDir = text.direction(); - if (textDir == QString::DirMixed) - return QString::DirRTL; - return textDir; - } - return QString::DirNeutral; -} - -QString::Direction getTextDirByConfig(const DocNode *node) -{ - QCString configDir = Config_getEnum(OUTPUT_TEXT_DIRECTION); - if (configDir == "None") - return QString::DirNeutral; - if (configDir == "Context") - return node->getTextBasicDir(); - if (configDir == "LTR") - { - QString::Direction textDir = node->getTextDir(); - if (textDir == QString::DirMixed) - return QString::DirLTR; - return textDir; - } - if (configDir == "RTL") - { - QString::Direction textDir = node->getTextDir(); - if (textDir == QString::DirMixed) - return QString::DirRTL; - return textDir; - } - return QString::DirNeutral; -} -QString::Direction getTextDirByConfig(const DocPara *para, int nodeIndex) -{ - QCString configDir = Config_getEnum(OUTPUT_TEXT_DIRECTION); - if (configDir == "None") - return QString::DirNeutral; - if (configDir == "Context") - return para->getTextBasicDir(nodeIndex); - if (configDir == "LTR") - { - QString::Direction textDir = para->getTextDir(nodeIndex); - if (textDir == QString::DirMixed) - return QString::DirLTR; - return textDir; - } - if (configDir == "RTL") - { - QString::Direction textDir = para->getTextDir(nodeIndex); - if (textDir == QString::DirMixed) - return QString::DirRTL; - return textDir; - } - return QString::DirNeutral; -} - -QCString getDirHtmlClassOfNode(QString::Direction textDir, const QCString &initValue) -{ - QCString classFromDir; - if (textDir == QString::DirLTR) - classFromDir = "DocNodeLTR"; - else if (textDir == QString::DirRTL) - classFromDir = "DocNodeRTL"; - else - classFromDir = ""; - - if (initValue && !classFromDir.isEmpty()) - return QCString(" class=\"") + initValue + " " + classFromDir + "\""; - if (initValue) - return QCString(" class=\"") + initValue + "\""; - if (!classFromDir.isEmpty()) - return QCString(" class=\"") + classFromDir + "\""; - return ""; -} - -QCString getDirHtmlClassOfPage(QCString pageTitle) -{ - QCString result = ""; - result += " class=\"PageDoc"; - QString::Direction titleDir = getTextDirByConfig(pageTitle); - if (titleDir == QString::DirLTR) - result += " PageDocLTR-title"; - else if (titleDir == QString::DirRTL) - result += " PageDocRTL-title"; - result += "\""; - return result; -} - -QCString getHtmlDirEmbeddingChar(QString::Direction textDir) -{ - if (textDir == QString::DirLTR) - return "‪"; - if (textDir == QString::DirRTL) - return "‫"; - return ""; -} - -QCString getJsDirEmbeddingChar(QString::Direction textDir) -{ - if (textDir == QString::DirLTR) - return "\\u202A"; - if (textDir == QString::DirRTL) - return "\\u202B"; - return ""; -} //--------------------------------------------------------------------------- DocRoot *validatingParseDoc(const char *fileName,int startLine, diff --git a/src/docparser.h b/src/docparser.h index fa2b440..3f243e2 100644 --- a/src/docparser.h +++ b/src/docparser.h @@ -23,7 +23,6 @@ #include #include -#include #include #include "docvisitor.h" @@ -35,15 +34,6 @@ class Definition; class MemberGroup; //--------------------------------------------------------------------------- -QString::Direction getTextDirByConfig(const QString &text); -QString::Direction getTextDirByConfig(const DocNode *node); -QString::Direction getTextDirByConfig(const DocPara *para, int nodeIndex); -QCString getDirHtmlClassOfNode(QString::Direction textDir, const QCString &initValue=""); -QCString getDirHtmlClassOfPage(QCString pageTitle); -QCString getHtmlDirEmbeddingChar(QString::Direction textDir); -QCString getJsDirEmbeddingChar(QString::Direction textDir); -//--------------------------------------------------------------------------- - /*! Main entry point for the documentation parser. * @param fileName File in which the documentation block is found (or the @@ -170,8 +160,8 @@ class DocNode /*! Returns TRUE iff this node is inside a preformatted section */ bool isPreformatted() const { return m_insidePre; } - virtual QString::Direction getTextDir() const { return QString::DirNeutral; } - virtual QString::Direction getTextBasicDir() const { return QString::DirNeutral; } + //virtual QString::Direction getTextDir() const { return QString::DirNeutral; } + //virtual QString::Direction getTextBasicDir() const { return QString::DirNeutral; } protected: /*! Sets whether or not this item is inside a preformatted section */ @@ -200,39 +190,6 @@ class CompAccept : public DocNode } const DocNodeList &children() const { return m_children; } DocNodeList &children() { return m_children; } - QString::Direction getTextDir(uint nodeIndex) const - { - unsigned char resultDir = QString::DirNeutral; - for (const auto &node : m_children) - { - resultDir |= (unsigned char)node->getTextDir(); - if (resultDir == QString::DirMixed) - { - return QString::DirMixed; - } - } - return static_cast(resultDir); - } - QString::Direction getTextBasicDir(uint nodeIndex) const - { - for (const auto &node : m_children) - { - QString::Direction nodeDir = node->getTextBasicDir(); - if (nodeDir != QString::DirNeutral) - { - return nodeDir; - } - } - return QString::DirNeutral; - } - virtual QString::Direction getTextDir() const - { - return getTextDir(0); - } - virtual QString::Direction getTextBasicDir() const - { - return getTextBasicDir(0); - } protected: DocNodeList m_children; @@ -248,8 +205,6 @@ class DocWord : public DocNode QCString word() const { return m_word; } Kind kind() const { return Kind_Word; } void accept(DocVisitor *v) { v->visit(this); } - virtual QString::Direction getTextDir() const { return QString(word()).direction(); }; - virtual QString::Direction getTextBasicDir() const { return QString(word()).basicDirection(); }; private: QCString m_word; @@ -271,8 +226,6 @@ class DocLinkedWord : public DocNode QCString anchor() const { return m_anchor; } QCString tooltip() const { return m_tooltip; } void accept(DocVisitor *v) { v->visit(this); } - virtual QString::Direction getTextDir() const { return QString(word()).direction(); }; - virtual QString::Direction getTextBasicDir() const { return QString(word()).basicDirection(); }; private: QCString m_word; @@ -293,8 +246,6 @@ class DocURL : public DocNode Kind kind() const { return Kind_URL; } void accept(DocVisitor *v) { v->visit(this); } bool isEmail() const { return m_isEmail; } - virtual QString::Direction getTextDir() const { return QString::DirLTR; }; - virtual QString::Direction getTextBasicDir() const { return QString::DirLTR; }; private: QCString m_url; diff --git a/src/doctokenizer.l b/src/doctokenizer.l index a717d69..eaf8a43 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -29,7 +29,6 @@ #include #include -#include #include "doctokenizer.h" #include "cmdmapper.h" diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 233861c..6257eb8 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -13,23 +13,22 @@ * */ -#include -#include -#include - #include #include #include + #include #include #include -#include #include #include #include #include #include +#include +#include +#include #include "version.h" #include "doxygen.h" @@ -11951,7 +11950,6 @@ void generateOutput() thisDir.remove(Doxygen::filterDBFileName); finishWarnExit(); Config::deinit(); - QTextCodec::deleteAllCodecs(); delete Doxygen::clangUsrMap; g_successfulRun=TRUE; } diff --git a/src/ftextstream.h b/src/ftextstream.h index 5b6a9ca..8e56174 100644 --- a/src/ftextstream.h +++ b/src/ftextstream.h @@ -4,7 +4,6 @@ #include #include -#include #include /** @brief Simplified and optimized version of QTextStream */ diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp index 6d761eb..2ad0e19 100644 --- a/src/htmldocvisitor.cpp +++ b/src/htmldocvisitor.cpp @@ -961,9 +961,8 @@ void HtmlDocVisitor::visitPre(DocAutoList *l) } else { - m_t << ""; } - m_t << getDirHtmlClassOfNode(getTextDirByConfig(l)) << ">"; if (!l->isPreformatted()) m_t << "\n"; } @@ -1229,7 +1228,6 @@ void HtmlDocVisitor::visitPre(DocPara *p) // if the first element of a paragraph is something that should be outside of // the paragraph (