]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinviewcontainer.h
Disable additional properties per default as discussed with Sebastian TrĂ¼g.
[dolphin.git] / src / dolphinviewcontainer.h
index de77fb03a6cc37a431fc687a1273f89eb199b792..db6ee69d54a99147effc3c24a0c47bace052a46b 100644 (file)
@@ -23,9 +23,9 @@
 
 #include "dolphinview.h"
 
-#include <kparts/part.h>
 #include <kfileitem.h>
 #include <kfileitemdelegate.h>
+#include <kglobalsettings.h>
 #include <kio/job.h>
 
 #include <kurlnavigator.h>
@@ -38,7 +38,7 @@
 
 class FilterBar;
 class KUrl;
-class KDirModel;
+class DolphinModel;
 class KUrlNavigator;
 class DolphinDirLister;
 class DolphinMainWindow;
@@ -91,16 +91,8 @@ public:
     void setActive(bool active);
     bool isActive() const;
 
-    /**
-     * Triggers the renaming of the currently selected items, where
-     * the user must input a new name for the items.
-     */
-    void renameSelectedItems();
-
-    KFileItem* fileItem(const QModelIndex index) const;
-
-    inline const DolphinStatusBar* statusBar() const;
-    inline DolphinStatusBar* statusBar();
+    const DolphinStatusBar* statusBar() const;
+    DolphinStatusBar* statusBar();
 
     /**
      * Returns true, if the URL shown by the navigation bar is editable.
@@ -108,20 +100,19 @@ public:
      */
     bool isUrlEditable() const;
 
-    inline const KUrlNavigator* urlNavigator() const;
-    inline KUrlNavigator* urlNavigator();
+    const KUrlNavigator* urlNavigator() const;
+    KUrlNavigator* urlNavigator();
 
-    inline const DolphinView* view() const;
-    inline DolphinView* view();
-
-    /** Returns true, if the filter bar is visible. */
-    bool isFilterBarVisible() const;
+    const DolphinView* view() const;
+    DolphinView* view();
 
     /**
-     * Return the DolphinMainWindow this View belongs to. It is guaranteed
-     * that we have one.
+     * Refreshes the view container to get synchronized with the (updated) Dolphin settings.
      */
-    inline const DolphinMainWindow* mainWindow() const;
+    void refresh();
+
+    /** Returns true, if the filter bar is visible. */
+    bool isFilterBarVisible() const;
 
 public slots:
     /**
@@ -146,16 +137,30 @@ private slots:
     void updateProgress(int percent);
 
     /**
-     * Updates the number of items (= number of directories + number of files)
-     * and shows this information in the statusbar.
+     * Assures that the viewport position is restored and updates the
+     * statusbar to reflect the current content.
+     */
+    void slotDirListerCompleted();
+
+    /**
+     * Handles clicking on an item. If the item is a directory, the
+     * directory is opened in the view. If the item is a file, the file
+     * gets started by the corresponding application.
+     */
+    void slotItemTriggered(const KFileItem& item);
+
+    /**
+     * Opens a the file \a url by opening the corresponding application.
+     * Is connected with the signal urlIsFile() from DolphinDirLister and will
+     * get invoked if the user manually has entered a file into the URL navigator.
      */
-    void updateItemCount();
+    void openFile(const KUrl& url);
 
     /**
-     * Shows the item information for the URL \a url inside the statusbar. If the
-     * URL is empty, the default statusbar information is shown.
+     * Shows the information for the item \a item inside the statusbar. If the
+     * item is null, the default statusbar information is shown.
      */
-    void showItemInfo(const KUrl& url);
+    void showItemInfo(const KFileItem& item);
 
     /** Shows the information \a msg inside the statusbar. */
     void showInfoMessage(const QString& msg);
@@ -163,21 +168,28 @@ private slots:
     /** Shows the error message \a msg inside the statusbar. */
     void showErrorMessage(const QString& msg);
 
+    /** Shows the "operation completed" message \a msg inside the statusbar. */
+    void showOperationCompletedMessage(const QString& msg);
+
     void closeFilterBar();
 
     /**
      * Filters the currently shown items by \a nameFilter. All items
      * which contain the given filter string will be shown.
      */
