#include "dolphinview.h"
-#include <kparts/part.h>
#include <kfileitem.h>
#include <kfileitemdelegate.h>
+#include <kglobalsettings.h>
#include <kio/job.h>
#include <kurlnavigator.h>
class FilterBar;
class KUrl;
-class KDirModel;
+class DolphinModel;
class KUrlNavigator;
class DolphinDirLister;
class DolphinMainWindow;
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.
*/
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:
/**
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);
/** 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
*/
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;
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