23 #include "colors.h" |
23 #include "colors.h" |
24 |
24 |
25 // ============================================================================= |
25 // ============================================================================= |
26 // Helper function for parseLDConfig |
26 // Helper function for parseLDConfig |
27 // ----------------------------------------------------------------------------- |
27 // ----------------------------------------------------------------------------- |
28 static bool parseLDConfigTag (LDConfigParser& pars, char const* tag, str& val) |
28 static bool parseLDConfigTag (LDConfigParser& pars, char const* tag, QString& val) |
29 { |
29 { |
30 int pos; |
30 int pos; |
31 |
31 |
32 // Try find the token and get its position |
32 // Try find the token and get its position |
33 if (!pars.findToken (pos, tag, 1)) |
33 if (!pars.findToken (pos, tag, 1)) |
61 |
61 |
62 // Parse the line |
62 // Parse the line |
63 LDConfigParser pars (line, ' '); |
63 LDConfigParser pars (line, ' '); |
64 |
64 |
65 int code = 0, alpha = 255; |
65 int code = 0, alpha = 255; |
66 str name, facename, edgename, valuestr; |
66 QString name, facename, edgename, valuestr; |
67 |
67 |
68 // Check 0 !COLOUR, parse the name |
68 // Check 0 !COLOUR, parse the name |
69 if (!pars.tokenCompare (0, "0") || !pars.tokenCompare (1, "!COLOUR") || !pars.getToken (name, 2)) |
69 if (!pars.tokenCompare (0, "0") || !pars.tokenCompare (1, "!COLOUR") || !pars.getToken (name, 2)) |
70 continue; |
70 continue; |
71 |
71 |
114 delete f; |
114 delete f; |
115 } |
115 } |
116 |
116 |
117 // ============================================================================= |
117 // ============================================================================= |
118 // ----------------------------------------------------------------------------- |
118 // ----------------------------------------------------------------------------- |
119 LDConfigParser::LDConfigParser (str inText, char sep) |
119 LDConfigParser::LDConfigParser (QString inText, char sep) |
120 { |
120 { |
121 m_tokens = inText.split (sep, QString::SkipEmptyParts); |
121 m_tokens = inText.split (sep, QString::SkipEmptyParts); |
122 m_pos = -1; |
122 m_pos = -1; |
123 } |
123 } |
124 |
124 |
136 return m_pos == m_tokens.size() - 1; |
136 return m_pos == m_tokens.size() - 1; |
137 } |
137 } |
138 |
138 |
139 // ============================================================================= |
139 // ============================================================================= |
140 // ----------------------------------------------------------------------------- |
140 // ----------------------------------------------------------------------------- |
141 bool LDConfigParser::getToken (str& val, const int pos) |
141 bool LDConfigParser::getToken (QString& val, const int pos) |
142 { |
142 { |
143 if (pos >= m_tokens.size()) |
143 if (pos >= m_tokens.size()) |
144 return false; |
144 return false; |
145 |
145 |
146 val = m_tokens[pos]; |
146 val = m_tokens[pos]; |
147 return true; |
147 return true; |
148 } |
148 } |
149 |
149 |
150 // ============================================================================= |
150 // ============================================================================= |
151 // ----------------------------------------------------------------------------- |
151 // ----------------------------------------------------------------------------- |
152 bool LDConfigParser::getNextToken (str& val) |
152 bool LDConfigParser::getNextToken (QString& val) |
153 { |
153 { |
154 return getToken (val, ++m_pos); |
154 return getToken (val, ++m_pos); |
155 } |
155 } |
156 |
156 |
157 // ============================================================================= |
157 // ============================================================================= |
158 // ----------------------------------------------------------------------------- |
158 // ----------------------------------------------------------------------------- |
159 bool LDConfigParser::peekNextToken (str& val) |
159 bool LDConfigParser::peekNextToken (QString& val) |
160 { |
160 { |
161 return getToken (val, m_pos + 1); |
161 return getToken (val, m_pos + 1); |
162 } |
162 } |
163 |
163 |
164 // ============================================================================= |
164 // ============================================================================= |
200 |
200 |
201 // ============================================================================= |
201 // ============================================================================= |
202 // ----------------------------------------------------------------------------- |
202 // ----------------------------------------------------------------------------- |
203 bool LDConfigParser::tokenCompare (int inPos, const char* sOther) |
203 bool LDConfigParser::tokenCompare (int inPos, const char* sOther) |
204 { |
204 { |
205 str tok; |
205 QString tok; |
206 |
206 |
207 if (!getToken (tok, inPos)) |
207 if (!getToken (tok, inPos)) |
208 return false; |
208 return false; |
209 |
209 |
210 return (tok == sOther); |
210 return (tok == sOther); |