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