summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/slave/slavereciever.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/noncore/graphics/opie-eye/slave/slavereciever.cpp b/noncore/graphics/opie-eye/slave/slavereciever.cpp
index 82b3d23..fb88873 100644
--- a/noncore/graphics/opie-eye/slave/slavereciever.cpp
+++ b/noncore/graphics/opie-eye/slave/slavereciever.cpp
@@ -124,107 +124,113 @@ void SlaveReciever::recieveAnswer( const QCString& string, const QByteArray& ar)
124 owarn << "Got " << (*it).width << " " << (*it).height << " " + (*it).file << oendl; 124 owarn << "Got " << (*it).width << " " << (*it).height << " " + (*it).file << oendl;
125 m_inPix.append(*it); 125 m_inPix.append(*it);
126 } 126 }
127 }else if ( string == "refUp()" ) { 127 }else if ( string == "refUp()" ) {
128 m_refs++; 128 m_refs++;
129 }else if ( string == "refDown()" ) { 129 }else if ( string == "refDown()" ) {
130 m_refs--; 130 m_refs--;
131 } 131 }
132 132
133 if (!m_inf->isActive() && !m_inList.isEmpty() ) 133 if (!m_inf->isActive() && !m_inList.isEmpty() )
134 m_inf->start(5); 134 m_inf->start(5);
135 135
136 if (!m_pix->isActive() && !m_inPix.isEmpty() ) 136 if (!m_pix->isActive() && !m_inPix.isEmpty() )
137 m_pix->start(5); 137 m_pix->start(5);
138 138
139 if ( m_refs ) 139 if ( m_refs )
140 QPEApplication::setKeepRunning(); 140 QPEApplication::setKeepRunning();
141 else 141 else
142 qApp->quit(); 142 qApp->quit();
143 143
144} 144}
145 145
146PixmapList SlaveReciever::outPix()const { 146PixmapList SlaveReciever::outPix()const {
147 return m_outPix; 147 return m_outPix;
148} 148}
149 149
150StringList SlaveReciever::outInf()const{ 150StringList SlaveReciever::outInf()const{
151 return m_outList; 151 return m_outList;
152} 152}
153 153
154void SlaveReciever::slotImageInfo() { 154void SlaveReciever::slotImageInfo() {
155 ImageInfo inf = m_inList.first(); 155 ImageInfo inf = m_inList.first();
156 m_inList.remove( inf ); 156 m_inList.remove( inf );
157 157
158 static SlaveObjects::Iterator it; 158 static SlaveObjects::Iterator it;
159 static SlaveObjects* map = slaveObjects(); // SlaveMap won't be changed during execution!!! 159 static SlaveObjects* map = slaveObjects(); // SlaveMap won't be changed during execution!!!
160 for(it = map->begin(); it != map->end(); ++it ) { 160 for(it = map->begin(); it != map->end(); ++it ) {
161 if( (*it)->supports(inf.file ) ) { 161 if( (*it)->supports(inf.file ) ) {
162 /* full image info */ 162 /* full image info */
163 if (inf.kind ) 163 if (inf.kind )
164 inf.info = (*it)->fullImageInfo( inf.file ); 164 inf.info = (*it)->fullImageInfo( inf.file );
165 else 165 else
166 inf.info = (*it)->iconViewName( inf.file ); 166 inf.info = (*it)->iconViewName( inf.file );
167 m_outList.append( inf ); 167 m_outList.append( inf );
168 break; 168 break;
169 } 169 }
170 } 170 }
171 171
172 if (m_inList.isEmpty() ) 172 if (m_inList.isEmpty() )
173 m_inf->stop(); 173 m_inf->stop();
174 if (!m_out->isActive() && !m_outList.isEmpty() ) 174 if (!m_out->isActive() && !m_outList.isEmpty() )
175 m_out->start( 100 ); 175 m_out->start( 100 );
176} 176}
177 177
178void SlaveReciever::slotThumbNail() { 178void SlaveReciever::slotThumbNail() {
179 PixmapInfo inf = m_inPix.first(); 179 PixmapInfo inf = m_inPix.first();
180 m_inPix.remove( inf ); 180 m_inPix.remove( inf );
181 181
182 static SlaveObjects::Iterator it; 182 static SlaveObjects::Iterator it;
183 static SlaveObjects* map = slaveObjects(); // SlaveMap won't be changed during execution!!! 183 static SlaveObjects* map = slaveObjects(); // SlaveMap won't be changed during execution!!!
184 for(it = map->begin(); it != map->end(); ++it ) { 184 for(it = map->begin(); it != map->end(); ++it ) {
185 SlaveInterface* iface = it.data(); 185 SlaveInterface* iface = it.data();
186 if( iface->supports(inf.file ) ) { 186 if( iface->supports(inf.file ) ) {
187 /* pixmap */ 187 /* pixmap */
188 owarn << "Asking for thumbNail in size " << inf.width << " " << inf.height << " for "+inf.file << oendl; 188 owarn << "Asking for thumbNail in size " << inf.width << " " << inf.height << " for "+inf.file << oendl;
189 inf.pixmap = iface->pixmap(inf.file, 64, 64); 189 if (inf.width>256||inf.height>256) {
190 owarn << "Scaling thumbnail to 64x64 'cause " << inf.width<<"x"<<inf.height<<
191 " may be nonsense";
192 inf.pixmap = iface->pixmap(inf.file, 64, 64);
193 }else {
194 inf.pixmap = iface->pixmap(inf.file, inf.width, inf.height);
195 }
190 m_outPix.append( inf ); 196 m_outPix.append( inf );
191 break; 197 break;
192 } 198 }
193 } 199 }
194 200
195 201
196 202
197 if(m_inPix.isEmpty() ) 203 if(m_inPix.isEmpty() )
198 m_pix->stop(); 204 m_pix->stop();
199 if(!m_out->isActive() && !m_outPix.isEmpty() ) 205 if(!m_out->isActive() && !m_outPix.isEmpty() )
200 m_out->start(100); 206 m_out->start(100);
201} 207}
202 208
203void SlaveReciever::slotSend() { 209void SlaveReciever::slotSend() {
204 210
205 m_out->stop(); 211 m_out->stop();
206 212
207 owarn << "Sending " << outPix().count() << " " << outInf().count() << "" << oendl; 213 owarn << "Sending " << outPix().count() << " " << outInf().count() << "" << oendl;
208 /* queue it and send */ 214 /* queue it and send */
209 /* if this ever gets a service introduce request queues 215 /* if this ever gets a service introduce request queues
210 * so we can differinatate between different clients 216 * so we can differinatate between different clients
211 */ 217 */
212 if (! m_outPix.isEmpty() ) { 218 if (! m_outPix.isEmpty() ) {
213 QCopEnvelope answer("QPE/opie-eye", "pixmapsHandled(PixmapList)" ); 219 QCopEnvelope answer("QPE/opie-eye", "pixmapsHandled(PixmapList)" );
214 answer << outPix(); 220 answer << outPix();
215 for ( PixmapList::Iterator it = m_outPix.begin();it!=m_outPix.end();++it ) { 221 for ( PixmapList::Iterator it = m_outPix.begin();it!=m_outPix.end();++it ) {
216 owarn << "Sending out " << (*it).file.latin1() << " " << (*it).width << " " << (*it).height << "" << oendl; 222 owarn << "Sending out " << (*it).file.latin1() << " " << (*it).width << " " << (*it).height << "" << oendl;
217 } 223 }
218 } 224 }
219 if ( !m_outList.isEmpty() ) { 225 if ( !m_outList.isEmpty() ) {
220 QCopEnvelope answer("QPE/opie-eye", "pixmapsHandled(StringList)" ); 226 QCopEnvelope answer("QPE/opie-eye", "pixmapsHandled(StringList)" );
221 answer << outInf(); 227 answer << outInf();
222 for ( StringList::Iterator it = m_outList.begin();it!=m_outList.end();++it ) { 228 for ( StringList::Iterator it = m_outList.begin();it!=m_outList.end();++it ) {
223 owarn << "Sending out2 " + (*it).file << oendl; 229 owarn << "Sending out2 " + (*it).file << oendl;
224 } 230 }
225 } 231 }
226 232
227 m_outList.clear(); 233 m_outList.clear();
228 m_outPix.clear(); 234 m_outPix.clear();
229} 235}
230 236