• Skip to content
  • Skip to link menu
KDE 4.3 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KFile

kdiroperator.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 /* This file is part of the KDE libraries
00003     Copyright (C) 1999 Stephan Kulow <coolo@kde.org>
00004     2000,2001 Carsten Pfeiffer <pfeiffer@kde.org>
00005 
00006     This library is free software; you can redistribute it and/or
00007     modify it under the terms of the GNU Library General Public
00008     License as published by the Free Software Foundation; either
00009     version 2 of the License, or (at your option) any later version.
00010 
00011     This library is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014     Library General Public License for more details.
00015 
00016     You should have received a copy of the GNU Library General Public License
00017     along with this library; see the file COPYING.LIB.  If not, write to
00018     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019     Boston, MA 02110-1301, USA.
00020 */
00021 #ifndef KDIROPERATOR_H_
00022 #define KDIROPERATOR_H_
00023 
00024 #include <QtGui/QWidget>
00025 #include <QtCore/QStack>
00026 #include <QtGui/QStyleOptionViewItem>
00027 
00028 #include <ktoggleaction.h>
00029 #include <kcompletion.h>
00030 #include <kdirlister.h>
00031 #include <kfileitem.h>
00032 #include <kfile.h>
00033 #include <kfile_export.h>
00034 
00035 class QAbstractItemView;
00036 class QModelIndex;
00037 class QProgressBar;
00038 
00039 class KAction;
00040 class KActionCollection;
00041 class KActionMenu;
00042 class KDirLister;
00043 class KPreviewWidgetBase;
00044 class KFilePreviewGenerator;
00045 
00046 namespace KIO
00047 {
00048 class CopyJob;
00049 class DeleteJob;
00050 }
00051 
00101 class KFILE_EXPORT KDirOperator : public QWidget
00102 {
00103     Q_OBJECT
00104 
00105 public:
00109     enum ActionType
00110     {
00111         SortActions =  1,
00112         ViewActions =  2,
00113         NavActions  =  4,
00114         FileActions =  8,
00115         AllActions  = 15
00116     };
00117 
00125     explicit KDirOperator(const KUrl& urlName = KUrl(),
00126                           QWidget *parent = 0);
00130     virtual ~KDirOperator();
00131 
00135     virtual void setShowHiddenFiles(bool s);
00136 
00140     bool showHiddenFiles() const;
00141 
00145     void close();
00146 
00154     void setNameFilter(const QString& filter);
00155 
00160     QString nameFilter() const;
00161 
00179     void setMimeFilter(const QStringList& mimetypes);
00180 
00184     QStringList mimeFilter() const;
00185 
00193     void clearFilter();
00194 
00198     KUrl url() const;
00199 
00205     virtual void setUrl(const KUrl& url, bool clearforward);
00206 
00212     void setCurrentItem(const QString& url);
00213 
00218     void setCurrentItem(const KFileItem& item);
00219 
00226     void setCurrentItems(const QStringList& urls);
00227 
00233     void setCurrentItems(const KFileItemList& items);
00234 
00242     virtual void setView(QAbstractItemView *view);
00243 
00248     QAbstractItemView* view() const;
00249 
00254     virtual void setView(KFile::FileView viewKind);
00255 
00259     void setSorting(QDir::SortFlags);
00260 
00264     QDir::SortFlags sorting() const;
00265 
00269     bool isRoot() const;
00270 
00274     KDirLister* dirLister() const;
00275 
00280     QProgressBar* progressBar() const;
00281 
00293     virtual void setMode(KFile::Modes m);
00297     KFile::Modes mode() const;
00298 
00304     virtual void setPreviewWidget(KPreviewWidgetBase *w);
00305 
00310     KFileItemList selectedItems() const;
00311 
00315     bool isSelected(const KFileItem &item) const;
00316 
00321     int numDirs() const;
00322 
00327     int numFiles() const;
00328 
00337     KCompletion* completionObject() const;
00338 
00347     KCompletion* dirCompletionObject() const;
00348 
00390     KActionCollection* actionCollection() const;
00391 
00410     virtual void setViewConfig(KConfigGroup& configGroup);
00411 
00412     /*
00413      * @returns the group set by setViewConfig configuration.
00414      */
00415     KConfigGroup* viewConfigGroup() const;
00416 
00430     virtual void readConfig(const KConfigGroup& configGroup);
00431 
00438     virtual void writeConfig(KConfigGroup& configGroup);
00439 
00447     void setOnlyDoubleClickSelectsFiles(bool enable);
00448 
00454     bool onlyDoubleClickSelectsFiles() const;
00455 
00464     virtual bool mkdir(const QString& directory, bool enterDirectory = true);
00465 
00474     virtual KIO::DeleteJob* del(const KFileItemList& items, QWidget *parent = 0,
00475                                 bool ask = true, bool showProgress = true);
00476 
00480     void clearHistory();
00481 
00491     virtual void setEnableDirHighlighting(bool enable);
00492 
00499     bool dirHighlighting() const;
00500 
00505     bool dirOnlyMode() const;
00506 
00507     static bool dirOnlyMode(uint mode);
00508 
00513     void setupMenu(int whichActions);
00514 
00519     virtual void setAcceptDrops(bool b);
00520 
00525     virtual void setDropOptions(int options);
00526 
00535     virtual KIO::CopyJob* trash(const KFileItemList& items, QWidget *parent,
00536                                 bool ask = true, bool showProgress = true);
00537 
00542     KFilePreviewGenerator *previewGenerator() const;
00543 
00550     void setInlinePreviewShown(bool show);
00551 
00557     QStyleOptionViewItem::Position decorationPosition() const;
00558 
00564     void setDecorationPosition(QStyleOptionViewItem::Position position);
00565 
00570     bool isInlinePreviewShown() const;
00571 
00576     int iconsZoom() const;
00577 
00584     void setIsSaving(bool isSaving);
00585 
00591     bool isSaving() const;
00592 
00593 protected:
00603     virtual QAbstractItemView* createView(QWidget *parent, KFile::FileView viewKind);
00604 
00609     virtual void setDirLister(KDirLister *lister);
00610 
00611     virtual void resizeEvent(QResizeEvent *event);
00612 
00617     void setupActions();
00618 
00623     void updateSortActions();
00624 
00629     void updateViewActions();
00630 
00635     void setupMenu();
00636 
00644     void prepareCompletionObjects();
00645 
00651     bool checkPreviewSupport();
00652 
00656     virtual void activatedMenu(const KFileItem &item, const QPoint &pos);
00657 
00658     virtual void changeEvent(QEvent *event);
00659 
00660     virtual bool eventFilter(QObject *watched, QEvent *event);
00661 
00662 public Q_SLOTS:
00666     virtual void back();
00667 
00671     virtual void forward();
00672 
00676     virtual void home();
00677 
00681     virtual void cdUp();
00682 
00686     void updateDir();
00687 
00691     virtual void rereadDir();
00692 
00696     virtual void mkdir();
00697 
00701     virtual void deleteSelected();
00702 
00708     void updateSelectionDependentActions();
00709 
00713     QString makeCompletion(const QString&);
00714 
00718     QString makeDirCompletion(const QString&);
00719 
00729     virtual void trashSelected();
00730 
00736     void setIconsZoom(int value);
00737 
00738 protected Q_SLOTS:
00743     void resetCursor();
00744 
00749     void pathChanged();
00750 
00754     virtual void selectDir(const KFileItem &item);
00755 
00759     void selectFile(const KFileItem &item);
00760 
00764     void highlightFile(const KFileItem &item);
00765 
00769     void sortByName();
00770 
00774     void sortBySize();
00775 
00779     void sortByDate();
00780 
00784     void sortByType();
00785 
00789     void sortReversed();
00790 
00794     void toggleDirsFirst();
00795 
00799     void toggleIgnoreCase();
00800 
00805     void slotCompletionMatch(const QString &match);
00806 
00807 Q_SIGNALS:
00808     void urlEntered(const KUrl&);
00809     void updateInformation(int files, int dirs);
00810     void completion(const QString&);
00811     void finishedLoading();
00812 
00818     void viewChanged(QAbstractItemView *newView);
00819 
00825     void fileHighlighted(const KFileItem &item);
00826     void dirActivated(const KFileItem &item);
00827     void fileSelected(const KFileItem &item);
00835     void dropped(const KFileItem &item, QDropEvent *event, const KUrl::List &urls);
00836 
00845     void contextMenuAboutToShow(const KFileItem& item, QMenu* menu);
00846 
00853     void currentIconSizeChanged(int size);
00854 
00855 private:
00856     class Private;
00857     Private* const d;
00858 
00859     Q_PRIVATE_SLOT( d, void _k_slotDetailedView() )
00860     Q_PRIVATE_SLOT( d, void _k_slotSimpleView() )
00861     Q_PRIVATE_SLOT( d, void _k_slotTreeView() )
00862     Q_PRIVATE_SLOT( d, void _k_slotDetailedTreeView() )
00863     Q_PRIVATE_SLOT( d, void _k_slotToggleHidden(bool) )
00864     Q_PRIVATE_SLOT( d, void _k_togglePreview(bool) )
00865     Q_PRIVATE_SLOT( d, void _k_toggleInlinePreviews(bool) )
00866     Q_PRIVATE_SLOT( d, void _k_slotSortByName() )
00867     Q_PRIVATE_SLOT( d, void _k_slotSortBySize() )
00868     Q_PRIVATE_SLOT( d, void _k_slotSortByDate() )
00869     Q_PRIVATE_SLOT( d, void _k_slotSortByType() )
00870     Q_PRIVATE_SLOT( d, void _k_slotSortReversed(bool) )
00871     Q_PRIVATE_SLOT( d, void _k_slotToggleDirsFirst() )
00872     Q_PRIVATE_SLOT( d, void _k_slotToggleIgnoreCase() )
00873     Q_PRIVATE_SLOT( d, void _k_slotStarted() )
00874     Q_PRIVATE_SLOT( d, void _k_slotProgress(int) )
00875     Q_PRIVATE_SLOT( d, void _k_slotShowProgress() )
00876     Q_PRIVATE_SLOT( d, void _k_slotIOFinished() )
00877     Q_PRIVATE_SLOT( d, void _k_slotCanceled() )
00878     Q_PRIVATE_SLOT( d, void _k_slotRedirected(const KUrl&) )
00879     Q_PRIVATE_SLOT( d, void _k_slotProperties() )
00880     Q_PRIVATE_SLOT( d, void _k_slotPressed(const QModelIndex&) )
00881     Q_PRIVATE_SLOT( d, void _k_slotActivated(const QModelIndex&) )
00882     Q_PRIVATE_SLOT( d, void _k_slotDoubleClicked(const QModelIndex&) )
00883     Q_PRIVATE_SLOT( d, void _k_slotSelectionChanged() )
00884     Q_PRIVATE_SLOT( d, void _k_openContextMenu(const QPoint&) )
00885     Q_PRIVATE_SLOT( d, void _k_triggerPreview(const QModelIndex&) )
00886     Q_PRIVATE_SLOT( d, void _k_showPreview() )
00887     Q_PRIVATE_SLOT( d, void _k_slotSplitterMoved(int, int) )
00888     Q_PRIVATE_SLOT( d, void _k_assureVisibleSelection() )
00889     Q_PRIVATE_SLOT( d, void _k_synchronizeSortingState(int, Qt::SortOrder) )
00890     Q_PRIVATE_SLOT( d, void _k_slotChangeDecorationPosition() )
00891     Q_PRIVATE_SLOT( d, void _k_slotExpandToUrl(const QModelIndex&) )
00892     Q_PRIVATE_SLOT( d, void _k_slotItemsChanged() )
00893 };
00894 
00895 #endif

KFile

Skip menu "KFile"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal