konq_dirpart.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __konqdirpart_h
00021 #define __konqdirpart_h
00022
00023 #include <qstring.h>
00024 #include <kparts/part.h>
00025 #include <kparts/browserextension.h>
00026 #include <kfileitem.h>
00027 #include <kdatastream.h>
00028 #include <kio/global.h>
00029
00030 class KDirLister;
00031 namespace KParts { class BrowserExtension; }
00032 class KonqPropsView;
00033 class QScrollView;
00034 class KAction;
00035 class KToggleAction;
00036 class KonqDirPartBrowserExtension;
00037
00038 class KonqDirPart: public KParts::ReadOnlyPart
00039 {
00040 Q_OBJECT
00041
00042 friend class KonqDirPartBrowserExtension;
00043
00044 public:
00045 KonqDirPart( QObject *parent, const char *name );
00046
00047 virtual ~KonqDirPart();
00048
00052 void setBrowserExtension( KonqDirPartBrowserExtension * extension )
00053 { m_extension = extension; }
00054
00055 KonqDirPartBrowserExtension * extension()
00056 { return m_extension; }
00057
00061 void setDirLister( KDirLister* lister );
00062
00063
00064 QScrollView * scrollWidget();
00065
00066 virtual void saveState( QDataStream &stream );
00067 virtual void restoreState( QDataStream &stream );
00068
00072 void lmbClicked( KFileItem * fileItem );
00073
00076 void mmbClicked( KFileItem * fileItem );
00077
00078 void setNameFilter( const QString & nameFilter ) { m_nameFilter = nameFilter; }
00079
00080 QString nameFilter() const { return m_nameFilter; }
00081
00082 void setFilesToSelect( const QStringList & filesToSelect ) { m_filesToSelect = filesToSelect; }
00083
00098 void setMimeFilter (const QStringList& filters);
00099
00104 QStringList mimeFilter() const;
00105
00106
00107 KonqPropsView * props() const { return m_pProps; }
00108
00112 virtual void disableIcons( const KURL::List & lst ) = 0;
00113
00118 void resetCount();
00119
00123 void newItems( const KFileItemList & entries );
00124
00128 void deleteItem( KFileItem * fileItem );
00129
00133 void emitTotalCount();
00134
00140 void emitCounts( const KFileItemList & lst, bool selectionChanged );
00141
00142 void emitMouseOver( const KFileItem * item );
00143
00149 void updatePasteAction();
00150
00156 virtual void newIconSize( int size );
00157
00162 void setIconSize( int size );
00163
00167 void setFindPart( KParts::ReadOnlyPart * part );
00168
00169 KParts::ReadOnlyPart * findPart() const { return m_findPart; }
00170
00171 virtual const KFileItem * currentItem() = 0;
00172
00173 virtual KFileItemList selectedFileItems() { return KFileItemList(); }
00174
00179 bool closeURL ();
00180
00181 signals:
00182
00186 void aboutToOpenURL();
00187
00192 void findOpen( KonqDirPart * );
00193
00198 void findOpened( KonqDirPart * );
00199
00203 void findClosed( KonqDirPart * );
00204
00209 void itemsAdded( const KFileItemList& );
00210
00215 void itemRemoved( const KFileItem* );
00216
00221 void itemsFilteredByMime( const KFileItemList& );
00222
00223 public slots:
00224
00229 bool openURL (const KURL&);
00230
00236 void slotFindClosed();
00237
00241 void slotStartAnimationSearching();
00242
00246 void slotStopAnimationSearching();
00247
00248 void slotBackgroundSettings();
00249
00254 void slotClipboardDataChanged();
00255
00256 void slotIncIconSize();
00257 void slotDecIconSize();
00258
00259 void slotIconSizeToggled( bool );
00260
00261
00262 virtual void slotStarted() = 0;
00263 virtual void slotCanceled() = 0;
00264 virtual void slotCompleted() = 0;
00265 virtual void slotNewItems( const KFileItemList& ) = 0;
00266 virtual void slotDeleteItem( KFileItem * ) = 0;
00267 virtual void slotRefreshItems( const KFileItemList& ) = 0;
00268 virtual void slotClear() = 0;
00269 virtual void slotRedirection( const KURL & ) = 0;
00270
00271 private slots:
00272 void slotIconChanged(int group);
00273 protected:
00278 virtual bool doOpenURL( const KURL& ) = 0;
00279 virtual bool doCloseURL () = 0;
00280
00281 protected:
00282
00283 QString m_nameFilter;
00284 QStringList m_filesToSelect;
00285
00286 KonqPropsView * m_pProps;
00287
00288 KAction *m_paIncIconSize;
00289 KAction *m_paDecIconSize;
00290 KToggleAction *m_paDefaultIcons;
00291 KToggleAction *m_paHugeIcons;
00292 KToggleAction *m_paLargeIcons;
00293 KToggleAction *m_paMediumIcons;
00294 KToggleAction *m_paSmallIcons;
00295
00296 KParts::ReadOnlyPart * m_findPart;
00297 KonqDirPartBrowserExtension * m_extension;
00298
00299
00300 int m_iIconSize[5];
00301 KIO::filesize_t m_lDirSize;
00302 uint m_lFileCount;
00303 uint m_lDirCount;
00304
00305 private:
00306 void saveFindState( QDataStream& );
00307 void restoreFindState( QDataStream& );
00308
00309 void adjustIconSizes();
00310
00311 class KonqDirPartPrivate;
00312 KonqDirPartPrivate* d;
00313 };
00314
00315 class KonqDirPartBrowserExtension : public KParts::BrowserExtension
00316 {
00317 public:
00318 KonqDirPartBrowserExtension( KonqDirPart* dirPart )
00319 : KParts::BrowserExtension( dirPart )
00320 , m_dirPart( dirPart )
00321 {}
00322
00330 virtual void saveState( QDataStream &stream );
00331 virtual void restoreState( QDataStream &stream );
00332
00333 private:
00334 KonqDirPart* m_dirPart;
00335 };
00336
00337 #endif
This file is part of the documentation for libkonq Library Version 3.3.2.