Diffstat (limited to 'noncore/graphics/opie-eye/gui/iconview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/graphics/opie-eye/gui/iconview.cpp | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/noncore/graphics/opie-eye/gui/iconview.cpp b/noncore/graphics/opie-eye/gui/iconview.cpp index 2a49786..a06844a 100644 --- a/noncore/graphics/opie-eye/gui/iconview.cpp +++ b/noncore/graphics/opie-eye/gui/iconview.cpp @@ -32,39 +32,51 @@ #include <qtimer.h> #include <qstyle.h> using Opie::Core::OKeyConfigItem; /* * The Icons, Request Cache and IconViewItem for the IconView */ namespace { static QPixmap* _dirPix = 0; static QPixmap* _unkPix = 0; + static QPixmap* _picPix = 0; class IconViewItem : public QIconViewItem { public: IconViewItem( QIconView*, const QString& path, const QString& name, bool isDir = false); QPixmap* pixmap()const; QString path()const { return m_path; } bool isDir()const { return m_isDir; } void setText( const QString& ); + protected: + mutable QPixmap* m_pix; private: - mutable QPixmap* m_pix; QString m_path; bool m_isDir : 1; bool m_noInfo :1; }; + class TextViewItem : public IconViewItem { + TextViewItem( QIconView*, const QString& path, const QString& name, bool isDir = false ); + QPixmap *pixmap()const; + void setText( const QString& ); + }; + class ThumbViewItem : public IconViewItem { + ThumbViewItem( QIconView*, const QString& path, const QString& name, bool isDir = false ); + QPixmap *pixmap()const; + void setText( const QString& ); + }; /* * If we request an Image or String * we add it to the map */ static QMap<QString, IconViewItem*> g_stringInf; static QMap<QString, IconViewItem*> g_stringPix; IconViewItem::IconViewItem( QIconView* view,const QString& path, const QString& name, bool isDir ) : QIconViewItem( view, name ), m_path( path ), m_isDir( isDir ), @@ -106,24 +118,25 @@ namespace { /* * Set up the GUI.. initialize the slave set up gui * and also load a dir */ PIconView::PIconView( QWidget* wid, Opie::Core::OConfig* cfg ) : QVBox( wid ), m_cfg( cfg ), m_updatet( false ) { { QCopEnvelope( "QPE/Application/opie-eye_slave", "refUp()" ); } m_path = QDir::homeDirPath(); + m_mode = 0; QHBox *hbox = new QHBox( this ); QLabel* lbl = new QLabel( hbox ); lbl->setText( tr("View as" ) ); m_views = new QComboBox( hbox, "View As" ); connect( m_views, SIGNAL(activated(int)), this, SLOT(slotViewChanged(int)) ); m_view= new QIconView( this ); connect(m_view, SIGNAL(clicked(QIconViewItem*) ), this, SLOT(slotClicked(QIconViewItem*)) ); @@ -446,12 +459,33 @@ void PIconView::slotShowImage( const QString& name) { } void PIconView::slotImageInfo() { bool isDir = false; QString name = currentFileName(isDir); if (isDir) return; slotImageInfo( name ); } void PIconView::slotImageInfo( const QString& name) { emit sig_showInfo( name ); } + + +void PIconView::slotChangeMode( int mode ) { + if ( mode >= 0 && mode <= 3 ) + m_mode = mode; + + QIconView::ItemTextPos pos; + switch( m_mode ) { + case 1: + pos = QIconView::Bottom; + break; + case 2: + case 0: + default: + pos = QIconView::Right; + break; + } + m_view->setItemTextPos( pos ); + + slotReloadDir(); +} |