summaryrefslogtreecommitdiff
authorzecke <zecke>2005-02-05 16:05:04 (UTC)
committer zecke <zecke>2005-02-05 16:05:04 (UTC)
commit23fc6bad8aa84ee1a690a07124ba9e59650e2aea (patch) (unidiff)
tree73f5efbf4ae055b781c78d395fa32bebc2705344
parent8ba13dd38e7da296177719dcc8fddbbe978a4b9a (diff)
downloadopie-23fc6bad8aa84ee1a690a07124ba9e59650e2aea.zip
opie-23fc6bad8aa84ee1a690a07124ba9e59650e2aea.tar.gz
opie-23fc6bad8aa84ee1a690a07124ba9e59650e2aea.tar.bz2
Implement deletion for the Document and Camera Liste
This should fix 1540
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/impl/dcim/dcim_lister.cpp2
-rw-r--r--noncore/graphics/opie-eye/impl/doc/doc_lister.cpp12
2 files changed, 12 insertions, 2 deletions
diff --git a/noncore/graphics/opie-eye/impl/dcim/dcim_lister.cpp b/noncore/graphics/opie-eye/impl/dcim/dcim_lister.cpp
index 3c3d702..147eb9c 100644
--- a/noncore/graphics/opie-eye/impl/dcim/dcim_lister.cpp
+++ b/noncore/graphics/opie-eye/impl/dcim/dcim_lister.cpp
@@ -91,91 +91,91 @@ QString DCIM_DirLister::dirUp( const QString& p )const {
91 QString str; 91 QString str;
92 92
93 switch( m_mode ) { 93 switch( m_mode ) {
94 case ListingFiles: 94 case ListingFiles:
95 m_mode = ListingReFolder; 95 m_mode = ListingReFolder;
96 str = PDirLister::dirUp( p ); 96 str = PDirLister::dirUp( p );
97 break; 97 break;
98 case ListingFolder: 98 case ListingFolder:
99 m_mode = ListingStart; 99 m_mode = ListingStart;
100 break; 100 break;
101 case ListingUnknown: 101 case ListingUnknown:
102 case ListingStart: 102 case ListingStart:
103 default: 103 default:
104 break; 104 break;
105 } 105 }
106 106
107 /* down cases */ 107 /* down cases */
108 owarn << " New String " << str << " old path " << m_mode << oendl; 108 owarn << " New String " << str << " old path " << m_mode << oendl;
109 m_path = str; 109 m_path = str;
110 return str; 110 return str;
111} 111}
112 112
113 113
114QStringList DCIM_DirLister::findCameras()const { 114QStringList DCIM_DirLister::findCameras()const {
115 QStringList lst; 115 QStringList lst;
116 StorageInfo inf; 116 StorageInfo inf;
117 117
118 m_map.clear(); 118 m_map.clear();
119 119
120 const QList<FileSystem> &list = inf.fileSystems(); 120 const QList<FileSystem> &list = inf.fileSystems();
121 QListIterator<FileSystem> it( list ); 121 QListIterator<FileSystem> it( list );
122 122
123 123
124 FileSystem *sys; 124 FileSystem *sys;
125 for ( sys = it.current(); (sys=it.current())!=0 ; ++it ) 125 for ( sys = it.current(); (sys=it.current())!=0 ; ++it )
126 if ( QFileInfo( sys->path() + "/dcim/" ).exists() ) { 126 if ( QFileInfo( sys->path() + "/dcim/" ).exists() ) {
127 lst << sys->name(); 127 lst << sys->name();
128 m_map.insert( sys->name(), sys->path() ); 128 m_map.insert( sys->name(), sys->path() );
129 } 129 }
130 130
131 if ( lst.isEmpty() ) { 131 if ( lst.isEmpty() ) {
132 m_mode = ListingUnknown; 132 m_mode = ListingUnknown;
133 lst << QObject::tr("Error no Camera Dir found"); 133 lst << QObject::tr("Error no Camera Dir found");
134 }else 134 }else
135 m_mode = ListingStart; 135 m_mode = ListingStart;
136 136
137 return lst; 137 return lst;
138} 138}
139 139
140QStringList DCIM_DirLister::findAlbums()const { 140QStringList DCIM_DirLister::findAlbums()const {
141 QStringList lst = QDir( m_path ).entryList( QDir::Dirs ); 141 QStringList lst = QDir( m_path ).entryList( QDir::Dirs );
142 lst.remove( "." ); 142 lst.remove( "." );
143 lst.remove( ".." ); 143 lst.remove( ".." );
144 144
145 return lst; 145 return lst;
146} 146}
147 147
148QStringList DCIM_DirLister::findImages()const { 148QStringList DCIM_DirLister::findImages()const {
149 return QDir( m_path ).entryList("*.jpg *.jpeg *.png", QDir::Files ); 149 return QDir( m_path ).entryList("*.jpg *.jpeg *.png", QDir::Files );
150} 150}
151 151
152void DCIM_DirLister::deleteImage( const QString& fl ) { 152void DCIM_DirLister::deleteImage( const QString& fl ) {
153 QFileInfo inf( fl ); 153 QFileInfo inf( fl );
154 QFile::remove( fl ); 154 QFile::remove( fl );
155 QFile::remove( inf.dirPath ()+"/preview"+ 155 QFile::remove( inf.dirPath ()+"/preview/"+
156 inf.fileName() ); 156 inf.fileName() );
157} 157}
158 158
159void DCIM_DirLister::thumbNail( const QString& _str, int w, int h ) { 159void DCIM_DirLister::thumbNail( const QString& _str, int w, int h ) {
160 QFileInfo inf( _str ); 160 QFileInfo inf( _str );
161 QString str = QFileInfo( inf.dirPath()+"/preview"+ inf.fileName() ).exists() ? 161 QString str = QFileInfo( inf.dirPath()+"/preview"+ inf.fileName() ).exists() ?
162 inf.dirPath()+"/preview"+ inf.fileName() : _str; 162 inf.dirPath()+"/preview"+ inf.fileName() : _str;
163 163
164 SlaveMaster::self()->thumbNail( str, w, h ); 164 SlaveMaster::self()->thumbNail( str, w, h );
165} 165}
166 166
167QImage DCIM_DirLister::image( const QString& str, Factor f, int m ) { 167QImage DCIM_DirLister::image( const QString& str, Factor f, int m ) {
168 return SlaveMaster::self()->image( str, f, m ); 168 return SlaveMaster::self()->image( str, f, m );
169} 169}
170 170
171void DCIM_DirLister::imageInfo( const QString& str ) { 171void DCIM_DirLister::imageInfo( const QString& str ) {
172 SlaveMaster::self()->thumbInfo( str ); 172 SlaveMaster::self()->thumbInfo( str );
173} 173}
174 174
175void DCIM_DirLister::fullImageInfo( const QString& str ) { 175void DCIM_DirLister::fullImageInfo( const QString& str ) {
176 SlaveMaster::self()->imageInfo( str ); 176 SlaveMaster::self()->imageInfo( str );
177} 177}
178 178
179QString DCIM_DirLister::nameToFname( const QString& name )const { 179QString DCIM_DirLister::nameToFname( const QString& name )const {
180 return name; 180 return name;
181} 181}
diff --git a/noncore/graphics/opie-eye/impl/doc/doc_lister.cpp b/noncore/graphics/opie-eye/impl/doc/doc_lister.cpp
index 4a491e2..5281b75 100644
--- a/noncore/graphics/opie-eye/impl/doc/doc_lister.cpp
+++ b/noncore/graphics/opie-eye/impl/doc/doc_lister.cpp
@@ -32,130 +32,140 @@ Doc_DirLister::Doc_DirLister()
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 (!(*dit)->isValid()) continue;
87 if (!matchCat((*dit))) continue; 87 if (!matchCat((*dit))) continue;
88 QString s = (*dit)->name(); 88 QString s = (*dit)->name();
89 s+=char(0); 89 s+=char(0);
90 s+=(*dit)->file(); 90 s+=(*dit)->file();
91 out.append(s); 91 out.append(s);
92 } 92 }
93 return out; 93 return out;
94} 94}
95 95
96void Doc_DirLister::deleteImage( const QString& ) 96void Doc_DirLister::deleteImage( const QString& f)
97{ 97{
98 /*
99 * find the file in the set of doclnks
100 */
101 QListIterator<DocLnk> dit(m_ds.children());
102 for( ; dit.current(); ++dit) {
103 if ( f == (*dit)->file() ) {
104 (*dit)->removeFiles();
105 return;
106 }
107 }
98} 108}
99 109
100void Doc_DirLister::thumbNail( const QString& str, int w, int h) 110void Doc_DirLister::thumbNail( const QString& str, int w, int h)
101{ 111{
102 SlaveMaster::self()->thumbNail( str, w, h ); 112 SlaveMaster::self()->thumbNail( str, w, h );
103} 113}
104 114
105QImage Doc_DirLister::image( const QString& str, Factor f, int m) 115QImage Doc_DirLister::image( const QString& str, Factor f, int m)
106{ 116{
107 return SlaveMaster::self()->image(str, f, m ); 117 return SlaveMaster::self()->image(str, f, m );
108} 118}
109 119
110void Doc_DirLister::imageInfo( const QString& str) { 120void Doc_DirLister::imageInfo( const QString& str) {
111 SlaveMaster::self()->thumbInfo( str ); 121 SlaveMaster::self()->thumbInfo( str );
112} 122}
113 123
114void Doc_DirLister::fullImageInfo( const QString& str) { 124void Doc_DirLister::fullImageInfo( const QString& str) {
115 SlaveMaster::self()->imageInfo(str); 125 SlaveMaster::self()->imageInfo(str);
116} 126}
117 127
118void Doc_DirLister::slotFullInfo(const QString&f, const QString&t) 128void Doc_DirLister::slotFullInfo(const QString&f, const QString&t)
119{ 129{
120 emit sig_fullInfo(f, t); 130 emit sig_fullInfo(f, t);
121} 131}
122 132
123void Doc_DirLister::slotThumbInfo(const QString&f, const QString&t) 133void Doc_DirLister::slotThumbInfo(const QString&f, const QString&t)
124{ 134{
125 emit sig_thumbInfo(f, t); 135 emit sig_thumbInfo(f, t);
126} 136}
127 137
128void Doc_DirLister::slotThumbNail(const QString&f, const QPixmap&p) 138void Doc_DirLister::slotThumbNail(const QString&f, const QPixmap&p)
129{ 139{
130 emit sig_thumbNail(f, p); 140 emit sig_thumbNail(f, p);
131} 141}
132 142
133QString Doc_DirLister::nameToFname(const QString&name)const 143QString Doc_DirLister::nameToFname(const QString&name)const
134{ 144{
135 return name; 145 return name;
136} 146}
137 147
138QString Doc_DirLister::dirUp( const QString& p ) const{ 148QString Doc_DirLister::dirUp( const QString& p ) const{
139 return p; 149 return p;
140} 150}
141 151
142QWidget* Doc_DirLister::widget(QWidget*parent) 152QWidget* Doc_DirLister::widget(QWidget*parent)
143{ 153{
144 CategorySelect * catmb = new CategorySelect(parent); 154 CategorySelect * catmb = new CategorySelect(parent);
145 Categories cats( 0 ); 155 Categories cats( 0 );
146 cats.load( categoryFileName() ); 156 cats.load( categoryFileName() );
147 QArray<int> vl( 0 ); 157 QArray<int> vl( 0 );
148 catmb->setCategories( vl, "Document View", // No tr 158 catmb->setCategories( vl, "Document View", // No tr
149 "Document View" ); 159 "Document View" );
150 catmb->setRemoveCategoryEdit( TRUE ); 160 catmb->setRemoveCategoryEdit( TRUE );
151 catmb->setAllCategories( TRUE ); 161 catmb->setAllCategories( TRUE );
152 connect(catmb, SIGNAL(signalSelected(int)), this, SLOT(showCategory(int))); 162 connect(catmb, SIGNAL(signalSelected(int)), this, SLOT(showCategory(int)));
153 catmb->setCurrentCategory(-2); 163 catmb->setCurrentCategory(-2);
154 return catmb; 164 return catmb;
155} 165}
156 166
157void Doc_DirLister::showCategory(int which) 167void Doc_DirLister::showCategory(int which)
158{ 168{
159 odebug<<"Show cat " << which << oendl; 169 odebug<<"Show cat " << which << oendl;
160 m_catFilter = which==-2?0:which; 170 m_catFilter = which==-2?0:which;
161 setStartPath(""); 171 setStartPath("");