summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/gui/iconview.cpp
Side-by-side diff
Diffstat (limited to 'noncore/graphics/opie-eye/gui/iconview.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/iconview.cpp45
1 files changed, 24 insertions, 21 deletions
diff --git a/noncore/graphics/opie-eye/gui/iconview.cpp b/noncore/graphics/opie-eye/gui/iconview.cpp
index d546b64..660c4fa 100644
--- a/noncore/graphics/opie-eye/gui/iconview.cpp
+++ b/noncore/graphics/opie-eye/gui/iconview.cpp
@@ -167,19 +167,20 @@ PIconView::PIconView( QWidget* wid, Opie::Core::OConfig* cfg )
connect(m_view, SIGNAL(clicked(QIconViewItem*) ),
this, SLOT(slotClicked(QIconViewItem*)) );
connect(m_view, SIGNAL(returnPressed(QIconViewItem*)),
this, SLOT(slotClicked(QIconViewItem*)) );
m_view->setArrangement( QIconView::LeftToRight );
- m_view->setItemTextPos( QIconView::Right );
- int dw = QApplication::desktop()->width();
- int viewerWidth = dw-style().scrollBarExtent().width();
- m_view->setGridX( viewerWidth-3*m_view->spacing());
- m_view->setGridY( fontMetrics().height()*2+40 );
+ m_mode = cfg->readNumEntry("ListViewMode", 1);
+ if (m_mode < 1 || m_mode>3) m_mode = 1;
+
+ m_view->setItemTextPos( QIconView::Right );
+
+ calculateGrid();
initKeys();
loadViews();
slotViewChanged( m_views->currentItem() );
}
@@ -562,25 +563,13 @@ void PIconView::slotImageInfo( const QString& name) {
void PIconView::slotChangeMode( int mode ) {
if ( mode >= 1 && mode <= 3 )
m_mode = mode;
- QIconView::ItemTextPos pos;
- switch( m_mode ) {
- case 2:
- pos = QIconView::Bottom;
- break;
- case 3:
- case 1:
- default:
- pos = QIconView::Right;
- break;
- }
- m_view->setItemTextPos( pos );
-
+ m_cfg->writeEntry("ListViewMode", m_mode);
calculateGrid();
slotReloadDir();
}
void PIconView::resizeEvent( QResizeEvent* re ) {
@@ -589,26 +578,40 @@ void PIconView::resizeEvent( QResizeEvent* re ) {
}
void PIconView::calculateGrid() {
odebug << "Calc grid: x=" << m_view->gridX() << " y=" << m_view->gridY() << oendl;
odebug << "Size of view: " << m_view->size() << oendl;
+ int dw = QApplication::desktop()->width();
+ int viewerWidth = dw-style().scrollBarExtent().width();
+ QIconView::ItemTextPos pos;
+ switch( m_mode ) {
+ case 2:
+ pos = QIconView::Bottom;
+ break;
+ case 3:
+ case 1:
+ default:
+ pos = QIconView::Right;
+ break;
+ }
+ m_view->setItemTextPos( pos );
switch (m_mode) {
case 2:
m_view->setGridX(50);
m_view->setGridY(20);
PPixmapCache::self()->setMaxImages(40);
break;
case 3:
- m_view->setGridX(m_view->width());
+ m_view->setGridX( fontMetrics().width("testimage.jpg")+20);
m_view->setGridY(8);
PPixmapCache::self()->setMaxImages(2);
break;
case 1:
default:
- m_view->setGridX(m_view->width());
- m_view->setGridY(80);
+ m_view->setGridX( viewerWidth-3*m_view->spacing());
+ m_view->setGridY( fontMetrics().height()*2+40 );
PPixmapCache::self()->setMaxImages(20);
break;
}
}