summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/iconview.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/graphics/opie-eye/gui/iconview.cpp b/noncore/graphics/opie-eye/gui/iconview.cpp
index e61f9d9..5633312 100644
--- a/noncore/graphics/opie-eye/gui/iconview.cpp
+++ b/noncore/graphics/opie-eye/gui/iconview.cpp
@@ -1,503 +1,503 @@
1/* 1/*
2 * GPLv2 zecke@handhelds.org 2 * GPLv2 zecke@handhelds.org
3 * No WArranty... 3 * No WArranty...
4 */ 4 */
5 5
6#include "iconview.h" 6#include "iconview.h"
7 7
8#include <lib/imagecache.h> 8#include <lib/imagecache.h>
9#include <gui/imageinfoui.h> 9#include <gui/imageinfoui.h>
10#include <gui/imagescrollview.h>
11 10
12#include <iface/dirview.h> 11#include <iface/dirview.h>
13#include <iface/dirlister.h> 12#include <iface/dirlister.h>
14 13
15#include <opie2/oconfig.h> 14#include <opie2/oconfig.h>
16#include <opie2/okeyconfigwidget.h> 15#include <opie2/okeyconfigwidget.h>
17#include <opie2/odebug.h> 16#include <opie2/odebug.h>
17#include <opie2/oimagescrollview.h>
18 18
19#include <qpe/resource.h> 19#include <qpe/resource.h>
20#include <qpe/qpemessagebox.h> 20#include <qpe/qpemessagebox.h>
21#include <qpe/ir.h> 21#include <qpe/ir.h>
22#include <qpe/qcopenvelope_qws.h> 22#include <qpe/qcopenvelope_qws.h>
23#include <qpe/qpeapplication.h> 23#include <qpe/qpeapplication.h>
24 24
25#include <qiconview.h> 25#include <qiconview.h>
26#include <qlabel.h> 26#include <qlabel.h>
27#include <qhbox.h> 27#include <qhbox.h>
28#include <qcombobox.h> 28#include <qcombobox.h>
29#include <qdir.h> 29#include <qdir.h>
30#include <qapplication.h> 30#include <qapplication.h>
31#include <qmainwindow.h> 31#include <qmainwindow.h>
32#include <qtimer.h> 32#include <qtimer.h>
33#include <qstyle.h> 33#include <qstyle.h>
34 34
35 35
36using Opie::Core::OKeyConfigItem; 36using Opie::Core::OKeyConfigItem;
37 37
38/* 38/*
39 * The Icons, Request Cache and IconViewItem for the IconView 39 * The Icons, Request Cache and IconViewItem for the IconView
40 */ 40 */
41namespace { 41namespace {
42 static QPixmap* _dirPix = 0; 42 static QPixmap* _dirPix = 0;
43 static QPixmap* _unkPix = 0; 43 static QPixmap* _unkPix = 0;
44 static QPixmap* _picPix = 0; 44 static QPixmap* _picPix = 0;
45 class IconViewItem : public QIconViewItem { 45 class IconViewItem : public QIconViewItem {
46 public: 46 public:
47 IconViewItem( QIconView*, const QString& path, const QString& name, bool isDir = false); 47 IconViewItem( QIconView*, const QString& path, const QString& name, bool isDir = false);
48 QPixmap* pixmap()const; 48 QPixmap* pixmap()const;
49 QString path()const { return m_path; } 49 QString path()const { return m_path; }
50 bool isDir()const { return m_isDir; } 50 bool isDir()const { return m_isDir; }
51 void setText( const QString& ); 51 void setText( const QString& );
52 52
53 protected: 53 protected:
54 mutable QPixmap* m_pix; 54 mutable QPixmap* m_pix;
55 55
56 private: 56 private:
57 QString m_path; 57 QString m_path;
58 bool m_isDir : 1; 58 bool m_isDir : 1;
59 bool m_noInfo :1; 59 bool m_noInfo :1;
60 }; 60 };
61 class TextViewItem : public IconViewItem { 61 class TextViewItem : public IconViewItem {
62 TextViewItem( QIconView*, const QString& path, const QString& name, bool isDir = false ); 62 TextViewItem( QIconView*, const QString& path, const QString& name, bool isDir = false );
63 QPixmap *pixmap()const; 63 QPixmap *pixmap()const;
64 void setText( const QString& ); 64 void setText( const QString& );
65 }; 65 };
66 class ThumbViewItem : public IconViewItem { 66 class ThumbViewItem : public IconViewItem {
67 ThumbViewItem( QIconView*, const QString& path, const QString& name, bool isDir = false ); 67 ThumbViewItem( QIconView*, const QString& path, const QString& name, bool isDir = false );
68 QPixmap *pixmap()const; 68 QPixmap *pixmap()const;
69 void setText( const QString& ); 69 void setText( const QString& );
70 }; 70 };
71 71
72 72
73/* 73/*
74 * If we request an Image or String 74 * If we request an Image or String
75 * we add it to the map 75 * we add it to the map
76 */ 76 */
77 static QMap<QString, IconViewItem*> g_stringInf; 77 static QMap<QString, IconViewItem*> g_stringInf;
78 static QMap<QString, IconViewItem*> g_stringPix; 78 static QMap<QString, IconViewItem*> g_stringPix;
79 79
80 IconViewItem::IconViewItem( QIconView* view,const QString& path, 80 IconViewItem::IconViewItem( QIconView* view,const QString& path,
81 const QString& name, bool isDir ) 81 const QString& name, bool isDir )
82 : QIconViewItem( view, name ), m_path( path ), m_isDir( isDir ), 82 : QIconViewItem( view, name ), m_path( path ), m_isDir( isDir ),
83 m_noInfo( false ) 83 m_noInfo( false )
84 { 84 {
85 if ( isDir && !_dirPix ) 85 if ( isDir && !_dirPix )
86 _dirPix = new QPixmap( Resource::loadPixmap("advancedfm/FileBrowser")); 86 _dirPix = new QPixmap( Resource::loadPixmap("advancedfm/FileBrowser"));
87 else if ( !isDir && !_unkPix ) 87 else if ( !isDir && !_unkPix )
88 _unkPix = new QPixmap( Resource::loadPixmap( "UnknownDocument" ) ); 88 _unkPix = new QPixmap( Resource::loadPixmap( "UnknownDocument" ) );
89 } 89 }
90 inline QPixmap* IconViewItem::pixmap()const { 90 inline QPixmap* IconViewItem::pixmap()const {
91// qWarning( "Name is " + m_path.right( 15 ) + " rect is %d %d %d %d | %d %d", 91// qWarning( "Name is " + m_path.right( 15 ) + " rect is %d %d %d %d | %d %d",
92// rect().x(),rect().y(),rect().width(),rect().height(), 92// rect().x(),rect().y(),rect().width(),rect().height(),
93// iconView()->contentsX(), iconView()->contentsY()); 93// iconView()->contentsX(), iconView()->contentsY());
94 94
95 if ( m_isDir ) 95 if ( m_isDir )
96 return _dirPix; 96 return _dirPix;
97 else{ 97 else{
98 if (!m_noInfo && !g_stringInf.contains( m_path ) ) { 98 if (!m_noInfo && !g_stringInf.contains( m_path ) ) {
99 currentView()->dirLister()->imageInfo( m_path ); 99 currentView()->dirLister()->imageInfo( m_path );
100 g_stringInf.insert( m_path, const_cast<IconViewItem*>(this)); 100 g_stringInf.insert( m_path, const_cast<IconViewItem*>(this));
101 } 101 }
102 102
103 m_pix = PPixmapCache::self()->cachedImage( m_path, 64, 64 ); 103 m_pix = PPixmapCache::self()->cachedImage( m_path, 64, 64 );
104 if ( !m_pix && !g_stringPix.contains( m_path )) { 104 if ( !m_pix && !g_stringPix.contains( m_path )) {
105 currentView()->dirLister()->thumbNail( m_path, 64, 64 ); 105 currentView()->dirLister()->thumbNail( m_path, 64, 64 );
106 g_stringPix.insert( m_path, const_cast<IconViewItem*>(this)); 106 g_stringPix.insert( m_path, const_cast<IconViewItem*>(this));
107 } 107 }
108 return m_pix ? m_pix : _unkPix; 108 return m_pix ? m_pix : _unkPix;
109 } 109 }
110 } 110 }
111 inline void IconViewItem::setText( const QString& str ) { 111 inline void IconViewItem::setText( const QString& str ) {
112 QString text = QIconViewItem::text()+"\n"+str; 112 QString text = QIconViewItem::text()+"\n"+str;
113 m_noInfo = true; 113 m_noInfo = true;
114 QIconViewItem::setText( text ); 114 QIconViewItem::setText( text );
115 } 115 }
116} 116}
117 117
118 118
119/* 119/*
120 * Set up the GUI.. initialize the slave set up gui 120 * Set up the GUI.. initialize the slave set up gui
121 * and also load a dir 121 * and also load a dir
122 */ 122 */
123PIconView::PIconView( QWidget* wid, Opie::Core::OConfig* cfg ) 123PIconView::PIconView( QWidget* wid, Opie::Core::OConfig* cfg )
124 : QVBox( wid ), m_cfg( cfg ), m_updatet( false ) 124 : QVBox( wid ), m_cfg( cfg ), m_updatet( false )
125{ 125{
126 { 126 {
127 QCopEnvelope( "QPE/Application/opie-eye_slave", "refUp()" ); 127 QCopEnvelope( "QPE/Application/opie-eye_slave", "refUp()" );
128 } 128 }
129 m_path = QDir::homeDirPath(); 129 m_path = QDir::homeDirPath();
130 m_mode = 0; 130 m_mode = 0;
131 131
132 QHBox *hbox = new QHBox( this ); 132 QHBox *hbox = new QHBox( this );
133 QLabel* lbl = new QLabel( hbox ); 133 QLabel* lbl = new QLabel( hbox );
134 lbl->setText( tr("View as" ) ); 134 lbl->setText( tr("View as" ) );
135 135
136 m_views = new QComboBox( hbox, "View As" ); 136 m_views = new QComboBox( hbox, "View As" );
137 connect( m_views, SIGNAL(activated(int)), 137 connect( m_views, SIGNAL(activated(int)),
138 this, SLOT(slotViewChanged(int)) ); 138 this, SLOT(slotViewChanged(int)) );
139 139
140 m_view= new QIconView( this ); 140 m_view= new QIconView( this );
141 connect(m_view, SIGNAL(clicked(QIconViewItem*) ), 141 connect(m_view, SIGNAL(clicked(QIconViewItem*) ),
142 this, SLOT(slotClicked(QIconViewItem*)) ); 142 this, SLOT(slotClicked(QIconViewItem*)) );
143 connect(m_view, SIGNAL(returnPressed(QIconViewItem*)), 143 connect(m_view, SIGNAL(returnPressed(QIconViewItem*)),
144 this, SLOT(slotClicked(QIconViewItem*)) ); 144 this, SLOT(slotClicked(QIconViewItem*)) );
145 145
146 m_view->setArrangement( QIconView::LeftToRight ); 146 m_view->setArrangement( QIconView::LeftToRight );
147 m_view->setItemTextPos( QIconView::Right ); 147 m_view->setItemTextPos( QIconView::Right );
148 148
149 int dw = QApplication::desktop()->width(); 149 int dw = QApplication::desktop()->width();
150 int viewerWidth = dw-style().scrollBarExtent().width(); 150 int viewerWidth = dw-style().scrollBarExtent().width();
151 m_view->setGridX( viewerWidth-3*m_view->spacing()); 151 m_view->setGridX( viewerWidth-3*m_view->spacing());
152 m_view->setGridY( fontMetrics().height()*2+40 ); 152 m_view->setGridY( fontMetrics().height()*2+40 );
153 153
154 154
155 initKeys(); 155 initKeys();
156 156
157 loadViews(); 157 loadViews();
158 slotViewChanged( m_views->currentItem() ); 158 slotViewChanged( m_views->currentItem() );
159} 159}
160 160
161/* 161/*
162 * Unref the slave and save the keyboard manager 162 * Unref the slave and save the keyboard manager
163 */ 163 */
164PIconView::~PIconView() { 164PIconView::~PIconView() {
165 { 165 {
166 QCopEnvelope( "QPE/Application/opie-eye_slave", "refDown()" ); 166 QCopEnvelope( "QPE/Application/opie-eye_slave", "refDown()" );
167 } 167 }
168 m_viewManager->save(); 168 m_viewManager->save();
169 delete m_viewManager; 169 delete m_viewManager;
170} 170}
171 171
172Opie::Core::OKeyConfigManager* PIconView::manager() { 172Opie::Core::OKeyConfigManager* PIconView::manager() {
173 return m_viewManager; 173 return m_viewManager;
174} 174}
175 175
176 176
177/* 177/*
178 * init the KeyBoard Shortcuts 178 * init the KeyBoard Shortcuts
179 * called from the c'tor 179 * called from the c'tor
180 */ 180 */
181void PIconView::initKeys() { 181void PIconView::initKeys() {
182 Opie::Core::OKeyPair::List lst; 182 Opie::Core::OKeyPair::List lst;
183 lst.append( Opie::Core::OKeyPair::upArrowKey() ); 183 lst.append( Opie::Core::OKeyPair::upArrowKey() );
184 lst.append( Opie::Core::OKeyPair::downArrowKey() ); 184 lst.append( Opie::Core::OKeyPair::downArrowKey() );
185 lst.append( Opie::Core::OKeyPair::leftArrowKey() ); 185 lst.append( Opie::Core::OKeyPair::leftArrowKey() );
186 lst.append( Opie::Core::OKeyPair::rightArrowKey() ); 186 lst.append( Opie::Core::OKeyPair::rightArrowKey() );
187 lst.append( Opie::Core::OKeyPair::returnKey() ); 187 lst.append( Opie::Core::OKeyPair::returnKey() );
188 188
189 m_viewManager = new Opie::Core::OKeyConfigManager(m_cfg, "View-KeyBoard-Config", 189 m_viewManager = new Opie::Core::OKeyConfigManager(m_cfg, "View-KeyBoard-Config",
190 lst, false,this, "keyconfig name" ); 190 lst, false,this, "keyconfig name" );
191 m_viewManager->addKeyConfig( OKeyConfigItem(tr("Beam Current Item") , "beam", 191 m_viewManager->addKeyConfig( OKeyConfigItem(tr("Beam Current Item") , "beam",
192 Resource::loadPixmap("beam"), BeamItem, 192 Resource::loadPixmap("beam"), BeamItem,
193 Opie::Core::OKeyPair(Qt::Key_B, Qt::ShiftButton), 193 Opie::Core::OKeyPair(Qt::Key_B, Qt::ShiftButton),
194 this, SLOT(slotBeam())) ); 194 this, SLOT(slotBeam())) );
195 m_viewManager->addKeyConfig( OKeyConfigItem(tr("Delete Current Item"), "delete", 195 m_viewManager->addKeyConfig( OKeyConfigItem(tr("Delete Current Item"), "delete",
196 Resource::loadPixmap("trash"), DeleteItem, 196 Resource::loadPixmap("trash"), DeleteItem,
197 Opie::Core::OKeyPair(Qt::Key_D, Qt::ShiftButton), 197 Opie::Core::OKeyPair(Qt::Key_D, Qt::ShiftButton),
198 this, SLOT(slotTrash())) ); 198 this, SLOT(slotTrash())) );
199 m_viewManager->addKeyConfig( OKeyConfigItem(tr("View Current Item"), "view", 199 m_viewManager->addKeyConfig( OKeyConfigItem(tr("View Current Item"), "view",
200 Resource::loadPixmap("1to1"), ViewItem, 200 Resource::loadPixmap("1to1"), ViewItem,
201 Opie::Core::OKeyPair(Qt::Key_V, Qt::ShiftButton), 201 Opie::Core::OKeyPair(Qt::Key_V, Qt::ShiftButton),
202 this, SLOT(slotShowImage()))); 202 this, SLOT(slotShowImage())));
203 m_viewManager->addKeyConfig( OKeyConfigItem(tr("Show Image Info") , "info", 203 m_viewManager->addKeyConfig( OKeyConfigItem(tr("Show Image Info") , "info",
204 Resource::loadPixmap("DocumentTypeWord"), InfoItem, 204 Resource::loadPixmap("DocumentTypeWord"), InfoItem,
205 Opie::Core::OKeyPair(Qt::Key_I, Qt::ShiftButton ), 205 Opie::Core::OKeyPair(Qt::Key_I, Qt::ShiftButton ),
206 this, SLOT(slotImageInfo()) ) ); 206 this, SLOT(slotImageInfo()) ) );
207 m_viewManager->load(); 207 m_viewManager->load();
208 m_viewManager->handleWidget( m_view ); 208 m_viewManager->handleWidget( m_view );
209} 209}
210 210
211 211
212/* 212/*
213 * change one dir up 213 * change one dir up
214 */ 214 */
215void PIconView::slotDirUp() { 215void PIconView::slotDirUp() {
216 QDir dir( m_path ); 216 QDir dir( m_path );
217 dir.cdUp(); 217 dir.cdUp();
218 slotChangeDir( dir.absPath() ); 218 slotChangeDir( dir.absPath() );
219} 219}
220 220
221/* 221/*
222 * change the dir 222 * change the dir
223 */ 223 */
224void PIconView::slotChangeDir(const QString& path) { 224void PIconView::slotChangeDir(const QString& path) {
225 if ( !currentView() ) 225 if ( !currentView() )
226 return; 226 return;
227 227
228 PDirLister *lister = currentView()->dirLister(); 228 PDirLister *lister = currentView()->dirLister();
229 if (!lister ) 229 if (!lister )
230 return; 230 return;
231 231
232 /* 232 /*
233 * Say what we want and take what we get 233 * Say what we want and take what we get
234 */ 234 */
235 lister->setStartPath( path ); 235 lister->setStartPath( path );
236 m_path = lister->currentPath(); 236 m_path = lister->currentPath();
237 237
238 m_view->viewport()->setUpdatesEnabled( false ); 238 m_view->viewport()->setUpdatesEnabled( false );
239 m_view->clear(); 239 m_view->clear();
240 240
241 /* 241 /*
242 * add files and folders 242 * add files and folders
243 */ 243 */
244 addFolders( lister->folders() ); 244 addFolders( lister->folders() );
245 addFiles( lister->files() ); 245 addFiles( lister->files() );
246 m_view->viewport()->setUpdatesEnabled( true ); 246 m_view->viewport()->setUpdatesEnabled( true );
247 247
248 // Also invalidate the cache. We can't cancel the operations anyway 248 // Also invalidate the cache. We can't cancel the operations anyway
249 g_stringPix.clear(); 249 g_stringPix.clear();
250 g_stringInf.clear(); 250 g_stringInf.clear();
251 251
252 // looks ugly 252 // looks ugly
253 static_cast<QMainWindow*>(parent())->setCaption( QObject::tr("%1 - O View", "Name of the dir").arg( m_path ) ); 253 static_cast<QMainWindow*>(parent())->setCaption( QObject::tr("%1 - O View", "Name of the dir").arg( m_path ) );
254} 254}
255 255
256/** 256/**
257 * get the current file name 257 * get the current file name
258 * @param isDir see if this is a dir or real file 258 * @param isDir see if this is a dir or real file
259 */ 259 */
260QString PIconView::currentFileName(bool &isDir)const { 260QString PIconView::currentFileName(bool &isDir)const {
261 isDir = false; 261 isDir = false;
262 QIconViewItem* _it = m_view->currentItem(); 262 QIconViewItem* _it = m_view->currentItem();
263 if ( !_it ) 263 if ( !_it )
264 return QString::null; 264 return QString::null;
265 265
266 IconViewItem* it = static_cast<IconViewItem*>( _it ); 266 IconViewItem* it = static_cast<IconViewItem*>( _it );
267 isDir = it->isDir(); 267 isDir = it->isDir();
268 return it->path(); 268 return it->path();
269} 269}
270 270
271void PIconView::slotTrash() { 271void PIconView::slotTrash() {
272 bool isDir; 272 bool isDir;
273 QString pa = currentFileName( isDir ); 273 QString pa = currentFileName( isDir );
274 if ( isDir && pa.isEmpty() ) 274 if ( isDir && pa.isEmpty() )
275 return; 275 return;
276 276
277 if (!QPEMessageBox::confirmDelete( this, 277 if (!QPEMessageBox::confirmDelete( this,
278 tr("Delete Image" ), 278 tr("Delete Image" ),
279 tr("the Image %1" ).arg(pa))) 279 tr("the Image %1" ).arg(pa)))
280 return 280 return
281 281
282 282
283 currentView()->dirLister()->deleteImage( pa ); 283 currentView()->dirLister()->deleteImage( pa );
284 delete m_view->currentItem(); 284 delete m_view->currentItem();
285} 285}
286 286
287/* 287/*
288 * see what views are available 288 * see what views are available
289 */ 289 */
290void PIconView::loadViews() { 290void PIconView::loadViews() {
291 ViewMap::Iterator it; 291 ViewMap::Iterator it;
292 ViewMap* map = viewMap(); 292 ViewMap* map = viewMap();
293 for ( it = map->begin(); it != map->end(); ++it ) 293 for ( it = map->begin(); it != map->end(); ++it )
294 m_views->insertItem( QObject::tr(it.key() ) ); 294 m_views->insertItem( QObject::tr(it.key() ) );
295} 295}
296 296
297void PIconView::resetView() { 297void PIconView::resetView() {
298 slotViewChanged(m_views->currentItem()); 298 slotViewChanged(m_views->currentItem());
299} 299}
300 300
301/* 301/*
302 *swicth view reloadDir and connect signals 302 *swicth view reloadDir and connect signals
303 */ 303 */
304void PIconView::slotViewChanged( int i) { 304void PIconView::slotViewChanged( int i) {
305 if (!m_views->count() ) { 305 if (!m_views->count() ) {
306 setCurrentView( 0l); 306 setCurrentView( 0l);
307 return; 307 return;
308 } 308 }
309 309
310 PDirView* cur = currentView(); 310 PDirView* cur = currentView();
311 delete cur; 311 delete cur;
312 QString str = m_views->text(i); 312 QString str = m_views->text(i);
313 cur = (*(*viewMap())[str])(*m_cfg); 313 cur = (*(*viewMap())[str])(*m_cfg);
314 setCurrentView( cur ); 314 setCurrentView( cur );
315 315
316 /* connect to the signals of the lister */ 316 /* connect to the signals of the lister */
317 PDirLister* lis = cur->dirLister(); 317 PDirLister* lis = cur->dirLister();
318 connect(lis, SIGNAL(sig_thumbInfo(const QString&, const QString& )), 318 connect(lis, SIGNAL(sig_thumbInfo(const QString&, const QString& )),
319 this, SLOT( slotThumbInfo(const QString&, const QString&))); 319 this, SLOT( slotThumbInfo(const QString&, const QString&)));
320 connect(lis, SIGNAL( sig_thumbNail(const QString&, const QPixmap&)), 320 connect(lis, SIGNAL( sig_thumbNail(const QString&, const QPixmap&)),
321 this, SLOT(slotThumbNail(const QString&, const QPixmap&))); 321 this, SLOT(slotThumbNail(const QString&, const QPixmap&)));
322 connect(lis, SIGNAL(sig_start()), 322 connect(lis, SIGNAL(sig_start()),
323 this, SLOT(slotStart())); 323 this, SLOT(slotStart()));
324 connect(lis, SIGNAL(sig_end()) , 324 connect(lis, SIGNAL(sig_end()) ,
325 this, SLOT(slotEnd()) ); 325 this, SLOT(slotEnd()) );
326 326
327 327
328 /* reload now */ 328 /* reload now */
329 QTimer::singleShot( 0, this, SLOT(slotReloadDir())); 329 QTimer::singleShot( 0, this, SLOT(slotReloadDir()));
330} 330}
331 331
332 332
333void PIconView::slotReloadDir() { 333void PIconView::slotReloadDir() {
334 slotChangeDir( m_path ); 334 slotChangeDir( m_path );
335} 335}
336 336
337 337
338/* 338/*
339 * add files and folders 339 * add files and folders
340 */ 340 */
341void PIconView::addFolders( const QStringList& lst) { 341void PIconView::addFolders( const QStringList& lst) {
342 QStringList::ConstIterator it; 342 QStringList::ConstIterator it;
343 343
344 for(it=lst.begin(); it != lst.end(); ++it ) 344 for(it=lst.begin(); it != lst.end(); ++it )
345 (void)new IconViewItem( m_view, m_path+"/"+(*it), (*it), true ); 345 (void)new IconViewItem( m_view, m_path+"/"+(*it), (*it), true );
346 346
347 347
348} 348}
349 349
350void PIconView::addFiles( const QStringList& lst) { 350void PIconView::addFiles( const QStringList& lst) {
351 QStringList::ConstIterator it; 351 QStringList::ConstIterator it;
352 for (it=lst.begin(); it!= lst.end(); ++it ) 352 for (it=lst.begin(); it!= lst.end(); ++it )
353 (void)new IconViewItem( m_view, m_path+"/"+(*it), (*it) ); 353 (void)new IconViewItem( m_view, m_path+"/"+(*it), (*it) );
354 354
355} 355}
356 356
357/* 357/*
358 * user clicked on the item. Change dir or view 358 * user clicked on the item. Change dir or view
359 */ 359 */
360void PIconView::slotClicked(QIconViewItem* _it) { 360void PIconView::slotClicked(QIconViewItem* _it) {
361 if(!_it ) 361 if(!_it )
362 return; 362 return;
363 363
364 IconViewItem* it = static_cast<IconViewItem*>(_it); 364 IconViewItem* it = static_cast<IconViewItem*>(_it);
365 if( it->isDir() ) 365 if( it->isDir() )
366 slotChangeDir( it->path() ); 366 slotChangeDir( it->path() );
367 else // view image 367 else // view image
368 slotShowImage(); 368 slotShowImage();
369} 369}
370 370
371/* 371/*
372 * got thumb info add to the cache if items is visible 372 * got thumb info add to the cache if items is visible
373 * we later need update after processing of slave is done 373 * we later need update after processing of slave is done
374 */ 374 */
375void PIconView::slotThumbInfo( const QString& _path, const QString& str ) { 375void PIconView::slotThumbInfo( const QString& _path, const QString& str ) {
376 IconViewItem* item = g_stringInf[_path]; 376 IconViewItem* item = g_stringInf[_path];
377 if (!item ) 377 if (!item )
378 return; 378 return;
379 379
380 if ( item->intersects(QRect( m_view->contentsX(),m_view->contentsY(), 380 if ( item->intersects(QRect( m_view->contentsX(),m_view->contentsY(),
381 m_view->contentsWidth(), m_view->contentsHeight() ) ) ) 381 m_view->contentsWidth(), m_view->contentsHeight() ) ) )
382 m_updatet = true; 382 m_updatet = true;
383 383
384 item->setText( str ); 384 item->setText( str );
385 g_stringInf.remove( _path ); 385 g_stringInf.remove( _path );
386} 386}
387 387
388/* 388/*
389 * got thumbnail and see if it is visible so we need to update later 389 * got thumbnail and see if it is visible so we need to update later
390 */ 390 */
391void PIconView::slotThumbNail(const QString& _path, const QPixmap &pix) { 391void PIconView::slotThumbNail(const QString& _path, const QPixmap &pix) {
392 IconViewItem* item = g_stringPix[_path]; 392 IconViewItem* item = g_stringPix[_path];
393 if (!item ) 393 if (!item )
394 return; 394 return;
395 395
396 if ( item->intersects(QRect( m_view->contentsX(),m_view->contentsY(), 396 if ( item->intersects(QRect( m_view->contentsX(),m_view->contentsY(),
397 m_view->contentsWidth(), m_view->contentsHeight() ) ) ) 397 m_view->contentsWidth(), m_view->contentsHeight() ) ) )
398 m_updatet = true; 398 m_updatet = true;
399 399
400 if (pix.width()>0) 400 if (pix.width()>0)
401 PPixmapCache::self()->insertImage( _path, pix, 64, 64 ); 401 PPixmapCache::self()->insertImage( _path, pix, 64, 64 );
402 402
403 403
404 g_stringPix.remove( _path ); 404 g_stringPix.remove( _path );
405} 405}
406 406
407 407
408/* 408/*
409 * FIXME rename 409 * FIXME rename
410 */ 410 */
411void PIconView::slotRename() { 411void PIconView::slotRename() {
412 412
413} 413}
414 414
415 415
416/* 416/*
417 * BEAM the current file 417 * BEAM the current file
418 */ 418 */
419void PIconView::slotBeam() { 419void PIconView::slotBeam() {
420 bool isDir; 420 bool isDir;
421 QString pa = currentFileName( isDir ); 421 QString pa = currentFileName( isDir );
422 if ( isDir && pa.isEmpty() ) 422 if ( isDir && pa.isEmpty() )
423 return; 423 return;
424 424
425 Ir* ir = new Ir( this ); 425 Ir* ir = new Ir( this );
426 connect( ir, SIGNAL(done(Ir*)), 426 connect( ir, SIGNAL(done(Ir*)),
427 this, SLOT(slotBeamDone(Ir*))); 427 this, SLOT(slotBeamDone(Ir*)));
428 ir->send(pa, tr( "Image" ) ); 428 ir->send(pa, tr( "Image" ) );
429} 429}
430 430
431/* 431/*
432 * BEAM done clean up 432 * BEAM done clean up
433 */ 433 */
434void PIconView::slotBeamDone( Ir* ir) { 434void PIconView::slotBeamDone( Ir* ir) {
435 delete ir; 435 delete ir;
436} 436}
437 437
438void PIconView::slotStart() { 438void PIconView::slotStart() {
439 m_view->viewport()->setUpdatesEnabled( false ); 439 m_view->viewport()->setUpdatesEnabled( false );
440} 440}
441 441
442void PIconView::slotEnd() { 442void PIconView::slotEnd() {
443 if ( m_updatet ) 443 if ( m_updatet )
444 m_view->arrangeItemsInGrid( ); 444 m_view->arrangeItemsInGrid( );
445 m_view->viewport()->setUpdatesEnabled( true ); 445 m_view->viewport()->setUpdatesEnabled( true );
446 m_updatet = false; 446 m_updatet = false;
447} 447}
448 448
449void PIconView::slotShowImage() 449void PIconView::slotShowImage()
450{ 450{
451 bool isDir = false; 451 bool isDir = false;
452 QString name = currentFileName(isDir); 452 QString name = currentFileName(isDir);
453 if (isDir) return; 453 if (isDir) return;
454 454
455 slotShowImage( name ); 455 slotShowImage( name );
456} 456}
457void PIconView::slotShowImage( const QString& name) { 457void PIconView::slotShowImage( const QString& name) {
458 emit sig_display( name ); 458 emit sig_display( name );
459} 459}
460void PIconView::slotImageInfo() { 460void PIconView::slotImageInfo() {
461 bool isDir = false; 461 bool isDir = false;
462 QString name = currentFileName(isDir); 462 QString name = currentFileName(isDir);
463 if (isDir) return; 463 if (isDir) return;
464 464
465 slotImageInfo( name ); 465 slotImageInfo( name );
466} 466}
467 467
468void PIconView::slotImageInfo( const QString& name) { 468void PIconView::slotImageInfo( const QString& name) {
469 emit sig_showInfo( name ); 469 emit sig_showInfo( name );
470} 470}
471 471
472 472
473void PIconView::slotChangeMode( int mode ) { 473void PIconView::slotChangeMode( int mode ) {
474 if ( mode >= 1 && mode <= 3 ) 474 if ( mode >= 1 && mode <= 3 )
475 m_mode = mode; 475 m_mode = mode;
476 476
477 QIconView::ItemTextPos pos; 477 QIconView::ItemTextPos pos;
478 switch( m_mode ) { 478 switch( m_mode ) {
479 case 2: 479 case 2:
480 pos = QIconView::Bottom; 480 pos = QIconView::Bottom;
481 break; 481 break;
482 case 3: 482 case 3:
483 case 1: 483 case 1:
484 default: 484 default:
485 pos = QIconView::Right; 485 pos = QIconView::Right;
486 break; 486 break;
487 } 487 }
488 m_view->setItemTextPos( pos ); 488 m_view->setItemTextPos( pos );
489 489
490 calculateGrid(); 490 calculateGrid();
491 slotReloadDir(); 491 slotReloadDir();
492} 492}
493 493
494 494
495void PIconView::resizeEvent( QResizeEvent* re ) { 495void PIconView::resizeEvent( QResizeEvent* re ) {
496 QVBox::resizeEvent( re ); 496 QVBox::resizeEvent( re );
497 calculateGrid(); 497 calculateGrid();
498} 498}
499 499
500 500
501void PIconView::calculateGrid() { 501void PIconView::calculateGrid() {
502 502
503} 503}