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
00116 void setIcons( int size, const QStringList& stopImagePreviewFor = QStringList() );
00117
00121 void refreshMimeTypes();
00122
00123 int iconSize() { return m_size; }
00124
00125 void calculateGridX();
00130 int gridXValue() const;
00131
00138 void startImagePreview( const QStringList &ignored, bool force );
00139 void stopImagePreview();
00140 bool isPreviewRunning() const;
00141
00142 void setThumbnailPixmap( KFileIVI * item, const QPixmap & pixmap );
00143 void disableSoundPreviews();
00144
00145 void setURL ( const KURL & kurl );
00146
00147 const KURL & url() { return m_url; }
00148 QString urlString() const { return m_url.url(); }
00149 void setRootItem ( const KFileItem * item ) { m_rootItem = item; }
00150
00154 KFileItemList selectedFileItems();
00155
00156 void setItemColor( const QColor &c );
00157 QColor itemColor() const;
00158
00159 virtual void cutSelection();
00160 virtual void copySelection();
00161 virtual void pasteSelection();
00162 virtual KURL::List selectedUrls();
00163 void paste( const KURL &url );
00164
00165 bool sortDirectoriesFirst() const;
00166 void setSortDirectoriesFirst( bool b );
00167
00168 void setCaseInsensitiveSort( bool b );
00169 bool caseInsensitiveSort() const;
00170
00174 const KURL::List & dragURLs() { return m_lstDragURLs; }
00175
00179 virtual void clear();
00180
00184 virtual void takeItem( QIconViewItem *item );
00185
00189 virtual void insertInGrid( QIconViewItem *item );
00190
00194 virtual void setItemTextPos( ItemTextPos pos );
00195
00199 virtual void visualActivate(QIconViewItem *);
00200
00201 bool isDesktop() const { return m_bDesktop; }
00202
00206 virtual void setWallpaper(const KURL&) { }
00207
00208 bool maySetWallpaper();
00209 void setMaySetWallpaper(bool b);
00210
00211 void disableIcons( const KURL::List & lst );
00212
00213 QString iconPositionGroupPrefix() const { return m_iconPositionGroupPrefix; }
00214 QString dotDirectoryPath() const { return m_dotDirectoryPath; }
00215
00216 void setPreviewSettings(const QStringList& mimeTypes);
00217 const QStringList& previewSettings();
00218 void setNewURL( const QString& url );
00219
00220 public slots:
00224 virtual void slotSelectionChanged();
00225
00226 void slotSaveIconPositions();
00227
00228 void renameSelectedItem();
00229
00230 void slotToolTipPreview( const KFileItem *, const QPixmap & );
00231 void slotToolTipPreviewResult();
00232 signals:
00236 void enableAction( const char * name, bool enabled );
00237
00238 void dropped();
00239 void imagePreviewFinished();
00240
00241 void incIconSize();
00242 void decIconSize();
00243
00244 protected slots:
00245 virtual void slotDropped( QDropEvent *e, const QValueList<QIconDragItem> & );
00246
00247 void slotItemRenamed(QIconViewItem *item, const QString &name);
00248
00249 void slotIconChanged(int);
00250 void slotOnItem(QIconViewItem *);
00251 void slotOnViewport();
00252 void slotStartSoundPreview();
00253 void slotPreview(const KFileItem *, const QPixmap &);
00254 void slotPreviewResult();
00255
00256 void slotMovieUpdate( const QRect& rect );
00257 void slotMovieStatus( int status );
00258 void slotReenableAnimation();
00259
00260 void slotAboutToCreate(const QPoint &pos, const QValueList<KIO::CopyInfo> &files);
00261 void doubleClickTimeout();
00262
00263 private slots:
00264 void slotRearrangeIcons();
00265
00266 protected:
00267 virtual QDragObject *dragObject();
00268 KonqIconDrag *konqDragObject( QWidget * dragSource = 0L );
00269 bool mimeTypeMatch( const QString& mimeType, const QStringList& mimeList ) const;
00270
00271 virtual void drawBackground( QPainter *p, const QRect &r );
00277 virtual void drawBackground( QPainter *p, const QRect &r,
00278 const QPoint &pt );
00279 virtual void contentsDragEnterEvent( QDragEnterEvent *e );
00280 virtual void contentsDropEvent( QDropEvent *e );
00281 virtual void contentsMousePressEvent( QMouseEvent *e );
00282 virtual void contentsMouseReleaseEvent ( QMouseEvent * e );
00283 virtual void contentsMouseMoveEvent( QMouseEvent *e );
00284 virtual void backgroundPixmapChange( const QPixmap & );
00285 virtual void wheelEvent( QWheelEvent* );
00286 void readAnimatedIconsConfig();
00287 void mousePressChangeValue();
00288
00289 private:
00290 KURL m_url;
00291 const KFileItem * m_rootItem;
00292
00293 KURL::List m_lstDragURLs;
00294
00295 int m_size;
00296
00298 KonqFMSettings * m_pSettings;
00299
00300 bool m_bMousePressed;
00301 QPoint m_mousePos;
00302
00303 QColor iColor;
00304
00305 bool m_bSortDirsFirst;
00306
00307 QString m_iconPositionGroupPrefix;
00308 QString m_dotDirectoryPath;
00309
00310 int m_LineupMode;
00311 QRect m_IconRect;
00312
00313 bool m_bDesktop;
00314 bool m_bSetGridX;
00315
00316 private:
00317 struct KonqIconViewWidgetPrivate *d;
00318
00319 };
00320
00321 #endif
This file is part of the documentation for libkonq Library Version 3.2.2.