summaryrefslogtreecommitdiff
authoralwin <alwin>2004-04-21 18:31:44 (UTC)
committer alwin <alwin>2004-04-21 18:31:44 (UTC)
commit81cd1a4a916fb00b6c8867bdc1d945db155b12c0 (patch) (unidiff)
treece302c254c8c2160a86ffc0a5abe6cfd51fd33b3
parentac414fa3802b471857bc84ecdd0d37200541b0a7 (diff)
downloadopie-81cd1a4a916fb00b6c8867bdc1d945db155b12c0.zip
opie-81cd1a4a916fb00b6c8867bdc1d945db155b12c0.tar.gz
opie-81cd1a4a916fb00b6c8867bdc1d945db155b12c0.tar.bz2
- added DocView mode
- fixed a bug in iconview and some small fixes more
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/iconview.cpp31
-rw-r--r--noncore/graphics/opie-eye/gui/mainwindow.cpp3
-rw-r--r--noncore/graphics/opie-eye/iface/dirlister.h3
-rw-r--r--noncore/graphics/opie-eye/impl/dir/dir_ifacceinfo.h4
-rw-r--r--noncore/graphics/opie-eye/impl/dir/dir_lister.cpp7
-rw-r--r--noncore/graphics/opie-eye/impl/dir/dir_lister.h3
-rw-r--r--noncore/graphics/opie-eye/impl/doc/doc_dirview.cpp28
-rw-r--r--noncore/graphics/opie-eye/impl/doc/doc_dirview.h24
-rw-r--r--noncore/graphics/opie-eye/impl/doc/doc_ifaceinfo.cpp57
-rw-r--r--noncore/graphics/opie-eye/impl/doc/doc_ifaceinfo.h21
-rw-r--r--noncore/graphics/opie-eye/impl/doc/doc_lister.cpp148
-rw-r--r--noncore/graphics/opie-eye/impl/doc/doc_lister.h42
-rw-r--r--noncore/graphics/opie-eye/phunk_view.pro8
13 files changed, 362 insertions, 17 deletions
diff --git a/noncore/graphics/opie-eye/gui/iconview.cpp b/noncore/graphics/opie-eye/gui/iconview.cpp
index 660c4fa..087db30 100644
--- a/noncore/graphics/opie-eye/gui/iconview.cpp
+++ b/noncore/graphics/opie-eye/gui/iconview.cpp
@@ -336,44 +336,50 @@ void PIconView::slotTrash() {
336 336
337 currentView()->dirLister()->deleteImage( pa ); 337 currentView()->dirLister()->deleteImage( pa );
338 delete m_view->currentItem(); 338 delete m_view->currentItem();
339} 339}
340 340
341/* 341/*
342 * see what views are available 342 * see what views are available
343 */ 343 */
344void PIconView::loadViews() { 344void PIconView::loadViews() {
345 ViewMap::Iterator it; 345 ViewMap::Iterator it;
346 ViewMap* map = viewMap(); 346 ViewMap* map = viewMap();
347 for ( it = map->begin(); it != map->end(); ++it ) 347 for ( it = map->begin(); it != map->end(); ++it )
348 m_views->insertItem( QObject::tr(it.key() ) ); 348 m_views->insertItem( it.key() );
349} 349}
350 350
351void PIconView::resetView() { 351void PIconView::resetView() {
352 slotViewChanged(m_views->currentItem()); 352 slotViewChanged(m_views->currentItem());
353} 353}
354 354
355/* 355/*
356 *swicth view reloadDir and connect signals 356 *swicth view reloadDir and connect signals
357 */ 357 */
358void PIconView::slotViewChanged( int i) { 358void PIconView::slotViewChanged( int i) {
359 if (!m_views->count() ) { 359 if (!m_views->count() ) {
360 setCurrentView( 0l); 360 setCurrentView( 0l);
361 return; 361 return;
362 } 362 }
363 363
364 PDirView* cur = currentView(); 364 PDirView* cur = currentView();
365 delete cur; 365 if (cur) delete cur;
366 QString str = m_views->text(i); 366 QString str = m_views->text(i);
367 cur = (*(*viewMap())[str])(*m_cfg); 367 ViewMap* map = viewMap();
368 if (!map) {setCurrentView(0l); return;}
369 if (map->find(str) == map->end()) {
370 owarn << "Key not found" << oendl;
371 setCurrentView(0l); return;
372 }
373 cur = (*(*map)[str])(*m_cfg);
368 setCurrentView( cur ); 374 setCurrentView( cur );
369 375
370 /* connect to the signals of the lister */ 376 /* connect to the signals of the lister */
371 PDirLister* lis = cur->dirLister(); 377 PDirLister* lis = cur->dirLister();
372 connect(lis, SIGNAL(sig_thumbInfo(const QString&, const QString& )), 378 connect(lis, SIGNAL(sig_thumbInfo(const QString&, const QString& )),
373 this, SLOT( slotThumbInfo(const QString&, const QString&))); 379 this, SLOT( slotThumbInfo(const QString&, const QString&)));
374 connect(lis, SIGNAL( sig_thumbNail(const QString&, const QPixmap&)), 380 connect(lis, SIGNAL( sig_thumbNail(const QString&, const QPixmap&)),
375 this, SLOT(slotThumbNail(const QString&, const QPixmap&))); 381 this, SLOT(slotThumbNail(const QString&, const QPixmap&)));
376 connect(lis, SIGNAL(sig_start()), 382 connect(lis, SIGNAL(sig_start()),
377 this, SLOT(slotStart())); 383 this, SLOT(slotStart()));
378 connect(lis, SIGNAL(sig_end()) , 384 connect(lis, SIGNAL(sig_end()) ,
379 this, SLOT(slotEnd()) ); 385 this, SLOT(slotEnd()) );
@@ -397,27 +403,31 @@ void PIconView::addFolders( const QStringList& lst) {
397 IconViewItem * _iv; 403 IconViewItem * _iv;
398 404
399 for(it=lst.begin(); it != lst.end(); ++it ) { 405 for(it=lst.begin(); it != lst.end(); ++it ) {
400 _iv = new IconViewItem( m_view, m_path+"/"+(*it), (*it), true ); 406 _iv = new IconViewItem( m_view, m_path+"/"+(*it), (*it), true );
401 if (m_mode==3) _iv->setTextOnly(true); 407 if (m_mode==3) _iv->setTextOnly(true);
402 } 408 }
403} 409}
404 410
405void PIconView::addFiles( const QStringList& lst) { 411void PIconView::addFiles( const QStringList& lst) {
406 QStringList::ConstIterator it; 412 QStringList::ConstIterator it;
407 IconViewItem * _iv; 413 IconViewItem * _iv;
408 QPixmap*m_pix = 0; 414 QPixmap*m_pix = 0;
415 QString pre = "";
416 if (!m_path.isEmpty()) {
417 pre = m_path+"/";
418 }
409 for (it=lst.begin(); it!= lst.end(); ++it ) { 419 for (it=lst.begin(); it!= lst.end(); ++it ) {
410 m_pix = PPixmapCache::self()->cachedImage( m_path+"/"+(*it), 64, 64 ); 420 m_pix = PPixmapCache::self()->cachedImage( pre+(*it), 64, 64 );
411 _iv = new IconViewItem( m_view, m_path+"/"+(*it), (*it) ); 421 _iv = new IconViewItem( m_view, pre+(*it), (*it) );
412 if (m_mode==3) { 422 if (m_mode==3) {
413 _iv->setTextOnly(true); 423 _iv->setTextOnly(true);
414 _iv->setPixmap(QPixmap()); 424 _iv->setPixmap(QPixmap());
415 } else { 425 } else {
416 if (m_pix) _iv->setPixmap(*m_pix); 426 if (m_pix) _iv->setPixmap(*m_pix);
417 } 427 }
418 } 428 }
419 429
420} 430}
421 431
422/* 432/*
423 * user clicked on the item. Change dir or view 433 * user clicked on the item. Change dir or view
@@ -534,62 +544,63 @@ void PIconView::slotShowPrev()
534 if (name.isEmpty()) return; 544 if (name.isEmpty()) return;
535 if (isDir) return; 545 if (isDir) return;
536 /* if we got a name we have a prev item */ 546 /* if we got a name we have a prev item */
537 m_view->setCurrentItem(m_view->currentItem()->prevItem()); 547 m_view->setCurrentItem(m_view->currentItem()->prevItem());
538 slotShowImage(name); 548 slotShowImage(name);
539} 549}
540 550
541void PIconView::slotShowImage() 551void PIconView::slotShowImage()
542{ 552{
543 bool isDir = false; 553 bool isDir = false;
544 QString name = currentFileName(isDir); 554 QString name = currentFileName(isDir);
545 if (isDir) return; 555 if (isDir) return;
546
547 slotShowImage( name ); 556 slotShowImage( name );
548} 557}
549void PIconView::slotShowImage( const QString& name) { 558void PIconView::slotShowImage( const QString& name) {
550 emit sig_display( name ); 559 PDirLister *lister = currentView()->dirLister();
560 QString r_name = lister->nameToFname(name);
561 emit sig_display( r_name );
551} 562}
552void PIconView::slotImageInfo() { 563void PIconView::slotImageInfo() {
553 bool isDir = false; 564 bool isDir = false;
554 QString name = currentFileName(isDir); 565 QString name = currentFileName(isDir);
555 if (isDir) return; 566 if (isDir) return;
556 567
557 slotImageInfo( name ); 568 slotImageInfo( name );
558} 569}
559 570
560void PIconView::slotImageInfo( const QString& name) { 571void PIconView::slotImageInfo( const QString& name) {
561 emit sig_showInfo( name ); 572 PDirLister *lister = currentView()->dirLister();
573 QString r_name = lister->nameToFname(name);
574 emit sig_showInfo(r_name );
562} 575}
563 576
564 577
565void PIconView::slotChangeMode( int mode ) { 578void PIconView::slotChangeMode( int mode ) {
566 if ( mode >= 1 && mode <= 3 ) 579 if ( mode >= 1 && mode <= 3 )
567 m_mode = mode; 580 m_mode = mode;
568 581
569 m_cfg->writeEntry("ListViewMode", m_mode); 582 m_cfg->writeEntry("ListViewMode", m_mode);
570 calculateGrid(); 583 calculateGrid();
571 slotReloadDir(); 584 slotReloadDir();
572} 585}
573 586
574 587
575void PIconView::resizeEvent( QResizeEvent* re ) { 588void PIconView::resizeEvent( QResizeEvent* re ) {
576 QVBox::resizeEvent( re ); 589 QVBox::resizeEvent( re );
577 calculateGrid(); 590 calculateGrid();
578} 591}
579 592
580 593
581void PIconView::calculateGrid() { 594void PIconView::calculateGrid() {
582 odebug << "Calc grid: x=" << m_view->gridX() << " y=" << m_view->gridY() << oendl;
583 odebug << "Size of view: " << m_view->size() << oendl;
584 int dw = QApplication::desktop()->width(); 595 int dw = QApplication::desktop()->width();
585 int viewerWidth = dw-style().scrollBarExtent().width(); 596 int viewerWidth = dw-style().scrollBarExtent().width();
586 597
587 QIconView::ItemTextPos pos; 598 QIconView::ItemTextPos pos;
588 switch( m_mode ) { 599 switch( m_mode ) {
589 case 2: 600 case 2:
590 pos = QIconView::Bottom; 601 pos = QIconView::Bottom;
591 break; 602 break;
592 case 3: 603 case 3:
593 case 1: 604 case 1:
594 default: 605 default:
595 pos = QIconView::Right; 606 pos = QIconView::Right;
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp
index 58f02ef..058fca0 100644
--- a/noncore/graphics/opie-eye/gui/mainwindow.cpp
+++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp
@@ -25,25 +25,26 @@
25#include <qpe/applnk.h> 25#include <qpe/applnk.h>
26 26
27#include <qtoolbar.h> 27#include <qtoolbar.h>
28#include <qtoolbutton.h> 28#include <qtoolbutton.h>
29#include <qlayout.h> 29#include <qlayout.h>
30#include <qdialog.h> 30#include <qdialog.h>
31#include <qmap.h> 31#include <qmap.h>
32#include <qtimer.h> 32#include <qtimer.h>
33#include <qframe.h> 33#include <qframe.h>
34 34
35 35
36 36
37OPIE_EXPORT_APP_V2( Opie::Core::OApplicationFactory<PMainWindow>,"Opie Eye" ) 37//OPIE_EXPORT_APP_V2( Opie::Core::OApplicationFactory<PMainWindow>,"Opie Eye" )
38OPIE_EXPORT_APP( Opie::Core::OApplicationFactory<PMainWindow>)
38 39
39PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style) 40PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style)
40 : QMainWindow( wid, name, style ), m_info( 0 ), m_disp( 0 ) 41 : QMainWindow( wid, name, style ), m_info( 0 ), m_disp( 0 )
41{ 42{
42 setCaption( QObject::tr("Opie Eye Caramba" ) ); 43 setCaption( QObject::tr("Opie Eye Caramba" ) );
43 m_cfg = new Opie::Core::OConfig("phunkview"); 44 m_cfg = new Opie::Core::OConfig("phunkview");
44 m_cfg->setGroup("Zecke_view" ); 45 m_cfg->setGroup("Zecke_view" );
45 tFrame = 0; 46 tFrame = 0;
46// qDebug( "Process-wide OApplication object @ %0x", oApp ); 47// qDebug( "Process-wide OApplication object @ %0x", oApp );
47 /* 48 /*
48 * Initialize ToolBar and IconView 49 * Initialize ToolBar and IconView
49 * And Connect Them 50 * And Connect Them
diff --git a/noncore/graphics/opie-eye/iface/dirlister.h b/noncore/graphics/opie-eye/iface/dirlister.h
index fcc55ec..9c7b2a9 100644
--- a/noncore/graphics/opie-eye/iface/dirlister.h
+++ b/noncore/graphics/opie-eye/iface/dirlister.h
@@ -20,28 +20,29 @@ public:
20 20
21 virtual QString defaultPath()const = 0; 21 virtual QString defaultPath()const = 0;
22 virtual QString setStartPath( const QString& ) = 0; 22 virtual QString setStartPath( const QString& ) = 0;
23 virtual QString currentPath()const = 0; 23 virtual QString currentPath()const = 0;
24 virtual QStringList folders()const = 0; 24 virtual QStringList folders()const = 0;
25 virtual QStringList files()const = 0; 25 virtual QStringList files()const = 0;
26public slots: 26public slots:
27 virtual void deleteImage( const QString& ) = 0; 27 virtual void deleteImage( const QString& ) = 0;
28 virtual void imageInfo( const QString&) = 0; 28 virtual void imageInfo( const QString&) = 0;
29 virtual void fullImageInfo( const QString& ) = 0; 29 virtual void fullImageInfo( const QString& ) = 0;
30 virtual void thumbNail( const QString&, int max_wid, int max_h ) = 0; 30 virtual void thumbNail( const QString&, int max_wid, int max_h ) = 0;
31 virtual QImage image( const QString&, Factor, int max = 0) = 0; 31 virtual QImage image( const QString&, Factor, int max = 0) = 0;
32 virtual QString nameToFname(const QString&name)const = 0;
32 33
33signals: 34signals:
34 void sig_dirchanged(); 35 void sig_dirchanged();
35 void sig_filechanged(); 36 void sig_filechanged();
36 void sig_start(); 37 void sig_start();
37 void sig_end(); 38 void sig_end();
38// If this app ever happens to get multithreaded... 39// If this app ever happens to get multithreaded...
39 void sig_thumbInfo( const QString&, const QString& ); 40 void sig_thumbInfo( const QString&, const QString& );
40 void sig_fullInfo( const QString&, const QString& ); 41 void sig_fullInfo( const QString&, const QString& );
41 void sig_thumbNail( const QString&, const QPixmap& ); 42 void sig_thumbNail( const QString&, const QPixmap& );
42 43
43protected: 44protected:
44 ~PDirLister(); 45 virtual ~PDirLister();
45}; 46};
46 47
47#endif 48#endif
diff --git a/noncore/graphics/opie-eye/impl/dir/dir_ifacceinfo.h b/noncore/graphics/opie-eye/impl/dir/dir_ifacceinfo.h
index 8c6262f..c919dde 100644
--- a/noncore/graphics/opie-eye/impl/dir/dir_ifacceinfo.h
+++ b/noncore/graphics/opie-eye/impl/dir/dir_ifacceinfo.h
@@ -1,21 +1,21 @@
1/* 1/*
2 * GPLv2 2 * GPLv2
3 * zecke@handhelds.org 3 * zecke@handhelds.org
4 */ 4 */
5 5
6#ifndef DIR_IFACE_INFO_H 6#ifndef DIR_IFACE_INFO_H
7#define DIR_IFACE_INFO_H 7#define DIR_IFACE_INFO_H
8 8
9#include <iface/ifaceinfo.h>s 9#include <iface/ifaceinfo.h>
10 10
11class DirInterfaceInfo : public PInterfaceInfo { 11class DirInterfaceInfo : public PInterfaceInfo {
12public: 12public:
13 DirInterfaceInfo(); 13 DirInterfaceInfo();
14 ~DirInterfaceInfo(); 14 virtual ~DirInterfaceInfo();
15 15
16 QString name()const; 16 QString name()const;
17 QWidget* configWidget(const Config&); 17 QWidget* configWidget(const Config&);
18 void writeConfig( QWidget* wid, Config& ); 18 void writeConfig( QWidget* wid, Config& );
19}; 19};
20 20
21#endif 21#endif
diff --git a/noncore/graphics/opie-eye/impl/dir/dir_lister.cpp b/noncore/graphics/opie-eye/impl/dir/dir_lister.cpp
index 16758d7..3717297 100644
--- a/noncore/graphics/opie-eye/impl/dir/dir_lister.cpp
+++ b/noncore/graphics/opie-eye/impl/dir/dir_lister.cpp
@@ -11,25 +11,25 @@
11#include <qpe/config.h> 11#include <qpe/config.h>
12#include <qpe/qpeapplication.h> 12#include <qpe/qpeapplication.h>
13using namespace Opie::Core; 13using namespace Opie::Core;
14 14
15/* QT */ 15/* QT */
16#include <qdir.h> 16#include <qdir.h>
17#include <qfileinfo.h> 17#include <qfileinfo.h>
18 18
19Dir_DirLister::Dir_DirLister( bool list ) 19Dir_DirLister::Dir_DirLister( bool list )
20 : PDirLister( "dir_dir_lister" ) 20 : PDirLister( "dir_dir_lister" )
21{ 21{
22 m_allFiles = list; 22 m_allFiles = list;
23 owarn << "All Files " << m_allFiles << "" << oendl; 23 owarn << "All Files " << m_allFiles << "" << oendl;
24 24
25 SlaveMaster* master = SlaveMaster::self(); 25 SlaveMaster* master = SlaveMaster::self();
26 connect( master, SIGNAL(sig_start()), this, SIGNAL(sig_start()) ); 26 connect( master, SIGNAL(sig_start()), this, SIGNAL(sig_start()) );
27 connect( master, SIGNAL(sig_end()), this, SIGNAL(sig_end()) ); 27 connect( master, SIGNAL(sig_end()), this, SIGNAL(sig_end()) );
28 connect( master, SIGNAL(sig_thumbInfo(const QString&, const QString&)), 28 connect( master, SIGNAL(sig_thumbInfo(const QString&, const QString&)),
29 this, SIGNAL(sig_thumbInfo(const QString&, const QString&)) ); 29 this, SIGNAL(sig_thumbInfo(const QString&, const QString&)) );
30 connect( master, SIGNAL(sig_fullInfo(const QString&, const QString&)), 30 connect( master, SIGNAL(sig_fullInfo(const QString&, const QString&)),
31 this, SIGNAL(sig_fullInfo(const QString&, const QString&)) ); 31 this, SIGNAL(sig_fullInfo(const QString&, const QString&)) );
32 connect( master, SIGNAL(sig_thumbNail(const QString&, const QPixmap&)), 32 connect( master, SIGNAL(sig_thumbNail(const QString&, const QPixmap&)),
33 this, SIGNAL(sig_thumbNail(const QString&, const QPixmap&)) ); 33 this, SIGNAL(sig_thumbNail(const QString&, const QPixmap&)) );
34 34
35} 35}
@@ -86,12 +86,17 @@ void Dir_DirLister::thumbNail( const QString& str, int w, int h) {
86 86
87QImage Dir_DirLister::image( const QString& str, Factor f, int m) { 87QImage Dir_DirLister::image( const QString& str, Factor f, int m) {
88 return SlaveMaster::self()->image( str, f, m ); 88 return SlaveMaster::self()->image( str, f, m );
89} 89}
90 90
91void Dir_DirLister::imageInfo( const QString& str) { 91void Dir_DirLister::imageInfo( const QString& str) {
92 SlaveMaster::self()->thumbInfo( str ); 92 SlaveMaster::self()->thumbInfo( str );
93} 93}
94 94
95void Dir_DirLister::fullImageInfo( const QString& str) { 95void Dir_DirLister::fullImageInfo( const QString& str) {
96 SlaveMaster::self()->imageInfo( str ); 96 SlaveMaster::self()->imageInfo( str );
97} 97}
98
99QString Dir_DirLister::nameToFname(const QString&name)const
100{
101 return name;
102}
diff --git a/noncore/graphics/opie-eye/impl/dir/dir_lister.h b/noncore/graphics/opie-eye/impl/dir/dir_lister.h
index fc63bb0..d6ca6c0 100644
--- a/noncore/graphics/opie-eye/impl/dir/dir_lister.h
+++ b/noncore/graphics/opie-eye/impl/dir/dir_lister.h
@@ -2,33 +2,36 @@
2 * GPLv2 zecke@handhelds.org 2 * GPLv2 zecke@handhelds.org
3 */ 3 */
4 4
5#ifndef DIR_LISTER_INTERFACE_LISTER_H 5#ifndef DIR_LISTER_INTERFACE_LISTER_H
6#define DIR_LISTER_INTERFACE_LISTER_H 6#define DIR_LISTER_INTERFACE_LISTER_H
7 7
8#include <qdir.h> 8#include <qdir.h>
9 9
10#include <iface/dirlister.h> 10#include <iface/dirlister.h>
11 11
12class Config; 12class Config;
13class Dir_DirLister : public PDirLister { 13class Dir_DirLister : public PDirLister {
14 Q_OBJECT
14public: 15public:
15 Dir_DirLister( bool ); 16 Dir_DirLister( bool );
17 virtual ~Dir_DirLister(){}
16 18
17 QString defaultPath()const; 19 QString defaultPath()const;
18 QString setStartPath( const QString& ); 20 QString setStartPath( const QString& );
19 QString currentPath()const; 21 QString currentPath()const;
20 QStringList folders()const; 22 QStringList folders()const;
21 QStringList files()const; 23 QStringList files()const;
22 24
23 void deleteImage( const QString& ); 25 void deleteImage( const QString& );
24 void thumbNail( const QString&, int, int ); 26 void thumbNail( const QString&, int, int );
25 QImage image( const QString&, Factor, int ); 27 QImage image( const QString&, Factor, int );
26 void imageInfo( const QString& ); 28 void imageInfo( const QString& );
27 void fullImageInfo( const QString& ); 29 void fullImageInfo( const QString& );
30 virtual QString nameToFname(const QString&name)const;
28 31
29private: 32private:
30 bool m_allFiles; 33 bool m_allFiles;
31 QDir m_currentDir; 34 QDir m_currentDir;
32}; 35};
33 36
34#endif 37#endif
diff --git a/noncore/graphics/opie-eye/impl/doc/doc_dirview.cpp b/noncore/graphics/opie-eye/impl/doc/doc_dirview.cpp
new file mode 100644
index 0000000..0d6e25f
--- a/dev/null
+++ b/noncore/graphics/opie-eye/impl/doc/doc_dirview.cpp
@@ -0,0 +1,28 @@
1#include "doc_lister.h"
2#include "doc_ifaceinfo.h"
3#include "doc_dirview.h"
4
5PHUNK_VIEW_INTERFACE("Document View", Doc_DirView );
6
7
8Doc_DirView::Doc_DirView( const Config& cfg)
9 : PDirView(cfg)
10{
11 m_lister = 0;
12 m_info = 0;
13}
14
15Doc_DirView::~Doc_DirView() {
16}
17
18PInterfaceInfo* Doc_DirView::interfaceInfo()const{
19 if (!m_info )
20 m_info =new DocInterfaceInfo;
21 return m_info;
22}
23
24PDirLister* Doc_DirView::dirLister()const{
25 if (!m_lister )
26 m_lister = new Doc_DirLister();
27 return m_lister;
28}
diff --git a/noncore/graphics/opie-eye/impl/doc/doc_dirview.h b/noncore/graphics/opie-eye/impl/doc/doc_dirview.h
new file mode 100644
index 0000000..3a2fd71
--- a/dev/null
+++ b/noncore/graphics/opie-eye/impl/doc/doc_dirview.h
@@ -0,0 +1,24 @@
1/*
2 * GPLv2 only zecke@handhelds.org
3 */
4
5#ifndef DOC_DIR_VIEW_H
6#define DOC_DIR_VIEW_H
7
8#include <iface/dirview.h>
9
10
11struct Doc_DirView : public PDirView {
12 Doc_DirView( const Config& );
13 ~Doc_DirView();
14
15 PInterfaceInfo* interfaceInfo()const;
16 PDirLister* dirLister()const;
17private:
18 bool m_cfg : 1;
19 mutable PDirLister* m_lister;
20 mutable PInterfaceInfo *m_info;
21};
22
23
24#endif
diff --git a/noncore/graphics/opie-eye/impl/doc/doc_ifaceinfo.cpp b/noncore/graphics/opie-eye/impl/doc/doc_ifaceinfo.cpp
new file mode 100644
index 0000000..a6d6f3c
--- a/dev/null
+++ b/noncore/graphics/opie-eye/impl/doc/doc_ifaceinfo.cpp
@@ -0,0 +1,57 @@
1/*
2 * GPLv2
3 * zecke@handhelds.org
4 */
5
6#include "doc_ifaceinfo.h"
7
8/* OPIE */
9#include <opie2/odebug.h>
10#include <qpe/config.h>
11using namespace Opie::Core;
12
13/* QT */
14#include <qwidget.h>
15#include <qcheckbox.h>
16#include <qhbox.h>
17#include <qlabel.h>
18
19#if 0
20namespace {
21 class DirImageWidget : public QHBox {
22 public:
23 DirImageWidget() {
24 chkbox = new QCheckBox( QObject::tr("Show all files"), this );
25 }
26 ~DirImageWidget() {}
27 QCheckBox* chkbox;
28 };
29}
30#endif
31
32DocInterfaceInfo::DocInterfaceInfo() {
33}
34DocInterfaceInfo::~DocInterfaceInfo() {
35}
36
37QString DocInterfaceInfo::name()const {
38 return QString::fromLatin1(QObject::tr("DocView" ));
39}
40
41QWidget* DocInterfaceInfo::configWidget(const Config& cfg) {
42#if 0
43 DirImageWidget* wid = new DirImageWidget();
44 wid->chkbox->setChecked( cfg.readBoolEntry("Dir_Check_All_Files", true) );
45
46 return wid;
47#endif
48 return 0L;
49}
50
51void DocInterfaceInfo::writeConfig( QWidget* , Config& ) {
52#if 0
53 owarn << "Write Config" << oendl;
54 DirImageWidget* wid = static_cast<DirImageWidget*>(_wid);
55 cfg.writeEntry("Dir_Check_All_Files", wid->chkbox->isChecked() );
56#endif
57}
diff --git a/noncore/graphics/opie-eye/impl/doc/doc_ifaceinfo.h b/noncore/graphics/opie-eye/impl/doc/doc_ifaceinfo.h
new file mode 100644
index 0000000..73986c9
--- a/dev/null
+++ b/noncore/graphics/opie-eye/impl/doc/doc_ifaceinfo.h
@@ -0,0 +1,21 @@
1/*
2 * GPLv2
3 * zecke@handhelds.org
4 */
5
6#ifndef DOC_IFACE_INFO_H
7#define DOC_IFACE_INFO_H
8
9#include <iface/ifaceinfo.h>
10
11class DocInterfaceInfo : public PInterfaceInfo {
12public:
13 DocInterfaceInfo();
14 virtual ~DocInterfaceInfo();
15
16 QString name()const;
17 QWidget* configWidget(const Config&);
18 void writeConfig( QWidget* wid, Config& );
19};
20
21#endif
diff --git a/noncore/graphics/opie-eye/impl/doc/doc_lister.cpp b/noncore/graphics/opie-eye/impl/doc/doc_lister.cpp
new file mode 100644
index 0000000..f695a76
--- a/dev/null
+++ b/noncore/graphics/opie-eye/impl/doc/doc_lister.cpp
@@ -0,0 +1,148 @@
1/*
2 * GPLv2 zecke@handhelds.org
3 */
4
5#include "doc_lister.h"
6
7#include <lib/slavemaster.h>
8
9/* OPIE */
10#include <opie2/odebug.h>
11#include <qpe/config.h>
12#include <qpe/qpeapplication.h>
13#include <qpe/applnk.h>
14
15using namespace Opie::Core;
16
17/* QT */
18#include <qdir.h>
19#include <qfileinfo.h>
20
21Doc_DirLister::Doc_DirLister()
22 : PDirLister( "doc_dir_lister" )
23{
24 SlaveMaster* master = SlaveMaster::self();
25 connect( master, SIGNAL(sig_start()), this, SIGNAL(sig_start()) );
26 connect( master, SIGNAL(sig_end()), this, SIGNAL(sig_end()) );
27 connect( master, SIGNAL(sig_thumbInfo(const QString&, const QString&)),
28 this, SLOT(slotThumbInfo(const QString&, const QString&)) );
29 connect( master, SIGNAL(sig_fullInfo(const QString&, const QString&)),
30 this, SLOT(slotFullInfo(const QString&, const QString&)) );
31 connect( master, SIGNAL(sig_thumbNail(const QString&, const QPixmap&)),
32 this, SLOT(slotThumbNail(const QString&, const QPixmap&)) );
33
34}
35
36QString Doc_DirLister::defaultPath()const {
37 return ""; QPEApplication::documentDir();
38}
39
40QString Doc_DirLister::setStartPath( const QString& path ) {
41 m_namemap.clear();
42 m_out.clear();
43 static const QString Mtype_str("image/jpeg;image/gif;image/bmp;image/png");
44 owarn << "Set start path" << oendl;
45 DocLnkSet ds;
46 Global::findDocuments(&ds,Mtype_str);
47 QListIterator<DocLnk> dit(ds.children());
48 for( ; dit.current(); ++dit) {
49 owarn << (*dit)->file() << oendl;
50 m_namemap[(*dit)->name()]=(*dit)->file();
51 m_filemap[(*dit)->file()]=(*dit)->name();
52 m_out.append((*dit)->name());
53 }
54 owarn << "Set start path end" << oendl;
55 return "";
56}
57
58QString Doc_DirLister::currentPath()const {
59 return "";
60}
61
62
63QStringList Doc_DirLister::folders()const {
64 return QStringList();
65}
66
67QStringList Doc_DirLister::files()const {
68 return m_out;
69}
70
71void Doc_DirLister::deleteImage( const QString& ) {
72}
73
74void Doc_DirLister::thumbNail( const QString& str, int w, int h) {
75 if (m_namemap.find(str)==m_namemap.end()) {
76 owarn << "Item " << str << " not found" << oendl;
77 return;
78 }
79 QString fname = m_namemap[str];
80 SlaveMaster::self()->thumbNail( fname, w, h );
81}
82
83QImage Doc_DirLister::image( const QString& str, Factor f, int m) {
84 if (m_namemap.find(str)==m_namemap.end()) {
85 owarn << "Item " << str << " not found" << oendl;
86 return QImage();
87 }
88 QString fname = m_namemap[str];
89 return SlaveMaster::self()->image( fname, f, m );
90}
91
92void Doc_DirLister::imageInfo( const QString& str) {
93 if (m_namemap.find(str)==m_namemap.end()) {
94 owarn << "Item " << str << " not found" << oendl;
95 return;
96 }
97 QString fname = m_namemap[str];
98 owarn << "Image info: " << fname << oendl;
99 SlaveMaster::self()->thumbInfo( fname );
100}
101
102void Doc_DirLister::fullImageInfo( const QString& str) {
103 if (m_namemap.find(str)==m_namemap.end()) {
104 owarn << "Item " << str << " not found" << oendl;
105 return;
106 }
107 QString fname = m_namemap[str];
108 SlaveMaster::self()->imageInfo( fname );
109}
110
111void Doc_DirLister::slotFullInfo(const QString&f, const QString&t)
112{
113 if (m_filemap.find(f)==m_filemap.end()) {
114 owarn << "Item " << f << " not found" << oendl;
115 return;
116 }
117 QString name = m_filemap[f];
118 emit sig_fullInfo(name, t);
119}
120
121void Doc_DirLister::slotThumbInfo(const QString&f, const QString&t)
122{
123 if (m_filemap.find(f)==m_filemap.end()) {
124 owarn << "Item " << f << " not found" << oendl;
125 return;
126 }
127 QString name = m_filemap[f];
128 emit sig_thumbInfo(name, t);
129}
130
131void Doc_DirLister::slotThumbNail(const QString&f, const QPixmap&p)
132{
133 if (m_filemap.find(f)==m_filemap.end()) {
134 owarn << "Item " << f << " not found" << oendl;
135 return;
136 }
137 QString name = m_filemap[f];
138 emit sig_thumbNail(name, p);
139}
140
141QString Doc_DirLister::nameToFname(const QString&name)const
142{
143 if (m_namemap.find(name)==m_namemap.end()) {
144 owarn << "Item " << name << " not found" << oendl;
145 return QString::null;
146 }
147 return m_namemap[name];
148}
diff --git a/noncore/graphics/opie-eye/impl/doc/doc_lister.h b/noncore/graphics/opie-eye/impl/doc/doc_lister.h
new file mode 100644
index 0000000..d89b579
--- a/dev/null
+++ b/noncore/graphics/opie-eye/impl/doc/doc_lister.h
@@ -0,0 +1,42 @@
1/*
2 * GPLv2 zecke@handhelds.org
3 */
4
5#ifndef DOC_LISTER_INTERFACE_LISTER_H
6#define DOC_LISTER_INTERFACE_LISTER_H
7
8#include <iface/dirlister.h>
9
10#include <qstring.h>
11#include <qmap.h>
12
13class Config;
14class Doc_DirLister : public PDirLister {
15 Q_OBJECT
16public:
17 Doc_DirLister();
18 virtual ~Doc_DirLister(){}
19
20 QString defaultPath()const;
21 QString setStartPath( const QString& );
22 QString currentPath()const;
23 QStringList folders()const;
24 QStringList files()const;
25
26 void deleteImage( const QString& );
27 void thumbNail( const QString&, int, int );
28 QImage image( const QString&, Factor, int );
29 void imageInfo( const QString& );
30 void fullImageInfo( const QString& );
31 virtual QString nameToFname(const QString&name)const;
32
33private:
34 QMap<QString,QString> m_namemap,m_filemap;
35 QStringList m_out;
36protected slots:
37 virtual void slotFullInfo(const QString&, const QString&);
38 virtual void slotThumbInfo(const QString&, const QString&);
39 virtual void slotThumbNail(const QString&, const QPixmap&);
40};
41
42#endif
diff --git a/noncore/graphics/opie-eye/phunk_view.pro b/noncore/graphics/opie-eye/phunk_view.pro
index 57e69b6..0a57a0f 100644
--- a/noncore/graphics/opie-eye/phunk_view.pro
+++ b/noncore/graphics/opie-eye/phunk_view.pro
@@ -3,37 +3,41 @@ DESTDIR = $(OPIEDIR)/bin
3TEMPLATE = app 3TEMPLATE = app
4TARGET = opie-eye 4TARGET = opie-eye
5# the name of the resulting object 5# the name of the resulting object
6 6
7HEADERS = gui/iconview.h gui/filesystem.h gui/mainwindow.h \ 7HEADERS = gui/iconview.h gui/filesystem.h gui/mainwindow.h \
8 lib/imagecache.h impl/dir/dir_dirview.h \ 8 lib/imagecache.h impl/dir/dir_dirview.h \
9 iface/dirview.h iface/dirlister.h iface/ifaceinfo.h \ 9 iface/dirview.h iface/dirlister.h iface/ifaceinfo.h \
10 impl/dir/dir_lister.h impl/dir/dir_ifaceinfo.h \ 10 impl/dir/dir_lister.h impl/dir/dir_ifaceinfo.h \
11 lib/slavemaster.h \ 11 lib/slavemaster.h \
12 iface/slaveiface.h \ 12 iface/slaveiface.h \
13 gui/imageinfoui.h \ 13 gui/imageinfoui.h \
14 gui/imageview.h \ 14 gui/imageview.h \
15 gui/viewmodebutton.h 15 gui/viewmodebutton.h \
16 impl/doc/doc_lister.h impl/doc/doc_dirview.h \
17 impl/doc/doc_ifaceinfo.h
16 18
17# A list header files 19# A list header files
18 20
19 21
20SOURCES = gui/iconview.cpp gui/filesystem.cpp gui/mainwindow.cpp \ 22SOURCES = gui/iconview.cpp gui/filesystem.cpp gui/mainwindow.cpp \
21 lib/imagecache.cpp lib/viewmap.cpp \ 23 lib/imagecache.cpp lib/viewmap.cpp \
22 impl/dir/dir_dirview.cpp iface/dirlister.cpp \ 24 impl/dir/dir_dirview.cpp iface/dirlister.cpp \
23 iface/dirview.cpp impl/dir/dir_lister.cpp \ 25 iface/dirview.cpp impl/dir/dir_lister.cpp \
24 impl/dir/dir_ifaceinfo.cpp lib/slavemaster.cpp \ 26 impl/dir/dir_ifaceinfo.cpp lib/slavemaster.cpp \
25 gui/imageinfoui.cpp \ 27 gui/imageinfoui.cpp \
26 gui/imageview.cpp \ 28 gui/imageview.cpp \
27 gui/viewmodebutton.cpp 29 gui/viewmodebutton.cpp \
30 impl/doc/doc_lister.cpp impl/doc/doc_dirview.cpp \
31 impl/doc/doc_ifaceinfo.cpp
28# A list of source files 32# A list of source files
29 33
30INTERFACES = 34INTERFACES =
31# list of ui files 35# list of ui files
32 36
33INCLUDEPATH += . $(OPIEDIR)/include 37INCLUDEPATH += . $(OPIEDIR)/include
34DEPENDPATH += $(OPIEDIR)/include 38DEPENDPATH += $(OPIEDIR)/include
35 39
36 40
37 41
38LIBS += -lqpe -lopiecore2 -lopieui2 -lopiemm2 42LIBS += -lqpe -lopiecore2 -lopieui2 -lopiemm2
39 43