21 #ifndef KDIROPERATOR_H_
22 #define KDIROPERATOR_H_
25 #include <tqptrstack.h>
28 #include <kcompletion.h>
29 #include <kdirlister.h>
30 #include <kfileview.h>
31 #include <kfileitem.h>
40 class KActionSeparator;
119 TQWidget *parent = 0,
const char* name = 0);
141 virtual bool close(
bool alsoDelete ) {
return TQWidget::close( alsoDelete ); }
150 void setNameFilter(
const TQString& filter);
156 const TQString&
nameFilter()
const {
return dir->nameFilter(); }
175 void setMimeFilter(
const TQStringList& mimetypes );
180 TQStringList
mimeFilter()
const {
return dir->mimeFilters(); }
202 void setURL(
const KURL& url,
bool clearforward);
208 void setCurrentItem(
const TQString& filename );
233 TQWidget *
viewWidget()
const {
return m_fileView ? m_fileView->widget() : 0L; }
240 void setView(KFile::FileView view);
245 void setSorting( TQDir::SortSpec );
250 TQDir::SortSpec
sorting()
const {
return mySorting; }
255 bool isRoot()
const {
return url().path() == TQChar(
'/'); }
266 KProgress * progressBar()
const;
292 void setPreviewWidget(
const TQWidget *w);
299 return ( m_fileView ? m_fileView->selectedItems() : 0L );
306 return ( m_fileView ? m_fileView->isSelected( item ) : false );
319 int numFiles()
const;
330 return const_cast<KCompletion *
>( &myCompletion );
342 return const_cast<KCompletion *
>( &myDirCompletion );
410 void setViewConfig( KConfig *config,
const TQString& group );
419 KConfig *viewConfig();
428 TQString viewConfigGroup()
const;
443 virtual void readConfig( KConfig *,
const TQString& group = TQString::null );
451 virtual void writeConfig( KConfig *,
const TQString& group = TQString::null );
464 void setOnlyDoubleClickSelectsFiles(
bool enable );
471 bool onlyDoubleClickSelectsFiles()
const;
482 bool mkdir(
const TQString& directory,
bool enterDirectory =
true );
492 KIO::DeleteJob * del(
const KFileItemList& items,
493 bool ask =
true,
bool showProgress =
true );
505 KIO::DeleteJob * del(
const KFileItemList& items, TQWidget *parent,
506 bool ask =
true,
bool showProgress =
true );
524 void setEnableDirHighlighting(
bool enable );
532 bool dirHighlighting()
const;
540 static bool dirOnlyMode( uint mode ) {
541 return ( (mode & KFile::Directory) &&
542 (mode & (KFile::File | KFile::Files)) == 0 );
549 void setupMenu(
int whichActions);
555 virtual void setAcceptDrops(
bool b);
563 void setDropOptions(
int options);
575 KIO::CopyJob * trash(
const KFileItemList& items, TQWidget *parent,
576 bool ask =
true,
bool showProgress =
true );
593 virtual KFileView* createView( TQWidget* parent, KFile::FileView view );
598 void setDirLister( KDirLister *lister );
600 virtual void resizeEvent( TQResizeEvent * );
612 void updateSortActions();
618 void updateViewActions();
634 void prepareCompletionObjects();
641 bool checkPreviewSupport();
689 void deleteSelected();
696 void updateSelectionDependentActions();
701 TQString makeCompletion(
const TQString&);
706 TQString makeDirCompletion(
const TQString&);
713 void trashSelected(KAction::ActivationReason, TQt::ButtonState);
732 void insertNewFiles(
const KFileItemList &newone);
738 void itemDeleted(KFileItem *);
744 void selectDir(
const KFileItem *item );
749 void selectFile(
const KFileItem *item);
759 virtual void activatedMenu(
const KFileItem *,
const TQPoint& pos );
779 void sortReversed() { reverseAction->setChecked( !reverseAction->isChecked() ); }
784 void toggleDirsFirst() { dirsFirstAction->setChecked( !dirsFirstAction->isChecked() ); }
789 void toggleIgnoreCase() { caseInsensitiveAction->setChecked( !caseInsensitiveAction->isChecked() ); }
795 void slotCompletionMatch(
const TQString& match);
798 void urlEntered(
const KURL& );
799 void updateInformation(
int files,
int dirs);
800 void completion(
const TQString&);
801 void finishedLoading();
815 void fileHighlighted(
const KFileItem *item );
816 void dirActivated(
const KFileItem *item );
817 void fileSelected(
const KFileItem *item );
826 void dropped(
const KFileItem *item, TQDropEvent*event,
const KURL::List&urls);
831 TQPtrStack<KURL> backStack;
836 TQPtrStack<KURL> forwardStack;
841 KCompletion myCompletion;
842 KCompletion myDirCompletion;
843 bool myCompleteListDirty;
844 TQDir::SortSpec mySorting;
850 bool checkPreviewInternal()
const;
856 void checkPath(
const TQString& txt,
bool takeFiles =
false);
860 bool openURL(
const KURL& url,
bool keep =
false,
bool reload =
false );
863 KFileItemList pendingMimeTypes;
872 const TQWidget *myPreview;
876 KActionMenu *actionMenu;
879 KAction *forwardAction;
882 KAction *reloadAction;
883 KActionSeparator *actionSeparator;
884 KAction *mkdirAction;
886 KActionMenu *sortActionMenu;
887 KRadioAction *byNameAction;
888 KRadioAction *byDateAction;
889 KRadioAction *bySizeAction;
890 KToggleAction *reverseAction;
891 KToggleAction *dirsFirstAction;
892 KToggleAction *caseInsensitiveAction;
894 KActionMenu *viewActionMenu;
895 KRadioAction *shortAction;
896 KRadioAction *detailedAction;
897 KToggleAction *showHiddenAction;
898 KToggleAction *separateDirsAction;
900 KActionCollection *myActionCollection;
901 KActionCollection *viewActionCollection;
907 void slotDetailedView();
908 void slotSimpleView();
909 void slotToggleHidden(
bool );
911 void slotSeparateDirs();
912 void slotDefaultPreview();
913 void togglePreview(
bool );
915 void slotSortByName();
916 void slotSortBySize();
917 void slotSortByDate();
918 void slotSortReversed();
919 void slotToggleDirsFirst();
920 void slotToggleIgnoreCase();
923 void slotProgress(
int );
924 void slotShowProgress();
925 void slotIOFinished();
927 void slotRedirected(
const KURL& );
929 void slotViewActionAdded( KAction * );
930 void slotViewActionRemoved( KAction * );
931 void slotViewSortingChanged( TQDir::SortSpec );
933 void slotClearView();
934 void slotRefreshItems(
const KFileItemList& items );
936 void slotProperties();
938 void insertViewDependentActions();
941 static bool isReadable(
const KURL& url );
944 virtual void virtual_hook(
int id,
void* data );
946 class KDirOperatorPrivate;
947 KDirOperatorPrivate *d;
KDirLister * dirLister() const
ActionTypes
The various action types.
const KFileItemList * selectedItems() const
void sortBySize()
Changes sorting to sort by size.
void sortByName()
Changes sorting to sort by name.
This class defines an interface to all file views.
Mode
Modes of operation for the dialog.
bool showHiddenFiles() const
void toggleIgnoreCase()
Toggles case sensitive / case insensitive sorting.
This widget works as a network transparent filebrowser.
KActionCollection * actionCollection() const
an accessor to a collection of all available Actions.
KCompletion * dirCompletionObject() const
TQStringList mimeFilter() const
void sortByDate()
Changes sorting to sort by date.
bool isSelected(const KFileItem *item) const
void setShowHiddenFiles(bool s)
Enables/disables showing hidden files.
void sortReversed()
Changes sorting to reverse sorting.
TQWidget * viewWidget() const
Returns the widget of the current view.
virtual bool close(bool alsoDelete)
Reimplemented to avoid "hidden virtual" warnings.
void highlightFile(const KFileItem *i)
Emits fileHighlighted( i )
const TQString & nameFilter() const
KCompletion * completionObject() const
void toggleDirsFirst()
Toggles showing directories first / having them sorted like files.
TQDir::SortSpec sorting() const