#include "dolphinview.h"
-#include <kparts/part.h>
#include <kfileitem.h>
#include <kfileitemdelegate.h>
#include <kio/job.h>
#include <QtGui/QBoxLayout>
#include <QtGui/QWidget>
-class DolphinController;
class FilterBar;
-class KFileItemDelegate;
class KUrl;
-class KDirModel;
+class DolphinModel;
class KUrlNavigator;
-class DolphinColumnView;
-class DolphinDetailsView;
class DolphinDirLister;
-class DolphinIconsView;
class DolphinMainWindow;
class DolphinSortFilterProxyModel;
class DolphinStatusBar;
class QModelIndex;
-class ViewProperties;
/**
* @short Represents a view for the directory content
public:
DolphinViewContainer(DolphinMainWindow* mainwindow,
QWidget *parent,
- const KUrl& url,
- DolphinView::Mode mode = DolphinView::IconsView,
- bool showHiddenFiles = false);
+ const KUrl& url);
virtual ~DolphinViewContainer();
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;
-
- /**
- * Renames the filename of the source URL by the new file name.
- * If the new file name already exists, a dialog is opened which
- * asks the user to enter a new name.
- */
- void rename(const KUrl& source, const QString& newName);
+ KFileItem fileItem(const QModelIndex& index) const;
- DolphinStatusBar* statusBar() const;
+ const DolphinStatusBar* statusBar() const;
+ DolphinStatusBar* statusBar();
/**
* Returns true, if the URL shown by the navigation bar is editable.
*/
bool isUrlEditable() const;
- inline KUrlNavigator* urlNavigator() const;
+ const KUrlNavigator* urlNavigator() const;
+ KUrlNavigator* urlNavigator();
- inline DolphinView* view() const;
+ const DolphinView* view() const;
+ DolphinView* view();
/** Returns true, if the filter bar is visible. */
bool isFilterBarVisible() const;
* Return the DolphinMainWindow this View belongs to. It is guaranteed
* that we have one.
*/
- DolphinMainWindow* mainWindow() const ;
+ const DolphinMainWindow* mainWindow() 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
+ */
+ void slotItemTriggered(const KFileItem& item);
+
+ /**
+ * Shows the information for the item \a item inside the statusbar. If the
+ * item is null, the default statusbar information is shown.
*/
- void updateItemCount();
+ 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.
+ * Opens the context menu on the current mouse position.
* @item File item context. If item is 0, the context menu
* should be applied to \a url.
* @url URL which contains \a item.
*/
- void openContextMenu(KFileItem* item, const KUrl& url);
+ void openContextMenu(const KFileItem& item, const KUrl& url);
+
+ /**
+ * Saves the position of the contents to the
+ * current history element.
+ */
+ void saveContentsPos(int x, int y);
+
+ /**
+ * Restores the contents position of the view, if the view
+ * is part of the history.
+ */
+ void restoreContentsPos();
+
+ /**
+ * Marks the view container as active
+ * (see DolphinViewContainer::setActive()).
+ */
+ void activate();
+
+ /**
+ * 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);
private:
/**
private:
bool m_showProgress;
- int m_iconSize;
- int m_folderCount;
- int m_fileCount;
-
DolphinMainWindow* m_mainWindow;
QVBoxLayout* m_topLayout;
KUrlNavigator* m_urlNavigator;
FilterBar* m_filterBar;
DolphinStatusBar* m_statusBar;
- KDirModel* m_dirModel;
+ DolphinModel* m_dolphinModel;
DolphinDirLister* m_dirLister;
DolphinSortFilterProxyModel* m_proxyModel;
};
-KUrlNavigator* DolphinViewContainer::urlNavigator() const
+inline const DolphinStatusBar* DolphinViewContainer::statusBar() const
+{
+ return m_statusBar;
+}
+
+inline DolphinStatusBar* DolphinViewContainer::statusBar()
+{
+ return m_statusBar;
+}
+
+inline const KUrlNavigator* DolphinViewContainer::urlNavigator() const
{
return m_urlNavigator;
}
-DolphinView* DolphinViewContainer::view() const
+inline KUrlNavigator* DolphinViewContainer::urlNavigator()
+{
+ return m_urlNavigator;
+}
+
+inline const DolphinView* DolphinViewContainer::view() const
{
return m_view;
}
+inline DolphinView* DolphinViewContainer::view()
+{
+ return m_view;
+}
+
+inline const DolphinMainWindow* DolphinViewContainer::mainWindow() const
+{
+ return m_mainWindow;
+}
+
#endif // DOLPHINVIEWCONTAINER_H