20 #ifndef __konqdirpart_h
21 #define __konqdirpart_h
24 #include <kparts/part.h>
25 #include <kparts/browserextension.h>
26 #include <kfileitem.h>
27 #include <kdatastream.h>
28 #include <kio/global.h>
29 #include <libkonq_export.h>
32 namespace KParts {
class BrowserExtension; }
37 class KonqDirPartBrowserExtension;
39 class LIBKONQ_EXPORT KonqDirPart:
public KParts::ReadOnlyPart
43 friend class KonqDirPartBrowserExtension;
46 KonqDirPart( TQObject *parent,
const char *name );
48 virtual ~KonqDirPart();
53 void setBrowserExtension( KonqDirPartBrowserExtension * extension )
54 { m_extension = extension; }
56 KonqDirPartBrowserExtension * extension()
57 {
return m_extension; }
62 void setDirLister( KDirLister* lister );
65 TQScrollView * scrollWidget();
67 virtual void saveState( TQDataStream &stream );
68 virtual void restoreState( TQDataStream &stream );
73 void lmbClicked( KFileItem * fileItem );
77 void mmbClicked( KFileItem * fileItem );
79 void setNameFilter(
const TQString & nameFilter ) { m_nameFilter = nameFilter; }
81 TQString nameFilter()
const {
return m_nameFilter; }
83 void setFilesToSelect(
const TQStringList & filesToSelect ) { m_filesToSelect = filesToSelect; }
99 void setMimeFilter (
const TQStringList& filters);
105 TQStringList mimeFilter()
const;
113 virtual void disableIcons(
const KURL::List & lst ) = 0;
124 void newItems(
const KFileItemList & entries );
129 void deleteItem( KFileItem * fileItem );
134 void emitTotalCount();
145 void emitCounts(
const KFileItemList & lst,
bool selectionChanged );
154 void emitCounts(
const KFileItemList & lst );
156 void emitMouseOver(
const KFileItem * item );
163 void updatePasteAction();
170 virtual void newIconSize(
int size );
176 void setIconSize(
int size );
181 void setFindPart( KParts::ReadOnlyPart * part );
183 KParts::ReadOnlyPart * findPart()
const {
return m_findPart; }
185 virtual const KFileItem * currentItem() = 0;
187 virtual KFileItemList selectedFileItems() {
return KFileItemList(); }
200 void aboutToOpenURL();
206 void findOpen( KonqDirPart * );
212 void findOpened( KonqDirPart * );
217 void findClosed( KonqDirPart * );
223 void itemsAdded(
const KFileItemList& );
229 void itemRemoved(
const KFileItem* );
235 void itemsFilteredByMime(
const KFileItemList& );
243 bool openURL (
const KURL&);
250 void slotFindClosed();
255 void slotStartAnimationSearching();
260 void slotStopAnimationSearching();
262 void slotBackgroundSettings();
268 void slotClipboardDataChanged();
270 void slotIncIconSize();
271 void slotDecIconSize();
273 void slotIconSizeToggled(
bool );
276 virtual void slotStarted() = 0;
277 virtual void slotCanceled() = 0;
278 virtual void slotCompleted() = 0;
279 virtual void slotNewItems(
const KFileItemList& ) = 0;
280 virtual void slotDeleteItem( KFileItem * ) = 0;
281 virtual void slotRefreshItems(
const KFileItemList& ) = 0;
282 virtual void slotClear() = 0;
283 virtual void slotRedirection(
const KURL & ) = 0;
286 void slotIconChanged(
int group);
292 virtual bool doOpenURL(
const KURL& ) = 0;
293 virtual bool doCloseURL () = 0;
297 TQString m_nameFilter;
298 TQStringList m_filesToSelect;
302 KAction *m_paIncIconSize;
303 KAction *m_paDecIconSize;
304 KToggleAction *m_paDefaultIcons;
305 KToggleAction *m_paHugeIcons;
306 KToggleAction *m_paLargeIcons;
307 KToggleAction *m_paMediumIcons;
308 KToggleAction *m_paSmallIcons;
310 KParts::ReadOnlyPart * m_findPart;
311 KonqDirPartBrowserExtension * m_extension;
315 KIO::filesize_t m_lDirSize;
320 void saveFindState( TQDataStream& );
321 void restoreFindState( TQDataStream& );
323 void adjustIconSizes();
325 class KonqDirPartPrivate;
326 KonqDirPartPrivate* d;
329 class LIBKONQ_EXPORT KonqDirPartBrowserExtension :
public KParts::BrowserExtension
332 KonqDirPartBrowserExtension( KonqDirPart* dirPart )
333 : KParts::BrowserExtension( dirPart )
334 , m_dirPart( dirPart )
344 virtual void saveState( TQDataStream &stream );
345 virtual void restoreState( TQDataStream &stream );
348 KonqDirPart* m_dirPart;