konq_iconviewwidget.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __konq_iconviewwidget_h__
00021 #define __konq_iconviewwidget_h__
00022
00023 #include <kiconloader.h>
00024 #include <kiconview.h>
00025 #include <kurl.h>
00026 #include <qguardedptr.h>
00027 #include <kfileitem.h>
00028 #include <kio/jobclasses.h>
00029 #include <libkonq_export.h>
00030
00031 class KonqFMSettings;
00032 class KFileIVI;
00033 class KonqIconDrag;
00034 namespace KIO { class Job; }
00035
00042 class LIBKONQ_EXPORT KonqIconViewWidget : public KIconView
00043 {
00044 Q_OBJECT
00045 Q_PROPERTY( bool sortDirectoriesFirst READ sortDirectoriesFirst WRITE setSortDirectoriesFirst )
00046 Q_PROPERTY( QRect iconArea READ iconArea WRITE setIconArea )
00047 Q_PROPERTY( int lineupMode READ lineupMode WRITE setLineupMode )
00048 Q_PROPERTY( QString url READ urlString WRITE setNewURL )
00049
00050 friend class KFileIVI;
00051
00052 public:
00053
00054 enum LineupMode { LineupHorizontal=1, LineupVertical, LineupBoth };
00055
00060 KonqIconViewWidget( QWidget *parent = 0L, const char *name = 0L, WFlags f = 0, bool kdesktop = FALSE );
00061 virtual ~KonqIconViewWidget();
00062
00071 bool initConfig( bool bInit );
00072
00078 void setIconArea( const QRect &rect );
00079
00083 virtual void focusOutEvent( QFocusEvent * );
00084
00088 QRect iconArea() const;
00089
00094 void setLineupMode(int mode);
00095
00099 int lineupMode() const;
00100
00106 void lineupIcons();
00107
00113 void lineupIcons( QIconView::Arrangement arrangement );
00114
00124 void setIcons( int size, const QStringList& stopImagePreviewFor = QStringList() );
00125
00129 void refreshMimeTypes();
00130
00131 int iconSize() { return m_size; }
00132
00133 void calculateGridX();
00138 int gridXValue() const;
00139
00151 void gridValues( int* x, int* y, int* dx, int* dy, int* nx, int* ny );
00152
00159 void startImagePreview( const QStringList &ignored, bool force );
00160 void stopImagePreview();
00161 bool isPreviewRunning() const;
00162
00163 void setThumbnailPixmap( KFileIVI * item, const QPixmap & pixmap );
00164 void disableSoundPreviews();
00165
00166 void setURL ( const KURL & kurl );
00167
00168 const KURL & url() { return m_url; }
00169 QString urlString() const { return m_url.url(); }
00170 void setRootItem ( const KFileItem * item ) { m_rootItem = item; }
00171
00175 KFileItemList selectedFileItems();
00176
00177 void setItemColor( const QColor &c );
00178 QColor itemColor() const;
00179
00180 virtual void cutSelection();
00181 virtual void copySelection();
00182 virtual void pasteSelection();
00183 virtual KURL::List selectedUrls();
00184 void paste( const KURL &url );
00185
00186 bool sortDirectoriesFirst() const;
00187 void setSortDirectoriesFirst( bool b );
00188
00189 void setCaseInsensitiveSort( bool b );
00190 bool caseInsensitiveSort() const;
00191
00195 const KURL::List & dragURLs() { return m_lstDragURLs; }
00196
00200 virtual void clear();
00201
00205 virtual void takeItem( QIconViewItem *item );
00206
00210 virtual void insertInGrid( QIconViewItem *item );
00211
00215 virtual void setItemTextPos( ItemTextPos pos );
00216
00220 virtual void visualActivate(QIconViewItem *);
00221
00222 bool isDesktop() const { return m_bDesktop; }
00223
00227 virtual void setWallpaper(const KURL&) { }
00228
00229 bool maySetWallpaper();
00230 void setMaySetWallpaper(bool b);
00231
00232 void disableIcons( const KURL::List & lst );
00233
00234 QString iconPositionGroupPrefix() const { return m_iconPositionGroupPrefix; }
00235 QString dotDirectoryPath() const { return m_dotDirectoryPath; }
00236
00237 void setPreviewSettings(const QStringList& mimeTypes);
00238 const QStringList& previewSettings();
00239 void setNewURL( const QString& url );
00240
00241 public slots:
00245 virtual void slotSelectionChanged();
00246
00247 void slotSaveIconPositions();
00248
00249 void renameSelectedItem();
00250 void renameCurrentItem();
00251
00252 void slotToolTipPreview( const KFileItem *, const QPixmap & );
00253 void slotToolTipPreviewResult();
00254 signals:
00258 void enableAction( const char * name, bool enabled );
00259
00260 void dropped();
00261 void imagePreviewFinished();
00262
00263 void incIconSize();
00264 void decIconSize();
00265
00269 void dragEntered();
00270 void dragLeft();
00275 void dragFinished();
00276
00277 protected slots:
00278 virtual void slotDropped( QDropEvent *e, const QValueList<QIconDragItem> & );
00279
00280 void slotItemRenamed(QIconViewItem *item, const QString &name);
00281
00282 void slotIconChanged(int);
00283 void slotOnItem(QIconViewItem *);
00284 void slotOnViewport();
00285 void slotStartSoundPreview();
00286 void slotPreview(const KFileItem *, const QPixmap &);
00287 void slotPreviewResult();
00288 void slotStartTooltip();
00289
00290 void slotMovieUpdate( const QRect& rect );
00291 void slotMovieStatus( int status );
00292 void slotReenableAnimation();
00293
00294 void slotAboutToCreate(const QPoint &pos, const QValueList<KIO::CopyInfo> &files);
00295 void doubleClickTimeout();
00296
00297 protected:
00298 virtual QDragObject *dragObject();
00299 KonqIconDrag *konqDragObject( QWidget * dragSource = 0L );
00300 bool mimeTypeMatch( const QString& mimeType, const QStringList& mimeList ) const;
00301
00302 virtual void drawBackground( QPainter *p, const QRect &r );
00308 virtual void drawBackground( QPainter *p, const QRect &r,
00309 const QPoint &pt );
00310 virtual void contentsDragEnterEvent( QDragEnterEvent *e );
00311 virtual void contentsDragLeaveEvent( QDragLeaveEvent *e );
00312 virtual void contentsDropEvent( QDropEvent *e );
00313 virtual void contentsMousePressEvent( QMouseEvent *e );
00314 virtual void contentsMouseReleaseEvent ( QMouseEvent * e );
00315 virtual void contentsMouseMoveEvent( QMouseEvent *e );
00316 virtual void backgroundPixmapChange( const QPixmap & );
00317 virtual void wheelEvent( QWheelEvent* );
00318 void readAnimatedIconsConfig();
00319 void mousePressChangeValue();
00320
00321 bool boostPreview() const;
00322 int previewIconSize( int size ) const;
00323 int largestPreviewIconSize( int size ) const;
00324 bool canPreview( KFileItem* item );
00325 void updatePreviewMimeTypes();
00326
00327 private:
00328 KURL m_url;
00329 const KFileItem * m_rootItem;
00330
00331 KURL::List m_lstDragURLs;
00332
00333 int m_size;
00334
00336 KonqFMSettings * m_pSettings;
00337
00338 bool m_bMousePressed;
00339 QPoint m_mousePos;
00340
00341 QColor iColor;
00342
00343 bool m_bSortDirsFirst;
00344
00345 QString m_iconPositionGroupPrefix;
00346 QString m_dotDirectoryPath;
00347
00348 int m_LineupMode;
00349 QRect m_IconRect;
00350
00351 bool m_bDesktop;
00352 bool m_bSetGridX;
00353
00354 private:
00355 struct KonqIconViewWidgetPrivate *d;
00356
00357 };
00358
00359 #endif
This file is part of the documentation for libkonq Library Version 3.3.90.