From 2add0a39efab1af658ab3515090b31fba30df0d5 Mon Sep 17 00:00:00 2001 From: alwin Date: Mon, 19 Apr 2004 11:39:36 +0000 Subject: last iconview mode will be saved and restored --- (limited to 'noncore/graphics/opie-eye/gui/iconview.cpp') 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 @@ -170,13 +170,14 @@ PIconView::PIconView( QWidget* wid, Opie::Core::OConfig* cfg ) 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(); @@ -565,19 +566,7 @@ 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(); } @@ -592,7 +581,21 @@ 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); @@ -600,14 +603,14 @@ void PIconView::calculateGrid() { 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; } -- cgit v0.9.0.2