kfileiconview.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KFILEICONVIEW_H
00022 #define KFILEICONVIEW_H
00023
00024 class KFileItem;
00025 class QWidget;
00026 class QLabel;
00027
00028 #include <kiconview.h>
00029 #include <kiconloader.h>
00030 #include <kfileview.h>
00031 #include <kmimetyperesolver.h>
00032 #include <kfile.h>
00033
00038 class KIO_EXPORT KFileIconViewItem : public KIconViewItem
00039 {
00040 public:
00041 KFileIconViewItem( QIconView *parent, const QString &text,
00042 const QPixmap &pixmap,
00043 KFileItem *fi )
00044 : KIconViewItem( parent, text, pixmap ), inf( fi ) {}
00048 KFileIconViewItem( QIconView *parent, KFileItem *fi )
00049 : KIconViewItem( parent ), inf( fi ) {}
00050
00051 virtual ~KFileIconViewItem();
00052
00056 KFileItem *fileInfo() const {
00057 return inf;
00058 }
00059
00060 private:
00061 KFileItem *inf;
00062
00063 private:
00064 class KFileIconViewItemPrivate;
00065 KFileIconViewItemPrivate *d;
00066
00067 };
00068
00069 namespace KIO {
00070 class Job;
00071 }
00072
00081 class KIO_EXPORT KFileIconView : public KIconView, public KFileView
00082 {
00083 Q_OBJECT
00084
00085 public:
00086 KFileIconView(QWidget *parent, const char *name);
00087 virtual ~KFileIconView();
00088
00089 virtual QWidget *widget() { return this; }
00090 virtual void clearView();
00091 virtual void setAutoUpdate( bool ) {}
00092
00093 virtual void updateView( bool );
00094 virtual void updateView(const KFileItem*);
00095 virtual void removeItem(const KFileItem*);
00096
00097 virtual void listingCompleted();
00098
00099 virtual void insertItem( KFileItem *i );
00100 virtual void setSelectionMode( KFile::SelectionMode sm );
00101
00102 virtual void setSelected(const KFileItem *, bool);
00103 virtual bool isSelected(const KFileItem *i) const;
00104 virtual void clearSelection();
00105 virtual void selectAll();
00106 virtual void invertSelection();
00107
00108 virtual void setCurrentItem( const KFileItem * );
00109 virtual KFileItem * currentFileItem() const;
00110 virtual KFileItem * firstFileItem() const;
00111 virtual KFileItem * nextItem( const KFileItem * ) const;
00112 virtual KFileItem * prevItem( const KFileItem * ) const;
00113
00117 void setIconSize( int size );
00118
00122 void setPreviewSize( int size );
00123
00127 int iconSize() const { return myIconSize; }
00128
00129 void ensureItemVisible( const KFileItem * );
00130
00131 virtual void setSorting(QDir::SortSpec sort);
00132
00133 virtual void readConfig( KConfig *, const QString& group = QString::null );
00134 virtual void writeConfig( KConfig *, const QString& group = QString::null);
00135
00136
00137 void mimeTypeDeterminationFinished();
00138 void determineIcon( KFileIconViewItem *item );
00139 QScrollView *scrollWidget() const { return (QScrollView*) this; }
00140 void setAcceptDrops(bool b)
00141 {
00142 KIconView::setAcceptDrops(b);
00143 viewport()->setAcceptDrops(b);
00144 }
00145
00146 public slots:
00151 void showPreviews();
00152
00153 void zoomIn();
00154
00155 void zoomOut();
00156
00161 virtual void arrangeItemsInGrid( bool updated = true );
00162
00163 protected:
00167 virtual void keyPressEvent( QKeyEvent * );
00168
00172 virtual void hideEvent( QHideEvent * );
00173
00174
00175 virtual void showEvent( QShowEvent * );
00176
00177 virtual bool eventFilter( QObject *o, QEvent *e );
00178
00179
00180 virtual QDragObject *dragObject();
00181 virtual void contentsDragEnterEvent( QDragEnterEvent *e );
00182 virtual void contentsDragMoveEvent( QDragMoveEvent *e );
00183 virtual void contentsDragLeaveEvent( QDragLeaveEvent *e );
00184 virtual void contentsDropEvent( QDropEvent *ev );
00185
00186
00187 bool acceptDrag(QDropEvent* e ) const;
00188
00189 private slots:
00190 void selected( QIconViewItem *item );
00191 void slotActivate( QIconViewItem * );
00192 void highlighted( QIconViewItem *item );
00193 void showToolTip( QIconViewItem *item );
00194 void removeToolTip();
00195 void slotActivateMenu( QIconViewItem *, const QPoint& );
00196 void slotSelectionChanged();
00197
00198 void slotSmallColumns();
00199 void slotLargeRows();
00200 void slotPreviewsToggled( bool );
00201
00202 void slotPreviewResult( KIO::Job * );
00203 void gotPreview( const KFileItem *item, const QPixmap& pix );
00204 void slotAutoOpen();
00205
00206 signals:
00213 void dropped(QDropEvent *event, KFileItem *fileItem);
00220 void dropped(QDropEvent *event, const KURL::List &urls, const KURL &url);
00221
00222 private:
00223 KMimeTypeResolver<KFileIconViewItem,KFileIconView> *m_resolver;
00224
00225 QLabel *toolTip;
00226 int th;
00227 int myIconSize;
00228
00229 virtual void insertItem(QIconViewItem *a, QIconViewItem *b) { KIconView::insertItem(a, b); }
00230 virtual void setSelectionMode(QIconView::SelectionMode m) { KIconView::setSelectionMode(m); }
00231 virtual void setSelected(QIconViewItem *i, bool a, bool b) { KIconView::setSelected(i, a, b); }
00232
00233 bool canPreview( const KFileItem * ) const;
00234 void stopPreview();
00235
00236 void updateIcons();
00237
00238 inline KFileIconViewItem * viewItem( const KFileItem *item ) const {
00239 if ( item )
00240 return (KFileIconViewItem *) item->extraData( this );
00241 return 0L;
00242 }
00243
00244 void initItem(KFileIconViewItem *item, const KFileItem *i,
00245 bool updateTextAndPixmap );
00246
00247 protected:
00248 virtual void virtual_hook( int id, void* data );
00249 private:
00250 class KFileIconViewPrivate;
00251 KFileIconViewPrivate *d;
00252 };
00253
00254 #endif // KFILESIMPLEVIEW_H
This file is part of the documentation for kio Library Version 3.3.90.