• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • libkonq
 

libkonq

  • libkonq
tdefileivi.cpp
1 /* This file is part of the KDE project
2  Copyright (C) 1999, 2000, 2001, 2002 David Faure <faure@kde.org>
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Library General Public
6  License as published by the Free Software Foundation; either
7  version 2 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Library General Public License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to
16  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  Boston, MA 02110-1301, USA.
18 */
19 
20 #include "tdefileivi.h"
21 #include "kivdirectoryoverlay.h"
22 #include "kivfreespaceoverlay.h"
23 #include "konq_iconviewwidget.h"
24 #include "konq_operations.h"
25 #include "konq_settings.h"
26 
27 #include <tqpainter.h>
28 
29 #include <kurldrag.h>
30 #include <kiconeffect.h>
31 #include <tdefileitem.h>
32 #include <kdebug.h>
33 #include <krun.h>
34 #include <kservice.h>
35 #include <kmimetype.h> // for KDEDesktopMimeType
36 #include <kstandarddirs.h>
37 
38 #undef Bool
39 
43 struct KFileIVI::Private
44 {
45  TQIconSet icons; // Icon states (cached to prevent re-applying icon effects
46  // every time)
47  TQPixmap thumb; // Raw unprocessed thumbnail
48  TQString m_animatedIcon; // Name of animation
49  bool m_animated; // Animation currently running ?
50  KIVDirectoryOverlay* m_directoryOverlay;
51  KIVFreeSpaceOverlay* m_freeSpaceOverlay;
52  TQPixmap m_overlay;
53  TQString m_overlayName;
54  int m_progress;
55 };
56 
57 KFileIVI::KFileIVI( KonqIconViewWidget *iconview, KFileItem* fileitem, int size )
58  : TDEIconViewItem( iconview, fileitem->text() ),
59  m_size( size ), m_state( TDEIcon::DefaultState ),
60  m_bDisabled( false ), m_bThumbnail( false ), m_fileitem( fileitem )
61 {
62  d = new KFileIVI::Private;
63 
64  updatePixmapSize();
65  setPixmap( m_fileitem->pixmap( m_size, m_state ) );
66  setDropEnabled( S_ISDIR( m_fileitem->mode() ) );
67 
68  // Cache entry for the icon effects
69  d->icons.reset( *pixmap(), TQIconSet::Large );
70  d->m_animated = false;
71 
72  // iconName() requires the mimetype to be known
73  if ( fileitem->isMimeTypeKnown() )
74  {
75  TQString icon = fileitem->iconName();
76  if ( !icon.isEmpty() )
77  setMouseOverAnimation( icon );
78  else
79  setMouseOverAnimation( "unknown" );
80  }
81  d->m_progress = -1;
82  d->m_directoryOverlay = 0;
83  d->m_freeSpaceOverlay = 0;
84 }
85 
86 KFileIVI::~KFileIVI()
87 {
88  delete d->m_directoryOverlay;
89  delete d->m_freeSpaceOverlay;
90  delete d;
91 }
92 
93 void KFileIVI::invalidateThumb( int state, bool redraw )
94 {
95  TQIconSet::Mode mode;
96  switch( state )
97  {
98  case TDEIcon::DisabledState:
99  mode = TQIconSet::Disabled;
100  break;
101  case TDEIcon::ActiveState:
102  mode = TQIconSet::Active;
103  break;
104  case TDEIcon::DefaultState:
105  default:
106  mode = TQIconSet::Normal;
107  break;
108  }
109  d->icons = TQIconSet();
110  d->icons.setPixmap( TDEGlobal::iconLoader()->iconEffect()->
111  apply( d->thumb, TDEIcon::Desktop, state ),
112  TQIconSet::Large, mode );
113  m_state = state;
114 
115  TQIconViewItem::setPixmap( d->icons.pixmap( TQIconSet::Large, mode ),
116  false, redraw );
117 }
118 
119 void KFileIVI::setIcon( int size, int state, bool recalc, bool redraw )
120 {
121  m_size = size;
122  m_bThumbnail = false;
123  if ( m_bDisabled )
124  m_state = TDEIcon::DisabledState;
125  else
126  m_state = state;
127 
128  if ( d->m_overlayName.isNull() )
129  d->m_overlay = TQPixmap();
130  else {
131  int halfSize;
132  if (m_size == 0) {
133  halfSize = IconSize(TDEIcon::Desktop) / 2;
134  } else {
135  halfSize = m_size / 2;
136  }
137  d->m_overlay = DesktopIcon(d->m_overlayName, halfSize);
138  }
139 
140  setPixmapDirect(m_fileitem->pixmap( m_size, m_state ) , recalc, redraw );
141 }
142 
143 void KFileIVI::setOverlay( const TQString& iconName )
144 {
145  d->m_overlayName = iconName;
146 
147  refreshIcon(true);
148 }
149 
150 void KFileIVI::setOverlayProgressBar( const int progress )
151 {
152  d->m_progress = progress;
153 
154  refreshIcon(true);
155 }
156 
157 KIVDirectoryOverlay* KFileIVI::setShowDirectoryOverlay( bool show )
158 {
159  if ( !m_fileitem->isDir() || m_fileitem->iconName() != "folder" )
160  return 0;
161 
162  if (show) {
163  if (!d->m_directoryOverlay)
164  d->m_directoryOverlay = new KIVDirectoryOverlay(this);
165  return d->m_directoryOverlay;
166  } else {
167  delete d->m_directoryOverlay;
168  d->m_directoryOverlay = 0;
169  setOverlay(TQString());
170  return 0;
171  }
172 }
173 
174 bool KFileIVI::showDirectoryOverlay( )
175 {
176  return (bool)d->m_directoryOverlay;
177 }
178 
179 KIVFreeSpaceOverlay* KFileIVI::setShowFreeSpaceOverlay( bool show )
180 {
181  if ( !m_fileitem->mimetype().startsWith("media/") ) {
182  return 0;
183  }
184 
185  if (show) {
186  if (!d->m_freeSpaceOverlay)
187  d->m_freeSpaceOverlay = new KIVFreeSpaceOverlay(this);
188  return d->m_freeSpaceOverlay;
189  } else {
190  delete d->m_freeSpaceOverlay;
191  d->m_freeSpaceOverlay = 0;
192  setOverlayProgressBar(-1);
193  return 0;
194  }
195 }
196 
197 bool KFileIVI::showFreeSpaceOverlay( )
198 {
199  return (bool)d->m_freeSpaceOverlay;
200 }
201 
202 void KFileIVI::setPixmapDirect( const TQPixmap& pixmap, bool recalc, bool redraw )
203 {
204  TQIconSet::Mode mode;
205  switch( m_state )
206  {
207  case TDEIcon::DisabledState:
208  mode = TQIconSet::Disabled;
209  break;
210  case TDEIcon::ActiveState:
211  mode = TQIconSet::Active;
212  break;
213  case TDEIcon::DefaultState:
214  default:
215  mode = TQIconSet::Normal;
216  break;
217  }
218 
219  // We cannot just reset() the iconset here, because setIcon can be
220  // called with any state and not just normal state. So we just
221  // create a dummy empty iconset as base object.
222  d->icons = TQIconSet();
223  d->icons.setPixmap( pixmap, TQIconSet::Large, mode );
224 
225  updatePixmapSize();
226  TQIconViewItem::setPixmap( d->icons.pixmap( TQIconSet::Large, mode ),
227  recalc, redraw );
228 }
229 
230 void KFileIVI::setDisabled( bool disabled )
231 {
232  if ( m_bDisabled != disabled )
233  {
234  m_bDisabled = disabled;
235  bool active = ( m_state == TDEIcon::ActiveState );
236  setEffect( m_bDisabled ? TDEIcon::DisabledState :
237  ( active ? TDEIcon::ActiveState : TDEIcon::DefaultState ) );
238  }
239 }
240 
241 void KFileIVI::setThumbnailPixmap( const TQPixmap & pixmap )
242 {
243  m_bThumbnail = true;
244  d->thumb = pixmap;
245  // TQIconSet::reset() doesn't seem to clear the other generated pixmaps,
246  // so we just create a blank TQIconSet here
247  d->icons = TQIconSet();
248  d->icons.setPixmap( TDEGlobal::iconLoader()->iconEffect()->
249  apply( pixmap, TDEIcon::Desktop, TDEIcon::DefaultState ),
250  TQIconSet::Large, TQIconSet::Normal );
251 
252  m_state = TDEIcon::DefaultState;
253 
254  // Recalc when setting this pixmap!
255  updatePixmapSize();
256  TQIconViewItem::setPixmap( d->icons.pixmap( TQIconSet::Large,
257  TQIconSet::Normal ), true );
258 }
259 
260 void KFileIVI::setActive( bool active )
261 {
262  if ( active )
263  setEffect( TDEIcon::ActiveState );
264  else
265  setEffect( m_bDisabled ? TDEIcon::DisabledState : TDEIcon::DefaultState );
266 }
267 
268 void KFileIVI::setEffect( int state )
269 {
270  TQIconSet::Mode mode;
271  switch( state )
272  {
273  case TDEIcon::DisabledState:
274  mode = TQIconSet::Disabled;
275  break;
276  case TDEIcon::ActiveState:
277  mode = TQIconSet::Active;
278  break;
279  case TDEIcon::DefaultState:
280  default:
281  mode = TQIconSet::Normal;
282  break;
283  }
284  // Do not update if the fingerprint is identical (prevents flicker)!
285 
286  TDEIconEffect *effect = TDEGlobal::iconLoader()->iconEffect();
287 
288  bool haveEffect = effect->hasEffect( TDEIcon::Desktop, m_state ) !=
289  effect->hasEffect( TDEIcon::Desktop, state );
290 
291  //kdDebug(1203) << "desktop;defaultstate=" <<
292  // effect->fingerprint(TDEIcon::Desktop, TDEIcon::DefaultState) <<
293  // endl;
294  //kdDebug(1203) << "desktop;activestate=" <<
295  // effect->fingerprint(TDEIcon::Desktop, TDEIcon::ActiveState) <<
296  // endl;
297 
298  if( haveEffect &&
299  effect->fingerprint( TDEIcon::Desktop, m_state ) !=
300  effect->fingerprint( TDEIcon::Desktop, state ) )
301  {
302  // Effects on are not applied until they are first accessed to
303  // save memory. Do this now when needed
304  if( m_bThumbnail )
305  {
306  if( d->icons.isGenerated( TQIconSet::Large, mode ) )
307  d->icons.setPixmap( effect->apply( d->thumb, TDEIcon::Desktop, state ),
308  TQIconSet::Large, mode );
309  }
310  else
311  {
312  if( d->icons.isGenerated( TQIconSet::Large, mode ) )
313  d->icons.setPixmap( m_fileitem->pixmap( m_size, state ),
314  TQIconSet::Large, mode );
315  }
316  TQIconViewItem::setPixmap( d->icons.pixmap( TQIconSet::Large, mode ) );
317  }
318  m_state = state;
319 }
320 
321 void KFileIVI::refreshIcon( bool redraw )
322 {
323  if (!isThumbnail()) {
324  setIcon( m_size, m_state, true, redraw );
325  }
326 }
327 
328 void KFileIVI::invalidateThumbnail()
329 {
330  d->thumb = TQPixmap();
331 }
332 
333 bool KFileIVI::isThumbnailInvalid() const
334 {
335  return d->thumb.isNull();
336 }
337 
338 bool KFileIVI::acceptDrop( const TQMimeSource *mime ) const
339 {
340  if ( mime->provides( "text/uri-list" ) ) // We're dragging URLs
341  {
342  if ( m_fileitem->acceptsDrops() ) // Directory, executables, ...
343  return true;
344 
345  // Use cache
346  KURL::List uris = ( static_cast<KonqIconViewWidget*>(iconView()) )->dragURLs();
347 
348  // Check if we want to drop something on itself
349  // (Nothing will happen, but it's a convenient way to move icons)
350  KURL::List::Iterator it = uris.begin();
351  for ( ; it != uris.end() ; it++ )
352  {
353  if ( m_fileitem->url().equals( *it, true /*ignore trailing slashes*/ ) )
354  return true;
355  }
356  }
357  return TQIconViewItem::acceptDrop( mime );
358 }
359 
360 void KFileIVI::setKey( const TQString &key )
361 {
362  TQString theKey = key;
363 
364  TQVariant sortDirProp = iconView()->property( "sortDirectoriesFirst" );
365 
366  bool isdir = ( S_ISDIR( m_fileitem->mode() ) && ( !sortDirProp.isValid() || ( sortDirProp.type() == TQVariant::Bool && sortDirProp.toBool() ) ) );
367 
368  // The order is: .dir (0), dir (1), .file (2), file (3)
369  int sortChar = isdir ? 1 : 3;
370  if ( m_fileitem->text()[0] == '.' )
371  --sortChar;
372 
373  if ( !iconView()->sortDirection() ) // reverse sorting
374  sortChar = 3 - sortChar;
375 
376  theKey.prepend( TQChar( sortChar + '0' ) );
377 
378  TQIconViewItem::setKey( theKey );
379 }
380 
381 void KFileIVI::dropped( TQDropEvent *e, const TQValueList<TQIconDragItem> & )
382 {
383  KonqOperations::doDrop( item(), item()->url(), e, iconView() );
384 }
385 
386 void KFileIVI::returnPressed()
387 {
388  if ( static_cast<KonqIconViewWidget*>(iconView())->isDesktop() ) {
389  KURL url = m_fileitem->url();
390  if (url.protocol() == "media") {
391  TQString mimetype = m_fileitem->mimetype();
392  TQString lockingAction = TQString::null;
393  if (mimetype.contains("encrypted_locked")) {
394  lockingAction = "konqueror/servicemenus/media_unlock.desktop";
395  }
396  else if (mimetype.contains("encrypted_unlocked")) {
397  lockingAction = "konqueror/servicemenus/media_lock.desktop";
398  }
399  if (!lockingAction.isEmpty()) {
400  TQString lockingService = TDEGlobal::dirs()->findResource("data", lockingAction);
401  if (!lockingService.isEmpty()) {
402  TQValueList<KDEDesktopMimeType::Service> serviceList = KDEDesktopMimeType::userDefinedServices(lockingService, m_fileitem->isLocalFile());
403  if (serviceList.count() == 1) {
404  KURL::List m_lstURLs;
405  m_lstURLs.append(m_fileitem->url());
406  KDEDesktopMimeType::executeService(m_lstURLs, serviceList[0]);
407  }
408  }
409  }
410  else {
411  (void) new KRun( url, m_fileitem->mode(), m_fileitem->isLocalFile() );
412  }
413  }
414  else {
415  // When clicking on a link to e.g. $HOME from the desktop, we want to open $HOME
416  // Symlink resolution must only happen on the desktop though (#63014)
417  if ( m_fileitem->isLink() && url.isLocalFile() ) {
418  url = KURL( url, m_fileitem->linkDest() );
419  }
420 
421  (void) new KRun( url, m_fileitem->mode(), m_fileitem->isLocalFile() );
422  }
423  }
424  else {
425  m_fileitem->run();
426  }
427 }
428 
429 
430 void KFileIVI::paintItem( TQPainter *p, const TQColorGroup &c )
431 {
432  TQColorGroup cg = updateColors(c);
433  paintFontUpdate( p );
434 
435  //*** TEMPORARY CODE - MUST BE MADE CONFIGURABLE FIRST - Martijn
436  // SET UNDERLINE ON HOVER ONLY
437  /*if ( ( ( KonqIconViewWidget* ) iconView() )->m_pActiveItem == this )
438  {
439  TQFont f( p->font() );
440  f.setUnderline( TRUE );
441  p->setFont( f );
442  }*/
443 
444  TDEIconViewItem::paintItem( p, cg );
445  paintOverlay(p);
446  paintOverlayProgressBar(p);
447 
448 }
449 
450 void KFileIVI::paintOverlay( TQPainter *p ) const
451 {
452  if ( !d->m_overlay.isNull() ) {
453  TQRect rect = pixmapRect(true);
454  p->drawPixmap(x() + rect.x() , y() + pixmapRect().height() - d->m_overlay.height(), d->m_overlay);
455  }
456 }
457 
458 void KFileIVI::paintOverlayProgressBar( TQPainter *p ) const
459 {
460  if (d->m_progress != -1) {
461 // // Pie chart
462 // TQRect rect = pixmapRect(true);
463 // rect.setX(x() + rect.x());
464 // rect.setY(y() + rect.y() + ((pixmapRect().height()*3)/4));
465 // rect.setWidth(pixmapRect().width()/4);
466 // rect.setHeight(pixmapRect().height()/4);
467 //
468 // p->save();
469 //
470 // p->setPen(TQPen::NoPen);
471 // p->setBrush(TQt::red);
472 // p->drawEllipse(rect);
473 // p->setBrush(TQt::green);
474 // p->drawPie(rect, 1440, (((100-d->m_progress)*5760)/100));
475 
476 // // Horizontal progress bar
477 // TQRect rect = pixmapRect(true);
478 // int verticalOffset = 0;
479 // int usedBarWidth = ((d->m_progress*pixmapRect().width())/100);
480 // int endPosition = x() + rect.x() + usedBarWidth;
481 //
482 // p->save();
483 //
484 // p->setPen(TQPen::NoPen);
485 // p->setBrush(TQt::red);
486 // p->drawRect(TQRect(x() + rect.x(), y() + rect.y() + (pixmapRect().height() - verticalOffset), usedBarWidth, 1));
487 // p->setBrush(TQt::green);
488 // p->drawRect(TQRect(endPosition, y() + rect.y() + (pixmapRect().height() - verticalOffset), pixmapRect().width() - usedBarWidth, 1));
489 
490  // Vertical progress bar
491  TQRect rect = pixmapRect(true);
492  int horizontalOffset = 0;
493  int usedBarHeight = (((100-d->m_progress)*pixmapRect().height())/100);
494  int endPosition = y() + rect.y() + usedBarHeight;
495 
496  p->save();
497 
498  p->setPen(TQPen::NoPen);
499  p->setBrush(TQt::green);
500  p->drawRect(TQRect(x() + rect.x() + (pixmapRect().width() - horizontalOffset), y() + rect.y(), 1, usedBarHeight));
501  p->setBrush(TQt::red);
502  p->drawRect(TQRect(x() + rect.x() + (pixmapRect().width() - horizontalOffset), endPosition, 1, pixmapRect().height() - usedBarHeight));
503 
504  p->restore();
505  }
506 }
507 
508 void KFileIVI::paintFontUpdate( TQPainter *p ) const
509 {
510  if ( m_fileitem->isLink() )
511  {
512  TQFont f( p->font() );
513  f.setItalic( TRUE );
514  p->setFont( f );
515  }
516 }
517 
518 TQColorGroup KFileIVI::updateColors( const TQColorGroup &c ) const
519 {
520  TQColorGroup cg( c );
521  cg.setColor( TQColorGroup::Text, static_cast<KonqIconViewWidget*>(iconView())->itemColor() );
522  return cg;
523 }
524 
525 bool KFileIVI::move( int x, int y )
526 {
527  if ( static_cast<KonqIconViewWidget*>(iconView())->isDesktop() ) {
528  if ( x < 5 )
529  x = 5;
530  if ( x > iconView()->viewport()->width() - ( width() + 5 ) )
531  x = iconView()->viewport()->width() - ( width() + 5 );
532  if ( y < 5 )
533  y = 5;
534  if ( y > iconView()->viewport()->height() - ( height() + 5 ) )
535  y = iconView()->viewport()->height() - ( height() + 5 );
536  }
537  return TQIconViewItem::move( x, y );
538 }
539 
540 bool KFileIVI::hasAnimation() const
541 {
542  return !d->m_animatedIcon.isEmpty() && !m_bThumbnail;
543 }
544 
545 void KFileIVI::setMouseOverAnimation( const TQString& movieFileName )
546 {
547  if ( !movieFileName.isEmpty() )
548  {
549  //kdDebug(1203) << "TDEIconViewItem::setMouseOverAnimation " << movieFileName << endl;
550  d->m_animatedIcon = movieFileName;
551  }
552 }
553 
554 TQString KFileIVI::mouseOverAnimation() const
555 {
556  return d->m_animatedIcon;
557 }
558 
559 bool KFileIVI::isAnimated() const
560 {
561  return d->m_animated;
562 }
563 
564 void KFileIVI::setAnimated( bool a )
565 {
566  d->m_animated = a;
567 }
568 
569 int KFileIVI::compare( TQIconViewItem *i ) const
570 {
571  KonqIconViewWidget* view = static_cast<KonqIconViewWidget*>(iconView());
572  if ( view->caseInsensitiveSort() )
573  return key().localeAwareCompare( i->key() );
574  else
575  return view->m_pSettings->caseSensitiveCompare( key(), i->key() );
576 }
577 
578 void KFileIVI::updatePixmapSize()
579 {
580  int size = m_size ? m_size :
581  TDEGlobal::iconLoader()->currentSize( TDEIcon::Desktop );
582 
583  KonqIconViewWidget* view = static_cast<KonqIconViewWidget*>( iconView() );
584 
585  bool mimeDetermined = false;
586  if ( m_fileitem->isMimeTypeKnown() ) {
587  mimeDetermined = true;
588  }
589 
590  if (mimeDetermined) {
591  bool changed = false;
592  if ( view && view->canPreview( item() ) ) {
593  int previewSize = view->previewIconSize( size );
594  if (previewSize != size) {
595  setPixmapSize( TQSize( previewSize, previewSize ) );
596  changed = true;
597  }
598  }
599  else {
600  TQSize pixSize = TQSize( size, size );
601  if ( pixSize != pixmapSize() ) {
602  setPixmapSize( pixSize );
603  changed = true;
604  }
605  }
606  if (changed) {
607  view->adjustItems();
608  }
609  }
610  else {
611  TQSize pixSize = TQSize( size, size );
612  if ( pixSize != pixmapSize() ) {
613  setPixmapSize( pixSize );
614  }
615  }
616 }
617 
618 void KFileIVI::mimeTypeAndIconDetermined()
619 {
620  updatePixmapSize();
621 }
KFileIVI::returnPressed
virtual void returnPressed()
Handler for return (or single/double click) on ONE icon.
Definition: tdefileivi.cpp:386
KFileIVI::setIcon
virtual void setIcon(int size, int state=TDEIcon::DefaultState, bool recalc=false, bool redraw=false)
Changes the icon for this item.
Definition: tdefileivi.cpp:119
KFileIVI::setEffect
void setEffect(int state)
Set the icon to use the specified TDEIconEffect See the docs for TDEIconEffect for details.
Definition: tdefileivi.cpp:268
KFileIVI::invalidateThumb
void invalidateThumb(int state, bool redraw=false)
Notifies that all icon effects on thumbs should be invalidated, e.g.
Definition: tdefileivi.cpp:93
KFileIVI::setShowDirectoryOverlay
KIVDirectoryOverlay * setShowDirectoryOverlay(bool)
Sets showing of directory overlays.
Definition: tdefileivi.cpp:157
KFileIVI::KFileIVI
KFileIVI(KonqIconViewWidget *iconview, KFileItem *fileitem, int size)
Create an icon, within a qlistview, representing a file.
Definition: tdefileivi.cpp:57
KFileIVI::paintFontUpdate
void paintFontUpdate(TQPainter *p) const
Contains the logic and code for painting links.
Definition: tdefileivi.cpp:508
KFileIVI::setOverlayProgressBar
void setOverlayProgressBar(const int progress)
Sets a progress bar to be shown on the right side of the icon.
Definition: tdefileivi.cpp:150
KFileIVI::updateColors
TQColorGroup updateColors(const TQColorGroup &c) const
Updates the colorgroup.
Definition: tdefileivi.cpp:518
KFileIVI::invalidateThumbnail
void invalidateThumbnail()
Our current thumbnail is not longer "current".
Definition: tdefileivi.cpp:328
KFileIVI::state
int state() const
Return the current state of the icon (TDEIcon::DefaultState, TDEIcon::ActiveState etc....
Definition: tdefileivi.h:114
KFileIVI::setOverlay
void setOverlay(const TQString &iconName)
Sets an icon to be shown over the bottom left corner of the icon.
Definition: tdefileivi.cpp:143
KFileIVI::setActive
void setActive(bool active)
Called when the mouse is over the icon.
Definition: tdefileivi.cpp:260
KFileIVI::acceptDrop
virtual bool acceptDrop(const TQMimeSource *mime) const
Definition: tdefileivi.cpp:338
KFileIVI::refreshIcon
virtual void refreshIcon(bool redraw)
Redetermines the icon (useful if KFileItem might return another icon).
Definition: tdefileivi.cpp:321
KFileIVI::setThumbnailPixmap
void setThumbnailPixmap(const TQPixmap &pixmap)
Set this when the thumbnail was loaded.
Definition: tdefileivi.cpp:241
KFileIVI::isAnimated
bool isAnimated() const
Return true if we are currently animating this icon.
Definition: tdefileivi.cpp:559
KFileIVI::setMouseOverAnimation
void setMouseOverAnimation(const TQString &movieFileName)
Enable an animation on mouseover, if there is an available mng.
Definition: tdefileivi.cpp:545
KFileIVI::setDisabled
void setDisabled(bool disabled)
Set to true when this icon is 'cut'.
Definition: tdefileivi.cpp:230
KFileIVI::isThumbnail
bool isThumbnail() const
Definition: tdefileivi.h:140
KFileIVI::hasAnimation
bool hasAnimation() const
Return true if the icon might have an animation available.
Definition: tdefileivi.cpp:540
KFileIVI::setShowFreeSpaceOverlay
KIVFreeSpaceOverlay * setShowFreeSpaceOverlay(bool)
Sets showing of free space overlays.
Definition: tdefileivi.cpp:179
KFileIVI::item
KFileItem * item() const
Definition: tdefileivi.h:60
KFileIVI::setPixmapDirect
void setPixmapDirect(const TQPixmap &pixmap, bool recalc=false, bool redraw=false)
Bypass setIcon.
Definition: tdefileivi.cpp:202
KFileIVI::paintOverlayProgressBar
void paintOverlayProgressBar(TQPainter *p) const
Contains the logic and code for painting the overlay progress bar.
Definition: tdefileivi.cpp:458
KFileIVI::paintItem
virtual void paintItem(TQPainter *p, const TQColorGroup &cg)
Paints this item.
Definition: tdefileivi.cpp:430
KFileIVI::paintOverlay
void paintOverlay(TQPainter *p) const
Contains the logic and code for painting the overlay pixmap.
Definition: tdefileivi.cpp:450
KonqIconViewWidget
A file-aware icon view, implementing drag'n'drop, KDE icon sizes, user settings, animated icons....
Definition: konq_iconviewwidget.h:43
KonqOperations::doDrop
static void doDrop(const KFileItem *destItem, const KURL &destURL, TQDropEvent *ev, TQWidget *parent)
Drop.
Definition: konq_operations.cpp:315

libkonq

Skip menu "libkonq"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

libkonq

Skip menu "libkonq"
  • kate
  • libkonq
  • twin
  •   lib
Generated for libkonq by doxygen 1.9.1
This website is maintained by Timothy Pearson.