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