summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/slave/slavereciever.cpp
Side-by-side diff
Diffstat (limited to 'noncore/graphics/opie-eye/slave/slavereciever.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/slave/slavereciever.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/noncore/graphics/opie-eye/slave/slavereciever.cpp b/noncore/graphics/opie-eye/slave/slavereciever.cpp
index c8e33d4..bbbbb30 100644
--- a/noncore/graphics/opie-eye/slave/slavereciever.cpp
+++ b/noncore/graphics/opie-eye/slave/slavereciever.cpp
@@ -44,33 +44,33 @@ QDataStream &operator<<( QDataStream& s, const ImageInfo& i) {
return s << i.kind << i.file << i.info;
}
QDataStream &operator>>( QDataStream& s, ImageInfo& i ) {
s >> i.kind >> i.file >> i.info;
return s;
}
SlaveObjects* slaveObjects() {
if ( !_slaveObj )
_slaveObj = new SlaveObjects;
return _slaveObj;
}
SlaveReciever::SlaveReciever( QObject* par)
- : QObject( par )
+ : QObject( par ), m_refs( 0 )
{
m_inf = new QTimer(this);
connect(m_inf,SIGNAL(timeout()),
this, SLOT(slotImageInfo()));
m_pix = new QTimer(this);
connect(m_pix,SIGNAL(timeout()),
this, SLOT(slotThumbNail()));
m_out = new QTimer(this);
connect(m_out,SIGNAL(timeout()),
this, SLOT(slotSend()));
SlaveObjects *obj = slaveObjects(); // won't be changed
SlaveMap::Iterator it;
SlaveMap* map = slaveMap(); // SlaveMap won't be changed during execution!!!
for(it = map->begin(); it != map->end(); ++it ) {
@@ -107,41 +107,48 @@ void SlaveReciever::recieveAnswer( const QCString& string, const QByteArray& ar)
for(QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) {
qWarning( "Adding fullInfo for"+ *it );
inf.file = (*it);
inf.kind = true;
m_inList.append(inf);
}
}else if ( string == "pixmapInfo(QString,int,int)" ) {
stream >> pix.file >> pix.width >> pix.height;
m_inPix.append(pix);
}else if ( string == "pixmapInfos(PixmapInfos)" ) {
PixmapList list;
stream >> list;
for(PixmapList::Iterator it = list.begin(); it != list.end(); ++it ) {
qWarning( "Got %d %d " + (*it).file, (*it).width , (*it).height );
m_inPix.append(*it);
}
+ }else if ( string == "refUp()" ) {
+ m_refs++;
+ }else if ( string == "refDown()" ) {
+ m_refs--;
}
if (!m_inf->isActive() && !m_inList.isEmpty() )
m_inf->start(5);
if (!m_pix->isActive() && !m_inPix.isEmpty() )
m_pix->start(5);
- QPEApplication::setKeepRunning();
+ if ( m_refs )
+ QPEApplication::setKeepRunning();
+ else
+ qApp->quit();
}
PixmapList SlaveReciever::outPix()const {
return m_outPix;
}
StringList SlaveReciever::outInf()const{
return m_outList;
}
void SlaveReciever::slotImageInfo() {
ImageInfo inf = m_inList.first();
m_inList.remove( inf );
static SlaveObjects::Iterator it;