21 #ifndef TDEDIROPERATOR_H_ 22 #define TDEDIROPERATOR_H_ 25 #include <tqptrstack.h> 27 #include <tdeaction.h> 28 #include <kcompletion.h> 29 #include <kdirlister.h> 30 #include <tdefileview.h> 31 #include <tdefileitem.h> 39 class TDEToggleAction;
40 class TDEActionSeparator;
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<TDECompletion *
>( &myCompletion );
342 return const_cast<TDECompletion *
>( &myDirCompletion );
410 void setViewConfig( TDEConfig *config,
const TQString& group );
419 TDEConfig *viewConfig();
428 TQString viewConfigGroup()
const;
443 virtual void readConfig( TDEConfig *,
const TQString& group = TQString::null );
451 virtual void writeConfig( TDEConfig *,
const TQString& group = TQString::null );
464 void setOnlyDoubleClickSelectsFiles(
bool enable );
471 bool onlyDoubleClickSelectsFiles()
const;
482 bool mkdir(
const TQString& directory,
bool enterDirectory =
true );
492 TDEIO::DeleteJob * del(
const KFileItemList& items,
493 bool ask =
true,
bool showProgress =
true );
505 TDEIO::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 TDEIO::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(TDEAction::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 TDECompletion myCompletion;
842 TDECompletion 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 TDEActionMenu *actionMenu;
878 TDEAction *backAction;
879 TDEAction *forwardAction;
880 TDEAction *homeAction;
882 TDEAction *reloadAction;
883 TDEActionSeparator *actionSeparator;
884 TDEAction *mkdirAction;
886 TDEActionMenu *sortActionMenu;
887 TDERadioAction *byNameAction;
888 TDERadioAction *byDateAction;
889 TDERadioAction *bySizeAction;
890 TDEToggleAction *reverseAction;
891 TDEToggleAction *dirsFirstAction;
892 TDEToggleAction *caseInsensitiveAction;
894 TDEActionMenu *viewActionMenu;
895 TDERadioAction *shortAction;
896 TDERadioAction *detailedAction;
897 TDEToggleAction *showHiddenAction;
898 TDEToggleAction *separateDirsAction;
900 TDEActionCollection *myActionCollection;
901 TDEActionCollection *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( TDEAction * );
930 void slotViewActionRemoved( TDEAction * );
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;
ActionTypes
The various action types.
void sortBySize()
Changes sorting to sort by size.
bool isSelected(const KFileItem *item) const
void sortByName()
Changes sorting to sort by name.
This class defines an interface to all file views.
const KFileItemList * selectedItems() const
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.
TQWidget * viewWidget() const
Returns the widget of the current view.
TDECompletion * completionObject() const
void sortByDate()
Changes sorting to sort by date.
void setShowHiddenFiles(bool s)
Enables/disables showing hidden files.
TQStringList mimeFilter() const
TDECompletion * dirCompletionObject() const
void sortReversed()
Changes sorting to reverse sorting.
TQDir::SortSpec sorting() const
virtual bool close(bool alsoDelete)
Reimplemented to avoid "hidden virtual" warnings.
KDirLister * dirLister() const
void highlightFile(const KFileItem *i)
Emits fileHighlighted( i )
TDEActionCollection * actionCollection() const
an accessor to a collection of all available Actions.
void toggleDirsFirst()
Toggles showing directories first / having them sorted like files.
const TQString & nameFilter() const