-    void changeNameFilter(const QString& nameFilter);
+    void setNameFilter(const QString& nameFilter);
 
     /**
-     * Opens the context menu on the current mouse postition.
-     * @item  File item context. If item is 0, the context menu
-     *        should be applied to \a url.
-     * @url   URL which contains \a item.
+     * Opens the context menu on the current mouse position.
+     * @item          File item context. If item is null, the context menu
+     *                should be applied to \a url.
+     * @url           URL which contains \a item.
+     * @customActions Actions that should be added to the context menu,
+     *                if the file item is null.
      */
-    void openContextMenu(KFileItem* item, const KUrl& url);
+    void openContextMenu(const KFileItem& item,
+                         const KUrl& url,
+                         const QList<QAction*>& customActions);
 
     /**
      * Saves the position of the contents to the
@@ -197,25 +209,45 @@ private slots:
      */
     void activate();
 
-private:
     /**
-     * Returns the default text of the status bar, if no item is
-     * selected.
+     * Restores the current view to show \a url and assures
+     * that the root URL of the view is respected.
+     */
+    void restoreView(const KUrl& url);
+
+    /**
+     * Saves the root URL of the current URL \a url
+     * into the URL navigator.
+     */
+    void saveRootUrl(const KUrl& url);
+
+    /**
+     * Is connected with the URL navigator and drops the URLs
+     * above the destination \a destination.
      */
-    QString defaultStatusBarText() const;
+    void dropUrls(const KUrl& destination, QDropEvent* event);
 
     /**
-     * Returns the text for the status bar, if at least one item
-     * is selected.
+     * Is invoked when a redirection is done and changes the
+     * URL of the URL navigator to \a newUrl without triggering
+     * a reloading of the directory.
      */
-    QString selectionStatusBarText() const;
+    void redirect(const KUrl& oldUrl, const KUrl& newUrl);
+
+    /** Requests the focus for the view \a m_view. */
+    void requestFocus();
+
+    /**
+     * Saves the currently used URL completion mode of
+     * the URL navigator.
+     */
+    void saveUrlCompletionMode(KGlobalSettings::Completion completion);
+
+    void slotHistoryChanged();
 
 private:
     bool m_showProgress;
-
-    int m_iconSize;
-    int m_folderCount;
-    int m_fileCount;
+    bool m_isFolderWritable;
 
     DolphinMainWindow* m_mainWindow;
     QVBoxLayout* m_topLayout;
@@ -226,43 +258,39 @@ private:
     FilterBar* m_filterBar;
     DolphinStatusBar* m_statusBar;
 
-    KDirModel* m_dirModel;
+    DolphinModel* m_dolphinModel;
     DolphinDirLister* m_dirLister;
     DolphinSortFilterProxyModel* m_proxyModel;
 };
 
-const DolphinStatusBar* DolphinViewContainer::statusBar() const
+inline const DolphinStatusBar* DolphinViewContainer::statusBar() const
 {
     return m_statusBar;
 }
 
-DolphinStatusBar* DolphinViewContainer::statusBar()
+inline DolphinStatusBar* DolphinViewContainer::statusBar()
 {
     return m_statusBar;
 }
 
-const KUrlNavigator* DolphinViewContainer::urlNavigator() const
+inline const KUrlNavigator* DolphinViewContainer::urlNavigator() const
 {
     return m_urlNavigator;
 }
 
-KUrlNavigator* DolphinViewContainer::urlNavigator()
+inline KUrlNavigator* DolphinViewContainer::urlNavigator()
 {
     return m_urlNavigator;
 }
 
-const DolphinView* DolphinViewContainer::view() const
+inline const DolphinView* DolphinViewContainer::view() const
 {
     return m_view;
 }
 
-DolphinView* DolphinViewContainer::view()
+inline DolphinView* DolphinViewContainer::view()
 {
     return m_view;
 }
 
-const DolphinMainWindow* DolphinViewContainer::mainWindow() const
-{
-    return m_mainWindow;
-}
 #endif // DOLPHINVIEWCONTAINER_H