summaryrefslogtreecommitdiff
authorzecke <zecke>2005-02-05 16:05:04 (UTC)
committer zecke <zecke>2005-02-05 16:05:04 (UTC)
commit23fc6bad8aa84ee1a690a07124ba9e59650e2aea (patch) (side-by-side diff)
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) (show 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 {
QString str;
switch( m_mode ) {
case ListingFiles:
m_mode = ListingReFolder;
str = PDirLister::dirUp( p );
break;
case ListingFolder:
m_mode = ListingStart;
break;
case ListingUnknown:
case ListingStart:
default:
break;
}
/* down cases */
owarn << " New String " << str << " old path " << m_mode << oendl;
m_path = str;
return str;
}
QStringList DCIM_DirLister::findCameras()const {
QStringList lst;
StorageInfo inf;
m_map.clear();
const QList<FileSystem> &list = inf.fileSystems();
QListIterator<FileSystem> it( list );
FileSystem *sys;
for ( sys = it.current(); (sys=it.current())!=0 ; ++it )
if ( QFileInfo( sys->path() + "/dcim/" ).exists() ) {
lst << sys->name();
m_map.insert( sys->name(), sys->path() );
}
if ( lst.isEmpty() ) {
m_mode = ListingUnknown;
lst << QObject::tr("Error no Camera Dir found");
}else
m_mode = ListingStart;
return lst;
}
QStringList DCIM_DirLister::findAlbums()const {
QStringList lst = QDir( m_path ).entryList( QDir::Dirs );
lst.remove( "." );
lst.remove( ".." );
return lst;
}
QStringList DCIM_DirLister::findImages()const {
return QDir( m_path ).entryList("*.jpg *.jpeg *.png", QDir::Files );
}
void DCIM_DirLister::deleteImage( const QString& fl ) {
QFileInfo inf( fl );
QFile::remove( fl );
- QFile::remove( inf.dirPath ()+"/preview"+
+ QFile::remove( inf.dirPath ()+"/preview/"+
inf.fileName() );
}
void DCIM_DirLister::thumbNail( const QString& _str, int w, int h ) {
QFileInfo inf( _str );
QString str = QFileInfo( inf.dirPath()+"/preview"+ inf.fileName() ).exists() ?
inf.dirPath()+"/preview"+ inf.fileName() : _str;
SlaveMaster::self()->thumbNail( str, w, h );
}
QImage DCIM_DirLister::image( const QString& str, Factor f, int m ) {
return SlaveMaster::self()->image( str, f, m );
}
void DCIM_DirLister::imageInfo( const QString& str ) {
SlaveMaster::self()->thumbInfo( str );
}
void DCIM_DirLister::fullImageInfo( const QString& str ) {
SlaveMaster::self()->imageInfo( str );
}
QString DCIM_DirLister::nameToFname( const QString& name )const {
return name;
}
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()
connect( master, SIGNAL(sig_start()), this, SIGNAL(sig_start()) );
connect( master, SIGNAL(sig_end()), this, SIGNAL(sig_end()) );
connect( master, SIGNAL(sig_thumbInfo(const QString&, const QString&)),
this, SLOT(slotThumbInfo(const QString&, const QString&)) );
connect( master, SIGNAL(sig_fullInfo(const QString&, const QString&)),
this, SLOT(slotFullInfo(const QString&, const QString&)) );
connect( master, SIGNAL(sig_thumbNail(const QString&, const QPixmap&)),
this, SLOT(slotThumbNail(const QString&, const QPixmap&)) );
m_docreads = false;
syschannel = new QCopChannel("QPE/System", this);
connect(syschannel, SIGNAL(received(const QCString&,const QByteArray&)),
this, SLOT(systemMsg(const QCString&,const QByteArray&)) );
}
Doc_DirLister::~Doc_DirLister()
{
}
QString Doc_DirLister::defaultPath()const {
return QString::null;
}
bool Doc_DirLister::matchCat(const AppLnk* app)const
{
if (!app) return false;
if (m_catFilter==0 || app->categories().contains(m_catFilter) || m_catFilter == -1 && app->categories().count() == 0 ) {
return true;
}
return false;
}
QString Doc_DirLister::setStartPath(const QString&) {
static const QString Mtype_str("image/jpeg;image/gif;image/bmp;image/png");
if (!m_docreads) {
Global::findDocuments(&m_ds,Mtype_str);
m_docreads = true;
}
return QString::null;
}
QString Doc_DirLister::currentPath()const
{
return QString::null;
}
QStringList Doc_DirLister::folders()const {
return QStringList();
}
QStringList Doc_DirLister::files()const {
QStringList out;
QListIterator<DocLnk> dit(m_ds.children());
for( ; dit.current(); ++dit) {
if (!(*dit)->isValid()) continue;
if (!matchCat((*dit))) continue;
QString s = (*dit)->name();
s+=char(0);
s+=(*dit)->file();
out.append(s);
}
return out;
}
-void Doc_DirLister::deleteImage( const QString& )
+void Doc_DirLister::deleteImage( const QString& f)
{
+ /*
+ * find the file in the set of doclnks
+ */
+ QListIterator<DocLnk> dit(m_ds.children());
+ for( ; dit.current(); ++dit) {
+ if ( f == (*dit)->file() ) {
+ (*dit)->removeFiles();
+ return;
+ }
+ }
}
void Doc_DirLister::thumbNail( const QString& str, int w, int h)
{
SlaveMaster::self()->thumbNail( str, w, h );
}
QImage Doc_DirLister::image( const QString& str, Factor f, int m)
{
return SlaveMaster::self()->image(str, f, m );
}
void Doc_DirLister::imageInfo( const QString& str) {
SlaveMaster::self()->thumbInfo( str );
}
void Doc_DirLister::fullImageInfo( const QString& str) {
SlaveMaster::self()->imageInfo(str);
}
void Doc_DirLister::slotFullInfo(const QString&f, const QString&t)
{
emit sig_fullInfo(f, t);
}
void Doc_DirLister::slotThumbInfo(const QString&f, const QString&t)
{
emit sig_thumbInfo(f, t);
}
void Doc_DirLister::slotThumbNail(const QString&f, const QPixmap&p)
{
emit sig_thumbNail(f, p);
}
QString Doc_DirLister::nameToFname(const QString&name)const
{
return name;
}
QString Doc_DirLister::dirUp( const QString& p ) const{
return p;
}
QWidget* Doc_DirLister::widget(QWidget*parent)
{
CategorySelect * catmb = new CategorySelect(parent);
Categories cats( 0 );
cats.load( categoryFileName() );
QArray<int> vl( 0 );
catmb->setCategories( vl, "Document View", // No tr
"Document View" );
catmb->setRemoveCategoryEdit( TRUE );
catmb->setAllCategories( TRUE );
connect(catmb, SIGNAL(signalSelected(int)), this, SLOT(showCategory(int)));
catmb->setCurrentCategory(-2);
return catmb;
}
void Doc_DirLister::showCategory(int which)
{
odebug<<"Show cat " << which << oendl;
m_catFilter = which==-2?0:which;
setStartPath("");