author | alwin <alwin> | 2004-04-04 19:08:33 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-04-04 19:08:33 (UTC) |
commit | 10eac928ae0a1441529f7d38dd774740af477481 (patch) (unidiff) | |
tree | 18684ff7f6a8b15f936ee4428ea58b1f164dd477 | |
parent | 4588425855268ce88a80ddbac7e1c3d4b87b03f4 (diff) | |
download | opie-10eac928ae0a1441529f7d38dd774740af477481.zip opie-10eac928ae0a1441529f7d38dd774740af477481.tar.gz opie-10eac928ae0a1441529f7d38dd774740af477481.tar.bz2 |
thumbnails will respect again the dimension values wished. just when them
seems to be nonsens we will use hard wired 64x64 pix
-rw-r--r-- | noncore/graphics/opie-eye/slave/slavereciever.cpp | 10 |
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 | |||
@@ -60,171 +60,177 @@ SlaveObjects* slaveObjects() { | |||
60 | return _slaveObj; | 60 | return _slaveObj; |
61 | } | 61 | } |
62 | 62 | ||
63 | SlaveReciever::SlaveReciever( QObject* par) | 63 | SlaveReciever::SlaveReciever( QObject* par) |
64 | : QObject( par ), m_refs( 0 ) | 64 | : QObject( par ), m_refs( 0 ) |
65 | { | 65 | { |
66 | m_inf = new QTimer(this); | 66 | m_inf = new QTimer(this); |
67 | connect(m_inf,SIGNAL(timeout()), | 67 | connect(m_inf,SIGNAL(timeout()), |
68 | this, SLOT(slotImageInfo())); | 68 | this, SLOT(slotImageInfo())); |
69 | m_pix = new QTimer(this); | 69 | m_pix = new QTimer(this); |
70 | connect(m_pix,SIGNAL(timeout()), | 70 | connect(m_pix,SIGNAL(timeout()), |
71 | this, SLOT(slotThumbNail())); | 71 | this, SLOT(slotThumbNail())); |
72 | 72 | ||
73 | m_out = new QTimer(this); | 73 | m_out = new QTimer(this); |
74 | connect(m_out,SIGNAL(timeout()), | 74 | connect(m_out,SIGNAL(timeout()), |
75 | this, SLOT(slotSend())); | 75 | this, SLOT(slotSend())); |
76 | 76 | ||
77 | SlaveObjects *obj = slaveObjects(); // won't be changed | 77 | SlaveObjects *obj = slaveObjects(); // won't be changed |
78 | SlaveMap::Iterator it; | 78 | SlaveMap::Iterator it; |
79 | SlaveMap* map = slaveMap(); // SlaveMap won't be changed during execution!!! | 79 | SlaveMap* map = slaveMap(); // SlaveMap won't be changed during execution!!! |
80 | for(it = map->begin(); it != map->end(); ++it ) { | 80 | for(it = map->begin(); it != map->end(); ++it ) { |
81 | obj->insert( it.key(), (*it.data())() ); | 81 | obj->insert( it.key(), (*it.data())() ); |
82 | } | 82 | } |
83 | } | 83 | } |
84 | 84 | ||
85 | SlaveReciever::~SlaveReciever() { | 85 | SlaveReciever::~SlaveReciever() { |
86 | } | 86 | } |
87 | 87 | ||
88 | void SlaveReciever::recieveAnswer( const QCString& string, const QByteArray& ar) { | 88 | void SlaveReciever::recieveAnswer( const QCString& string, const QByteArray& ar) { |
89 | owarn << "String is " << string.data() << "" << oendl; | 89 | owarn << "String is " << string.data() << "" << oendl; |
90 | QDataStream stream(ar, IO_ReadOnly ); | 90 | QDataStream stream(ar, IO_ReadOnly ); |
91 | QStringList lst; | 91 | QStringList lst; |
92 | static ImageInfo inf; | 92 | static ImageInfo inf; |
93 | static PixmapInfo pix; | 93 | static PixmapInfo pix; |
94 | 94 | ||
95 | if ( string == "thumbInfo(QString)" ) { | 95 | if ( string == "thumbInfo(QString)" ) { |
96 | stream >> inf.file; | 96 | stream >> inf.file; |
97 | m_inList.append(inf); | 97 | m_inList.append(inf); |
98 | }else if ( string == "thumbInfos(QStringList)" ) { | 98 | }else if ( string == "thumbInfos(QStringList)" ) { |
99 | stream >> lst; | 99 | stream >> lst; |
100 | for(QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) { | 100 | for(QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) { |
101 | owarn << "Adding thumbinfo for file "+ *it << oendl; | 101 | owarn << "Adding thumbinfo for file "+ *it << oendl; |
102 | inf.file = (*it); | 102 | inf.file = (*it); |
103 | m_inList.append(inf); | 103 | m_inList.append(inf); |
104 | } | 104 | } |
105 | }else if ( string == "fullInfo(QString)" ) { | 105 | }else if ( string == "fullInfo(QString)" ) { |
106 | inf.kind = true; | 106 | inf.kind = true; |
107 | stream >> inf.file; | 107 | stream >> inf.file; |
108 | m_inList.append(inf); | 108 | m_inList.append(inf); |
109 | }else if ( string == "fullInfos(QStringList)" ) { | 109 | }else if ( string == "fullInfos(QStringList)" ) { |
110 | stream >> lst; | 110 | stream >> lst; |
111 | for(QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) { | 111 | for(QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) { |
112 | owarn << "Adding fullInfo for"+ *it << oendl; | 112 | owarn << "Adding fullInfo for"+ *it << oendl; |
113 | inf.file = (*it); | 113 | inf.file = (*it); |
114 | inf.kind = true; | 114 | inf.kind = true; |
115 | m_inList.append(inf); | 115 | m_inList.append(inf); |
116 | } | 116 | } |
117 | }else if ( string == "pixmapInfo(QString,int,int)" ) { | 117 | }else if ( string == "pixmapInfo(QString,int,int)" ) { |
118 | stream >> pix.file >> pix.width >> pix.height; | 118 | stream >> pix.file >> pix.width >> pix.height; |
119 | m_inPix.append(pix); | 119 | m_inPix.append(pix); |
120 | }else if ( string == "pixmapInfos(PixmapInfos)" ) { | 120 | }else if ( string == "pixmapInfos(PixmapInfos)" ) { |
121 | PixmapList list; | 121 | PixmapList list; |
122 | stream >> list; | 122 | stream >> list; |
123 | for(PixmapList::Iterator it = list.begin(); it != list.end(); ++it ) { | 123 | for(PixmapList::Iterator it = list.begin(); it != list.end(); ++it ) { |
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 | ||
146 | PixmapList SlaveReciever::outPix()const { | 146 | PixmapList SlaveReciever::outPix()const { |
147 | return m_outPix; | 147 | return m_outPix; |
148 | } | 148 | } |
149 | 149 | ||
150 | StringList SlaveReciever::outInf()const{ | 150 | StringList SlaveReciever::outInf()const{ |
151 | return m_outList; | 151 | return m_outList; |
152 | } | 152 | } |
153 | 153 | ||
154 | void SlaveReciever::slotImageInfo() { | 154 | void 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 | ||
178 | void SlaveReciever::slotThumbNail() { | 178 | void 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 | ||
203 | void SlaveReciever::slotSend() { | 209 | void 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 | ||