summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/impl/doc/doc_lister.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/noncore/graphics/opie-eye/impl/doc/doc_lister.cpp b/noncore/graphics/opie-eye/impl/doc/doc_lister.cpp
index 8bcf01d..4a491e2 100644
--- a/noncore/graphics/opie-eye/impl/doc/doc_lister.cpp
+++ b/noncore/graphics/opie-eye/impl/doc/doc_lister.cpp
@@ -1,201 +1,208 @@
1/* 1/*
2 * GPLv2 zecke@handhelds.org 2 * GPLv2 zecke@handhelds.org
3 */ 3 */
4 4
5#include "doc_lister.h" 5#include "doc_lister.h"
6 6
7#include <lib/slavemaster.h> 7#include <lib/slavemaster.h>
8 8
9/* OPIE */ 9/* OPIE */
10#include <opie2/odebug.h> 10#include <opie2/odebug.h>
11#include <qpe/config.h> 11#include <qpe/config.h>
12#include <qpe/qpeapplication.h> 12#include <qpe/qpeapplication.h>
13#include <qpe/applnk.h> 13#include <qpe/applnk.h>
14#include <opie2/oglobal.h> 14#include <opie2/oglobal.h>
15 15
16#include <qtopia/private/categories.h> 16#include <qtopia/private/categories.h>
17#include <qtopia/categoryselect.h> 17#include <qtopia/categoryselect.h>
18 18
19using namespace Opie::Core; 19using namespace Opie::Core;
20 20
21/* QT */ 21/* QT */
22#include <qdir.h> 22#include <qdir.h>
23#include <qfileinfo.h> 23#include <qfileinfo.h>
24#include <qtopia/qcopenvelope_qws.h> 24#include <qtopia/qcopenvelope_qws.h>
25 25
26Doc_DirLister::Doc_DirLister() 26Doc_DirLister::Doc_DirLister()
27 : PDirLister( "doc_dir_lister" ) 27 : PDirLister( "doc_dir_lister" )
28{ 28{
29 /* connect the signals */ 29 /* connect the signals */
30 m_catFilter = 0; 30 m_catFilter = 0;
31 SlaveMaster* master = SlaveMaster::self(); 31 SlaveMaster* master = SlaveMaster::self();
32 connect( master, SIGNAL(sig_start()), this, SIGNAL(sig_start()) ); 32 connect( master, SIGNAL(sig_start()), this, SIGNAL(sig_start()) );
33 connect( master, SIGNAL(sig_end()), this, SIGNAL(sig_end()) ); 33 connect( master, SIGNAL(sig_end()), this, SIGNAL(sig_end()) );
34 connect( master, SIGNAL(sig_thumbInfo(const QString&, const QString&)), 34 connect( master, SIGNAL(sig_thumbInfo(const QString&, const QString&)),
35 this, SLOT(slotThumbInfo(const QString&, const QString&)) ); 35 this, SLOT(slotThumbInfo(const QString&, const QString&)) );
36 connect( master, SIGNAL(sig_fullInfo(const QString&, const QString&)), 36 connect( master, SIGNAL(sig_fullInfo(const QString&, const QString&)),
37 this, SLOT(slotFullInfo(const QString&, const QString&)) ); 37 this, SLOT(slotFullInfo(const QString&, const QString&)) );
38 connect( master, SIGNAL(sig_thumbNail(const QString&, const QPixmap&)), 38 connect( master, SIGNAL(sig_thumbNail(const QString&, const QPixmap&)),
39 this, SLOT(slotThumbNail(const QString&, const QPixmap&)) ); 39 this, SLOT(slotThumbNail(const QString&, const QPixmap&)) );
40 m_docreads = false; 40 m_docreads = false;
41 syschannel = new QCopChannel("QPE/System", this); 41 syschannel = new QCopChannel("QPE/System", this);
42 connect(syschannel, SIGNAL(received(const QCString&,const QByteArray&)), 42 connect(syschannel, SIGNAL(received(const QCString&,const QByteArray&)),
43 this, SLOT(systemMsg(const QCString&,const QByteArray&)) ); 43 this, SLOT(systemMsg(const QCString&,const QByteArray&)) );
44} 44}
45 45
46Doc_DirLister::~Doc_DirLister() 46Doc_DirLister::~Doc_DirLister()
47{ 47{
48} 48}
49 49
50QString Doc_DirLister::defaultPath()const { 50QString Doc_DirLister::defaultPath()const {
51 return QString::null; 51 return QString::null;
52} 52}
53 53
54bool Doc_DirLister::matchCat(const AppLnk* app)const 54bool Doc_DirLister::matchCat(const AppLnk* app)const
55{ 55{
56 if (!app) return false; 56 if (!app) return false;
57 if (m_catFilter==0 || app->categories().contains(m_catFilter) || m_catFilter == -1 && app->categories().count() == 0 ) { 57 if (m_catFilter==0 || app->categories().contains(m_catFilter) || m_catFilter == -1 && app->categories().count() == 0 ) {
58 return true; 58 return true;
59 } 59 }
60 return false; 60 return false;
61} 61}
62 62
63QString Doc_DirLister::setStartPath(const QString&) { 63QString Doc_DirLister::setStartPath(const QString&) {
64 static const QString Mtype_str("image/jpeg;image/gif;image/bmp;image/png"); 64 static const QString Mtype_str("image/jpeg;image/gif;image/bmp;image/png");
65 if (!m_docreads) { 65 if (!m_docreads) {
66 Global::findDocuments(&m_ds,Mtype_str); 66 Global::findDocuments(&m_ds,Mtype_str);
67 m_docreads = true; 67 m_docreads = true;
68 } 68 }
69 return QString::null; 69 return QString::null;
70} 70}
71 71
72QString Doc_DirLister::currentPath()const 72QString Doc_DirLister::currentPath()const
73{ 73{
74 return QString::null; 74 return QString::null;
75} 75}
76 76
77 77
78QStringList Doc_DirLister::folders()const { 78QStringList Doc_DirLister::folders()const {
79 return QStringList(); 79 return QStringList();
80} 80}
81 81
82QStringList Doc_DirLister::files()const { 82QStringList Doc_DirLister::files()const {
83 QStringList out; 83 QStringList out;
84 QListIterator<DocLnk> dit(m_ds.children()); 84 QListIterator<DocLnk> dit(m_ds.children());
85 for( ; dit.current(); ++dit) { 85 for( ; dit.current(); ++dit) {
86 if (!(*dit)->isValid()) continue;
86 if (!matchCat((*dit))) continue; 87 if (!matchCat((*dit))) continue;
87 QString s = (*dit)->name(); 88 QString s = (*dit)->name();
88 s+=char(0); 89 s+=char(0);
89 s+=(*dit)->file(); 90 s+=(*dit)->file();
90 out.append(s); 91 out.append(s);
91 } 92 }
92 return out; 93 return out;
93} 94}
94 95
95void Doc_DirLister::deleteImage( const QString& ) 96void Doc_DirLister::deleteImage( const QString& )
96{ 97{
97} 98}
98 99
99void Doc_DirLister::thumbNail( const QString& str, int w, int h) 100void Doc_DirLister::thumbNail( const QString& str, int w, int h)
100{ 101{
101 SlaveMaster::self()->thumbNail( str, w, h ); 102 SlaveMaster::self()->thumbNail( str, w, h );
102} 103}
103 104
104QImage Doc_DirLister::image( const QString& str, Factor f, int m) 105QImage Doc_DirLister::image( const QString& str, Factor f, int m)
105{ 106{
106 return SlaveMaster::self()->image(str, f, m ); 107 return SlaveMaster::self()->image(str, f, m );
107} 108}
108 109
109void Doc_DirLister::imageInfo( const QString& str) { 110void Doc_DirLister::imageInfo( const QString& str) {
110 SlaveMaster::self()->thumbInfo( str ); 111 SlaveMaster::self()->thumbInfo( str );
111} 112}
112 113
113void Doc_DirLister::fullImageInfo( const QString& str) { 114void Doc_DirLister::fullImageInfo( const QString& str) {
114 SlaveMaster::self()->imageInfo(str); 115 SlaveMaster::self()->imageInfo(str);
115} 116}
116 117
117void Doc_DirLister::slotFullInfo(const QString&f, const QString&t) 118void Doc_DirLister::slotFullInfo(const QString&f, const QString&t)
118{ 119{
119 emit sig_fullInfo(f, t); 120 emit sig_fullInfo(f, t);
120} 121}
121 122
122void Doc_DirLister::slotThumbInfo(const QString&f, const QString&t) 123void Doc_DirLister::slotThumbInfo(const QString&f, const QString&t)
123{ 124{
124 emit sig_thumbInfo(f, t); 125 emit sig_thumbInfo(f, t);
125} 126}
126 127
127void Doc_DirLister::slotThumbNail(const QString&f, const QPixmap&p) 128void Doc_DirLister::slotThumbNail(const QString&f, const QPixmap&p)
128{ 129{
129 emit sig_thumbNail(f, p); 130 emit sig_thumbNail(f, p);
130} 131}
131 132
132QString Doc_DirLister::nameToFname(const QString&name)const 133QString Doc_DirLister::nameToFname(const QString&name)const
133{ 134{
134 return name; 135 return name;
135} 136}
136 137
137QString Doc_DirLister::dirUp( const QString& p ) const{ 138QString Doc_DirLister::dirUp( const QString& p ) const{
138 return p; 139 return p;
139} 140}
140 141
141QWidget* Doc_DirLister::widget(QWidget*parent) 142QWidget* Doc_DirLister::widget(QWidget*parent)
142{ 143{
143 CategorySelect * catmb = new CategorySelect(parent); 144 CategorySelect * catmb = new CategorySelect(parent);
144 Categories cats( 0 ); 145 Categories cats( 0 );
145 cats.load( categoryFileName() ); 146 cats.load( categoryFileName() );
146 QArray<int> vl( 0 ); 147 QArray<int> vl( 0 );
147 catmb->setCategories( vl, "Document View", // No tr 148 catmb->setCategories( vl, "Document View", // No tr
148 "Document View" ); 149 "Document View" );
149 catmb->setRemoveCategoryEdit( TRUE ); 150 catmb->setRemoveCategoryEdit( TRUE );
150 catmb->setAllCategories( TRUE ); 151 catmb->setAllCategories( TRUE );
151 connect(catmb, SIGNAL(signalSelected(int)), this, SLOT(showCategory(int))); 152 connect(catmb, SIGNAL(signalSelected(int)), this, SLOT(showCategory(int)));
152 catmb->setCurrentCategory(-2); 153 catmb->setCurrentCategory(-2);
153 return catmb; 154 return catmb;
154} 155}
155 156
156void Doc_DirLister::showCategory(int which) 157void Doc_DirLister::showCategory(int which)
157{ 158{
159 odebug<<"Show cat " << which << oendl;
158 m_catFilter = which==-2?0:which; 160 m_catFilter = which==-2?0:which;
159 setStartPath(""); 161 setStartPath("");
162 odebug<<"Show cat before emit" << oendl;
160 emit sig_reloadDir(); 163 emit sig_reloadDir();
164 odebug<<"Show cat - emit signal finished" << oendl;
161} 165}
162 166
163void Doc_DirLister::systemMsg(const QCString &msg, const QByteArray &data) 167void Doc_DirLister::systemMsg(const QCString &msg, const QByteArray &data)
164{ 168{
165 if ( msg != "linkChanged(QString)"||!m_docreads) { 169 if ( msg != "linkChanged(QString)"||!m_docreads) {
166 return; 170 return;
167 } 171 }
172#if 0
173 // makes big problems on zaurus!
168 QString link; 174 QString link;
169 QDataStream stream( data, IO_ReadOnly ); 175 QDataStream stream( data, IO_ReadOnly );
170 stream >> link; 176 stream >> link;
171 odebug << "Doc_DirLister systemMsg -> linkchanged( " << link << " )" << oendl; 177 odebug << "Doc_DirLister systemMsg -> linkchanged( " << link << " )" << oendl;
172 if ( link.isNull() || OGlobal::isAppLnkFileName(link) ) { 178 if ( link.isNull() || OGlobal::isAppLnkFileName(link) ) {
173 return; 179 return;
174 } 180 }
175 QListIterator<DocLnk> dit(m_ds.children()); 181 QListIterator<DocLnk> dit(m_ds.children());
176 bool must_reload = false; 182 bool must_reload = false;
177 bool found = false; 183 bool found = false;
178 while ( dit.current() ) { 184 while ( dit.current() ) {
179 DocLnk *doc = dit.current(); 185 DocLnk *doc = dit.current();
180 ++dit; 186 ++dit;
181 if (doc->linkFile() == link) { 187 if (doc->linkFile() == link) {
182 found = true; 188 found = true;
183 DocLnk* dl = new DocLnk(link); 189 DocLnk* dl = new DocLnk(link);
184 if (dl->fileKnown()) { 190 if (dl->fileKnown()) {
185 // changing 191 // changing
186 m_ds.add(dl); 192 m_ds.add(dl);
187 } else { 193 } else {
188 delete dl; 194 delete dl;
189 } 195 }
190 if (matchCat(doc) || matchCat(dl)) { 196 if (matchCat(doc) || matchCat(dl)) {
191 must_reload = true; 197 must_reload = true;
192 } 198 }
193 m_ds.remove( doc ); // remove old link from docLnkSet 199 m_ds.remove( doc ); // remove old link from docLnkSet
194 delete doc; 200 delete doc;
195 } 201 }
196 } 202 }
197 if (must_reload) { 203 if (must_reload) {
198 setStartPath(""); 204 setStartPath("");
199 emit sig_reloadDir(); 205 emit sig_reloadDir();
200 } 206 }
207#endif
201} 208}