summaryrefslogtreecommitdiff
authoralwin <alwin>2005-03-07 12:20:41 (UTC)
committer alwin <alwin>2005-03-07 12:20:41 (UTC)
commit4515ff72db76ba63dcf3b29b19d930b7e083d508 (patch) (unidiff)
tree633264a5352e27dd77107f6713a5c4a8872608bf
parentd6fc7417f752867c14a0b6555c32f2d768736fe8 (diff)
downloadopie-4515ff72db76ba63dcf3b29b19d930b7e083d508.zip
opie-4515ff72db76ba63dcf3b29b19d930b7e083d508.tar.gz
opie-4515ff72db76ba63dcf3b29b19d930b7e083d508.tar.bz2
docLnk->isValid returns if the .doclnk file exists
so its sensless here - we want the check if the real file exists.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/impl/doc/doc_lister.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/noncore/graphics/opie-eye/impl/doc/doc_lister.cpp b/noncore/graphics/opie-eye/impl/doc/doc_lister.cpp
index 5281b75..d4da266 100644
--- a/noncore/graphics/opie-eye/impl/doc/doc_lister.cpp
+++ b/noncore/graphics/opie-eye/impl/doc/doc_lister.cpp
@@ -1,218 +1,219 @@
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 /* check if the real file exists! */
87 if (!(*dit)->fileKnown()||!QFile::exists( (*dit)->file())) continue;
87 if (!matchCat((*dit))) continue; 88 if (!matchCat((*dit))) continue;
88 QString s = (*dit)->name(); 89 QString s = (*dit)->name();
89 s+=char(0); 90 s+=char(0);
90 s+=(*dit)->file(); 91 s+=(*dit)->file();
91 out.append(s); 92 out.append(s);
92 } 93 }
93 return out; 94 return out;
94} 95}
95 96
96void Doc_DirLister::deleteImage( const QString& f) 97void Doc_DirLister::deleteImage( const QString& f)
97{ 98{
98 /* 99 /*
99 * find the file in the set of doclnks 100 * find the file in the set of doclnks
100 */ 101 */
101 QListIterator<DocLnk> dit(m_ds.children()); 102 QListIterator<DocLnk> dit(m_ds.children());
102 for( ; dit.current(); ++dit) { 103 for( ; dit.current(); ++dit) {
103 if ( f == (*dit)->file() ) { 104 if ( f == (*dit)->file() ) {
104 (*dit)->removeFiles(); 105 (*dit)->removeFiles();
105 return; 106 return;
106 } 107 }
107 } 108 }
108} 109}
109 110
110void Doc_DirLister::thumbNail( const QString& str, int w, int h) 111void Doc_DirLister::thumbNail( const QString& str, int w, int h)
111{ 112{
112 SlaveMaster::self()->thumbNail( str, w, h ); 113 SlaveMaster::self()->thumbNail( str, w, h );
113} 114}
114 115
115QImage Doc_DirLister::image( const QString& str, Factor f, int m) 116QImage Doc_DirLister::image( const QString& str, Factor f, int m)
116{ 117{
117 return SlaveMaster::self()->image(str, f, m ); 118 return SlaveMaster::self()->image(str, f, m );
118} 119}
119 120
120void Doc_DirLister::imageInfo( const QString& str) { 121void Doc_DirLister::imageInfo( const QString& str) {
121 SlaveMaster::self()->thumbInfo( str ); 122 SlaveMaster::self()->thumbInfo( str );
122} 123}
123 124
124void Doc_DirLister::fullImageInfo( const QString& str) { 125void Doc_DirLister::fullImageInfo( const QString& str) {
125 SlaveMaster::self()->imageInfo(str); 126 SlaveMaster::self()->imageInfo(str);
126} 127}
127 128
128void Doc_DirLister::slotFullInfo(const QString&f, const QString&t) 129void Doc_DirLister::slotFullInfo(const QString&f, const QString&t)
129{ 130{
130 emit sig_fullInfo(f, t); 131 emit sig_fullInfo(f, t);
131} 132}
132 133
133void Doc_DirLister::slotThumbInfo(const QString&f, const QString&t) 134void Doc_DirLister::slotThumbInfo(const QString&f, const QString&t)
134{ 135{
135 emit sig_thumbInfo(f, t); 136 emit sig_thumbInfo(f, t);
136} 137}
137 138
138void Doc_DirLister::slotThumbNail(const QString&f, const QPixmap&p) 139void Doc_DirLister::slotThumbNail(const QString&f, const QPixmap&p)
139{ 140{
140 emit sig_thumbNail(f, p); 141 emit sig_thumbNail(f, p);
141} 142}
142 143
143QString Doc_DirLister::nameToFname(const QString&name)const 144QString Doc_DirLister::nameToFname(const QString&name)const
144{ 145{
145 return name; 146 return name;
146} 147}
147 148
148QString Doc_DirLister::dirUp( const QString& p ) const{ 149QString Doc_DirLister::dirUp( const QString& p ) const{
149 return p; 150 return p;
150} 151}
151 152
152QWidget* Doc_DirLister::widget(QWidget*parent) 153QWidget* Doc_DirLister::widget(QWidget*parent)
153{ 154{
154 CategorySelect * catmb = new CategorySelect(parent); 155 CategorySelect * catmb = new CategorySelect(parent);
155 Categories cats( 0 ); 156 Categories cats( 0 );
156 cats.load( categoryFileName() ); 157 cats.load( categoryFileName() );
157 QArray<int> vl( 0 ); 158 QArray<int> vl( 0 );
158 catmb->setCategories( vl, "Document View", // No tr 159 catmb->setCategories( vl, "Document View", // No tr
159 "Document View" ); 160 "Document View" );
160 catmb->setRemoveCategoryEdit( TRUE ); 161 catmb->setRemoveCategoryEdit( TRUE );
161 catmb->setAllCategories( TRUE ); 162 catmb->setAllCategories( TRUE );
162 connect(catmb, SIGNAL(signalSelected(int)), this, SLOT(showCategory(int))); 163 connect(catmb, SIGNAL(signalSelected(int)), this, SLOT(showCategory(int)));
163 catmb->setCurrentCategory(-2); 164 catmb->setCurrentCategory(-2);
164 return catmb; 165 return catmb;
165} 166}
166 167
167void Doc_DirLister::showCategory(int which) 168void Doc_DirLister::showCategory(int which)
168{ 169{
169 odebug<<"Show cat " << which << oendl; 170 odebug<<"Show cat " << which << oendl;
170 m_catFilter = which==-2?0:which; 171 m_catFilter = which==-2?0:which;
171 setStartPath(""); 172 setStartPath("");
172 odebug<<"Show cat before emit" << oendl; 173 odebug<<"Show cat before emit" << oendl;
173 emit sig_reloadDir(); 174 emit sig_reloadDir();
174 odebug<<"Show cat - emit signal finished" << oendl; 175 odebug<<"Show cat - emit signal finished" << oendl;
175} 176}
176 177
177void Doc_DirLister::systemMsg(const QCString &msg, const QByteArray &data) 178void Doc_DirLister::systemMsg(const QCString &msg, const QByteArray &data)
178{ 179{
179 if ( msg != "linkChanged(QString)"||!m_docreads) { 180 if ( msg != "linkChanged(QString)"||!m_docreads) {
180 return; 181 return;
181 } 182 }
182#if 0 183#if 0
183 // makes big problems on zaurus! 184 // makes big problems on zaurus!
184 QString link; 185 QString link;
185 QDataStream stream( data, IO_ReadOnly ); 186 QDataStream stream( data, IO_ReadOnly );
186 stream >> link; 187 stream >> link;
187 odebug << "Doc_DirLister systemMsg -> linkchanged( " << link << " )" << oendl; 188 odebug << "Doc_DirLister systemMsg -> linkchanged( " << link << " )" << oendl;
188 if ( link.isNull() || OGlobal::isAppLnkFileName(link) ) { 189 if ( link.isNull() || OGlobal::isAppLnkFileName(link) ) {
189 return; 190 return;
190 } 191 }
191 QListIterator<DocLnk> dit(m_ds.children()); 192 QListIterator<DocLnk> dit(m_ds.children());
192 bool must_reload = false; 193 bool must_reload = false;
193 bool found = false; 194 bool found = false;
194 while ( dit.current() ) { 195 while ( dit.current() ) {
195 DocLnk *doc = dit.current(); 196 DocLnk *doc = dit.current();
196 ++dit; 197 ++dit;
197 if (doc->linkFile() == link) { 198 if (doc->linkFile() == link) {
198 found = true; 199 found = true;
199 DocLnk* dl = new DocLnk(link); 200 DocLnk* dl = new DocLnk(link);
200 if (dl->fileKnown()) { 201 if (dl->fileKnown()) {
201 // changing 202 // changing
202 m_ds.add(dl); 203 m_ds.add(dl);
203 } else { 204 } else {
204 delete dl; 205 delete dl;
205 } 206 }
206 if (matchCat(doc) || matchCat(dl)) { 207 if (matchCat(doc) || matchCat(dl)) {
207 must_reload = true; 208 must_reload = true;
208 } 209 }
209 m_ds.remove( doc ); // remove old link from docLnkSet 210 m_ds.remove( doc ); // remove old link from docLnkSet
210 delete doc; 211 delete doc;
211 } 212 }
212 } 213 }
213 if (must_reload) { 214 if (must_reload) {
214 setStartPath(""); 215 setStartPath("");
215 emit sig_reloadDir(); 216 emit sig_reloadDir();
216 } 217 }
217#endif 218#endif
218} 219}