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 | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/noncore/graphics/opie-eye/gui/iconview.cpp b/noncore/graphics/opie-eye/gui/iconview.cpp index b2443e8..59091a8 100644 --- a/noncore/graphics/opie-eye/gui/iconview.cpp +++ b/noncore/graphics/opie-eye/gui/iconview.cpp | |||
@@ -27,24 +27,28 @@ | |||
27 | #include <qlabel.h> | 27 | #include <qlabel.h> |
28 | #include <qhbox.h> | 28 | #include <qhbox.h> |
29 | #include <qcombobox.h> | 29 | #include <qcombobox.h> |
30 | #include <qdir.h> | 30 | #include <qdir.h> |
31 | #include <qapplication.h> | 31 | #include <qapplication.h> |
32 | #include <qmainwindow.h> | 32 | #include <qmainwindow.h> |
33 | #include <qtimer.h> | 33 | #include <qtimer.h> |
34 | #include <qstyle.h> | 34 | #include <qstyle.h> |
35 | 35 | ||
36 | 36 | ||
37 | using Opie::Core::OKeyConfigItem; | 37 | using Opie::Core::OKeyConfigItem; |
38 | 38 | ||
39 | const int PIconView::sMAX_ICON_SIZE = 128; | ||
40 | const int PIconView::sMIN_ICON_SIZE = 12; | ||
41 | const int PIconView::sDEF_ICON_SIZE = 64; | ||
42 | |||
39 | /* | 43 | /* |
40 | * The Icons, Request Cache and IconViewItem for the IconView | 44 | * The Icons, Request Cache and IconViewItem for the IconView |
41 | */ | 45 | */ |
42 | namespace { | 46 | namespace { |
43 | static QPixmap* _dirPix = 0; | 47 | static QPixmap* _dirPix = 0; |
44 | static QPixmap* _unkPix = 0; | 48 | static QPixmap* _unkPix = 0; |
45 | static QPixmap* _cpyPix = 0; | 49 | static QPixmap* _cpyPix = 0; |
46 | static QPixmap* _emptyPix = 0; | 50 | static QPixmap* _emptyPix = 0; |
47 | class IconViewItem : public QIconViewItem { | 51 | class IconViewItem : public QIconViewItem { |
48 | public: | 52 | public: |
49 | IconViewItem( QIconView*, const QString& path, const QString& name,int a_iconsize, bool isDir = false); | 53 | IconViewItem( QIconView*, const QString& path, const QString& name,int a_iconsize, bool isDir = false); |
50 | QPixmap* pixmap()const; | 54 | QPixmap* pixmap()const; |
@@ -213,26 +217,26 @@ PIconView::PIconView( QWidget* wid, Opie::Core::OConfig* cfg ) | |||
213 | 217 | ||
214 | m_view->setArrangement( QIconView::LeftToRight ); | 218 | m_view->setArrangement( QIconView::LeftToRight ); |
215 | 219 | ||
216 | m_mode = m_cfg->readNumEntry("ListViewMode", 1); | 220 | m_mode = m_cfg->readNumEntry("ListViewMode", 1); |
217 | if (m_mode < 1 || m_mode>3) m_mode = 1; | 221 | if (m_mode < 1 || m_mode>3) m_mode = 1; |
218 | m_view->setItemTextPos( QIconView::Right ); | 222 | m_view->setItemTextPos( QIconView::Right ); |
219 | if (m_mode >1) { | 223 | if (m_mode >1) { |
220 | m_view->setResizeMode(QIconView::Adjust); | 224 | m_view->setResizeMode(QIconView::Adjust); |
221 | } else { | 225 | } else { |
222 | m_view->setResizeMode(QIconView::Fixed); | 226 | m_view->setResizeMode(QIconView::Fixed); |
223 | } | 227 | } |
224 | m_iconsize = m_cfg->readNumEntry("iconsize", 32); | 228 | m_iconsize = m_cfg->readNumEntry("iconsize", 32); |
225 | if (m_iconsize<12)m_iconsize = 12; | 229 | if (m_iconsize<sMIN_ICON_SIZE)m_iconsize = sMIN_ICON_SIZE; |
226 | if (m_iconsize>64)m_iconsize = 64; | 230 | if (m_iconsize>sMAX_ICON_SIZE)m_iconsize = sMAX_ICON_SIZE; |
227 | 231 | ||
228 | calculateGrid(); | 232 | calculateGrid(); |
229 | initKeys(); | 233 | initKeys(); |
230 | loadViews(); | 234 | loadViews(); |
231 | } | 235 | } |
232 | 236 | ||
233 | void PIconView::setDoccalled(bool how) | 237 | void PIconView::setDoccalled(bool how) |
234 | { | 238 | { |
235 | m_setDocCalled = how; | 239 | m_setDocCalled = how; |
236 | } | 240 | } |
237 | 241 | ||
238 | /* | 242 | /* |
@@ -399,39 +403,39 @@ void PIconView::loadViews() { | |||
399 | for ( it = map->begin(); it != map->end(); ++it ) | 403 | for ( it = map->begin(); it != map->end(); ++it ) |
400 | m_views->insertItem( it.key() ); | 404 | m_views->insertItem( it.key() ); |
401 | } | 405 | } |
402 | 406 | ||
403 | void PIconView::resetView() { | 407 | void PIconView::resetView() { |
404 | m_internalReset = true; | 408 | m_internalReset = true; |
405 | // Also invalidate the cache. We can't cancel the operations anyway | 409 | // Also invalidate the cache. We can't cancel the operations anyway |
406 | g_stringPix.clear(); | 410 | g_stringPix.clear(); |
407 | g_stringInf.clear(); | 411 | g_stringInf.clear(); |
408 | if (m_mode>1) { | 412 | if (m_mode>1) { |
409 | int osize = m_iconsize; | 413 | int osize = m_iconsize; |
410 | m_iconsize = m_cfg->readNumEntry("iconsize", 32); | 414 | m_iconsize = m_cfg->readNumEntry("iconsize", 32); |
411 | if (m_iconsize<12)m_iconsize = 12; | 415 | if (m_iconsize<sMIN_ICON_SIZE)m_iconsize = sMIN_ICON_SIZE; |
412 | if (m_iconsize>64)m_iconsize = 64; | 416 | if (m_iconsize>sMAX_ICON_SIZE)m_iconsize = sMAX_ICON_SIZE; |
413 | if (osize != m_iconsize) { | 417 | if (osize != m_iconsize) { |
414 | if (_dirPix){ | 418 | if (_dirPix){ |
415 | delete _dirPix; | 419 | delete _dirPix; |
416 | _dirPix = 0; | 420 | _dirPix = 0; |
417 | } | 421 | } |
418 | if (_cpyPix){ | 422 | if (_cpyPix){ |
419 | delete _cpyPix; | 423 | delete _cpyPix; |
420 | _cpyPix = 0; | 424 | _cpyPix = 0; |
421 | } | 425 | } |
422 | calculateGrid(); | 426 | calculateGrid(); |
423 | } | 427 | } |
424 | } else { | 428 | } else { |
425 | m_iconsize = 64; | 429 | m_iconsize = sDEF_ICON_SIZE; |
426 | } | 430 | } |
427 | slotViewChanged(m_views->currentItem()); | 431 | slotViewChanged(m_views->currentItem()); |
428 | m_internalReset = false; | 432 | m_internalReset = false; |
429 | } | 433 | } |
430 | 434 | ||
431 | void PIconView::polish() | 435 | void PIconView::polish() |
432 | { | 436 | { |
433 | QVBox::polish(); | 437 | QVBox::polish(); |
434 | 438 | ||
435 | QString lastView = m_cfg->readEntry("LastView",""); | 439 | QString lastView = m_cfg->readEntry("LastView",""); |
436 | int cc=0; | 440 | int cc=0; |
437 | for (; cc<m_views->count();++cc) { | 441 | for (; cc<m_views->count();++cc) { |
@@ -824,29 +828,29 @@ void PIconView::slotImageInfo( const QString& name) { | |||
824 | void PIconView::slotChangeMode( int mode ) { | 828 | void PIconView::slotChangeMode( int mode ) { |
825 | if ( mode >= 1 && mode <= 3 ) { | 829 | if ( mode >= 1 && mode <= 3 ) { |
826 | m_mode = mode; | 830 | m_mode = mode; |
827 | m_cfg->writeEntry("ListViewMode", m_mode); | 831 | m_cfg->writeEntry("ListViewMode", m_mode); |
828 | /* performance! */ | 832 | /* performance! */ |
829 | m_view->clear(); | 833 | m_view->clear(); |
830 | if (m_mode >1) { | 834 | if (m_mode >1) { |
831 | m_view->setResizeMode(QIconView::Adjust); | 835 | m_view->setResizeMode(QIconView::Adjust); |
832 | } else { | 836 | } else { |
833 | m_view->setResizeMode(QIconView::Fixed); | 837 | m_view->setResizeMode(QIconView::Fixed); |
834 | } | 838 | } |
835 | if (m_mode==1) { | 839 | if (m_mode==1) { |
836 | m_iconsize = 64; | 840 | m_iconsize = sDEF_ICON_SIZE; |
837 | } else { | 841 | } else { |
838 | m_iconsize = m_cfg->readNumEntry("iconsize", 32); | 842 | m_iconsize = m_cfg->readNumEntry("iconsize", 32); |
839 | if (m_iconsize<12)m_iconsize = 12; | 843 | if (m_iconsize<sMIN_ICON_SIZE)m_iconsize = sMIN_ICON_SIZE; |
840 | if (m_iconsize>64)m_iconsize = 64; | 844 | if (m_iconsize>sMAX_ICON_SIZE)m_iconsize = sMAX_ICON_SIZE; |
841 | } | 845 | } |
842 | if (_dirPix){ | 846 | if (_dirPix){ |
843 | delete _dirPix; | 847 | delete _dirPix; |
844 | _dirPix = 0; | 848 | _dirPix = 0; |
845 | } | 849 | } |
846 | if (_cpyPix){ | 850 | if (_cpyPix){ |
847 | delete _cpyPix; | 851 | delete _cpyPix; |
848 | _cpyPix = 0; | 852 | _cpyPix = 0; |
849 | } | 853 | } |
850 | calculateGrid(); | 854 | calculateGrid(); |
851 | slotReloadDir(); | 855 | slotReloadDir(); |
852 | } | 856 | } |
@@ -879,25 +883,25 @@ void PIconView::calculateGrid(QResizeEvent* re) | |||
879 | case 1: | 883 | case 1: |
880 | default: | 884 | default: |
881 | pos = QIconView::Right; | 885 | pos = QIconView::Right; |
882 | break; | 886 | break; |
883 | } | 887 | } |
884 | int cache = 0; | 888 | int cache = 0; |
885 | m_view->setItemTextPos( pos ); | 889 | m_view->setItemTextPos( pos ); |
886 | switch (m_mode) { | 890 | switch (m_mode) { |
887 | case 2: | 891 | case 2: |
888 | m_view->setSpacing(2); | 892 | m_view->setSpacing(2); |
889 | m_view->setGridX(m_iconsize); | 893 | m_view->setGridX(m_iconsize); |
890 | m_view->setGridY(-1); | 894 | m_view->setGridY(-1); |
891 | cache = (int)((double)64/(double)m_iconsize*40.0); | 895 | cache = (int)((double)sDEF_ICON_SIZE/(double)m_iconsize*80.0); |
892 | odebug << "cache size: " << cache << oendl; | 896 | odebug << "cache size: " << cache << oendl; |
893 | PPixmapCache::self()->setMaxImages(cache); | 897 | PPixmapCache::self()->setMaxImages(cache); |
894 | break; | 898 | break; |
895 | case 3: | 899 | case 3: |
896 | m_view->setSpacing(10); | 900 | m_view->setSpacing(10); |
897 | m_view->setGridX( fontMetrics().width("testimage.jpg")+20); | 901 | m_view->setGridX( fontMetrics().width("testimage.jpg")+20); |
898 | m_view->setGridY(8); | 902 | m_view->setGridY(8); |
899 | PPixmapCache::self()->setMaxImages(2); | 903 | PPixmapCache::self()->setMaxImages(2); |
900 | break; | 904 | break; |
901 | case 1: | 905 | case 1: |
902 | default: | 906 | default: |
903 | m_view->setSpacing(10); | 907 | m_view->setSpacing(10); |