Mercurial > hg > svgui
comparison layer/SingleColourLayer.cpp @ 296:ea37c229a578
* Fix #1757772 tempo, dynamic related plug-ins bug -- make auto-align
only auto-align if there is a unit involved
* Fix #1755366 text layer bug in retrieved session
* Fix input model selection in plugin parameter dialog (was being ignored)
* Use lighter background than the standard widget one for panes (assuming the
widget background is light but not white) -- similarly darker if dark
* Fix colour reference counting in loaded session in SingleColourLayer
* Reset overview pane colour when switching dark background on or off
author | Chris Cannam |
---|---|
date | Tue, 14 Aug 2007 13:58:53 +0000 |
parents | 919740b20cc9 |
children | 860f9ada4327 |
comparison
equal
deleted
inserted
replaced
295:5804703450d8 | 296:ea37c229a578 |
---|---|
139 } | 139 } |
140 // We don't want to call this if !v because that probably | 140 // We don't want to call this if !v because that probably |
141 // means we're being called from the constructor, and this is | 141 // means we're being called from the constructor, and this is |
142 // a virtual function | 142 // a virtual function |
143 hint = getDefaultColourHint(dark, impose); | 143 hint = getDefaultColourHint(dark, impose); |
144 // std::cerr << "hint = " << hint << ", impose = " << impose << std::endl; | 144 std::cerr << "hint = " << hint << ", impose = " << impose << std::endl; |
145 } else { | 145 } else { |
146 // std::cerr << "(from ctor)" << std::endl; | 146 std::cerr << "(from ctor)" << std::endl; |
147 } | 147 } |
148 | 148 |
149 if (hint >= 0 && impose) { | 149 if (hint >= 0 && impose) { |
150 setBaseColour(hint); | 150 setBaseColour(hint); |
151 return; | 151 return; |
162 int count = 0; | 162 int count = 0; |
163 if (m_colourRefCount.find(index) != m_colourRefCount.end()) { | 163 if (m_colourRefCount.find(index) != m_colourRefCount.end()) { |
164 count = m_colourRefCount[index]; | 164 count = m_colourRefCount[index]; |
165 } | 165 } |
166 | 166 |
167 // std::cerr << "index = " << index << ", count = " << count; | 167 std::cerr << "index = " << index << ", count = " << count; |
168 | 168 |
169 if (bestColour < 0 || count < bestCount) { | 169 if (bestColour < 0 || count < bestCount) { |
170 bestColour = index; | 170 bestColour = index; |
171 bestCount = count; | 171 bestCount = count; |
172 // std::cerr << " *"; | 172 std::cerr << " *"; |
173 } | 173 } |
174 | 174 |
175 // std::cerr << std::endl; | 175 std::cerr << std::endl; |
176 } | 176 } |
177 | 177 |
178 if (bestColour < 0) m_colour = 0; | 178 if (bestColour < 0) m_colour = 0; |
179 else m_colour = bestColour; | 179 else m_colour = bestColour; |
180 | 180 |
271 SingleColourLayer::setProperties(const QXmlAttributes &attributes) | 271 SingleColourLayer::setProperties(const QXmlAttributes &attributes) |
272 { | 272 { |
273 QString colourName = attributes.value("colourName"); | 273 QString colourName = attributes.value("colourName"); |
274 QString colourSpec = attributes.value("colour"); | 274 QString colourSpec = attributes.value("colour"); |
275 QString darkbg = attributes.value("darkBackground"); | 275 QString darkbg = attributes.value("darkBackground"); |
276 m_colour = ColourDatabase::getInstance()->putStringValues | 276 |
277 int colour = ColourDatabase::getInstance()->putStringValues | |
277 (colourName, colourSpec, darkbg); | 278 (colourName, colourSpec, darkbg); |
278 if (m_colourRefCount.find(m_colour) == m_colourRefCount.end()) { | 279 |
279 m_colourRefCount[m_colour] = 1; | |
280 } else { | |
281 m_colourRefCount[m_colour]++; | |
282 } | |
283 m_colourExplicitlySet = true; | 280 m_colourExplicitlySet = true; |
284 flagBaseColourChanged(); | 281 |
285 } | 282 if (m_colour != colour) { |
286 | 283 |
284 std::cerr << "SingleColourLayer::setProperties: changing colour from " << m_colour << " to " << colour << std::endl; | |
285 | |
286 if (m_colourRefCount.find(m_colour) != m_colourRefCount.end() && | |
287 m_colourRefCount[m_colour] > 0) { | |
288 m_colourRefCount[m_colour]--; | |
289 } | |
290 | |
291 m_colour = colour; | |
292 | |
293 if (m_colourRefCount.find(m_colour) == m_colourRefCount.end()) { | |
294 m_colourRefCount[m_colour] = 1; | |
295 } else { | |
296 m_colourRefCount[m_colour]++; | |
297 } | |
298 | |
299 flagBaseColourChanged(); | |
300 } | |
301 } | |
302 |