summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opieui/okeyconfigwidget.h96
-rw-r--r--noncore/graphics/opie-eye/gui/iconview.cpp5
-rw-r--r--noncore/graphics/opie-eye/gui/mainwindow.cpp8
-rw-r--r--noncore/graphics/opie-eye/phunk_view.pro2
-rw-r--r--noncore/graphics/opie-eye/slave/slavereciever.cpp11
-rw-r--r--noncore/graphics/opie-eye/slave/slavereciever.h2
6 files changed, 116 insertions, 8 deletions
diff --git a/libopie2/opieui/okeyconfigwidget.h b/libopie2/opieui/okeyconfigwidget.h
new file mode 100644
index 0000000..d76ea46
--- a/dev/null
+++ b/libopie2/opieui/okeyconfigwidget.h
@@ -0,0 +1,96 @@
1#ifndef ODP_KEY_CONFIG_WIDGET_H
2#define ODP_KEY_CONFIG_WIDGET_H
3
4#include <opie2/oconfig.h>
5
6#include <qstring.h>
7#include <qpixmap.h>
8#include <qbytearray.h>
9#include <qhbox.h>
10#include <qvaluelist.h>
11
12class QKeyEvent;
13
14namespace Opie {
15namespace Ui {
16
17class OKeyConfigItem {
18 friend class OKeyConfigManager;
19public:
20 typedef QValueList<OKeyConfigItem> OKeyConfigItemList;
21 OKeyConfigItem( const QString& text = QString::null , const QCString& config_key = QCString(),
22 const QPixmap& symbol = QPixmap(),
23 int key = 0, int mod = 0,
24 int default_key = 0, int default_modified = 0 );
25 ~OKeyConfigItem();
26
27 QString text()const;
28 QPixmap pixmap()const;
29 int key()const;
30 int modifier()const;
31 int defaultKey()const;
32 int defaultModifier()const;
33
34 void setText( const QString& text );
35 void setPixmap( const QPixmap& );
36 void setKey( int );
37 void setModied( int );
38 void setDefaultKey( int );
39 void setDefaultModifier( int );
40
41 bool isConfigured()const;
42 bool isEmpty()const;
43private:
44 QString m_text;
45 QCString m_config;
46 QPixmap m_pix;
47 int m_key;
48 int m_mod;
49 int m_defKey;
50 int m_defMod;
51 class Private;
52 Private *d;
53};
54
55
56class OKeyConfig : public QObject {
57 Q_OBJECT
58public:
59 OKeyConfig(Opie::Core::OConfig *conf = 0, bool grabkeyboard);
60 ~OKeyConfig();
61
62 void load();
63 void save();
64
65 OKeyConfigItem handleKeyEvent( QKeyEvent* );
66 QString handleKeyEventString( QKeyEvent* );
67
68 void addKeyConfig( const OKeyConfigItem& );
69 void removeKeyConfig( const OKeyConfigItem& );
70signals:
71 void keyConfigChanged( OKeyConfig* );
72
73private:
74 OKeyConfigItemList m_keys;
75};
76
77
78class OKeyConfigWidget : public QHBox {
79 Q_OBJECT
80public:
81 enum ChangeMode { Imediate, Queu };
82 OKeyConfigWidget( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
83 OKeyConfigWidget( OKeyConfig *, QWidget* parent = 0, const char* = 0, WFlags = 0 );
84 ~OKeyConfigWidget();
85
86 void setChangeMode( enum ChangeMode );
87 ChangeMode changeMode()const;
88
89 void reload();
90};
91
92}
93}
94
95
96#endif
diff --git a/noncore/graphics/opie-eye/gui/iconview.cpp b/noncore/graphics/opie-eye/gui/iconview.cpp
index 38a621e..729b64f 100644
--- a/noncore/graphics/opie-eye/gui/iconview.cpp
+++ b/noncore/graphics/opie-eye/gui/iconview.cpp
@@ -72,77 +72,80 @@ namespace {
72 currentView()->dirLister()->imageInfo( m_path ); 72 currentView()->dirLister()->imageInfo( m_path );
73 g_stringInf.insert( m_path, const_cast<IconViewItem*>(this)); 73 g_stringInf.insert( m_path, const_cast<IconViewItem*>(this));
74 } 74 }
75 75
76 m_pix = PPixmapCache::self()->cachedImage( m_path, 64, 64 ); 76 m_pix = PPixmapCache::self()->cachedImage( m_path, 64, 64 );
77 if ( !m_pix && !g_stringPix.contains( m_path )) { 77 if ( !m_pix && !g_stringPix.contains( m_path )) {
78 currentView()->dirLister()->thumbNail( m_path, 64, 64 ); 78 currentView()->dirLister()->thumbNail( m_path, 64, 64 );
79 g_stringPix.insert( m_path, const_cast<IconViewItem*>(this)); 79 g_stringPix.insert( m_path, const_cast<IconViewItem*>(this));
80 } 80 }
81 return m_pix ? m_pix : _unkPix; 81 return m_pix ? m_pix : _unkPix;
82 } 82 }
83 } 83 }
84 inline void IconViewItem::setText( const QString& str ) { 84 inline void IconViewItem::setText( const QString& str ) {
85 QString text = QIconViewItem::text()+"\n"+str; 85 QString text = QIconViewItem::text()+"\n"+str;
86 m_noInfo = true; 86 m_noInfo = true;
87 QIconViewItem::setText( text ); 87 QIconViewItem::setText( text );
88 } 88 }
89} 89}
90 90
91 91
92PIconView::PIconView( QWidget* wid, Config* cfg ) 92PIconView::PIconView( QWidget* wid, Config* cfg )
93 : QVBox( wid ), m_cfg( cfg ) 93 : QVBox( wid ), m_cfg( cfg )
94{ 94{
95 { 95 {
96// QCopEnvelope( "QPE/Application/opie-eye_slave", "foo()" ); 96 QCopEnvelope( "QPE/Application/opie-eye_slave", "refUp()" );
97 } 97 }
98 m_path = QDir::homeDirPath(); 98 m_path = QDir::homeDirPath();
99 99
100 QHBox *hbox = new QHBox( this ); 100 QHBox *hbox = new QHBox( this );
101 QLabel* lbl = new QLabel( hbox ); 101 QLabel* lbl = new QLabel( hbox );
102 lbl->setText( tr("View as" ) ); 102 lbl->setText( tr("View as" ) );
103 103
104 m_views = new QComboBox( hbox, "View As" ); 104 m_views = new QComboBox( hbox, "View As" );
105 connect( m_views, SIGNAL(activated(int)), 105 connect( m_views, SIGNAL(activated(int)),
106 this, SLOT(slotViewChanged(int)) ); 106 this, SLOT(slotViewChanged(int)) );
107 107
108 m_view= new QIconView( this ); 108 m_view= new QIconView( this );
109 connect(m_view, SIGNAL(clicked(QIconViewItem*) ), 109 connect(m_view, SIGNAL(clicked(QIconViewItem*) ),
110 this, SLOT(slotClicked(QIconViewItem*)) ); 110 this, SLOT(slotClicked(QIconViewItem*)) );
111 111
112 m_view->setArrangement( QIconView::LeftToRight ); 112 m_view->setArrangement( QIconView::LeftToRight );
113 m_view->setItemTextPos( QIconView::Right ); 113 m_view->setItemTextPos( QIconView::Right );
114 114
115 115
116 int dw = QApplication::desktop()->width(); 116 int dw = QApplication::desktop()->width();
117 int viewerWidth = dw-style().scrollBarExtent().width(); 117 int viewerWidth = dw-style().scrollBarExtent().width();
118 m_view->setGridX( viewerWidth-2*m_view->spacing() ); 118 m_view->setGridX( viewerWidth-2*m_view->spacing() );
119 m_view->setGridY( fontMetrics().height()*2+40 ); 119 m_view->setGridY( fontMetrics().height()*2+40 );
120 loadViews(); 120 loadViews();
121 slotViewChanged( m_views->currentItem() ); 121 slotViewChanged( m_views->currentItem() );
122} 122}
123 123
124PIconView::~PIconView() { 124PIconView::~PIconView() {
125 {
126 QCopEnvelope( "QPE/Application/opie-eye_slave", "refDown()" );
127 }
125} 128}
126 129
127void PIconView::slotDirUp() { 130void PIconView::slotDirUp() {
128 QDir dir( m_path ); 131 QDir dir( m_path );
129 dir.cdUp(); 132 dir.cdUp();
130 slotChangeDir( dir.absPath() ); 133 slotChangeDir( dir.absPath() );
131 134
132} 135}
133 136
134void PIconView::slotChangeDir(const QString& path) { 137void PIconView::slotChangeDir(const QString& path) {
135 if ( !currentView() ) 138 if ( !currentView() )
136 return; 139 return;
137 140
138 PDirLister *lister = currentView()->dirLister(); 141 PDirLister *lister = currentView()->dirLister();
139 if (!lister ) 142 if (!lister )
140 return; 143 return;
141 144
142 lister->setStartPath( path ); 145 lister->setStartPath( path );
143 m_path = lister->currentPath(); 146 m_path = lister->currentPath();
144 147
145 m_view->clear(); 148 m_view->clear();
146 addFolders( lister->folders() ); 149 addFolders( lister->folders() );
147 addFiles( lister->files() ); 150 addFiles( lister->files() );
148 151
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp
index 0a2fcab..ea765d1 100644
--- a/noncore/graphics/opie-eye/gui/mainwindow.cpp
+++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp
@@ -1,51 +1,51 @@
1/* 1/*
2 * GPLv2 zecke@handhelds.org 2 * GPLv2 zecke@handhelds.org
3 * No WArranty... 3 * No WArranty...
4 */ 4 */
5 5
6#include <qtoolbar.h> 6#include <qtoolbar.h>
7#include <qtoolbutton.h> 7#include <qtoolbutton.h>
8#include <qlayout.h> 8#include <qlayout.h>
9#include <qdialog.h> 9#include <qdialog.h>
10#include <qmap.h> 10#include <qmap.h>
11 11
12#include <qpe/resource.h> 12#include <qpe/resource.h>
13#include <qpe/config.h> 13#include <qpe/config.h>
14#include <qpe/ir.h> 14#include <qpe/ir.h>
15 15
16#include <opie/oapplicationfactory.h> 16#include <opie2/oapplicationfactory.h>
17#include <opie/otabwidget.h> 17#include <opie2/otabwidget.h>
18 18
19#include <iface/ifaceinfo.h> 19#include <iface/ifaceinfo.h>
20#include <iface/dirview.h> 20#include <iface/dirview.h>
21 21
22#include "iconview.h" 22#include "iconview.h"
23#include "filesystem.h" 23#include "filesystem.h"
24 24
25#include "mainwindow.h" 25#include "mainwindow.h"
26 26
27OPIE_EXPORT_APP( OApplicationFactory<PMainWindow> ) 27OPIE_EXPORT_APP( Opie::Core::OApplicationFactory<PMainWindow> )
28 28
29PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style) 29PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style)
30 : QMainWindow( wid, name, style ), m_cfg("phunkview") 30 : QMainWindow( wid, name, style ), m_cfg("phunkview")
31{ 31{
32 setCaption( QObject::tr("Opie Eye Caramba" ) ); 32 setCaption( QObject::tr("Opie Eye Caramba" ) );
33 m_cfg.setGroup("Zecke_view" ); 33 m_cfg.setGroup("Zecke_view" );
34 /* 34 /*
35 * Initialize ToolBar and IconView 35 * Initialize ToolBar and IconView
36 * And Connect Them 36 * And Connect Them
37 */ 37 */
38 QToolBar *bar = new QToolBar( this ); 38 QToolBar *bar = new QToolBar( this );
39 bar->setHorizontalStretchable( true ); 39 bar->setHorizontalStretchable( true );
40 setToolBarsMovable( false ); 40 setToolBarsMovable( false );
41 41
42 m_view = new PIconView( this, &m_cfg ); 42 m_view = new PIconView( this, &m_cfg );
43 setCentralWidget( m_view ); 43 setCentralWidget( m_view );
44 44
45 QToolButton *btn = new QToolButton( bar ); 45 QToolButton *btn = new QToolButton( bar );
46 btn->setIconSet( Resource::loadIconSet( "up" ) ); 46 btn->setIconSet( Resource::loadIconSet( "up" ) );
47 connect( btn, SIGNAL(clicked()), 47 connect( btn, SIGNAL(clicked()),
48 m_view, SLOT(slotDirUp()) ); 48 m_view, SLOT(slotDirUp()) );
49 49
50 btn = new PFileSystem( bar ); 50 btn = new PFileSystem( bar );
51 connect( btn, SIGNAL( changeDir( const QString& ) ), 51 connect( btn, SIGNAL( changeDir( const QString& ) ),
@@ -63,49 +63,49 @@ PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style)
63 m_view, SLOT(slotBeam()) ); 63 m_view, SLOT(slotBeam()) );
64 } 64 }
65 65
66 btn = new QToolButton( bar ); 66 btn = new QToolButton( bar );
67 btn->setIconSet( Resource::loadIconSet( "trash" ) ); 67 btn->setIconSet( Resource::loadIconSet( "trash" ) );
68 connect( btn, SIGNAL(clicked() ), 68 connect( btn, SIGNAL(clicked() ),
69 m_view, SLOT(slotTrash() ) ); 69 m_view, SLOT(slotTrash() ) );
70 70
71 btn = new QToolButton( bar ); 71 btn = new QToolButton( bar );
72 btn->setIconSet( Resource::loadIconSet( "SettingsIcon" ) ); 72 btn->setIconSet( Resource::loadIconSet( "SettingsIcon" ) );
73 connect( btn, SIGNAL(clicked() ), 73 connect( btn, SIGNAL(clicked() ),
74 this, SLOT(slotConfig() ) ); 74 this, SLOT(slotConfig() ) );
75 75
76} 76}
77 77
78PMainWindow::~PMainWindow() { 78PMainWindow::~PMainWindow() {
79} 79}
80 80
81 81
82void PMainWindow::slotConfig() { 82void PMainWindow::slotConfig() {
83 QDialog dlg(this, 0, true); 83 QDialog dlg(this, 0, true);
84 dlg.setCaption( tr("Phunk View - Config" ) ); 84 dlg.setCaption( tr("Phunk View - Config" ) );
85 85
86 QHBoxLayout *lay = new QHBoxLayout(&dlg); 86 QHBoxLayout *lay = new QHBoxLayout(&dlg);
87 OTabWidget *wid = new OTabWidget(&dlg ); 87 Opie::Ui::OTabWidget *wid = new Opie::Ui::OTabWidget(&dlg );
88 lay->addWidget( wid ); 88 lay->addWidget( wid );
89 ViewMap *vM = viewMap(); 89 ViewMap *vM = viewMap();
90 ViewMap::Iterator _it = vM->begin(); 90 ViewMap::Iterator _it = vM->begin();
91 QMap<PDirView*, QWidget*> lst; 91 QMap<PDirView*, QWidget*> lst;
92 92
93 for( ; _it != vM->end(); ++_it ) { 93 for( ; _it != vM->end(); ++_it ) {
94 PDirView *view = (_it.data())(m_cfg); 94 PDirView *view = (_it.data())(m_cfg);
95 PInterfaceInfo *inf = view->interfaceInfo(); 95 PInterfaceInfo *inf = view->interfaceInfo();
96 QWidget *_wid = inf->configWidget( m_cfg ); 96 QWidget *_wid = inf->configWidget( m_cfg );
97 _wid->reparent(wid, QPoint() ); 97 _wid->reparent(wid, QPoint() );
98 lst.insert( view, _wid ); 98 lst.insert( view, _wid );
99 wid->addTab( _wid, QString::null, inf->name() ); 99 wid->addTab( _wid, QString::null, inf->name() );
100 } 100 }
101 101
102 dlg.showMaximized(); 102 dlg.showMaximized();
103 bool act = ( dlg.exec() == QDialog::Accepted ); 103 bool act = ( dlg.exec() == QDialog::Accepted );
104 104
105 QMap<PDirView*, QWidget*>::Iterator it; 105 QMap<PDirView*, QWidget*>::Iterator it;
106 for ( it = lst.begin(); it != lst.end(); ++it ) { 106 for ( it = lst.begin(); it != lst.end(); ++it ) {
107 if ( act ) 107 if ( act )
108 it.key()->interfaceInfo()->writeConfig(it.data(), m_cfg); 108 it.key()->interfaceInfo()->writeConfig(it.data(), m_cfg);
109 delete it.key(); 109 delete it.key();
110 } 110 }
111 111
diff --git a/noncore/graphics/opie-eye/phunk_view.pro b/noncore/graphics/opie-eye/phunk_view.pro
index 21178ee..0bb5679 100644
--- a/noncore/graphics/opie-eye/phunk_view.pro
+++ b/noncore/graphics/opie-eye/phunk_view.pro
@@ -8,27 +8,27 @@ HEADERS = gui/iconview.h gui/filesystem.h gui/mainwindow.h \
8 lib/imagecache.h impl/dir/dir_dirview.h \ 8 lib/imagecache.h impl/dir/dir_dirview.h \
9 iface/dirview.h iface/dirlister.h iface/ifaceinfo.h \ 9 iface/dirview.h iface/dirlister.h iface/ifaceinfo.h \
10 impl/dir/dir_lister.h impl/dir/dir_ifaceinfo.h \ 10 impl/dir/dir_lister.h impl/dir/dir_ifaceinfo.h \
11 lib/slavemaster.h \ 11 lib/slavemaster.h \
12 iface/slaveiface.h 12 iface/slaveiface.h
13 13
14# A list header files 14# A list header files
15 15
16 16
17SOURCES = gui/iconview.cpp gui/filesystem.cpp gui/mainwindow.cpp \ 17SOURCES = gui/iconview.cpp gui/filesystem.cpp gui/mainwindow.cpp \
18 lib/imagecache.cpp lib/viewmap.cpp \ 18 lib/imagecache.cpp lib/viewmap.cpp \
19 impl/dir/dir_dirview.cpp iface/dirlister.cpp \ 19 impl/dir/dir_dirview.cpp iface/dirlister.cpp \
20 iface/dirview.cpp impl/dir/dir_lister.cpp \ 20 iface/dirview.cpp impl/dir/dir_lister.cpp \
21 impl/dir/dir_ifaceinfo.cpp lib/slavemaster.cpp 21 impl/dir/dir_ifaceinfo.cpp lib/slavemaster.cpp
22# A list of source files 22# A list of source files
23 23
24INTERFACES = 24INTERFACES =
25# list of ui files 25# list of ui files
26 26
27INCLUDEPATH += . $(OPIEDIR)/include 27INCLUDEPATH += . $(OPIEDIR)/include
28DEPENDPATH += $(OPIEDIR)/include 28DEPENDPATH += $(OPIEDIR)/include
29 29
30 30
31 31
32LIBS += -lqpe -lopie 32LIBS += -lqpe -lopieui2
33 33
34include ( $(OPIEDIR)/include.pro ) 34include ( $(OPIEDIR)/include.pro )
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
@@ -36,49 +36,49 @@ QDataStream &operator<<( QDataStream& s, const PixmapInfo& inf) {
36 * GUI sends no QPIxmap!!! 36 * GUI sends no QPIxmap!!!
37 */ 37 */
38QDataStream &operator>>( QDataStream& s, PixmapInfo& inf ) { 38QDataStream &operator>>( QDataStream& s, PixmapInfo& inf ) {
39 s >> inf.file >> inf.width >> inf.height; 39 s >> inf.file >> inf.width >> inf.height;
40 qWarning( "Recieved %s %d %d", inf.file.latin1(), inf.width, inf.height ); 40 qWarning( "Recieved %s %d %d", inf.file.latin1(), inf.width, inf.height );
41 return s; 41 return s;
42} 42}
43QDataStream &operator<<( QDataStream& s, const ImageInfo& i) { 43QDataStream &operator<<( QDataStream& s, const ImageInfo& i) {
44 return s << i.kind << i.file << i.info; 44 return s << i.kind << i.file << i.info;
45} 45}
46QDataStream &operator>>( QDataStream& s, ImageInfo& i ) { 46QDataStream &operator>>( QDataStream& s, ImageInfo& i ) {
47 s >> i.kind >> i.file >> i.info; 47 s >> i.kind >> i.file >> i.info;
48 return s; 48 return s;
49} 49}
50 50
51 51
52 52
53SlaveObjects* slaveObjects() { 53SlaveObjects* slaveObjects() {
54 if ( !_slaveObj ) 54 if ( !_slaveObj )
55 _slaveObj = new SlaveObjects; 55 _slaveObj = new SlaveObjects;
56 return _slaveObj; 56 return _slaveObj;
57} 57}
58 58
59SlaveReciever::SlaveReciever( QObject* par) 59SlaveReciever::SlaveReciever( QObject* par)
60 : QObject( par ) 60 : QObject( par ), m_refs( 0 )
61{ 61{
62 m_inf = new QTimer(this); 62 m_inf = new QTimer(this);
63 connect(m_inf,SIGNAL(timeout()), 63 connect(m_inf,SIGNAL(timeout()),
64 this, SLOT(slotImageInfo())); 64 this, SLOT(slotImageInfo()));
65 m_pix = new QTimer(this); 65 m_pix = new QTimer(this);
66 connect(m_pix,SIGNAL(timeout()), 66 connect(m_pix,SIGNAL(timeout()),
67 this, SLOT(slotThumbNail())); 67 this, SLOT(slotThumbNail()));
68 68
69 m_out = new QTimer(this); 69 m_out = new QTimer(this);
70 connect(m_out,SIGNAL(timeout()), 70 connect(m_out,SIGNAL(timeout()),
71 this, SLOT(slotSend())); 71 this, SLOT(slotSend()));
72 72
73 SlaveObjects *obj = slaveObjects(); // won't be changed 73 SlaveObjects *obj = slaveObjects(); // won't be changed
74 SlaveMap::Iterator it; 74 SlaveMap::Iterator it;
75 SlaveMap* map = slaveMap(); // SlaveMap won't be changed during execution!!! 75 SlaveMap* map = slaveMap(); // SlaveMap won't be changed during execution!!!
76 for(it = map->begin(); it != map->end(); ++it ) { 76 for(it = map->begin(); it != map->end(); ++it ) {
77 obj->insert( it.key(), (*it.data())() ); 77 obj->insert( it.key(), (*it.data())() );
78 } 78 }
79} 79}
80 80
81SlaveReciever::~SlaveReciever() { 81SlaveReciever::~SlaveReciever() {
82} 82}
83 83
84void SlaveReciever::recieveAnswer( const QCString& string, const QByteArray& ar) { 84void SlaveReciever::recieveAnswer( const QCString& string, const QByteArray& ar) {
@@ -99,57 +99,64 @@ void SlaveReciever::recieveAnswer( const QCString& string, const QByteArray& ar)
99 m_inList.append(inf); 99 m_inList.append(inf);
100 } 100 }
101 }else if ( string == "fullInfo(QString)" ) { 101 }else if ( string == "fullInfo(QString)" ) {
102 inf.kind = true; 102 inf.kind = true;
103 stream >> inf.file; 103 stream >> inf.file;
104 m_inList.append(inf); 104 m_inList.append(inf);
105 }else if ( string == "fullInfos(QStringList)" ) { 105 }else if ( string == "fullInfos(QStringList)" ) {
106 stream >> lst; 106 stream >> lst;
107 for(QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) { 107 for(QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) {
108 qWarning( "Adding fullInfo for"+ *it ); 108 qWarning( "Adding fullInfo for"+ *it );
109 inf.file = (*it); 109 inf.file = (*it);
110 inf.kind = true; 110 inf.kind = true;
111 m_inList.append(inf); 111 m_inList.append(inf);
112 } 112 }
113 }else if ( string == "pixmapInfo(QString,int,int)" ) { 113 }else if ( string == "pixmapInfo(QString,int,int)" ) {
114 stream >> pix.file >> pix.width >> pix.height; 114 stream >> pix.file >> pix.width >> pix.height;
115 m_inPix.append(pix); 115 m_inPix.append(pix);
116 }else if ( string == "pixmapInfos(PixmapInfos)" ) { 116 }else if ( string == "pixmapInfos(PixmapInfos)" ) {
117 PixmapList list; 117 PixmapList list;
118 stream >> list; 118 stream >> list;
119 for(PixmapList::Iterator it = list.begin(); it != list.end(); ++it ) { 119 for(PixmapList::Iterator it = list.begin(); it != list.end(); ++it ) {
120 qWarning( "Got %d %d " + (*it).file, (*it).width , (*it).height ); 120 qWarning( "Got %d %d " + (*it).file, (*it).width , (*it).height );
121 m_inPix.append(*it); 121 m_inPix.append(*it);
122 } 122 }
123 }else if ( string == "refUp()" ) {
124 m_refs++;
125 }else if ( string == "refDown()" ) {
126 m_refs--;
123 } 127 }
124 128
125 if (!m_inf->isActive() && !m_inList.isEmpty() ) 129 if (!m_inf->isActive() && !m_inList.isEmpty() )
126 m_inf->start(5); 130 m_inf->start(5);
127 131
128 if (!m_pix->isActive() && !m_inPix.isEmpty() ) 132 if (!m_pix->isActive() && !m_inPix.isEmpty() )
129 m_pix->start(5); 133 m_pix->start(5);
130 134
131 QPEApplication::setKeepRunning(); 135 if ( m_refs )
136 QPEApplication::setKeepRunning();
137 else
138 qApp->quit();
132 139
133} 140}
134 141
135PixmapList SlaveReciever::outPix()const { 142PixmapList SlaveReciever::outPix()const {
136 return m_outPix; 143 return m_outPix;
137} 144}
138 145
139StringList SlaveReciever::outInf()const{ 146StringList SlaveReciever::outInf()const{
140 return m_outList; 147 return m_outList;
141} 148}
142 149
143void SlaveReciever::slotImageInfo() { 150void SlaveReciever::slotImageInfo() {
144 ImageInfo inf = m_inList.first(); 151 ImageInfo inf = m_inList.first();
145 m_inList.remove( inf ); 152 m_inList.remove( inf );
146 153
147 static SlaveObjects::Iterator it; 154 static SlaveObjects::Iterator it;
148 static SlaveObjects* map = slaveObjects(); // SlaveMap won't be changed during execution!!! 155 static SlaveObjects* map = slaveObjects(); // SlaveMap won't be changed during execution!!!
149 for(it = map->begin(); it != map->end(); ++it ) { 156 for(it = map->begin(); it != map->end(); ++it ) {
150 if( (*it)->supports(inf.file ) ) { 157 if( (*it)->supports(inf.file ) ) {
151 /* full image info */ 158 /* full image info */
152 if (inf.kind ) 159 if (inf.kind )
153 inf.info = (*it)->fullImageInfo( inf.file ); 160 inf.info = (*it)->fullImageInfo( inf.file );
154 else 161 else
155 inf.info = (*it)->iconViewName( inf.file ); 162 inf.info = (*it)->iconViewName( inf.file );
diff --git a/noncore/graphics/opie-eye/slave/slavereciever.h b/noncore/graphics/opie-eye/slave/slavereciever.h
index 214bfc6..b5aaccf 100644
--- a/noncore/graphics/opie-eye/slave/slavereciever.h
+++ b/noncore/graphics/opie-eye/slave/slavereciever.h
@@ -31,28 +31,30 @@ class SlaveReciever : public QObject {
31 friend QDataStream &operator<<( QDataStream&, const PixmapInfo& ); 31 friend QDataStream &operator<<( QDataStream&, const PixmapInfo& );
32 friend QDataStream &operator>>( QDataStream&, PixmapInfo& ); 32 friend QDataStream &operator>>( QDataStream&, PixmapInfo& );
33 friend QDataStream &operator<<( QDataStream&, const ImageInfo& ); 33 friend QDataStream &operator<<( QDataStream&, const ImageInfo& );
34 friend QDataStream &operator>>( QDataStream&, ImageInfo ); 34 friend QDataStream &operator>>( QDataStream&, ImageInfo );
35public: 35public:
36 36
37 enum Job { ImageInfoJob, FullImageInfoJob, ThumbNailJob }; 37 enum Job { ImageInfoJob, FullImageInfoJob, ThumbNailJob };
38 SlaveReciever( QObject* parent ); 38 SlaveReciever( QObject* parent );
39 ~SlaveReciever(); 39 ~SlaveReciever();
40 40
41public slots: 41public slots:
42 void recieveAnswer( const QCString&, const QByteArray& ); 42 void recieveAnswer( const QCString&, const QByteArray& );
43public: 43public:
44 PixmapList outPix()const; 44 PixmapList outPix()const;
45 StringList outInf()const; 45 StringList outInf()const;
46 46
47private slots: 47private slots:
48 void slotSend(); 48 void slotSend();
49 void slotImageInfo(); 49 void slotImageInfo();
50 void slotThumbNail(); 50 void slotThumbNail();
51private: 51private:
52 QTimer *m_inf, *m_pix, *m_out; 52 QTimer *m_inf, *m_pix, *m_out;
53 StringList m_inList, m_outList; 53 StringList m_inList, m_outList;
54 PixmapList m_inPix, m_outPix; 54 PixmapList m_inPix, m_outPix;
55private:
56 int m_refs;
55}; 57};
56 58
57 59
58#endif 60#endif