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
00030 class KonqFMSettings;
00031 class KFileIVI;
00032 class KonqIconDrag;
00033 namespace KIO { class Job; }
00034
00041 class KonqIconViewWidget : public KIconView
00042 {
00043 Q_OBJECT
00044 Q_PROPERTY( bool sortDirectoriesFirst READ sortDirectoriesFirst WRITE setSortDirectoriesFirst )
00045 Q_PROPERTY( QRect iconArea READ iconArea WRITE setIconArea )
00046 Q_PROPERTY( int lineupMode READ lineupMode WRITE setLineupMode )
00047 Q_PROPERTY( QString url READ urlString WRITE setNewURL )
00048
00049 friend class KFileIVI;
00050
00051 public:
00052
00053 enum LineupMode { LineupHorizontal=1, LineupVertical, LineupBoth };
00054
00059 KonqIconViewWidget( QWidget *parent = 0L, const char *name = 0L, WFlags f = 0, bool kdesktop = FALSE );
00060 virtual ~KonqIconViewWidget();
00061
00070 bool initConfig( bool bInit );
00071
00077 void setIconArea( const QRect &rect );
00078
00082 virtual void focusOutEvent( QFocusEvent * );
00083
00087 QRect iconArea() const;
00088
00093 void setLineupMode(int mode);
00094
00098 int lineupMode() const;
00099
00105 void lineupIcons();
00106
00112 void lineupIcons( QIconView::Arrangement arrangement );
00113
00123 void setIcons( int size, const QStringList& stopImagePreviewFor = QStringList() );
00124
00128 void refreshMimeTypes();
00129
00130 int iconSize() { return m_size; }
00131
00132 void calculateGridX();
00137 int gridXValue() const;
00138
00150 void gridValues( int* x, int* y, int* dx, int* dy, int* nx, int* ny );
00151
00158 void startImagePreview( const QStringList &ignored, bool force );
00159 void stopImagePreview();
00160 bool isPreviewRunning() const;
00161
00162 void setThumbnailPixmap( KFileIVI * item, const QPixmap & pixmap );
00163 void disableSoundPreviews();
00164
00165 void setURL ( const KURL & kurl );
00166
00167 const KURL & url() { return m_url; }
00168 QString urlString() const { return m_url.url(); }
00169 void setRootItem ( const KFileItem * item ) { m_rootItem = item; }
00170
00174 KFileItemList selectedFileItems();
00175
00176 void setItemColor( const QColor &c );
00177 QColor itemColor() const;
00178
00179 virtual void cutSelection();
00180 virtual void copySelection();
00181 virtual void pasteSelection();
00182 virtual KURL::List selectedUrls();
00183 void paste( const KURL &url );
00184
00185 bool sortDirectoriesFirst() const;
00186 void setSortDirectoriesFirst( bool b );
00187
00188 void setCaseInsensitiveSort( bool b );
00189 bool caseInsensitiveSort() const;
00190
00194 const KURL::List & dragURLs() { return m_lstDragURLs; }
00195
00199 virtual void clear();
00200
00204 virtual void takeItem( QIconViewItem *item );
00205
00209 virtual void insertInGrid( QIconViewItem *item );
00210
00214 virtual void setItemTextPos( ItemTextPos pos );
00215
00219 virtual void visualActivate(QIconViewItem *);
00220
00221 bool isDesktop() const { return m_bDesktop; }
00222
00226 virtual void setWallpaper(const KURL&) { }
00227
00228 bool maySetWallpaper();
00229 void setMaySetWallpaper(bool b);
00230
00231 void disableIcons( const KURL::List & lst );
00232
00233 QString iconPositionGroupPrefix() const { return m_iconPositionGroupPrefix; }
00234 QString dotDirectoryPath() const { return m_dotDirectoryPath; }
00235
00236 void setPreviewSettings(const QStringList& mimeTypes);
00237 const QStringList& previewSettings();
00238 void setNewURL( const QString& url );
00239
00240 public slots:
00244 virtual void slotSelectionChanged();
00245
00246 void slotSaveIconPositions();
00247
00248 void renameSelectedItem();
00249 void renameCurrentItem();
00250
00251 void slotToolTipPreview( const KFileItem *, const QPixmap & );
00252 void slotToolTipPreviewResult();
00253 signals:
00257 void enableAction( const char * name, bool enabled );
00258
00259 void dropped();
00260 void imagePreviewFinished();
00261
00262 void incIconSize();
00263 void decIconSize();
00264
00268 void dragEntered();
00269 void dragLeft();
00274 void dragFinished();
00275
00276 protected slots:
00277 virtual void slotDropped( QDropEvent *e, const QValueList<QIconDragItem> & );
00278
00279 void slotItemRenamed(QIconViewItem *item, const QString &name);
00280
00281 void slotIconChanged(int);
00282 void slotOnItem(QIconViewItem *);
00283 void slotOnViewport();
00284 void slotStartSoundPreview();
00285 void slotPreview(const KFileItem *, const QPixmap &);
00286 void slotPreviewResult();
00287 void slotStartTooltip();
00288
00289 void slotMovieUpdate( const QRect& rect );
00290 void slotMovieStatus( int status );
00291 void slotReenableAnimation();
00292
00293 void slotAboutToCreate(const QPoint &pos, const QValueList<KIO::CopyInfo> &files);
00294 void doubleClickTimeout();
00295
00296 protected:
00297 virtual QDragObject *dragObject();
00298 KonqIconDrag *konqDragObject( QWidget * dragSource = 0L );
00299 bool mimeTypeMatch( const QString& mimeType, const QStringList& mimeList ) const;
00300
00301 virtual void drawBackground( QPainter *p, const QRect &r );
00307 virtual void drawBackground( QPainter *p, const QRect &r,
00308 const QPoint &pt );
00309 virtual void contentsDragEnterEvent( QDragEnterEvent *e );
00310 virtual void contentsDragLeaveEvent( QDragLeaveEvent *e );
00311 virtual void contentsDropEvent( QDropEvent *e );
00312 virtual void contentsMousePressEvent( QMouseEvent *e );
00313 virtual void contentsMouseReleaseEvent ( QMouseEvent * e );
00314 virtual void contentsMouseMoveEvent( QMouseEvent *e );
00315 virtual void backgroundPixmapChange( const QPixmap & );
00316 virtual void wheelEvent( QWheelEvent* );
00317 void readAnimatedIconsConfig();
00318 void mousePressChangeValue();
00319
00320 bool boostPreview() const;
00321 int previewIconSize( int size ) const;
00322 int largestPreviewIconSize( int size ) const;
00323 bool canPreview( KFileItem* item );
00324 void updatePreviewMimeTypes();
00325
00326 private:
00327 KURL m_url;
00328 const KFileItem * m_rootItem;
00329
00330 KURL::List m_lstDragURLs;
00331
00332 int m_size;
00333
00335 KonqFMSettings * m_pSettings;
00336
00337 bool m_bMousePressed;
00338 QPoint m_mousePos;
00339
00340 QColor iColor;
00341
00342 bool m_bSortDirsFirst;
00343
00344 QString m_iconPositionGroupPrefix;
00345 QString m_dotDirectoryPath;
00346
00347 int m_LineupMode;
00348 QRect m_IconRect;
00349
00350 bool m_bDesktop;
00351 bool m_bSetGridX;
00352
00353 private:
00354 struct KonqIconViewWidgetPrivate *d;
00355
00356 };
00357
00358 #endif
This file is part of the documentation for libkonq Library Version 3.3.2.