Diffstat (limited to 'noncore/graphics/opie-eye/impl') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/graphics/opie-eye/impl/dir/dir_dirview.cpp | 29 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/impl/dir/dir_dirview.h | 24 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/impl/dir/dir_ifacceinfo.h | 21 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/impl/dir/dir_ifaceinfo.cpp | 47 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/impl/dir/dir_ifaceinfo.h | 21 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/impl/dir/dir_lister.cpp | 94 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/impl/dir/dir_lister.h | 34 |
7 files changed, 270 insertions, 0 deletions
diff --git a/noncore/graphics/opie-eye/impl/dir/dir_dirview.cpp b/noncore/graphics/opie-eye/impl/dir/dir_dirview.cpp new file mode 100644 index 0000000..97e3dcb --- a/dev/null +++ b/noncore/graphics/opie-eye/impl/dir/dir_dirview.cpp @@ -0,0 +1,29 @@ +#include "dir_lister.h" +#include "dir_ifaceinfo.h" +#include "dir_dirview.h" + +PHUNK_VIEW_INTERFACE("Dir View", Dir_DirView ); + + +Dir_DirView::Dir_DirView( const Config& cfg) + : PDirView(cfg) +{ + m_cfg = cfg.readBoolEntry( "Dir_Check_All_Files", true); + m_lister = 0; + m_info = 0; +} + +Dir_DirView::~Dir_DirView() { +} + +PInterfaceInfo* Dir_DirView::interfaceInfo()const{ + if (!m_info ) + m_info =new DirInterfaceInfo; + return m_info; +} + +PDirLister* Dir_DirView::dirLister()const{ + if (!m_lister ) + m_lister = new Dir_DirLister(m_cfg); + return m_lister; +} diff --git a/noncore/graphics/opie-eye/impl/dir/dir_dirview.h b/noncore/graphics/opie-eye/impl/dir/dir_dirview.h new file mode 100644 index 0000000..3b9b7a6 --- a/dev/null +++ b/noncore/graphics/opie-eye/impl/dir/dir_dirview.h @@ -0,0 +1,24 @@ +/* + * GPLv2 only zecke@handhelds.org + */ + +#ifndef DIR_DIR_VIEW_H +#define DIR_DIR_VIEW_H + +#include <iface/dirview.h> + + +struct Dir_DirView : public PDirView { + Dir_DirView( const Config& ); + ~Dir_DirView(); + + PInterfaceInfo* interfaceInfo()const; + PDirLister* dirLister()const; +private: + bool m_cfg : 1; + mutable PDirLister* m_lister; + mutable PInterfaceInfo *m_info; +}; + + +#endif diff --git a/noncore/graphics/opie-eye/impl/dir/dir_ifacceinfo.h b/noncore/graphics/opie-eye/impl/dir/dir_ifacceinfo.h new file mode 100644 index 0000000..8c6262f --- a/dev/null +++ b/noncore/graphics/opie-eye/impl/dir/dir_ifacceinfo.h @@ -0,0 +1,21 @@ +/* + * GPLv2 + * zecke@handhelds.org + */ + +#ifndef DIR_IFACE_INFO_H +#define DIR_IFACE_INFO_H + +#include <iface/ifaceinfo.h>s + +class DirInterfaceInfo : public PInterfaceInfo { +public: + DirInterfaceInfo(); + ~DirInterfaceInfo(); + + QString name()const; + QWidget* configWidget(const Config&); + void writeConfig( QWidget* wid, Config& ); +}; + +#endif diff --git a/noncore/graphics/opie-eye/impl/dir/dir_ifaceinfo.cpp b/noncore/graphics/opie-eye/impl/dir/dir_ifaceinfo.cpp new file mode 100644 index 0000000..79f4510 --- a/dev/null +++ b/noncore/graphics/opie-eye/impl/dir/dir_ifaceinfo.cpp @@ -0,0 +1,47 @@ +/* + * GPLv2 + * zecke@handhelds.org + */ + +#include <qwidget.h> +#include <qcheckbox.h> +#include <qhbox.h> +#include <qlabel.h> + +#include <qpe/config.h> + +#include "dir_ifaceinfo.h" + +namespace { + class DirImageWidget : public QHBox { + public: + DirImageWidget() { + chkbox = new QCheckBox( QObject::tr("Show all files"), this ); + } + ~DirImageWidget() {} + QCheckBox* chkbox; + }; +} + + +DirInterfaceInfo::DirInterfaceInfo() { +} +DirInterfaceInfo::~DirInterfaceInfo() { +} + +QString DirInterfaceInfo::name()const { + return QString::fromLatin1(QObject::tr("DirView" )); +} + +QWidget* DirInterfaceInfo::configWidget(const Config& cfg) { + DirImageWidget* wid = new DirImageWidget(); + wid->chkbox->setChecked( cfg.readBoolEntry("Dir_Check_All_Files", true) ); + + return wid; +} + +void DirInterfaceInfo::writeConfig( QWidget* _wid, Config& cfg) { + qWarning( "Write Config" ); + DirImageWidget* wid = static_cast<DirImageWidget*>(_wid); + cfg.writeEntry("Dir_Check_All_Files", wid->chkbox->isChecked() ); +} diff --git a/noncore/graphics/opie-eye/impl/dir/dir_ifaceinfo.h b/noncore/graphics/opie-eye/impl/dir/dir_ifaceinfo.h new file mode 100644 index 0000000..c919dde --- a/dev/null +++ b/noncore/graphics/opie-eye/impl/dir/dir_ifaceinfo.h @@ -0,0 +1,21 @@ +/* + * GPLv2 + * zecke@handhelds.org + */ + +#ifndef DIR_IFACE_INFO_H +#define DIR_IFACE_INFO_H + +#include <iface/ifaceinfo.h> + +class DirInterfaceInfo : public PInterfaceInfo { +public: + DirInterfaceInfo(); + virtual ~DirInterfaceInfo(); + + QString name()const; + QWidget* configWidget(const Config&); + void writeConfig( QWidget* wid, Config& ); +}; + +#endif diff --git a/noncore/graphics/opie-eye/impl/dir/dir_lister.cpp b/noncore/graphics/opie-eye/impl/dir/dir_lister.cpp new file mode 100644 index 0000000..ffea29e --- a/dev/null +++ b/noncore/graphics/opie-eye/impl/dir/dir_lister.cpp @@ -0,0 +1,94 @@ +/* + * GPLv2 zecke@handhelds.org + */ + +#include "dir_lister.h" + +#include <lib/slavemaster.h> + + +#include <qpe/config.h> +#include <qpe/qpeapplication.h> + +#include <qdir.h> +#include <qfileinfo.h> + + +Dir_DirLister::Dir_DirLister( bool list ) + : PDirLister( "dir_dir_lister" ) +{ + m_allFiles = list; + qWarning("All Files %d", m_allFiles ); + + SlaveMaster* master = SlaveMaster::self(); + 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, SIGNAL(sig_thumbInfo(const QString&, const QString&)) ); + connect( master, SIGNAL(sig_fullInfo(const QString&, const QString&)), + this, SIGNAL(sig_fullInfo(const QString&, const QString&)) ); + connect( master, SIGNAL(sig_thumbNail(const QString&, const QPixmap&)), + this, SIGNAL(sig_thumbNail(const QString&, const QPixmap&)) ); + +} + +QString Dir_DirLister::defaultPath()const { + return QPEApplication::documentDir(); +} + +QString Dir_DirLister::setStartPath( const QString& path ) { + m_currentDir.cd( path ); + if (!m_currentDir.exists() ) + m_currentDir.cd(defaultPath()); + + + return m_currentDir.absPath(); +} + +QString Dir_DirLister::currentPath()const { + return m_currentDir.absPath(); +} + + +QStringList Dir_DirLister::folders()const { + return m_currentDir.entryList( QDir::Dirs ); +} + +QStringList Dir_DirLister::files()const { + if ( m_allFiles ) + return m_currentDir.entryList( QDir::Files ); + else { + QStringList out; + QStringList list = m_currentDir.entryList( QDir::Files | QDir::Readable ); + for (QStringList::Iterator it = list.begin(); it != list.end();++it ) { + QFileInfo inf( *it ); + QString ext = inf.extension(false).lower(); + if( ext == QString::fromLatin1("jpg") || + ext == QString::fromLatin1("jpeg" ) || + ext == QString::fromLatin1("png" ) || + ext == QString::fromLatin1("gif" ) ) + out.append( *it ); + } + return out; + } +} + +void Dir_DirLister::deleteImage( const QString& fl) { + QFile::remove( fl ); +} + +void Dir_DirLister::thumbNail( const QString& str, int w, int h) { + SlaveMaster::self()->thumbNail( str, w, h ); +} + +QImage Dir_DirLister::image( const QString& str, Factor f, int m) { + return SlaveMaster::self()->image( str, f, m ); +} + +void Dir_DirLister::imageInfo( const QString& str) { + SlaveMaster::self()->thumbInfo( str ); +} + +void Dir_DirLister::fullImageInfo( const QString& str) { + SlaveMaster::self()->imageInfo( str ); +} diff --git a/noncore/graphics/opie-eye/impl/dir/dir_lister.h b/noncore/graphics/opie-eye/impl/dir/dir_lister.h new file mode 100644 index 0000000..fc63bb0 --- a/dev/null +++ b/noncore/graphics/opie-eye/impl/dir/dir_lister.h @@ -0,0 +1,34 @@ +/* + * GPLv2 zecke@handhelds.org + */ + +#ifndef DIR_LISTER_INTERFACE_LISTER_H +#define DIR_LISTER_INTERFACE_LISTER_H + +#include <qdir.h> + +#include <iface/dirlister.h> + +class Config; +class Dir_DirLister : public PDirLister { +public: + Dir_DirLister( bool ); + + QString defaultPath()const; + QString setStartPath( const QString& ); + QString currentPath()const; + QStringList folders()const; + QStringList files()const; + + void deleteImage( const QString& ); + void thumbNail( const QString&, int, int ); + QImage image( const QString&, Factor, int ); + void imageInfo( const QString& ); + void fullImageInfo( const QString& ); + +private: + bool m_allFiles; + QDir m_currentDir; +}; + +#endif |