1 /************************************************************************************
2   Copyright (C) 2003 by Jeroen Wijnhout (wijnhout@science.uva.nl)
3                 2008-2012 by Michel Ludwig (michel.ludwig@kdemail.net)
4  ************************************************************************************/
5 
6 /***************************************************************************
7  *                                                                         *
8  *   This program is free software; you can redistribute it and/or modify  *
9  *   it under the terms of the GNU General Public License as published by  *
10  *   the Free Software Foundation; either version 2 of the License, or     *
11  *   (at your option) any later version.                                   *
12  *                                                                         *
13  ***************************************************************************/
14 
15 #include "outputinfo.h"
16 
OutputInfo()17 OutputInfo::OutputInfo()
18 {
19     clear();
20 }
21 
22 
OutputInfo(const QString & mainSourceFile,const QString & strSrcFile,int nSrcLine,int nOutputLine,const QString & strError,int nErrorID)23 OutputInfo::OutputInfo(const QString& mainSourceFile, const QString& strSrcFile, int nSrcLine, int nOutputLine,
24                        const QString& strError, int nErrorID /*=-1*/) :
25     m_mainSourceFile(mainSourceFile),
26     m_strSrcFile(strSrcFile),
27     m_nSrcLine(nSrcLine),
28     m_strError(strError),
29     m_nOutputLine(nOutputLine),
30     m_nErrorID(nErrorID)
31 {
32 }
33 
clear()34 void OutputInfo::clear()
35 {
36     m_mainSourceFile.clear();
37     m_strSrcFile.clear();
38     m_nSrcLine = -1;
39     m_nOutputLine = -1;
40     m_strError.clear();
41     m_nErrorID = -1;
42 }
43 
operator ==(const OutputInfo & info) const44 bool OutputInfo::operator==(const OutputInfo& info) const
45 {
46     return (m_mainSourceFile == info.m_mainSourceFile
47             && m_strSrcFile == info.m_strSrcFile
48             && m_nSrcLine == info.m_nSrcLine
49             && m_strError == info.m_strError
50             && m_nOutputLine == info.m_nOutputLine
51             && m_nErrorID == info.m_nErrorID);
52 }
53 
isValid() const54 bool OutputInfo::isValid() const
55 {
56     return !(m_mainSourceFile.isEmpty() && m_strSrcFile.isEmpty() && m_nSrcLine == -1 && m_nOutputLine == -1
57              && m_strError.isEmpty() && m_nErrorID == -1);
58 }
59 
LatexOutputInfo()60 LatexOutputInfo::LatexOutputInfo() : OutputInfo()
61 {
62 }
63 
64 
LatexOutputInfo(const QString & mainSourceFile,const QString & strSrcFile,int nSrcLine,int nOutputLine,const QString & strError,int nErrorID)65 LatexOutputInfo::LatexOutputInfo(const QString& mainSourceFile, const QString& strSrcFile, int nSrcLine, int nOutputLine,
66                                  const QString& strError, int nErrorID)
67     : OutputInfo(mainSourceFile, strSrcFile, nSrcLine, nOutputLine, strError, nErrorID)
68 {
69 }
70 
71 /**
72  * LatexOutputHandler
73  */
74 
LaTeXOutputHandler()75 LaTeXOutputHandler::LaTeXOutputHandler()
76     : m_nErrors(-1), m_nWarnings(-1), m_nBadBoxes(-1), m_currentError(-1)
77 {
78 }
79 
~LaTeXOutputHandler()80 LaTeXOutputHandler::~LaTeXOutputHandler()
81 {
82 
83 }
84 
storeLaTeXOutputParserResult(int nErrors,int nWarnings,int nBadBoxes,const LatexOutputInfoArray & outputList,const QString & logFile)85 void LaTeXOutputHandler::storeLaTeXOutputParserResult(int nErrors, int nWarnings, int nBadBoxes,
86         const LatexOutputInfoArray& outputList,
87         const QString& logFile)
88 {
89     m_nErrors = nErrors;
90     m_nWarnings = nWarnings;
91     m_nBadBoxes = nBadBoxes;
92     m_latexOutputInfoList = outputList;
93     m_logFile = logFile;
94     m_currentError = -1;
95 }
96 
numberOfWarnings() const97 int LaTeXOutputHandler::numberOfWarnings() const
98 {
99     return m_nWarnings;
100 }
101 
numberOfErrors() const102 int LaTeXOutputHandler::numberOfErrors() const
103 {
104     return m_nErrors;
105 }
106 
numberOfBadBoxes() const107 int LaTeXOutputHandler::numberOfBadBoxes() const
108 {
109     return m_nBadBoxes;
110 }
111 
outputList() const112 LatexOutputInfoArray LaTeXOutputHandler::outputList() const
113 {
114     return m_latexOutputInfoList;
115 }
116 
logFile() const117 QString LaTeXOutputHandler::logFile() const
118 {
119     return m_logFile;
120 }
121 
currentError() const122 int LaTeXOutputHandler::currentError() const
123 {
124     return m_currentError;
125 }
126 
setCurrentError(int i)127 void LaTeXOutputHandler::setCurrentError(int i)
128 {
129     m_currentError = i;
130 }
131 
bibliographyBackendToolUserOverride() const132 const KileTool::ToolConfigPair& LaTeXOutputHandler::bibliographyBackendToolUserOverride() const
133 {
134     return m_userOverrideBibBackendToolConfigPair;
135 }
136 
setBibliographyBackendToolUserOverride(const KileTool::ToolConfigPair & p)137 void LaTeXOutputHandler::setBibliographyBackendToolUserOverride(const KileTool::ToolConfigPair& p)
138 {
139     m_userOverrideBibBackendToolConfigPair = p;
140 }
141 
bibliographyBackendToolAutoDetected() const142 const KileTool::ToolConfigPair& LaTeXOutputHandler::bibliographyBackendToolAutoDetected() const
143 {
144     return m_autodetectBibBackendToolConfigPair;
145 }
146 
setBibliographyBackendToolAutoDetected(const KileTool::ToolConfigPair & p)147 void LaTeXOutputHandler::setBibliographyBackendToolAutoDetected(const KileTool::ToolConfigPair& p)
148 {
149     m_autodetectBibBackendToolConfigPair = p;
150 }
151 
readBibliographyBackendSettings(const KConfigGroup & group)152 void LaTeXOutputHandler::readBibliographyBackendSettings(const KConfigGroup& group)
153 {
154     const QString& bibBackendUserOverride = group.readEntry("bibliographyBackendUserOverride", QString());
155     m_userOverrideBibBackendToolConfigPair = KileTool::ToolConfigPair::fromConfigStringRepresentation(bibBackendUserOverride);
156 
157     const QString& bibBackendAutoDetected = group.readEntry("bibliographyBackendAutoDetected", QString());
158     m_autodetectBibBackendToolConfigPair = KileTool::ToolConfigPair::fromConfigStringRepresentation(bibBackendAutoDetected);
159 }
160 
writeBibliographyBackendSettings(KConfigGroup & group)161 void LaTeXOutputHandler::writeBibliographyBackendSettings(KConfigGroup& group)
162 {
163     group.writeEntry("bibliographyBackendUserOverride", m_userOverrideBibBackendToolConfigPair.configStringRepresentation());
164     group.writeEntry("bibliographyBackendAutoDetected", m_autodetectBibBackendToolConfigPair.configStringRepresentation());
165 }
166